]> Creatis software - CreaPhase.git/blobdiff - octave_packages/communications-1.1.1/doc-cache
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / communications-1.1.1 / doc-cache
diff --git a/octave_packages/communications-1.1.1/doc-cache b/octave_packages/communications-1.1.1/doc-cache
new file mode 100644 (file)
index 0000000..87724a6
--- /dev/null
@@ -0,0 +1,3942 @@
+# Created by Octave 3.6.1, Mon May 21 07:07:01 2012 UTC <root@brouzouf>
+# name: cache
+# type: cell
+# rows: 3
+# columns: 88
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+ademodce
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 2038
+ -- Function File: Y = ademodce (X,FS,'amdsb-tc',offset)
+ -- Function File: Y = ademodce (X,FS,'amdsb-tc/costas',offset)
+ -- Function File: Y = ademodce (X,FS,'amdsb-sc')
+ -- Function File: Y = ademodce (X,FS,'amdsb-sc/costas')
+ -- Function File: Y = ademodce (X,FS,'amssb')
+ -- Function File: Y = ademodce (X,FS,'qam')
+ -- Function File: Y = ademodce (X,FS,'qam/cmplx')
+ -- Function File: Y = ademodce (X,FS,'fm',DEV)
+ -- Function File: Y = ademodce (X,FS,'pm',DEV)
+ -- Function File: Y = ademodce (X,[FS,IPHS],...)
+ -- Function File: Y = ademodce (...,NUM,DEN)
+     Baseband demodulator for analog signals. The input signal is
+     specified by X, its sampling frequency by FS and the type of
+     modulation by the third argument, TYP. The default values of FS is
+     1 and TYP is 'amdsb-tc'.
+
+     If the argument FS is a two element vector, the the first element
+     represents the sampling rate and the second the initial phase.
+
+     The different types of demodulations that are available are
+
+    'am'
+    'amdsb-tc'
+          Double-sideband with carrier
+
+    'amdsb-tc/costas'
+          Double-sideband with carrier and Costas phase locked loop
+
+    'amdsb-sc'
+          Double-sideband with suppressed carrier
+
+    'amssb'
+          Single-sideband with frequency domain Hilbert filtering
+
+    'qam'
+          Quadrature amplitude demodulation. In-phase in odd-columns
+          and quadrature in even-columns
+
+    'qam/cmplx'
+          Quadrature amplitude demodulation with complex return value.
+
+    'fm'
+          Frequency demodulation
+
+    'pm'
+          Phase demodulation
+
+     Additional arguments are available for the demodulations
+     'amdsb-tc', 'fm', 'pm'. These arguments are
+
+    `offset'
+          The offset in the input signal for the transmitted carrier.
+
+    `dev'
+          The deviation of the phase and frequency modulation
+
+     It is possible to specify a low-pass filter, by the numerator NUM
+     and denominator DEN that will be applied to the returned vector.
+
+
+   See also: ademodce, dmodce
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 40
+Baseband demodulator for analog signals.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+amdemod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 191
+ -- Function File: [M] = amdemod (S, FC, FS)
+     Compute the amplitude demodulation of the signal S with a carrier
+     frequency of FC and a sample frequency of FS.
+
+     See also: ammod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Compute the amplitude demodulation of the signal S with a carrier
+frequency of F
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 5
+ammod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 190
+ -- Function File: ammod (X,FC,FS)
+     Create the AM modulation of the signal x with carrier frequency
+     fs. Where x is sample at frequency fs.
+
+     See also: amdemod, fmmod, fmdemod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 67
+Create the AM modulation of the signal x with carrier frequency fs.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+amodce
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1785
+ -- Function File: Y = amodce (X,FS,'amdsb-tc',offset)
+ -- Function File: Y = amodce (X,FS,'amdsb-sc')
+ -- Function File: Y = amodce (X,FS,'amssb')
+ -- Function File: Y = amodce (X,FS,'amssb/time',NUM,DEN)
+ -- Function File: Y = amodce (X,FS,'qam')
+ -- Function File: Y = amodce (X,FS,'fm',DEV)
+ -- Function File: Y = amodce (X,FS,'pm',DEV)
+ -- Function File: Y = amodce (X,[FS,IPHS],...)
+     Baseband modulator for analog signals. The input signal is
+     specified by X, its sampling frequency by FS and the type of
+     modulation by the third argument, TYP. The default values of FS is
+     1 and TYP is 'amdsb-tc'.
+
+     If the argument FS is a two element vector, the the first element
+     represents the sampling rate and the second the initial phase.
+
+     The different types of modulations that are available are
+
+    'am'
+    'amdsb-tc'
+          Double-sideband with carrier
+
+    'amdsb-sc'
+          Double-sideband with suppressed carrier
+
+    'amssb'
+          Single-sideband with frequency domain Hilbert filtering
+
+    'amssb/time'
+          Single-sideband with time domain filtering. Hilbert filter is
+          used by default, but the filter can be specified
+
+    'qam'
+          Quadrature amplitude modulation
+
+    'fm'
+          Frequency modulation
+
+    'pm'
+          Phase modulation
+
+     Additional arguments are available for the modulations 'amdsb-tc',
+     'fm, 'pm' and 'amssb/time'. These arguments are
+
+    `offset'
+          The offset in the input signal for the transmitted carrier.
+
+    `dev'
+          The deviation of the phase and frequency modulation
+
+    `num'
+    `den'
+          The numerator and denominator of the filter transfer function
+          for the time domain filtering of the SSB modulation
+
+
+   See also: ademodce, dmodce
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 38
+Baseband modulator for analog signals.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+apkconst
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1624
+ -- Function File:  apkconst (NSIG)
+ -- Function File:  apkconst (NSIG,AMP)
+ -- Function File:  apkconst (NSIG,AMP,PHS)
+ -- Function File:  apkconst (...,"n")
+ -- Function File:  apkconst (...,STR)
+ -- Function File: Y =  apkconst (...)
+     Plots a ASK/PSK signal constellation. Argument NSIG is a real
+     vector whose length determines the number of ASK radii in the
+     constellation.  The values of vector NSIG determine the number of
+     points in each ASK radii.
+
+     By default the radii of each ASK modulated level is given by the
+     index of NSIG. The amplitudes can be defined explictly in the
+     variable AMP, which  is a vector of the same length as NSIG.
+
+     By default the first point in each ASK radii has zero phase, and
+     following points are coding in an anti-clockwise manner. If PHS is
+     defined then it is a vector of the same length as NSIG defining
+     the initial phase in each ASK radii.
+
+     In addition "apkconst" takes two string arguments 'n' and and STR.
+     If the string 'n' is included in the arguments, then a number is
+     printed next to each constellation point giving the symbol value
+     that would be mapped to this point by the "modmap" function. The
+     argument STR is a plot style string (example 'r+') and determines
+     the default gnuplot point style to use for plot points in the
+     constellation.
+
+     If "apskconst" is called with a return argument, then no plot is
+     created. However the return value is a vector giving the in-phase
+     and quadrature values of the symbols in the constellation.
+
+   See also: dmod, ddemod, modmap, demodmap
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 37
+Plots a ASK/PSK signal constellation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 4
+awgn
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1122
+ -- Function File: Y = awgn (X,SNR)
+ -- Function File: Y = awgn (X,SNR,PWR)
+ -- Function File: Y = awgn (X,SNR, PWR,SEED)
+ -- Function File: Y = awgn (..., 'TYPE')
+     Add white Gaussian noise to a voltage signal.
+
+     The input X is assumed to be a real or complex voltage  signal. The
+     returned value Y will be the same form and size as X but with
+     Gaussian noise added. Unless the power is specified in PWR, the
+     signal power is assumed to be 0dBW, and the noise of SNR dB will be
+     added with respect to this. If PWR is a numeric value then the
+     signal X is assumed to be PWR dBW, otherwise if PWR is 'measured',
+     then the power in the signal will be measured and the noise added
+     relative to this measured power.
+
+     If SEED is specified, then the random number generator seed is
+     initialized with this value
+
+     By default the SNR and PWR are assumed to be in dB and dBW
+     respectively. This default behaviour can be chosen with TYPE set
+     to 'dB'. In the case where TYPE is set to 'linear', PWR is assumed
+     to be in Watts and SNR is a ratio.
+
+   See also: randn, wgn
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 45
+Add white Gaussian noise to a voltage signal.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+bchpoly
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 3093
+ -- Function File: P =  bchpoly ()
+ -- Function File: P =  bchpoly (N)
+ -- Function File: P =  bchpoly (N,K)
+ -- Function File: P =  bchpoly (PRIM,K)
+ -- Function File: P =  bchpoly (N,K,PRIM)
+ -- Function File: P =  bchpoly (...,PROBE)
+ -- Function File: [P,F] =  bchpoly (...)
+ -- Function File: [P,F,C] =  bchpoly (...)
+ -- Function File: [P,F,C,PAR] =  bchpoly (...)
+ -- Function File: [P,F,C,PAR,T] =  bchpoly (...)
+     Calculates the generator polynomials for a BCH coder. Called with
+     no input arguments "bchpoly" returns a list of all of the valid
+     BCH codes for the codeword length 7, 15, 31, 63, 127, 255 and 511.
+     A three column matrix is returned with each row representing a
+     seperate valid BCH code. The first column is the codeword length,
+     the second the message length and the third the error correction
+     capability of the code.
+
+     Called with a single input argument, "bchpoly" returns the valid
+     BCH codes for the specified codeword length N. The output format
+     is the same as above.
+
+     When called with two or more arguments, "bchpoly" calculates the
+     generator polynomial of a particular BCH code. The generator
+     polynomial is returned in P as a vector representation of a
+     polynomial in GF(2). The terms of the polynomial are listed
+     least-significant term first.
+
+     The desired BCH code can be specified by its codeword length N and
+     its message length K. Alternatively, the primitive polynomial over
+     which to calculate the polynomial can be specified as PRIM.  If a
+     vector representation of the primitive polynomial is given, then
+     PRIM can be specified as the first argument of two arguments, or
+     as the third argument. However, if an integer representation of the
+     primitive polynomial is used, then the primitive polynomial must be
+     specified as the third argument.
+
+     When called with two or more arguments, "bchpoly" can also return
+     the factors F of the generator polynomial P, the cyclotomic coset
+     for the Galois field over which the BCH code is calculated, the
+     parity check matrix PAR and the error correction capability T. It
+     should be noted that the parity check matrix is calculated with
+     "cyclgen" and limitations in this function means that the parity
+     check matrix is only available for codeword length upto 63. For
+     codeword length longer than this PAR returns an empty matrix.
+
+     With a string argument PROBE defined, the action of "bchpoly" is
+     to calculate the error correcting capability of the BCH code
+     defined by N, K and PRIM and return it in P. This is similar to a
+     call to "bchpoly" with zero or one argument, except that only a
+     single code is checked. Any string value for PROBE will force this
+     action.
+
+     In general the codeword length N can be expressed as `2^M-1',
+     where M is an integer. However, if [N,K] is a valid BCH code, then
+     a shortened BCH code of the form [N-X,K-X] can be created with the
+     same generator polynomial
+
+
+   See also: cyclpoly, encode, decode, cosets
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 53
+Calculates the generator polynomials for a BCH coder.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 5
+bi2de
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 695
+ -- Function File: D =  bi2de (B)
+ -- Function File: D =  bi2de (B,F)
+ -- Function File: D =  bi2de (B,P)
+ -- Function File: D =  bi2de (B,P,F)
+     Convert bit matrix to a vector of integers
+
+     Each row of the matrix B is treated as a single integer represented
+     in binary form. The elements of B, must therefore be '0' or '1'
+
+     If P is defined then it is treated as the base of the decomposition
+     and the elements of B must then lie between '0' and 'p-1'.
+
+     The variable F defines whether the first or last element of B is
+     considered to be the most-significant. Valid values of F are
+     'right-msb' or 'left-msb'. By default F is 'right-msb'.
+
+     See also: de2bi
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 43
+Convert bit matrix to a vector of integers
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+biterr
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1878
+ -- Function File: [NUM, RATE] =  biterr (A,B)
+ -- Function File: [NUM, RATE] =  biterr (...,K)
+ -- Function File: [NUM, RATE] =  biterr (...,FLAG)
+ -- Function File: [NUM, RATE IND] =  biterr (...)
+     Compares two matrices and returns the number of bit errors and the
+     bit error rate. The binary representations of the variables A and
+     B are treated and A and B can be either:
+
+    Both matrices
+          In this case both matrices must be the same size and then by
+          default the the return values NUM and RATE are the overall
+          number of bit errors and the overall bit error rate.
+
+    One column vector
+          In this case the column vector is used for bit error
+          comparision column-wise with the matrix. The returned values
+          NUM and RATE are then row vectors containing the num of bit
+          errors and the bit error rate for each of the column-wise
+          comparisons. The number of rows in the matrix must be the
+          same as the length of the column vector
+
+    One row vector
+          In this case the row vector is used for bit error comparision
+          row-wise with the matrix. The returned values NUM and RATE
+          are then column vectors containing the num of bit errors and
+          the bit error rate for each of the row-wise comparisons. The
+          number of columns in the matrix must be the same as the
+          length of the row vector
+
+     This behaviour can be overridden with the variable FLAG. FLAG can
+     take the value 'column-wise', 'row-wise' or 'overall'. A
+     column-wise comparision is not possible with a row vector and
+     visa-versa.
+
+     By default the number of bits in each symbol is assumed to be give
+     by the number required to represent the maximum value of A and B.
+     The number of bits to represent a symbol can be overridden by the
+     variable K.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Compares two matrices and returns the number of bit errors and the bit
+error rat
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 3
+bsc
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 134
+ -- Function File: Y = bsc (DATA, P)
+     Send DATA into a binary symetric channel with probability P of
+     error one each symbol.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Send DATA into a binary symetric channel with probability P of error
+one each sy
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 5
+comms
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1433
+ -- Function File:  comms ('help')
+ -- Function File:  comms ('info')
+ -- Function File:  comms ('info', MOD)
+ -- Function File:  comms ('test')
+ -- Function File:  comms ('test', MOD)
+     Manual and test code for the Octave Communications toolbox. There
+     are 5 possible ways to call this function.
+
+    `comms ('help')'
+          Display this help message. Called with no arguments, this
+          function also displays this help message
+
+    `comms ('info')'
+          Open the Commumications toolbox manual
+
+    `comms ('info', MOD)'
+          Open the Commumications toolbox manual at the section
+          specified by MOD
+
+    `comms ('test')'
+          Run all of the test code for the Communications toolbox.
+
+    `comms ('test', MOD)'
+          Run only the test code for the Communications toolbox in the
+          module MOD.
+
+     Valid values for the varibale MOD are
+
+    'all'
+          All of the toolbox
+
+    'random'
+          The random signal generation and analysis package
+
+    'source'
+          The source coding functions of the package
+
+    'block'
+          The block coding functions
+
+    'convol'
+          The convolution coding package
+
+    'modulation'
+          The modulation package
+
+    'special'
+          The special filter functions
+
+    'galois'
+          The Galois fields package
+
+     Please note that this function file should be used as an example
+     of the use of this toolbox.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 59
+Manual and test code for the Octave Communications toolbox.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+compand
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1154
+ -- Function File: Y =  compand (X, MU, V, 'mu/compressor')
+ -- Function File: Y =  compand (X, MU, V, 'mu/expander')
+ -- Function File: Y =  compand (X, MU, V, 'A/compressor')
+ -- Function File: Y =  compand (X, MU, V, 'A/expander')
+     Compresses and expanding the dynamic range of a signal using a
+     mu-law or or A-law algorithm.
+
+     The mu-law compressor/expander for reducing the dynamic range, is
+     used if the fourth argument of "compand" starts with 'mu/'.
+     Whereas the A-law compressor/expander is used if "compand" starts
+     with 'A/'.  The mu-law algorithm uses the formulation
+
+
+                  V log (1 + \mu/V |x|)
+              y = -------------------- sgn(x)
+                      log (1 + \mu)
+
+     while the A-law algorithm used the formulation
+
+
+                  /    A / (1 + log A) x,               0 <= |x| <= V/A
+                  |
+              y = <    V ( 1 + log (A/V |x|) )
+                  |    ----------------------- sgn(x),  V/A < |x| <= V
+                  \        1 + log A
+
+     Neither converts from or to audio file ulaw format. Use mu2lin or
+     lin2mu instead.
+
+
+   See also: m2ulin, lin2mu
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Compresses and expanding the dynamic range of a signal using a mu-law or
+or A-la
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+convenc
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1121
+ -- Function File: X = convenc (M, G, K)
+     Compute output of an (n, K, L) convolutional encoder with vector
+     input M and matrix of generator polynomials G.
+
+     The input vector M can be of arbitrary length. G is a matrix with
+     n rows and K*(L+1) columns. The rows of G are the generator
+     polynomials for each of the n output bits (per K input bits).
+
+     The output is a vector whose length is
+     n*floor([length(M)+K*(L+1)-1]/K).  If unspecified, K defaults to 1.
+
+     Example 1: Compute the output from a (2, 1, 2) convolutional
+     encoder
+          m  = [ 1 1 0 1 1 1 0 0 1 0 0 0];
+          g1 = [1 1 1];
+          g2 = [1 0 1];
+          convenc (m, [g1; g2])
+               => [1 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0]
+
+     Example 2: Compute the output from a (3, 2, 1) convolutional
+     encoder
+          m  = [0 1 1 0 0 0 1 1 ];
+          g1 = [1 0 1 1];
+          g2 = [1 1 0 1];
+          g3 = [1 0 1 0];
+          convenc (m, [g1; g2; g3], 2)
+               => [1 1 1 1 1 1 1 1 0 1 0 1]
+
+     *Caution:*: this function is not compatible with MATLAB's
+     convenc().
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Compute output of an (n, K, L) convolutional encoder with vector input
+M and mat
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+cosets
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 209
+ -- Function File:  cosets (M, PRIM)
+     Finds the elements of GF(2^M) with primitive polynomial PRIM, that
+     share the same minimum polynomial. Returns a cell array of the
+     paratitioning of GF(2^M).
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Finds the elements of GF(2^M) with primitive polynomial PRIM, that
+share the sam
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 5
+de2bi
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1082
+ -- Function File: B =  de2bi (D)
+ -- Function File: B =  de2bi (D,N)
+ -- Function File: B =  de2bi (D,N,P)
+ -- Function File: B =  de2bi (D,N,P,F)
+     Convert a non-negative integer to bit vector.
+
+     The variable D must be a vector of non-negative integers. "de2bi"
+     then returns a matrix where each row represents the binary
+     representation of elements of D. If N is defined then the returned
+     matrix will have N columns. This number of columns can be either
+     larger than the minimum needed and zeros will be added to the msb
+     of the binary representation or smaller than the minimum in which
+     case the least-significant part of the element is returned.
+
+     If P is defined then it is used as the base for the decomposition
+     of the returned values. That is the elements of the returned value
+     are between '0' and 'p-1'.
+
+     The variable F defines whether the first or last element of B is
+     considered to be the most-significant. Valid values of F are
+     'right-msb' or 'left-msb'. By default F is 'right-msb'.
+
+     See also: bi2de
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 45
+Convert a non-negative integer to bit vector.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+decode
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 4528
+ -- Function File: MSG = decode (CODE,N,K)
+ -- Function File: MSG = decode (CODE,N,K,TYP)
+ -- Function File: MSG = decode (CODE,N,K,TYP,OPT1)
+ -- Function File: MSG = decode (CODE,N,K,TYP,OPT1,OPT2)
+ -- Function File: [MSG, ERR] = decode (...)
+ -- Function File: [MSG, ERR, CCODE] = decode (...)
+ -- Function File: [MSG, ERR, CCODE, CERR] = decode (...)
+     Top level block decoder. This function makes use of the lower level
+     functions such as "cyclpoly", "cyclgen", "hammgen", and "bchenco".
+     The coded message to decode is pass in CODE, the codeword length
+     is N and the message length is K. This function is used to decode
+     messages using either:
+
+    A [n,k] linear block code defined by a generator matrix
+
+    A [n,k] cyclic code defined by a generator polynomial
+
+    A [n,k] Hamming code defined by a primitive polynomial
+
+    A [n,k] BCH code code defined by a generator polynomial
+
+     The type of coding to use is defined by the variable TYP. This
+     variable is a string taking one of the values
+
+    `'linear' or 'linear/binary''
+          A linear block code is assumed with the message MSG being in a
+          binary format. In this case the argument OPT1 is the generator
+          matrix, and is required. Additionally, OPT2 containing the
+          syndrome lookup table (see "syndtable") can also be passed.
+
+    `'cyclic' or 'cyclic/binary''
+          A cyclic code is assumed with the message MSG being in a
+          binary format. The generator polynomial to use can be defined
+          in OPT1.  The default generator polynomial to use will be
+          "cyclpoly(N,K)". Additionally, OPT2 containing the syndrome
+          lookup table (see "syndtable") can also be passed.
+
+    `'hamming' or 'hamming/binary''
+          A Hamming code is assumed with the message MSG being in a
+          binary format. In this case N must be of an integer of the
+          form `2^M-1', where M is an integer. In addition K must be
+          `N-M'. The primitive polynomial to use can be defined in
+          OPT1. The default primitive polynomial to use is the same as
+          defined by "hammgen". The variable OPT2 should not be defined.
+
+    `'bch' or 'bch/binary''
+          A BCH code is assumed with the message MSG being in a binary
+          format. The primitive polynomial to use can be defined in
+          OPT2.  The error correction capability of the code can also
+          be defined in OPT1. Use the empty matrix [] to let the error
+          correction capability take the default value.
+
+     In addition the argument 'binary' above can be replaced with
+     'decimal', in which case the message is assumed to be a decimal
+     vector, with each value representing a symbol to be coded. The
+     binary format can be in two forms
+
+    `An X-by-N matrix'
+          Each row of this matrix represents a symbol to be decoded
+
+    `A vector with length divisible by N'
+          The coded symbols are created from groups of N elements of
+          this vector
+
+     The decoded message is return in MSG. The number of errors
+     encountered is returned in ERR. If the coded message format is
+     'decimal' or a 'binary' matrix, then ERR is a column vector having
+     a length equal to the number of decoded symbols. If CODE is a
+     'binary' vector, then ERR is the same length as MSG and indicated
+     the number of errors in each symbol. If the value ERR is positive
+     it indicates the number of errors corrected in the corresponding
+     symbol. A negative value indicates an uncorrectable error. The
+     corrected code is returned in CCODE in a similar format to the
+     coded message MSG. The variable CERR contains similar data to ERR
+     for CCODE.
+
+     It should be noted that all internal calculations are performed in
+     the binary format. Therefore for large values of N, it is
+     preferable to use the binary format to pass the messages to avoid
+     possible rounding errors. Additionally, if repeated calls to
+     "decode" will be performed, it is often faster to create a
+     generator matrix externally with the functions "hammgen" or
+     "cyclgen", rather than let "decode" recalculate this matrix at
+     each iteration. In this case TYP should be 'linear'. The exception
+     to this case is BCH codes, where the required syndrome table is
+     too large. The BCH decoder, decodes directly from the polynomial
+     never explicitly forming the syndrome table.
+
+
+   See also: encode, cyclgen, cyclpoly, hammgen, bchdeco, bchpoly,
+syndtable
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 24
+Top level block decoder.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+deintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 135
+ -- Function File: DEINTRLVD = deintrlv (DATA, ELEMENTS)
+     Restore elements of DATA according to ELEMENTS.
+
+     See also: intrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 47
+Restore elements of DATA according to ELEMENTS.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+demodmap
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 2342
+ -- Function File: z =  demodmap (Y,FD,FS,'ask',M)
+ -- Function File: z =  demodmap (Y,FD,FS,'fsk',M,TONE)
+ -- Function File: z =  demodmap (Y,FD,FS,'msk')
+ -- Function File: z =  demodmap (Y,FD,FS,'psk',M)
+ -- Function File: z =  demodmap (Y,FD,FS,'qask',M)
+ -- Function File: z =  demodmap (Y,FD,FS,'qask/cir',NSIG,AMP,PHS)
+ -- Function File: z =  demodmap (Y,FD,FS,'qask/arb',INPHASE,QUADR)
+ -- Function File: z =  demodmap (Y,FD,FS,'qask/arb',MAP)
+ -- Function File: z =  demodmap (Y,[FD, OFF],...)
+     Demapping of an analog signal to a digital signal. The function
+     "demodmap" must have at least three input arguments and one output
+     argument. Argument Y is a complex variable representing the analog
+     signal to be demapped. The variables FD and FS are the sampling
+     rate of the of digital signal and the sampling rate of the analog
+     signal respectively. It is required that `FS/FD' is an integer.
+
+     The available mapping of the digital signal are
+
+    'ask'
+          Amplitude shift keying
+
+    'fsk'
+          Frequency shift keying
+
+    'msk'
+          Minimum shift keying
+
+    'psk'
+          Phase shift keying
+
+    'qask'
+    'qsk'
+    'qam'
+          Quadraure amplitude shift keying
+
+     In addition the 'qask', 'qsk' and 'qam' method can be modified
+     with the flags '/cir' or '/arb'. That is 'qask/cir' and
+     'qask/arb', etc are valid methods and give circular- and
+     arbitrary-qask mappings respectively. Also the method 'fsk' and
+     'msk' can be modified with the flag '/max', in which case Y is
+     assumed to be a matrix with M columns, representing the symbol
+     correlations.
+
+     The variable M is the order of the modulation to use. By default
+     this is 2, and in general should be specified.
+
+     For 'qask/cir', the additional arguments are the same as for
+     "apkconst", and you are referred to "apkconst" for the definitions
+     of the additional variables.
+
+     For 'qask/arb', the additional arguments INPHASE and QUADR give
+     the in-phase and quadrature components of the mapping, in a
+     similar mapping to the outputs of "qaskenco" with one argument.
+     Similar MAP represents the in-phase and quadrature components of
+     the mapping as the real and imaginary parts of the variable MAP.
+
+   See also: modmap, ddemodce, ademodce, apkconst, qaskenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 50
+Demapping of an analog signal to a digital signal.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+egolaydec
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1044
+ -- Function File:  egolaydec (R)
+     Given R, the received Extended Golay code, this function tries to
+     decode R using the Extended Golay code parity check matrix.
+     Extended Golay code (24,12) which can correct upto 3 errors.
+
+     The received code R, needs to be of length Nx24, for encoding. We
+     can decode several codes at once, if they are stacked as a matrix
+     of 24columns, each code in a separate row.
+
+     The generator G used in here is same as obtained from the function
+     egolaygen.
+
+     The function returns the error-corrected code word from the
+     received word. If decoding failed, the second return value is 1,
+     otherwise it is 0.
+
+     Extended Golay code (24,12) which can correct upto 3 errors.
+     Decoding algorithm follows from Lin & Costello.
+
+     Ref: Lin & Costello, pg 128, Ch4, 'Error Control Coding', 2nd ed,
+     Pearson.
+
+           M=[rand(10,12)>0.5];
+           C1=egolayenc(M);
+           C1(:,1)=mod(C1(:,1)+1,2)
+           C2=egolaydec(C1)
+
+
+   See also: egolaygen, egolayenc
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Given R, the received Extended Golay code, this function tries to
+decode R using
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+egolayenc
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 505
+ -- Function File:  egolayenc (M)
+     Given M, encode M using the Extended Golay code.
+
+     The message M, needs to be of size Nx12, for encoding.  We can
+     encode several messages, into codes at once, if they are stacked
+     in the order suggested.
+
+     The generator G used in here is same as obtained from the function
+     egolaygen. Extended Golay code (24,12) which can correct upto 3
+     errors.
+
+          M=(rand(10,12)>0.5);
+          C=egolayenc(M)
+
+
+   See also: egolaygen, egolaydec
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 48
+Given M, encode M using the Extended Golay code.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+egolaygen
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 239
+ -- Function File:  egolaygen ()
+     Returns the Extended Golay code (24,12) generator matrix, which
+     can correct upto 3 errors. The second argument is the partiy check
+     matrix, for this code.
+
+
+   See also: egolaydec, egolayenc
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Returns the Extended Golay code (24,12) generator matrix, which can
+correct upto
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+encode
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 3341
+ -- Function File: CODE = encode (MSG,N,K)
+ -- Function File: CODE = encode (MSG,N,K,TYP)
+ -- Function File: CODE = encode (MSG,N,K,TYP,OPT)
+ -- Function File: [CODE, ADDED] = encode (...)
+     Top level block encoder. This function makes use of the lower level
+     functions such as "cyclpoly", "cyclgen", "hammgen", and "bchenco".
+     The message to code is pass in MSG, the codeword length is N and
+     the message length is K. This function is used to encode messages
+     using either:
+
+    A [n,k] linear block code defined by a generator matrix
+
+    A [n,k] cyclic code defined by a generator polynomial
+
+    A [n,k] Hamming code defined by a primitive polynomial
+
+    A [n,k] BCH code code defined by a generator polynomial
+
+     The type of coding to use is defined by the variable TYP. This
+     variable is a string taking one of the values
+
+    `'linear' or 'linear/binary''
+          A linear block code is assumed with the coded message CODE
+          being in a binary format. In this case the argument OPT is
+          the generator matrix, and is required.
+
+    `'cyclic' or 'cyclic/binary''
+          A cyclic code is assumed with the coded message CODE being in
+          a binary format. The generator polynomial to use can be
+          defined in OPT.  The default generator polynomial to use will
+          be "cyclpoly(N,K)"
+
+    `'hamming' or 'hamming/binary''
+          A Hamming code is assumed with the coded message CODE being
+          in a binary format. In this case N must be of an integer of
+          the form `2^M-1', where M is an integer. In addition K must
+          be `N-M'. The primitive polynomial to use can be defined in
+          OPT. The default primitive polynomial to use is the same as
+          defined by "hammgen".
+
+    `'bch' or 'bch/binary''
+          A BCH code is assumed with the coded message CODE being in a
+          binary format. The generator polynomial to use can be defined
+          in OPT.  The default generator polynomial to use will be
+          "bchpoly(N,K)"
+
+     In addition the argument 'binary' above can be replaced with
+     'decimal', in which case the message is assumed to be a decimal
+     vector, with each value representing a symbol to be coded. The
+     binary format can be in two forms
+
+    `An X-by-K matrix'
+          Each row of this matrix represents a symbol to be coded
+
+    `A vector'
+          The symbols are created from groups of K elements of this
+          vector.  If the vector length is not divisble by K, then
+          zeros are added and the number of zeros added is returned in
+          ADDED.
+
+     It should be noted that all internal calculations are performed in
+     the binary format. Therefore for large values of N, it is
+     preferable to use the binary format to pass the messages to avoid
+     possible rounding errors. Additionally, if repeated calls to
+     "encode" will be performed, it is often faster to create a
+     generator matrix externally with the functions "hammgen" or
+     "cyclgen", rather than let "encode" recalculate this matrix at
+     each iteration. In this case TYP should be 'linear'. The exception
+     to this case is BCH codes, whose encoder is implemented directly
+     from the polynomial and is significantly faster.
+
+
+   See also: decode, cyclgen, cyclpoly, hammgen, bchenco, bchpoly
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 24
+Top level block encoder.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 10
+eyediagram
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1488
+ -- Function File:  eyediagram (X,N)
+ -- Function File:  eyediagram (X,N,PER)
+ -- Function File:  eyediagram (X,N,PER,OFF)
+ -- Function File:  eyediagram (X,N,PER,OFF,STR)
+ -- Function File:  eyediagram (X,N,PER,OFF,STR,H)
+ -- Function File: H = eyediagram (...)
+     Plot the eye-diagram of a signal. The signal X can be either in one
+     of three forms
+
+    A real vector
+          In this case the signal is assumed to be real and represented
+          by the vector X. A single eye-diagram representing this
+          signal is plotted.
+
+    A complex vector
+          In this case the in-phase and quadrature components of the
+          signal are plotted seperately.
+
+    A matrix with two columns
+          In this case the first column represents the in-phase and the
+          second the quadrature components of a complex signal.
+
+     Each line of the eye-diagram has N elements and the period is
+     assumed to be given by PER. The time axis is then [-PER/2 PER/2].
+     By default PER is 1.
+
+     By default the signal is assumed to start at -PER/2. This can be
+     overridden by the OFF variable, which gives the number of samples
+     to delay the signal.
+
+     The string STR is a plot style string (example 'r+'), and by
+     default is the default gnuplot line style.
+
+     The figure handle to use can be defined by H. If H is not given,
+     then the next available figure handle is used. The figure handle
+     used in returned on HOUT.
+
+   See also: scatterplot
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 33
+Plot the eye-diagram of a signal.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+fibodeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 860
+ -- Function File:   fibodeco (CODE)
+     Returns the decoded fibonacci value from the binary vectors CODE.
+     Universal codes like fibonacci codes Have a useful synchronization
+     property, only for 255 maximum value we have designed these
+     routines. We assume user has partitioned the code into several
+     unique segments based on the suffix property of unique strings
+     "11" and we just decode the parts. Partitioning the stream is as
+     simple as identifying the "11" pairs that occur, at the
+     terminating ends. This system implements the standard binaary
+     Fibonacci codes, which means that row vectors can only contain 0
+     or 1. Ref: `http://en.wikipedia.org/wiki/Fibonacci_coding'
+
+              fibodeco({[0 1 0 0 1 1]}) %decoded to 10
+              fibodeco({[1 1],[0 1 1],[0 0 1 1],[1 0 1 1]}) %[1:4]
+
+   See also: fiboenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 65
+Returns the decoded fibonacci value from the binary vectors CODE.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+fiboenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1121
+ -- Function File:  fiboenco (NUM)
+     Returns the cell-array of encoded fibonacci value from the column
+     vectors NUM.  Universal codes like fibonacci codes have a useful
+     synchronization property, only for 255 maximum value we have
+     designed these routines. We assume user has partitioned the code
+     into several unique segments based on the suffix property of
+     unique elements [1 1] and we just decode the parts. Partitioning
+     the stream is as simple as identifying the [1 1] pairs that occur,
+     at the terminating ends. This system implements the standard
+     binaary Fibonacci codes, which means that row vectors can only
+     contain 0 or 1. Ref: http://en.wikipedia.org/wiki/Fibonacci_coding
+     Ugly O(k.N^2) encoder.Ref: Wikipedia article accessed March, 2006.
+     `http://en.wikipedia.org/wiki/Fibonacci_coding',  UCI Data
+     Compression Book, `http://www.ics.uci.edu/~dan/pubs/DC-Sec3.html',
+     (accessed October 2006)
+
+               fiboenco(10) #=  code is {[ 0 1 0 0 1 1]}
+               fiboenco(1:4) #= code is {[1 1],[0 1 1],[0 0 1 1],[1 0 1 1]}
+
+   See also: fibodeco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 78
+Returns the cell-array of encoded fibonacci value from the column
+vectors NUM.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+fibosplitstream
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 727
+ -- Function File:   fibosplitstream (CODE)
+     Returns the split data stream at the word boundaries.  Assuming
+     the stream was originally encoded using `fiboenco' and this
+     routine splits the stream at the points where '11' occur together
+     & gives us the code-words which can later be decoded from the
+     `fibodeco' This however doesnt mean that we intend to verify if
+     all the codewords are correct, and infact the last symbol in th
+     return list can or can-not be a valid codeword.
+
+     A example use of `fibosplitstream' would be
+
+          fibodeco(fibosplitstream([fiboenco(randint(1,100,[0 255])){:}]))
+          fibodeco(fibosplitstream([fiboenco(1:10){:}]))
+
+     See also: fiboenco, fibodeco
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 53
+Returns the split data stream at the word boundaries.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+fmdemod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 192
+ -- Function File: fmdemod (X,FC,FS)
+     Create the FM demodulation of the signal x with carrier frequency
+     fs. Where x is sample at frequency fs.
+
+     See also: ammod, amdemod, fmmod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 69
+Create the FM demodulation of the signal x with carrier frequency fs.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 5
+fmmod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 190
+ -- Function File: fmmod (X,FC,FS)
+     Create the FM modulation of the signal x with carrier frequency
+     fs. Where x is sample at frequency fs.
+
+     See also: ammod, fmdemod, amdemod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 67
+Create the FM modulation of the signal x with carrier frequency fs.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+gen2par
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 436
+ -- Function File: PAR = gen2par (GEN)
+ -- Function File: GEN = gen2par (PAR)
+     Converts binary generator matrix GEN to the parity chack matrix
+     PAR and visa-versa. The input matrix must be in standard form.
+     That is a generator matrix must be k-by-n and in the form [eye(k)
+     P] or [P eye(k)], and the parity matrix must be (n-k)-by-n and of
+     the form [eye(n-k) P'] or [P' eye(n-k)].
+
+
+   See also: cyclgen, hammgen
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Converts binary generator matrix GEN to the parity chack matrix PAR and
+visa-ver
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+genqamdemod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 158
+ -- Function File: [Z] = genqamdemod(Y,CONST)
+       Compute the general quadrature amplitude demodulation of y.
+
+     See also: genqammod, qammod, qamdemod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 60
+       Compute the general quadrature amplitude demodulation of y.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+genqammod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 556
+ -- Function File: Y = genqammod (X, C)
+     Modulates an information sequence of intergers X in the range `[0
+     ... M-1]' onto a quadrature amplitude modulated signal Y, where
+     `M = length(c) - 1' and C is a 1D vector specifing the signal
+     constellation mapping to be used. An example of combined 4PAM-4PSK
+     is
+
+           d = randint(1,1e4,8);
+           c = [1+j -1+j -1-j 1-j 1+sqrt(3) j*(1+sqrt(3)) -1-sqrt(3) -j*(1+sqrt(3))];
+           y = genqammod(d,c);
+           z = awgn(y,20);
+           plot(z,'rx')
+
+   See also: genqamdemod
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 67
+Modulates an information sequence of intergers X in the range `[0 .
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+gftable
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 265
+ -- Function File:  gftable (M, PRIMPOLY)
+     This function exists for compatiability with matlab. As the octave
+     galois fields store a copy of the lookup tables for every field in
+     use internally, there is no need to use this function.
+
+
+   See also: gf
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 52
+This function exists for compatiability with matlab.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+gfweight
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 820
+ -- Function File: W =  gfweight (GEN)
+ -- Function File: W =  gfweight (GEN,'gen')
+ -- Function File: W =  gfweight (PAR,'par')
+ -- Function File: W =  gfweight (P,n)
+     Calculate the minimum weight or distance of a linear block code.
+     The code can be either defined by its generator or parity check
+     matrix, or its generator polynomial. By default if the first
+     argument is a matrix, it is assumed to be the generator matrix of
+     the code. The type of the matrix can be defined by a flag 'gen'
+     for the generator matrix or 'par' for the parity check matrix.
+
+     If the first argument is a vector, it is assumed that it defines
+     the generator polynomial of the code. In this case a second
+     argument is required that defines the codeword length.
+
+
+   See also: hammgen, cyclpoly, bchpoly
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 64
+Calculate the minimum weight or distance of a linear block code.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 10
+golombdeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 931
+ -- Function File:  golombdeco (CODE, M)
+     Returns the Golomb decoded signal vector using CODE and M.
+     Compulsory m is need to be specified. A restrictions is that a
+     signal set must strictly be non-negative. The value of code is a
+     cell array of row-vectors which have the  encoded golomb value for
+     a single sample. The Golomb algorithm is,  used to encode the
+     'code' and only that can be meaningfully decoded. CODE is assumed
+     to have been of format generated by the function `golombenco'.
+     Also the parameter M need to be a non-zero number, unless which it
+     makes divide-by-zero errors.  This function works backward the
+     Golomb algorithm see `golombenco' for more detials on that.
+     Reference: Solomon Golomb, Run length Encodings, 1966 IEEE Trans
+     Info' Theory
+
+     An exmaple of the use of `golombdeco' is
+            golombdeco(golombenco(1:4,2),2)
+
+   See also: golombenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 58
+Returns the Golomb decoded signal vector using CODE and M.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 10
+golombenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1615
+ -- Function File:  golombenco (SIG, M)
+     Returns the Golomb coded signal as cell array.  Also  total length
+     of output code in bits can be obtained.  This function uses a M
+     need to be supplied for encoding signal vector into a golomb coded
+     vector. A restrictions is that a signal set must strictly be
+     non-negative.  Also the parameter M need to be a non-zero number,
+     unless which it makes divide-by-zero errors.  The Golomb algorithm
+     [1], is used to encode the data into unary coded quotient part
+     which is represented as a set of 1's separated from the K-part
+     (binary) using a zero. This scheme doesnt need any kind of
+     dictionaries, it is a parameterized prefix codes.  Implementation
+     is close to O(N^2), but this implementation *may be* sluggish,
+     though correct.  Details of the scheme are, to encode the
+     remainder(r of number N) using the floor(log2(m)) bits when rem is
+     in range 0:(2^ceil(log2(m)) - N), and encode it as
+     r+(2^ceil(log2(m)) - N), using total of 2^ceil(log2(m)) bits in
+     other instance it doesnt belong to case 1. Quotient is coded
+     simply just using the unary code. Also accroding to [2] Golomb
+     codes are optimal for sequences using the bernoulli probability
+     model: P(n)=p^n-1.q & p+q=1, and when M=[1/log2(p)], or P=2^(1/M).
+
+     Reference: 1. Solomon Golomb, Run length Encodings, 1966 IEEE Trans
+     Info' Theory. 2. Khalid Sayood, Data Compression, 3rd Edition
+
+     An exmaple of the use of `golombenco' is
+            golombenco(1:4,2) #
+            golombenco(1:10,2) #
+
+   See also: golombdeco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 46
+Returns the Golomb coded signal as cell array.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+hammgen
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 784
+ -- Function File: H =  hammgen (M)
+ -- Function File: H =  hammgen (M,P)
+ -- Function File: [H,G] =  hammgen (...)
+ -- Function File: [H,G,N,K] =  hammgen (...)
+     Produce the parity check and generator matrices of a Hamming code.
+     The variable M defines the [N,K] Hamming code where `N = 2 ^ M -
+     1' and `K = N - M'.  M must be between 3 and 16.
+
+     The parity check matrix is generated relative to the primitive
+     polynomial of GF(2^M). If P is specified the default primitive
+     polynomial of GF(2^M) is overridden. P must be a valid primitive
+     polynomial of the correct order for GF(2^M).
+
+     The parity check matrix is returned in the M by N matrix H, and if
+     requested the generator matrix is returned in the K by N matrix G.
+
+
+   See also: gen2par
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 66
+Produce the parity check and generator matrices of a Hamming code.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+helintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 109
+ -- Function File: OUTDATA = helintrlv (DATA, COL, NGRP,STP)
+     COL-by-NGRP.
+
+     See also: heldeintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 12
+COL-by-NGRP.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+helscandeintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 128
+ -- Function File: OUTDATA = helscandeintrlv (DATA, NROWS, NCOLS,NSHIFT)
+     NROWS-by-NCOLS.
+
+     See also: helscandeintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+NROWS-by-NCOLS.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 13
+helscanintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 126
+ -- Function File: OUTDATA = helscanintrlv (DATA, NROWS, NCOLS,NSHIFT)
+     NROWS-by-NCOLS.
+
+     See also: helscandeintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+NROWS-by-NCOLS.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+huffmandeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 893
+ -- Function File: SIG = huffmandeco (HCODE, DICT)
+     Decode signal encoded by `huffmanenco'.
+
+     This function uses a dict built from the `huffmandict' and uses it
+     to decode a signal list into a huffman list. A restriction is that
+     HCODE is expected to be a binary code
+
+     The returned SIG set that strictly belongs in the range `[1,N]'
+     with `N = length(DICT)'. Also DICT can only be from the
+     `huffmandict' routine. Whenever decoding fails, those signal
+     values a re indicated by `-1', and we successively try to restart
+     decoding from the next bit that hasn't failed in decoding,
+     ad-infinitum. An example of the use of `huffmandeco' is:
+
+          hd    = huffmandict (1:4, [0.5 0.25 0.15 0.10]);
+          hcode = huffmanenco (1:4, hd);
+          back  = huffmandeco (hcode, hd)
+                => [1 2 3 4]
+
+     See also: huffmandict, huffmanenco
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 39
+Decode signal encoded by `huffmanenco'.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+huffmandict
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1497
+ -- Function File:  huffmandict (SYMB, PROB)
+ -- Function File:  huffmandict (SYMB, PROB, TOGGLE)
+ -- Function File:  huffmandict (SYMB, PROB, TOGGLE, MINVAR)
+     Builds a Huffman code, given a probability list. The Huffman codes
+     per symbol are output as a list of strings-per-source symbol. A
+     zero probability symbol is NOT assigned any codeword as this
+     symbol doesn't occur in practice anyway.
+
+     TOGGLE is an optional argument with values 1 or 0, that starts
+     building a code based on 1's or 0's, defaulting to 0. Also MINVAR
+     is a boolean value that is useful in choosing if you want to
+     optimize buffer for transmission in the applications of Huffman
+     coding, however it doesn't affect the type or average codeword
+     length of the generated code. An example of the use of
+     `huffmandict' is
+
+            huffmandict(symbols, [0.5 0.25 0.15 0.1]) => CW(0,10,111,110)
+            huffmandict(symbols, 0.25*ones(1,4)) => CW(11,10,01,00)
+
+            prob=[0.5 0 0.25 0.15 0.1]
+            dict=huffmandict(1:5,[0.5 0 0.25 0.15 0.1],1)
+            entropy(prob)
+            laverage(dict,prob)
+
+            x =   [0.20000   0.40000   0.20000   0.10000   0.10000];
+            #illustrates the minimum variance thing.
+            huffmandict(1,x,0,true) #min variance tree.
+            huffmandict(1,x)     #normal huffman tree.
+
+     Reference: Dr.Rao's course EE5351 Digital Video Coding, at
+     UT-Arlington.
+
+     See also: huffmandeco, huffmanenco
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 48
+Builds a Huffman code, given a probability list.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+huffmanenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 605
+ -- Function File:  huffmanenco (SIG, DICT)
+     Returns the Huffman encoded signal using DICT. This function uses
+     a DICT built from the `huffmandict' and uses it to encode a signal
+     list into a huffman list. A restrictions is that a signal set must
+     strictly belong in the range `[1,N]' with `N = length(dict)'.
+     Also DICT can only be from the `huffmandict' routine.  An exmaple
+     of the use of `huffmanenco' is
+
+          hd = huffmandict (1:4, [0.5 0.25 0.15 0.10]);
+          huffmanenco (1:4, hd);
+                => [1 0 1 0 0 0 0 0 1]
+
+     See also: huffmandict, huffmandeco
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 46
+Returns the Huffman encoded signal using DICT.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+intrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 137
+ -- Function File: INTRLVD = intrlv (DATA, ELEMENTS)
+     Interleaved elements of DATA according to ELEMENTS.
+
+     See also: deintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 51
+Interleaved elements of DATA according to ELEMENTS.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+lloyds
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1895
+ -- Function File: [TABLE, CODES] =  lloyds (SIG,INIT_CODES)
+ -- Function File: [TABLE, CODES] =  lloyds (SIG,LEN)
+ -- Function File: [TABLE, CODES] =  lloyds (SIG,...,TOL)
+ -- Function File: [TABLE, CODES] =  lloyds (SIG,...,TOL,TYPE)
+ -- Function File: [TABLE, CODES, DIST] =  lloyds (...)
+ -- Function File: [TABLE, CODES, DIST, RELDIST] =  lloyds (...)
+     Optimize the quantization table and codes to reduce distortion.
+     This is based on the article by Lloyd
+
+     S. Lloyd _Least squared quantization in PCM_, IEEE Trans Inform
+     Thoery, Mar 1982, no 2, p129-137
+
+     which describes an iterative technique to reduce the quantization
+     error by making the intervals of the table such that each interval
+     has the same area under the PDF of the training signal SIG. The
+     initial codes to try can either be given in the vector INIT_CODES
+     or as scalar LEN. In the case of a scalar the initial codes will
+     be an equi-spaced vector of length LEN between the minimum and
+     maximum value of the training signal.
+
+     The stopping criteria of the iterative algorithm is given by
+
+          abs(DIST(n) - DIST(n-1)) < max(TOL, abs(EPS*max(SIG))
+
+     By default TOL is 1.e-7. The final input argument determines how
+     the updated table is created. By default the centroid of the
+     values of the training signal that fall within the interval
+     described by CODES are used to update TABLE. If TYPE is any other
+     string than "centroid", this behaviour is overriden and TABLE is
+     updated as follows.
+
+          TABLE = (CODE(2:length(CODE)) + CODE(1:length(CODE-1))) / 2
+
+     The optimized values are returned as TABLE and CODE. In addition
+     the distortion of the the optimized codes representing the
+     training signal is returned as DIST. The relative distortion in
+     the final iteration is also returned as RELDIST.
+
+
+   See also: quantiz
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 63
+Optimize the quantization table and codes to reduce distortion.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+lz77deco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 347
+ -- Function File: M = lz77deco (C, ALPH, LA, N)
+     Lempel-Ziv 77 source algorithm decoding implementation. Where
+
+    M
+          message decoded (1xN).
+
+    C
+          encoded message (Mx3).
+
+    ALPH
+          size of alphabet.
+
+    LA
+          lookahead buffer size.
+
+    N
+          sliding window buffer size.
+
+     See also: lz77enco
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 55
+Lempel-Ziv 77 source algorithm decoding implementation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+lz77enco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 298
+ -- Function File: C = lz77enco (M, ALPH, LA, N)
+     Lempel-Ziv 77 source algorithm implementation. Where
+
+    C
+          encoded message (Mx3).
+
+    ALPH
+          size of alphabet.
+
+    LA
+          lookahead buffer size.
+
+    N
+          sliding window buffer size.
+
+     See also: lz77deco
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 46
+Lempel-Ziv 77 source algorithm implementation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+matdeintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 171
+ -- Function File: INTRLVD = matdeintrlv (DATA, NROWS, NCOLS)
+     Restore elements of DATA with a tempory matrix of size
+     NROWS-by-NCOLS.
+
+     See also: matintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 70
+Restore elements of DATA with a tempory matrix of size NROWS-by-NCOLS.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+matintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 175
+ -- Function File: INTRLVD = matintrlv (DATA, NROWS, NCOLS)
+     Interleaved elements of DATA with a tempory matrix of size
+     NROWS-by-NCOLS.
+
+     See also: matdeintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 74
+Interleaved elements of DATA with a tempory matrix of size
+NROWS-by-NCOLS.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+minpol
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 262
+ -- Function File:  minpol (V)
+     Finds the minimum polynomial for elements of a Galois Field. For  a
+     vector V with N components, representing N values in a Galois
+     Field GF(2^M), return the minimum polynomial in GF(2) representing
+     thos values.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 60
+Finds the minimum polynomial for elements of a Galois Field.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+modmap
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 2594
+ -- Function File:  modmap (METHOD,...)
+ -- Function File: y =  modmap (X,FD,FS,'ask',M)
+ -- Function File: y =  modmap (X,FD,FS,'fsk',M,TONE)
+ -- Function File: y =  modmap (X,FD,FS,'msk')
+ -- Function File: y =  modmap (X,FD,FS,'psk',M)
+ -- Function File: y =  modmap (X,FD,FS,'qask',M)
+ -- Function File: y =  modmap (X,FD,FS,'qask/cir',NSIG,AMP,PHS)
+ -- Function File: y =  modmap (X,FD,FS,'qask/arb',INPHASE,QUADR)
+ -- Function File: y =  modmap (X,FD,FS,'qask/arb',MAP)
+     Mapping of a digital signal to an analog signal. With no output
+     arguments "modmap" plots the constellation of the mapping. In this
+     case the first argument must be the string METHOD defining one of
+     'ask', 'fsk', 'msk', 'qask', 'qask/cir' or 'qask/arb'. The
+     arguments following the string METHOD are generally the same as
+     those after the corresponding string in the fucntion call without
+     output arguments.  The exception is `modmap('msk',FD)'.
+
+     With an output argument, Y is the complex mapped analog signal. In
+     this case the arguments X, FD and FS are required. The variable X
+     is the digital signal to be mapped, FD is the sampling rate of the
+     of digital signal and the FS is the sampling rate of the analog
+     signal. It is required that `FS/FD' is an integer.
+
+     The available mapping of the digital signal are
+
+    'ask'
+          Amplitude shift keying
+
+    'fsk'
+          Frequency shift keying
+
+    'msk'
+          Minimum shift keying
+
+    'psk'
+          Phase shift keying
+
+    'qask'
+    'qsk'
+    'qam'
+          Quadraure amplitude shift keying
+
+     In addition the 'qask', 'qsk' and 'qam' method can be modified
+     with the flags '/cir' or '/arb'. That is 'qask/cir' and
+     'qask/arb', etc are valid methods and give circular- and
+     arbitrary-qask mappings respectively.
+
+     The additional argument M is the order of the modulation to use.
+     M must be larger than the largest element of X. The variable TONE
+     is the FSK tone to use in the modulation.
+
+     For 'qask/cir', the additional arguments are the same as for
+     "apkconst", and you are referred to "apkconst" for the definitions
+     of the additional variables.
+
+     For 'qask/arb', the additional arguments INPHASE and QUADR give
+     the in-phase and quadrature components of the mapping, in a
+     similar mapping to the outputs of "qaskenco" with one argument.
+     Similar MAP represents the in-phase and quadrature components of
+     the mapping as the real and imaginary parts of the variable MAP.
+
+   See also: demodmap, dmodce, amodce, apkconst, qaskenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 48
+Mapping of a digital signal to an analog signal.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+oct2dec
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 192
+ -- Function File: D = oct2dec (C)
+     Convert octal to decimal values.
+
+     Each element of the octal matrix C is converted to a decimal value.
+
+     See also: base2dec, bin2dec, dec2bin
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 32
+Convert octal to decimal values.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+pamdemod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 717
+ -- Function File: Y =  pamdemod (X, M)
+ -- Function File: Y =  pamdemod (X, M, PHI)
+ -- Function File: Y =  pamdemod (X, M, PHI, TYPE)
+     Demodulates a pulse amplitude modulated signal X into an
+     information sequence of integers in the range `[0 ... M-1]'.  PHI
+     controls the initial phase and TYPE controls the constellation
+     mapping. If TYPE is set to 'Bin' will result in binary encoding,
+     in contrast, if set to 'Gray' will give Gray encoding.  An example
+     of Gray-encoded 8-PAM is
+
+          d = randint(1,1e4,8);
+          y = pammod(d,8,0,'Gray');
+          z = awgn(y,20);
+          d_est = pamdemod(z,8,0,'Gray');
+          plot(z,'rx')
+          biterr(d,d_est)
+
+   See also: pammod
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Demodulates a pulse amplitude modulated signal X into an information
+sequence of
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+pammod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 645
+ -- Function File: Y =  pammod (X, M)
+ -- Function File: Y =  pammod (X, M, PHI)
+ -- Function File: Y =  pammod (X, M, PHI, TYPE)
+     Modulates an information sequence of integers X in the range `[0
+     ... M-1]' onto a pulse amplitude modulated signal Y.  PHI controls
+     the initial phase and TYPE controls the constellation mapping. If
+     TYPE is set to 'Bin' will result in binary encoding, in contrast,
+     if set to 'Gray' will give Gray encoding.  An example of
+     Gray-encoded 8-PAM is
+
+          d = randint(1,1e4,8);
+          y = pammod(d,8,0,'Gray');
+          z = awgn(y,20);
+          plot(z,'rx')
+
+   See also: pamdemod
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 66
+Modulates an information sequence of integers X in the range `[0 .
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 14
+prbs_generator
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1534
+ Implement book keeping for a Pseudo-Random Binary Sequence ( PRBS )
+ also called as a Linear Feedback Shift Register.
+ Given a polynomial create a PRBS structure for that polynomial.
+ Now all we need is to just create this polynomial and make it work.
+ polynomial must be a vector containing the powers of x and an optional
+ value 1. eg: x^3 + x^2 + x + 1 must be written as [3 2 1 0]
+ all the coefficients are either 1 or 0. It generates only a Binary \
+ sequence, and the generator polynomial need to be only a binary
+ polynomial in GF(2).
+ connections, contains a struct of vectors where each vector is the
+ connection list mapping its vec(2:end) elements to the vec(1) output.
+ Example: If you had a PRBS shift register like the diagram
+ below with 4 registers we use representation by polynomial
+ of [ 1 2 3 4], and feedback connections between [ 1 3 4 ].
+ The output PRBS sequence is taken from the position 4.
+  +---+    +----+   +---+   +---+
+  | D |----| D  |---| D |---| D |
+  +---+    +----+   +---+   +---+
+    |                 |       |
+    \                 /      /
+    [+]---------------+------+
+   1   +    0.D   + 1.D^2 + 1.D^3
+ The code to implement this PRBS with a start state of [1 0 1 1]
+ will be:
+ prbs=prbs_generator([1 3 4],{[1 3 4]},[1 0 1 1]);
+ x = prbs_sequence(prbs) #gives 15
+ prbs_iterator( prbs, 15 ) #15 binary digits seen
+ [ 1   1   0   1   0   1   1   1   1   0   0   0   1   0   0 ]
+ See Also: This function is to be used along with functions 
+ prbs_iterator, and prbs_sequence.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+ Implement book keeping for a Pseudo-Random Binary Sequence ( PRBS )
+ also calle
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 13
+prbs_iterator
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1172
+ This function generates the output bits from the PRBS
+ state, for the number of iterations specified.
+
+ First argument is the PRBS structure obtained from prbs_generator.
+ PRBS iterations is specified in the second argument.
+ PRBS start state is taken from the prbs.sregs.
+
+ Second argument of the output is PRBS structure with a new
+ state. This allows usage like: 
+ [ seq, prbs ] =  prbs_iterator( prbs, niterations );
+ while the state of the PRBS is updated.
+ Example: If you had a PRBS shift register like the diagram
+ below with 4 registers we use representation by polynomial
+ of [ 1 2 3 4], and feedback connections between [ 1 3 4 ].
+ The output PRBS sequence is taken from the position 4.
+  +---+    +----+   +---+   +---+
+  | D |----| D  |---| D |---| D |
+  +---+    +----+   +---+   +---+
+    |                 |       |
+    \                 /      /
+    [+]---------------+------+
+   1   +    0.D   + 1.D^2 + 1.D^3
+
+ The code to implement this PRBS will be 
+ prbs=prbs_generator([1 3 4],{[1 3 4]},[1 0 1 1]);
+ x = prbs_iterator(prbs,15)
+ See Also: This function is to be used along with functions 
+ prbs_iterator, prbs_generator and prbs_sequence.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+ This function generates the output bits from the PRBS
+ state, for the number of
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 13
+prbs_sequence
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 960
+ Implement book keeping for a Pseudo-Random Binary Sequence ( PRBS )
+ also called as a Linear Feedback Shift Register.
+ For the given PRBS in a intial state, compute the PRBS sequence length.
+ Length is period of output when the PRBS state is same as 
+ the start state of PRBS.
+ Example: If you had a PRBS shift register like the diagram
+ below with 4 registers we use representation by polynomial
+ of [ 1 2 3 4], and feedback connections between [ 1 3 4 ].
+ The output PRBS sequence is taken from the position 4.
+  +---+    +----+   +---+   +---+
+  | D |----| D  |---| D |---| D |
+  +---+    +----+   +---+   +---+
+    |                 |       |
+    \                 /      /
+    [+]---------------+------+
+   1   +    0.D   + 1.D^2 + 1.D^3
+
+ The code to implement this PRBS will be 
+ prbs=prbs_generator([1 3 4],{[1 3 4]},[1 0 1 1]);
+ x = prbs_sequence(prbs) #gives 15
+
+ See Also: This function is to be used along with functions 
+ prbs_generator.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+ Implement book keeping for a Pseudo-Random Binary Sequence ( PRBS )
+ also calle
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+pskdemod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 734
+ -- Function File: Y =  pamdemod (X, M)
+ -- Function File: Y =  pamdemod (X, M, PHI)
+ -- Function File: Y =  pamdemod (X, M, PHI, TYPE)
+     Demodulates a complex-baseband phase shift keying modulated signal
+     into an information sequence of integers in the range `[0 ...
+     M-1]'. PHI controls the initial phase and TYPE controls the
+     constellation mapping. If TYPE is set to 'Bin' will result in
+     binary encoding, in contrast, if set to 'Gray' will give Gray
+     encoding.  An example of Gray-encoded 8-PSK is
+
+          d = randint(1,1e3,8);
+          y = pskmod(d,8,0,'Gray');
+          z = awgn(y,20);
+          d_est = pskdemod(z,8,0,'Gray');
+          plot(z,'rx')
+          biterr(d,d_est)
+
+   See also: pskmod
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Demodulates a complex-baseband phase shift keying modulated signal into
+an infor
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+pskmod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 662
+ -- Function File: Y =  pskmod (X, M)
+ -- Function File: Y =  pskmod (X, M, PHI)
+ -- Function File: Y =  pskmod (X, M, PHI, TYPE)
+     Modulates an information sequence of integers X in the range `[0
+     ... M-1]' onto a complex baseband phase shift keying modulated
+     signal Y. PHI controls the initial phase and TYPE controls the
+     constellation mapping. If TYPE is set to 'Bin' will result in
+     binary encoding, in contrast, if set to 'Gray' will give Gray
+     encoding. An example of Gray-encoded QPSK is
+
+          d = randint(1,5e3,4);
+          y = pskmod(d,4,0,'Gray');
+          z = awgn(y,30);
+          plot(z,'rx')
+
+   See also: pskdemod
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 66
+Modulates an information sequence of integers X in the range `[0 .
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+qamdemod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 142
+ -- Function File: qamdemod (X,M)
+     Create the QAM demodulation of x with a size of alphabet m.
+
+     See also: qammod, pskmod, pskdemod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 59
+Create the QAM demodulation of x with a size of alphabet m.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+qammod
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 140
+ -- Function File: qammod (X,M)
+     Create the QAM modulation of x with a size of alphabet m.
+
+     See also: qamdemod, pskmod, pskdemod
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 57
+Create the QAM modulation of x with a size of alphabet m.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+qaskdeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1177
+ -- Function File: MSG = qaskdeco (C,M)
+ -- Function File: MSG = qaskdeco (INPHASE,QUADR,M)
+ -- Function File: MSG = qaskdeco (...,MNMX)
+     Demaps an analog signal using a square QASK constellation. The
+     input signal maybe either a complex variable C, or as two real
+     variables INPHASE and QUADR representing the in-phase and
+     quadrature components of the signal.
+
+     The argument M must be a positive integer power of 2. By deafult
+     the same constellation as created in "qaskenco" is used by
+     "qaskdeco".  If is possible to change the values of the minimum
+     and maximum of the in-phase and quadrature components of the
+     constellation to account for linear changes in the signal values
+     in the received signal. The variable MNMX is a 2-by-2 matrix of
+     the following form
+
+              |   min in-phase      ,   max in-phase      |
+              |   min quadrature    ,   max quadrature    |
+
+     If `sqrt(M)' is an integer, then "qaskenco" uses a Gray mapping.
+     Otherwise, an attempt is made to create a nearly square mapping
+     with a minimum Hamming distance between adjacent constellation
+     points.
+
+   See also: qaskenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 58
+Demaps an analog signal using a square QASK constellation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+qaskenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1685
+ -- Function File:  qaskenco (M)
+ -- Function File:  qaskenco (MSG,M)
+ -- Function File: Y =  qaskenco (...)
+ -- Function File: [INPHASE, QUADR] = qaskenco (...)
+     Map a digital signal using a square QASK constellation. The
+     argument M must be a positive integer power of 2. With two input
+     arguments the variable MSG represents the message to be encoded.
+     The values of MSG must be between 0 and `M-1'. In all cases
+     `qaskenco(M)' is equivalent to `qaskenco(1:M,M)'
+
+     Three types of outputs can be created depending on the number of
+     output arguments. That is
+
+    No output arguments
+          In this case "qaskenco" plots the constellation. Only the
+          points in MSG are plotted, which in the case of a single input
+          argument is all constellation points.
+
+    A single output argument
+          The returned variable is a complex variable representing the
+          in-phase and quadrature components of the mapped  message
+          MSG. With, a single input argument this effectively gives the
+          mapping from symbols to constellation points
+
+    Two output arguments
+          This is the same as two ouput arguments, expect that the
+          in-phase and quadrature components are returned explicitly.
+          That is
+
+               octave> c = qaskenco(msg, m);
+               octave> [a, b] = qaskenco(msg, m);
+               octave> all(c == a + 1i*b)
+               ans = 1
+
+     If `sqrt(M)' is an integer, then "qaskenco" uses a Gray mapping.
+     Otherwise, an attempt is made to create a nearly square mapping
+     with a minimum Hamming distance between adjacent constellation
+     points.
+
+   See also: qaskdeco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 55
+Map a digital signal using a square QASK constellation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 5
+qfunc
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 92
+ -- Function File: [Y] = qfunc (X)
+     Compute the Q function.
+
+     See also: erfc, erf
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 23
+Compute the Q function.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+qfuncinv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 103
+ -- Function File: [Y] = qfuncinv (X)
+     Compute the inverse Q function.
+
+     See also: erfc, erf
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 31
+Compute the inverse Q function.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+quantiz
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 813
+ -- Function File: QIDX =  quantiz (X, TABLE)
+ -- Function File: [QIDX, Q] =  quantiz (X, TABLE, CODES)
+ -- Function File: [ QIDX, Q, D] =  quantiz (...)
+     Quantization of an arbitrary signal relative to a paritioning.
+
+    `qidx = quantiz(x, table)'
+          Determine position of x in strictly monotonic table.  The
+          first   interval, using index 0, corresponds to x <= table(1).
+           Subsequent intervals are table(i-1) < x <= table(i).
+
+    `[qidx, q] = quantiz(x, table, codes)'
+          Associate each interval of the table with a code.  Use
+          codes(1)   for x <= table(1) and codes(n+1) for table(n) < x
+          <= table(n+1).
+
+    `[qidx, q, d] = quantiz(...)'
+          Compute distortion as mean squared distance of x from the
+          corresponding quantization values.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 62
+Quantization of an arbitrary signal relative to a paritioning.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 12
+randdeintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 160
+ -- Function File: INTRLVD = randdeintrlv (DATA, STATE)
+     Restore elements of DATA with a random permutation.
+
+     See also: randintrlv, intrlv, deintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 51
+Restore elements of DATA with a random permutation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+randerr
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 987
+ -- Function File: B =  randerr (N)
+ -- Function File: B =  randerr (N,M)
+ -- Function File: B =  randerr (N,M,ERR)
+ -- Function File: B =  randerr (N,M,ERR,SEED)
+     Generate a matrix of random bit errors. The size of the matrix is
+     N rows by M columns. By default M is equal to N.  Bit errors in
+     the matrix are indicated by a 1.
+
+     The variable ERR determines the number of errors per row. By
+     default the return matrix B has exactly one bit error per row.  If
+     ERR is a scalar, there each row of B has exactly this number of
+     errors per row. If ERR is a vector then each row has a number of
+     errors that is in this vector. Each number of errors has an equal
+     probability. If ERR is a matrix with two rows, then the first row
+     determines the number of errors and the second their probabilities.
+
+     The variable SEED allows the random number generator to be seeded
+     with a fixed value. The initial seed will be restored when
+     returning.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 39
+Generate a matrix of random bit errors.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+randint
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 800
+ -- Function File: B =  randint (N)
+ -- Function File: B =  randint (N,M)
+ -- Function File: B =  randint (N,M,RANGE)
+ -- Function File: B =  randint (N,M,RANGE,SEED)
+     Generate a matrix of random binary numbers. The size of the matrix
+     is N rows by M columns. By default M is equal to N.
+
+     The range in which the integers are generated will is determined by
+     the variable RANGE. If RANGE is an integer, the value will lie in
+     the range [0,RANGE-1], or [RANGE+1,0] if RANGE is negative. If
+     RANGE contains two elements the intgers will lie within these two
+     elements, inclusive. By default RANGE is assumed to be [0:1].
+
+     The variable SEED allows the random number generator to be seeded
+     with a fixed value. The initial seed will be restored when
+     returning.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 43
+Generate a matrix of random binary numbers.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 10
+randintrlv
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 150
+ -- Function File: INTRLVD = randintrlv (DATA, STATE)
+     Interleaves elements of DATA with a random permutation.
+
+     See also: intrlv, deintrlv
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 55
+Interleaves elements of DATA with a random permutation.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+randsrc
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 845
+ -- Function File: B =  randsrc (N)
+ -- Function File: B =  randsrc (N,M)
+ -- Function File: B =  randsrc (N,M,ALPHABET)
+ -- Function File: B =  randsrc (N,M,ALPHABET,SEED)
+     Generate a matrix of random symbols. The size of the matrix is N
+     rows by M columns. By default M is equal to N.
+
+     The variable ALPHABET can be either a row vector or a matrix with
+     two rows. When ALPHABET is a row vector the symbols returned in B
+     are chosen with equal probability from ALPHABET. When ALPHABET has
+     two rows, the second row determines the probabilty with which each
+     of the symbols is chosen. The sum of the probabilities must equal
+     1. By default ALPHABET is [-1 1].
+
+     The variable SEED allows the random number generator to be seeded
+     with a fixed value. The initial seed will be restored when
+     returning.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 36
+Generate a matrix of random symbols.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 13
+reedmullerdec
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1165
+ -- Function File:  reedmullerdec (VV,G,R,M)
+     Decode the received code word VV using  the RM-generator matrix G,
+     of order R, M, returning the code-word C. We use the standard
+     majority logic vote method due to Irving S. Reed. The received
+     word has to be a matrix of column size equal to to code-word size
+     (i.e 2^m). Each row is treated as a separate received word.
+
+     The second return value is the message M got from C.
+
+     G is obtained from definition type construction of Reed Muller
+     code, of order R, length 2^M. Use the function reedmullergen, for
+     the generator matrix for the (R,M) order RM code.
+
+     Faster code constructions (also easier) exist, but since finding
+     permutation order of the basis vectors, is important, we stick
+     with the standard definitions. To use decoder function
+     reedmullerdec,  you need to use this specific generator function.
+
+     see: Lin & Costello, Ch.4, "Error Control Coding", 2nd Ed, Pearson.
+
+          G=reedmullergen(2,4);
+          M=[rand(1,11)>0.5];
+          C=mod(M*G,2);
+          [dec_C,dec_M]=reedmullerdec(C,G,2,4)
+
+
+   See also: reedmullergen, reedmullerenc
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Decode the received code word VV using  the RM-generator matrix G, of
+order R, M
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 13
+reedmullerenc
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 581
+ -- Function File:  reedmullerenc (MSG,R,M)
+     Definition type construction of Reed Muller code, of order R,
+     length 2^M. This function returns the generator matrix for the
+     said order RM code.
+
+     Encodes the given message word/block, of column size k,
+     corresponding to the RM(R,M), and outputs a code matrix C, on each
+     row with corresponding codeword.  The second return value is the
+     G, which is generator matrix used for this code.
+
+          MSG=[rand(10,11)>0.5];
+          [C,G]=reedmullerenc(MSG,2,4);
+
+
+   See also: reedmullerdec, reedmullergen
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 73
+Definition type construction of Reed Muller code, of order R, length
+2^M.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 13
+reedmullergen
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 848
+ -- Function File:  reedmullergen (R,M)
+     Definition type construction of Reed Muller code, of order R,
+     length 2^M. This function returns the generator matrix for the
+     said order RM code.
+
+     RM(r,m) codes are characterized by codewords, `sum ( (m,0) + (m,1)
+     + ... + (m,r)'.  Each of the codeword is got through spanning the
+     space, using the finite set of m-basis codewords.  Each codeword
+     is 2^M elements long.  see: Lin & Costello, "Error Control
+     Coding", 2nd Ed.
+
+     Faster code constructions (also easier) exist, but since finding
+     permutation order of the basis vectors, is important, we stick
+     with the standard definitions. To use decoder function
+     reedmullerdec,  you need to use this specific generator function.
+
+          G=reedmullergen(2,4);
+
+
+   See also: reedmullerdec, reedmullerenc
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 73
+Definition type construction of Reed Muller code, of order R, length
+2^M.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+ricedeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 708
+ -- Function File:  ricedeco (CODE, K)
+     Returns the Rice decoded signal vector using CODE and K.
+     Compulsory K is need to be specified.  A restrictions is that a
+     signal set must strictly be non-negative.  The value of code is a
+     cell array of row-vectors which have the encoded rice value for a
+     single sample. The Rice algorithm is  used to encode the 'code'
+     and only that can be meaningfully decoded. CODE is assumed to have
+     been of format generated by the function `riceenco'.
+
+     Reference: Solomon Golomb, Run length Encodings, 1966 IEEE Trans
+     Info' Theory
+
+     An exmaple of the use of `ricedeco' is
+            ricedec(riceenco(1:4,2),2)
+
+   See also: riceenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 56
+Returns the Rice decoded signal vector using CODE and K.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 8
+riceenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1101
+ -- Function File:  riceenco (SIG, K)
+     Returns the Rice encoded signal using K or optimal K .  Default
+     optimal K is chosen between 0-7. Currently no other way to
+     increase the range except to specify explicitly. Also returns K
+     parameter used (in case it were to be chosen optimally) and LTOT
+     the total length of output code in bits.  This function uses a K
+     if supplied or by default chooses the optimal K for encoding
+     signal vector into a rice coded vector.  A restrictions is that a
+     signal set must strictly be non-negative.  The Rice algorithm is
+     used to encode the data into unary coded quotient part which is
+     represented as a set of 1's separated from the K-part (binary)
+     using a zero. This scheme doesnt need any kind of dictionaries and
+     its close to O(N), but this implementation *may be* sluggish,
+     though correct.
+
+     Reference: Solomon Golomb, Run length Encodings, 1966 IEEE Trans
+     Info' Theory
+
+     An exmaple of the use of `riceenco' is
+            riceenco(1:4) #
+            riceenco(1:10,2) #
+
+   See also: ricedeco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 54
+Returns the Rice encoded signal using K or optimal K .
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+rledeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 422
+ -- Function File:  rledeco (MESSAGE)
+     Returns decoded run-length MESSAGE.  The RLE encoded MESSAGE has
+     to be in the form of a row-vector. The message format (encoded
+     RLE) is like  repetition [factor, value]+.
+
+     An example use of `rledeco' is
+                   message=[1 5 2 4 3 1];
+                   rledeco(message) #gives
+                   ans = [    5   4   4   1   1   1]
+
+   See also: rledeco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 35
+Returns decoded run-length MESSAGE.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+rleenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 468
+ -- Function File:  rleenco (MESSAGE)
+     Returns  run-length encoded MESSAGE. The rle form is built from
+     MESSAGE. The original MESSAGE has to be in the form of a
+     row-vector. The encoded MESSAGE format (encoded RLE) is like
+     [repetition factor]+, values.
+
+     An example use of `rleenco' is
+                   message=[    5   4   4   1   1   1]
+                   rleenco(message) #gives
+                   ans = [1 5 2 4 3 1];
+
+   See also: rleenco
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 36
+Returns  run-length encoded MESSAGE.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+rsdecof
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 832
+ -- Function File:  rsdecof (IN,OUT)
+ -- Function File:  rsdecof (IN,OUT,T)
+     Decodes an ascii file using a Reed-Solomon coder. The input file is
+     defined by IN and the result is written to the output file OUT.
+     The type of coding to use is determined by whether the input file
+     is 7- or 8-bit. If the input file is 7-bit, the default coding is
+     [127,117].  while the default coding for an 8-bit file is a [255,
+     235]. This allows for 5 or 10 error characters in 127 or 255
+     symbols to be corrected respectively. The number of errors that
+     can be corrected can be overridden by the variable T.
+
+     If the file is not an integer multiple of the message size (127 or
+     255) in length, then the file is padded with the EOT (ascii
+     character 4) character before decoding.
+
+
+   See also: rsencof
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 49
+Decodes an ascii file using a Reed-Solomon coder.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+rsencof
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1070
+ -- Function File:  rsencof (IN,OUT)
+ -- Function File:  rsencof (IN,OUT,T)
+ -- Function File:  rsencof (...,PAD)
+     Encodes an ascii file using a Reed-Solomon coder. The input file is
+     defined by IN and the result is written to the output file OUT.
+     The type of coding to use is determined by whether the input file
+     is 7- or 8-bit. If the input file is 7-bit, the default coding is
+     [127,117].  while the default coding for an 8-bit file is a [255,
+     235]. This allows for 5 or 10 error characters in 127 or 255
+     symbols to be corrected respectively. The number of errors that
+     can be corrected can be overridden by the variable T.
+
+     If the file is not an integer multiple of the message size (127 or
+     255) in length, then the file is padded with the EOT (ascii
+     character 4) characters before coding. Whether these characters
+     are written to the output is defined by the PAD variable. Valid
+     values for PAD are "pad" (the default) and "nopad", which write or
+     not the padding respectively.
+
+
+   See also: rsdecof
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 49
+Encodes an ascii file using a Reed-Solomon coder.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 9
+rsgenpoly
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1634
+ -- Function File: G =  rsgenpoly (N,K)
+ -- Function File: G =  rsgenpoly (N,K,P)
+ -- Function File: G =  rsgenpoly (N,K,P,B,S)
+ -- Function File: G =  rsgenpoly (N,K,P,B)
+ -- Function File: [G, T] =  rsgenpoly (...)
+     Creates a generator polynomial for a Reed-Solomon coding with
+     message length of K and codelength of N. N must be greater than K
+     and their difference must be even. The generator polynomial is
+     returned on G as a polynomial over the Galois Field GF(2^M) where
+     N is equal to `2^M-1'. If M is not integer the next highest
+     integer value is used and a generator for a shorten Reed-Solomon
+     code is returned.
+
+     The elements of G represent the coefficients of the polynomial in
+     descending order. If the length of G is lg, then the generator
+     polynomial is given by
+
+          G(0) * x^(lg-1) + G(1) * x^(lg-2) + ... + G(lg-1) * x + G(lg).
+
+     If P is defined then it is used as the primitive polynomial of the
+     the Galois Field GF(2^M). The default primitive polynomial will be
+     used if P is equal to [].
+
+     The variables B and S determine the form of the generator
+     polynomial in the following manner.
+
+          G = (X - A^(B*S)) * (X - A^((B+1)*S)) * ... * (X - A^((B+2*T-1)*S)).
+
+     where T is `(N-K)/2', and A is the primitive element of the Galois
+     Field. Therefore B is the first consecutive root of the generator
+     polynomial and S is the primitive element to generate the the
+     polynomial roots.
+
+     If requested the variable T, which gives the error correction
+     capability of the the Reed-Solomon code
+
+   See also: gf, rsenc, rsdec
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Creates a generator polynomial for a Reed-Solomon coding with message
+length of 
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+scatterplot
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1438
+ -- Function File:  scatterplot (X)
+ -- Function File:  scatterplot (X,N)
+ -- Function File:  scatterplot (X,N,OFF)
+ -- Function File:  scatterplot (X,N,OFF,STR)
+ -- Function File:  scatterplot (X,N,OFF,STR,H)
+ -- Function File: H = scatterplot (...)
+     Display the scatter plot of a signal. The signal X can be either in
+     one of three forms
+
+    A real vector
+          In this case the signal is assumed to be real and represented
+          by the vector X. The scatterplot is plotted along the x axis
+          only.
+
+    A complex vector
+          In this case the in-phase and quadrature components of the
+          signal are plotted seperately on the x and y axes
+          respectively.
+
+    A matrix with two columns
+          In this case the first column represents the in-phase and the
+          second the quadrature components of a complex signal and are
+          plotted on the x and y axes respectively.
+
+     Each point of the scatter plot is assumed to be seperated by N
+     elements in the signal. The first element of the signal to plot is
+     determined by OFF. By default N is 1 and OFF is 0.
+
+     The string STR is a plot style string (example 'r+'), and by
+     default is the default gnuplot point style.
+
+     The figure handle to use can be defined by H. If H is not given,
+     then the next available figure handle is used. The figure handle
+     used in returned on HOUT.
+
+   See also: eyediagram
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 37
+Display the scatter plot of a signal.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+shannonfanodeco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1012
+ -- Function File:  shannonfanodeco (HCODE,DICT)
+     Returns the original signal that was Shannonfano encoded. The
+     signal was encoded using `shannonfanoenco'. This function uses a
+     dict built from the `shannonfanodict' and uses it to decode a
+     signal list into a shannonfano list. Restrictions include hcode is
+     expected to be a binary code; returned signal set that strictly
+     belongs in the `range [1,N]', with `N=length(dict)'. Also dict can
+     only be from the `shannonfanodict(...)' routine. Whenever decoding
+     fails, those signal values are indicated by -1, and we successively
+     try to restart decoding from the next bit that hasnt failed in
+     decoding, ad-infinitum.
+
+     An example use of `shannonfanodeco' is
+                   hd=shannonfanodict(1:4,[0.5 0.25 0.15 0.10])
+                   hcode=shannonfanoenco(1:4,hd) #  [ 1   0   1   0   0   0   0   0   1 ]
+                   shannonfanodeco(hcode,hd) # [1 2 3 4]
+
+   See also: shannonfanoenco, shannonfanodict
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 57
+Returns the original signal that was Shannonfano encoded.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+shannonfanodict
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 654
+ -- Function File:  shannonfanodict (SYMBOLS,SYMBOL_PROBABILITES)
+     Returns the code dictionary for source using shanno fano algorithm.
+     Dictionary is built from SYMBOL_PROBABILITIES using the shannon
+     fano scheme.  Output is a dictionary cell-array, which are
+     codewords, and correspond to the order of input probability.
+
+                   CW=shannonfanodict(1:4,[0.5 0.25 0.15 0.1]);
+                   assert(redundancy(CW,[0.5 0.25 0.15 0.1]),0.25841,0.001)
+                   shannonfanodict(1:5,[0.35 0.17 0.17 0.16 0.15])
+                   shannonfanodict(1:8,[8 7 6 5 5 4 3 2]./40)
+
+   See also: shannonfanoenc, shannonfanodec
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 67
+Returns the code dictionary for source using shanno fano algorithm.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 15
+shannonfanoenco
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 662
+ -- Function File:  shannonfanoenco (HCODE,DICT)
+     Returns the Shannon Fano encoded signal using DICT.  This function
+     uses a DICT built from the `shannonfanodict' and uses it to encode
+     a signal list into a shannon fano code.  Restrictions include a
+     signal set that strictly belongs  in the `range [1,N]' with
+     `N=length(dict)'. Also dict can only be from the
+     `shannonfanodict()' routine.  An example use of `shannonfanoenco'
+     is
+
+                   hd=shannonfanodict(1:4,[0.5 0.25 0.15 0.10])
+                   shannonfanoenco(1:4,hd) #  [   0   1   0   1   1   0   1   1   1   0]
+
+   See also: shannonfanodeco, shannonfanodict
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 51
+Returns the Shannon Fano encoded signal using DICT.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 6
+symerr
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1568
+ -- Function File: [NUM, RATE] =  symerr (A,B)
+ -- Function File: [NUM, RATE] =  symerr (...,FLAG)
+ -- Function File: [NUM, RATE IND] =  symerr (...)
+     Compares two matrices and returns the number of symbol errors and
+     the symbol error rate. The variables A and B can be either:
+
+    Both matrices
+          In this case both matrices must be the same size and then by
+          default the the return values NUM and RATE are the overall
+          number of symbol errors and the overall symbol error rate.
+
+    One column vector
+          In this case the column vector is used for symbol error
+          comparision column-wise with the matrix. The returned values
+          NUM and RATE are then row vectors containing the num of
+          symbol errors and the symbol error rate for each of the
+          column-wise comparisons. The number of rows in the matrix
+          must be the same as the length of the column vector
+
+    One row vector
+          In this case the row vector is used for symbol error
+          comparision row-wise with the matrix. The returned values NUM
+          and RATE are then column vectors containing the num of symbol
+          errors and the symbol error rate for each of the row-wise
+          comparisons. The number of columns in the matrix must be the
+          same as the length of the row vector
+
+     This behaviour can be overridden with the variable FLAG. FLAG can
+     take the value 'column-wise', 'row-wise' or 'overall'. A
+     column-wise comparision is not possible with a row vector and
+     visa-versa.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Compares two matrices and returns the number of symbol errors and the
+symbol err
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 11
+systematize
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 729
+ -- Function File:  systematize (G)
+     Given G, extract P partiy check matrix. Assume row-operations in
+     GF(2).  G is of size KxN, when decomposed through row-operations
+     into a I of size KxK identity matrix, and a parity check matrix P
+     of size Kx(N-K).
+
+     Most arbitrary code with a given generator matrix G, can be
+     converted into its systematic form using this function.
+
+     This function returns 2 values, first is default being GX the
+     systematic version of the G matrix, and then the parity check
+     matrix P.
+
+            G=[1 1 1 1; 1 1 0 1; 1 0 0 1];
+            [Gx,P]=systematize(G);
+
+            Gx = [1 0 0 1; 0 1 0 0; 0 0 1 0];
+            P = [1 0 0];
+
+
+   See also: bchpoly, biterr
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 39
+Given G, extract P partiy check matrix.
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 7
+vec2mat
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 376
+ -- Function File: M =  vec2mat (V, C)
+ -- Function File: M =  vec2mat (V, C, D)
+ -- Function File: [M, ADD] =  vec2mat (...)
+     Converts the vector V into a C column matrix with row priority
+     arrangement and with the final column padded with the value D to
+     the correct length. By default D is 0. The amount of padding added
+     to the matrix is returned in ADD.
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 80
+Converts the vector V into a C column matrix with row priority
+arrangement and w
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 3
+wgn
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 1012
+ -- Function File: Y = wgn (M,N,P)
+ -- Function File: Y = wgn (M,N,P,IMP)
+ -- Function File: Y = wgn (M,N,P,IMP,SEED,)
+ -- Function File: Y = wgn (...,'TYPE')
+ -- Function File: Y = wgn (...,'OUTPUT')
+     Returns a M-by-N matrix Y of white Gaussian noise. P specifies the
+     power of the output noise, which is assumed to be referenced to an
+     impedance of 1 Ohm, unless IMP explicitly defines the impedance.
+
+     If SEED is defined then the randn function is seeded with this
+     value.
+
+     The arguments TYPE and OUTPUT must follow the above numerial
+     arguments, but can be specified in any order. TYPE specifies the
+     units of P, and can be 'dB', 'dBW', 'dBm' or 'linear'. 'dB' is in
+     fact the same as 'dBW' and is keep as a misnomer of Matlab. The
+     units of 'linear' are in Watts.
+
+     The OUTPUT variable should be either 'real' or 'complex'. If the
+     output is complex then the power P is divided equally betwen the
+     real and imaginary parts.
+
+     See also: randn, awgn
+
+
+
+
+
+# name: <cell-element>
+# type: sq_string
+# elements: 1
+# length: 50
+Returns a M-by-N matrix Y of white Gaussian noise.
+
+
+
+
+