view m-toolbox/test/MPipeline/example_1.lwb @ 48:16aa66670d74 database-connection-manager

Fix LTPDA Preferences tooltip
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Tue, 06 Dec 2011 19:07:27 +0100
parents f0afece42f48
children
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<LTPDAworkbench filepath="/Users/hewitson/working/ltp/ltpda/software/m-toolbox/test/MPipeline/example_1.lwb" name="example_1.lwb">
   <document name="example 1" parentDiag="" visible="true" windowHeight="624" windowState="maximized" windowWidth="718" windowX="0" windowY="0" zoomFactor="1.9487172">
      <block bounds="3 31 60 64" inputs="1" name="ao plist" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="plist" mname="plist" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  PLIST Plist class object constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: PLIST Parameter-List Object class object constructor.
               Create a plist object.
 
  SUPER CLASSES: ltpda_uo &lt; ltpda_obj
 
  PROPERTIES:
 
      Inherit Properties (read only)
        name     - name of object
        created  - creation time (time-object)
        prov     - contains a instance of the provenance class.
        hist     - history of the object (history object)
        version  - cvs-version string.
 
      Protected Properties (read only)
        params   - list of param-objects
 
  PLIST METHODS:
 
      Defined Abstract methods:
        char          - returns one character string which represents the object
        copy          - copies an object
        display       - displays an object
        string        - converts an object to a command string which will
                        recreate the plist object.
        update_struct - updates a object structure to the current tbx-version
 
      Public methods:
        append   - append a param-object, plist-object or a key/value pair to
                   the parameter list.
        combine  - combine multiple parameter lists (plist objects) into a
                   single plist.
        find     - Returns the value corresponding to the first parameters in
                   the list with search-key.
        isparam  - look for a given key in the parameter lists.
        nparams  - returns the number of param objects in the list.
        pset     - set or add a key/value pairor a param-object into
                   the parameter list.
        pzmresp  - shadow function for the pzmodel/resp.
        remove   - remove a parameter from the parameter list.
        resp     - shadows miir/iirResp and pzmodel/resp.
 
  CONSTRUCTORS:
 
        pl = plist()                  - create an empty plist object.
        pl = plist(p)                 - create a plist with elements p
                                        where p is an array of param objects.
        pl = plist('key', val)        - create a plist with the key/value pair
        pl = plist('key1',  val1, ... - create a plist with more key/value pairs
                   'key2', 'val2')
        pl = plist('file.xml')        - load a plist-object from xml-file
        pl = plist('file.mat')        - load a plist-object from mat-file
        pl = plist(pl)                - copies the input plist.
 
  PARAMETERS:
 
   If no recognised parameters are found in the input plist, the input
   plist is simply returned. This is the copy constructor.
 
   'Hostname' - construct a plist by retrieving it from an LTPDA repository
                specified by the given hostname. Only those objects which
                are plists are returned.
                Additional parameters:
                'Database'   - The database name [default: 'ltpda']
                'ID'         - A vector of object IDs.
                'CID'        - Retrieve all plists from a particular
                               collection.
                'Binary'     - Set to 'yes' to retrieve from stored binary
                               representation (not always available).
 
  M-FILE INFO:  The following call returns an minfo object that contains
                information about the plist constructor:
                     &gt;&gt; info = plist.getInfo
                or   &gt;&gt; info = plist.getInfo('plist')
 
                You can get information about class methods by calling:
                     &gt;&gt; info = plist.getInfo(method)
                e.g. &gt;&gt; info = plist.getInfo('eq')
 
                You can also restrict the sets of parameters contained in
                the minfo object by calling:
                     &gt;&gt; info = plist.getInfo(method, set)
                e.g. &gt;&gt; info = plist.getInfo('plist', 'Default')
 
  VERSION:      $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:      30-01-07 M Hewitson
                   Creation
 
  SEE ALSO:     ltpda_obj, ltpda_uo, param
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From Repository"/>
               <set name="From MAT File"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>Nsecs</key>
                     <val>100</val>
                     <type>Char</type>
                  </param>
                  <param>
                     <key>fs</key>
                     <val>10</val>
                     <type>Char</type>
                  </param>
                  <param>
                     <key>tsfcn</key>
                     <val>randn(size(t))</val>
                     <type>Char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>Nsecs</key>
               <val>100</val>
               <type>Char</type>
            </param>
            <param>
               <key>fs</key>
               <val>10</val>
               <type>Char</type>
            </param>
            <param>
               <key>tsfcn</key>
               <val>randn(size(t))</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-26266" dstblock="a1" dstport="0" srcblock="ao plist" thickness="2.5"/>
               <pipe color="-26266" dstblock="a2" dstport="0" srcblock="ao plist" thickness="2.5"/>
               <pipe color="-26266" dstblock="a3" dstport="0" srcblock="ao plist" thickness="2.5"/>
               <pipe color="-26266" dstblock="a4" dstport="0" srcblock="ao plist" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="97 3 56 62" inputs="1" name="a1" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>t</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_0</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a5" dstport="0" srcblock="a1" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="93 69 69 59" inputs="1" name="a2" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>t</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_0</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a6" dstport="0" srcblock="a2" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="97 142 65 55" inputs="1" name="a3" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>t</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_0</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a7" dstport="0" srcblock="a3" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="102 216 56 47" inputs="1" name="a4" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>t</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_0</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a8" dstport="0" srcblock="a4" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="100 293 58 50" inputs="1" name="lpsd plist" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="plist" mname="plist" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  PLIST Plist class object constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: PLIST Parameter-List Object class object constructor.
               Create a plist object.
 
  SUPER CLASSES: ltpda_uo &lt; ltpda_obj
 
  PROPERTIES:
 
      Inherit Properties (read only)
        name     - name of object
        created  - creation time (time-object)
        prov     - contains a instance of the provenance class.
        hist     - history of the object (history object)
        version  - cvs-version string.
 
      Protected Properties (read only)
        params   - list of param-objects
 
  PLIST METHODS:
 
      Defined Abstract methods:
        char          - returns one character string which represents the object
        copy          - copies an object
        display       - displays an object
        string        - converts an object to a command string which will
                        recreate the plist object.
        update_struct - updates a object structure to the current tbx-version
 
      Public methods:
        append   - append a param-object, plist-object or a key/value pair to
                   the parameter list.
        combine  - combine multiple parameter lists (plist objects) into a
                   single plist.
        find     - Returns the value corresponding to the first parameters in
                   the list with search-key.
        isparam  - look for a given key in the parameter lists.
        nparams  - returns the number of param objects in the list.
        pset     - set or add a key/value pairor a param-object into
                   the parameter list.
        pzmresp  - shadow function for the pzmodel/resp.
        remove   - remove a parameter from the parameter list.
        resp     - shadows miir/iirResp and pzmodel/resp.
 
  CONSTRUCTORS:
 
        pl = plist()                  - create an empty plist object.
        pl = plist(p)                 - create a plist with elements p
                                        where p is an array of param objects.
        pl = plist('key', val)        - create a plist with the key/value pair
        pl = plist('key1',  val1, ... - create a plist with more key/value pairs
                   'key2', 'val2')
        pl = plist('file.xml')        - load a plist-object from xml-file
        pl = plist('file.mat')        - load a plist-object from mat-file
        pl = plist(pl)                - copies the input plist.
 
  PARAMETERS:
 
   If no recognised parameters are found in the input plist, the input
   plist is simply returned. This is the copy constructor.
 
   'Hostname' - construct a plist by retrieving it from an LTPDA repository
                specified by the given hostname. Only those objects which
                are plists are returned.
                Additional parameters:
                'Database'   - The database name [default: 'ltpda']
                'ID'         - A vector of object IDs.
                'CID'        - Retrieve all plists from a particular
                               collection.
                'Binary'     - Set to 'yes' to retrieve from stored binary
                               representation (not always available).
 
  M-FILE INFO:  The following call returns an minfo object that contains
                information about the plist constructor:
                     &gt;&gt; info = plist.getInfo
                or   &gt;&gt; info = plist.getInfo('plist')
 
                You can get information about class methods by calling:
                     &gt;&gt; info = plist.getInfo(method)
                e.g. &gt;&gt; info = plist.getInfo('eq')
 
                You can also restrict the sets of parameters contained in
                the minfo object by calling:
                     &gt;&gt; info = plist.getInfo(method, set)
                e.g. &gt;&gt; info = plist.getInfo('plist', 'Default')
 
  VERSION:      $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:      30-01-07 M Hewitson
                   Creation
 
  SEE ALSO:     ltpda_obj, ltpda_uo, param
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From Repository"/>
               <set name="From MAT File"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>Nsecs</key>
                     <val>100</val>
                     <type>Char</type>
                  </param>
                  <param>
                     <key>fs</key>
                     <val>10</val>
                     <type>Char</type>
                  </param>
                  <param>
                     <key>tsfcn</key>
                     <val>randn(size(t))</val>
                     <type>Char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>Kdes</key>
               <val>100</val>
               <type>Char</type>
            </param>
            <param>
               <key>Jdes</key>
               <val>1000</val>
               <type>Char</type>
            </param>
            <param>
               <key>Order</key>
               <val>1</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-26113" dstblock="a5" dstport="1" srcblock="lpsd plist" thickness="2.5"/>
               <pipe color="-26113" dstblock="a6" dstport="1" srcblock="lpsd plist" thickness="2.5"/>
               <pipe color="-26113" dstblock="a7" dstport="1" srcblock="lpsd plist" thickness="2.5"/>
               <pipe color="-26113" dstblock="a8" dstport="1" srcblock="lpsd plist" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="186 22 54 55" inputs="2" name="a5" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="lpsd" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  LPSD implement the LPSD algorithm for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: LPSD implement the LPSD algorithm for analysis objects.
 
  CALL:        bs = lpsd(as)
 
  INPUTS:      as  - array of analysis objects
               pl  - parameter list (see below)
 
  OUTPUTS:     bs  - array of analysis objects, one for each input
 
  PARAMETER LIST:
 
      Kdes  - desired number of averages   (default 100)
      Lmin  - minimum segment length   (default 0)
      Jdes  - number of spectral frequencies to compute (default fs/2)
      win   - a specwin window object
              Only the design parameters of the window object are used; the
              window is recomputed for each DFT length inside the lpsd_core
              algorithm.
      Olap - desired overlap percentage (default: taken from window)
      Order - order of detrending
              -1 - no detrending
               0 - subtract mean
               1 - subtract linear fit
               N - subtract fit of polynomial, order N
      Scale - Scaling of output. Choose from:
                AS  - Amplitude (linear) Spectrum
                ASD - Amplitude (linear) Spectral Density
                PS  - Power Spectrum
                PSD - Power Spectral Density [default]
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('lpsd')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('lpsd', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     02-02-07 M Hewitson
                  Created
 
  References:  "Improved spectrum estimation from digitized time series
                on a logarithmic frequency axis", Michael Troebs, Gerhard Heinzel,
                Measurement 39 (2006) 120-129.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>KDES</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>JDES</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>LMIN</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>WIN</key>
                     <val> specwin('BH92', 10)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>OLAP</key>
                     <val>-1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>ORDER</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>PSD</val>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_1</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a9" dstport="0" srcblock="a5" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="188 88 54 56" inputs="2" name="a6" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="lpsd" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  LPSD implement the LPSD algorithm for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: LPSD implement the LPSD algorithm for analysis objects.
 
  CALL:        bs = lpsd(as)
 
  INPUTS:      as  - array of analysis objects
               pl  - parameter list (see below)
 
  OUTPUTS:     bs  - array of analysis objects, one for each input
 
  PARAMETER LIST:
 
      Kdes  - desired number of averages   (default 100)
      Lmin  - minimum segment length   (default 0)
      Jdes  - number of spectral frequencies to compute (default fs/2)
      win   - a specwin window object
              Only the design parameters of the window object are used; the
              window is recomputed for each DFT length inside the lpsd_core
              algorithm.
      Olap - desired overlap percentage (default: taken from window)
      Order - order of detrending
              -1 - no detrending
               0 - subtract mean
               1 - subtract linear fit
               N - subtract fit of polynomial, order N
      Scale - Scaling of output. Choose from:
                AS  - Amplitude (linear) Spectrum
                ASD - Amplitude (linear) Spectral Density
                PS  - Power Spectrum
                PSD - Power Spectral Density [default]
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('lpsd')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('lpsd', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     02-02-07 M Hewitson
                  Created
 
  References:  "Improved spectrum estimation from digitized time series
                on a logarithmic frequency axis", Michael Troebs, Gerhard Heinzel,
                Measurement 39 (2006) 120-129.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>KDES</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>JDES</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>LMIN</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>WIN</key>
                     <val> specwin('BH92', 10)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>OLAP</key>
                     <val>-1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>ORDER</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>PSD</val>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_1</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a9" dstport="1" srcblock="a6" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="188 149 58 54" inputs="2" name="a7" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="lpsd" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  LPSD implement the LPSD algorithm for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: LPSD implement the LPSD algorithm for analysis objects.
 
  CALL:        bs = lpsd(as)
 
  INPUTS:      as  - array of analysis objects
               pl  - parameter list (see below)
 
  OUTPUTS:     bs  - array of analysis objects, one for each input
 
  PARAMETER LIST:
 
      Kdes  - desired number of averages   (default 100)
      Lmin  - minimum segment length   (default 0)
      Jdes  - number of spectral frequencies to compute (default fs/2)
      win   - a specwin window object
              Only the design parameters of the window object are used; the
              window is recomputed for each DFT length inside the lpsd_core
              algorithm.
      Olap - desired overlap percentage (default: taken from window)
      Order - order of detrending
              -1 - no detrending
               0 - subtract mean
               1 - subtract linear fit
               N - subtract fit of polynomial, order N
      Scale - Scaling of output. Choose from:
                AS  - Amplitude (linear) Spectrum
                ASD - Amplitude (linear) Spectral Density
                PS  - Power Spectrum
                PSD - Power Spectral Density [default]
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('lpsd')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('lpsd', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     02-02-07 M Hewitson
                  Created
 
  References:  "Improved spectrum estimation from digitized time series
                on a logarithmic frequency axis", Michael Troebs, Gerhard Heinzel,
                Measurement 39 (2006) 120-129.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>KDES</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>JDES</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>LMIN</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>WIN</key>
                     <val> specwin('BH92', 10)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>OLAP</key>
                     <val>-1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>ORDER</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>PSD</val>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_1</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a10" dstport="1" srcblock="a7" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="188 211 52 59" inputs="2" name="a8" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="lpsd" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  LPSD implement the LPSD algorithm for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: LPSD implement the LPSD algorithm for analysis objects.
 
  CALL:        bs = lpsd(as)
 
  INPUTS:      as  - array of analysis objects
               pl  - parameter list (see below)
 
  OUTPUTS:     bs  - array of analysis objects, one for each input
 
  PARAMETER LIST:
 
      Kdes  - desired number of averages   (default 100)
      Lmin  - minimum segment length   (default 0)
      Jdes  - number of spectral frequencies to compute (default fs/2)
      win   - a specwin window object
              Only the design parameters of the window object are used; the
              window is recomputed for each DFT length inside the lpsd_core
              algorithm.
      Olap - desired overlap percentage (default: taken from window)
      Order - order of detrending
              -1 - no detrending
               0 - subtract mean
               1 - subtract linear fit
               N - subtract fit of polynomial, order N
      Scale - Scaling of output. Choose from:
                AS  - Amplitude (linear) Spectrum
                ASD - Amplitude (linear) Spectral Density
                PS  - Power Spectrum
                PSD - Power Spectral Density [default]
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('lpsd')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('lpsd', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     02-02-07 M Hewitson
                  Created
 
  References:  "Improved spectrum estimation from digitized time series
                on a logarithmic frequency axis", Michael Troebs, Gerhard Heinzel,
                Measurement 39 (2006) 120-129.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>KDES</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>JDES</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>LMIN</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>WIN</key>
                     <val> specwin('BH92', 10)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>OLAP</key>
                     <val>-1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>ORDER</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>PSD</val>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>PLIST</key>
               <val>PORT_1</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a11" dstport="1" srcblock="a8" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="271 50 61 60" inputs="2" name="a9" outputs="1">
         <LTPDAalgorithm mcategory="Arithmetic Operator" mclass="ao" mname="plus" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  PLUS implements addition operator for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: PLUS implements addition operator for two analysis objects.
 
  CALL:        a = a1+scalar
               a = a1+a2
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('plus')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('plus', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY: 01-02-07 M Hewitson
              Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none"/>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a10" dstport="0" srcblock="a9" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="350 92 49 50" inputs="2" name="a10" outputs="1">
         <LTPDAalgorithm mcategory="Arithmetic Operator" mclass="ao" mname="times" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  TIMES implements times operator for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: TIMES implements times operator for analysis objects.
 
  CALL:        a = a1.*scalar
               a = a1.*a2
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('times')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('times', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     01-02-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none"/>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a11" dstport="0" srcblock="a10" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="407 131 48 49" inputs="2" name="a11" outputs="1">
         <LTPDAalgorithm mcategory="Arithmetic Operator" mclass="ao" mname="times" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  TIMES implements times operator for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: TIMES implements times operator for analysis objects.
 
  CALL:        a = a1.*scalar
               a = a1.*a2
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('times')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('times', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     01-02-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none"/>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block" dstport="0" srcblock="a11" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="479 132 45 46" inputs="1" name="New Block" outputs="1">
         <LTPDAalgorithm mcategory="Output" mclass="ao" mname="iplot" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  IPLOT provides an intelligent plotting tool for LTPDA.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: IPLOT provides an intelligent plotting tool for LTPDA.
 
  CALL:               hfig = iplot (a,pl)
               [hfig, hax] = iplot (a,pl)
          [hfig, hax, hli] = iplot (a,pl)
 
  INPUTS:      pl   - a parameter list
               a    - input analysis object
 
  OUTPUTS:     hfig - handles to figures
               hax  - handles to axes
               hli  - handles to lines
 
 
  Plot parameters:
 
              'Arrangement' - select the plot layout:
                            'single'   - plots all AOs on individual figures
                            'stacked'  - plots all AOs on the same axes [default]
                            'subplots' - plots all AOs on subplots
 
              'Function'    - specify the plot function:
                              'plot', 'stairs', 'stem'
                              [default: 'plot']
                              *** doesn't work for xyzdata AOs
 
  Line parameters:
 
         The following properties take cell array values. If the length of
         the cell array is shorter than the number of lines to plot, the
         remaining lines will be plotted with the default options. If the
         cell array is of length 2 and the first cell contains the string
         'all', then the second cell is used to set the propery of all
         lines.
 
              'LineColors' - a cell array of color definitions for each line.
 
              'LineStyles' - a cell array of line styles.
 
              'Markers'    - a cell array of markers.
 
              'LineWidths' - a cell array of line widths. If the length of the
                             cell array is shorter than the number of lines to
                             plot, the remaining lines will be plotted with
                             the default line width.
 
  Axes parameters:
 
              'Legends' - specify a cell array of strings to be used for
                          the plot legends. If a cell contains an empty
                          string, the default legend string is built.
                          If a single string 'off' is given instead of a
                          cell array, then the legends are all switched
                          off.
 
              'XLabels' - Specify the labels to be used on the x-axes. The
                          units are added from the data object 'xunits'
                          property.
 
              'YLabels' - Specify the labels to be used on the y-axes. The
                          units are added from the data object 'yunits'
                          property. If the object contains complex data,
                          you should specify two y-labels for that object.
 
     The following axis properties also work with the 'all' keyword as
     described above in the line properties section.
 
              'XScales' - Specify the scales to be used on the x-axes.
 
              'YScales' - Specify the scales to the used on the y-axes. If
                          an object contains complex data, you should
                          specify two y-labels for that object.
 
              'XRanges' - Specify the ranges to be displayed on the x-axes.
 
              'YRanges' - Specify the ranges to the displayed on the
                          y-axes.
 
  Error parameters: If you give more than one input AO then you must
                    specify the following parameter values in a cell-array,
                    one cell for each input AO. Leave the cell empty to
                    plot no errors. Each error can be a value or a vector
                    the same length as the data vector. If you give and
                    upper limit but not lower limit, then the errors are
                    assumed to be symmetric (and vice versa)
 
                   'XerrL' - lower bound error values for the X data points.
                   'XerrU' - upper bound error values for the X data points.
                   'YerrL' - lower bound error values for the Y data points.
                   'YerrU' - upper bound error values for the Y data points.
  
  Math operations: You can specify rudimentary math operations to be
                   performed on the X and Y data prior to plotting. The
                   'all' keyword is also supported by these parameters.
  
                   'Xmaths'  - specify math operations to perform on the
                               data vector 'x'. For example,
                               plist('Xmaths', 'abs(x)').
  
                   'Ymaths'  - specify math operations to perform on the
                               data vector 'y'. For example,
                               plist('Ymaths', 'sqrt(y)').
  
  Time-series parameters: in addition to the general options, time-series
                          objects have the following additional parameters.
  
               'Xunits'  - specify the units on the x-axis as 
                           'us'        - microseconds
                           'ms'        - milliseconds
                           's'         - seconds [default]
                           'm'         - minutes
                           'h'         - hours
                           'D'         - days
                           'M'         - months
                           'HH:MM:SS'  - using a date/time format
                                             recognized by datetic (help datetic)
  
  
  Frequency-series parameters: 
  
                'complexPlotType' - specify how to plot complex data.
                                    Choose from:
                                     - 'realimag'
                                     - 'absdeg'
                                     - 'absrad'
  
  EXAMPLES:
 
  1) Plot two time-series AOs with different colors, line styles, and widths
 
    pl = plist('Linecolors', {'g', 'k'}, 'LineStyles', {'', '--'}, 'LineWidths', {1, 4});
    iplot(tsao1, tsao2, pl);
 
  2) Plot two time-series AOs in subplots. Also override the second legend
     text and the first line style.
 
    pl = plist('Arrangement', 'subplots', 'LineStyles', {'--'}, 'Legends', {'', 'My Sine Wave'});
    iplot(tsao1, tsao2, pl);
 
  3) Plot two time-series AOs taking the square of the y-values of the
     first AO and the log of the x-values of the second AO.
 
    pl = plist('Arrangement', 'subplots', 'YMaths', 'y.^2', 'XMaths', {'', 'log(x)'});
    iplot(tsao1, tsao2, pl);
 
  4) Plot two frequency-series AOs on subplots with the same Y-scales and
     Y-ranges
 
    pl1 = plist('Yscales', {'All', 'lin'});
    pl2 = plist('arrangement', 'subplots', 'YRanges', {'All', [1e-6 100]});
    iplot(fsd1, fsd2, pl1, pl2)
 
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('iplot')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('iplot', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     22-12-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Time-series plot"/>
               <set name="Frequency-series plot"/>
               <set name="Y data plot"/>
               <set name="X-Y data plot"/>
               <set name="3D plot"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>COMPLEXPLOTTYPE</key>
                     <val>absdeg</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Sample</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Value</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>X-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Y-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>single</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output"/>
      </block>
   </document>
   <document name="Test Cohere" parentDiag="" visible="true" windowHeight="624" windowState="maximized" windowWidth="718" windowX="0" windowY="0" zoomFactor="1.21">
      <block bounds="28 153 58 66" inputs="1" name="a1" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>sin(2*pi*7.433*t) + randn(size(t))</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>TSFCN</key>
               <val>sin(2*pi*7.433*t) + randn(size(t))</val>
               <type>char</type>
            </param>
            <param>
               <key>FS</key>
               <val>1000</val>
               <type>double</type>
            </param>
            <param>
               <key>NSECS</key>
               <val>10</val>
               <type>double</type>
            </param>
            <param>
               <key>T0</key>
               <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
               <type>time</type>
            </param>
            <param>
               <key>XUNITS</key>
               <val>[ unit(' s ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>YUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a3" dstport="0" srcblock="a1" thickness="2.5"/>
               <pipe color="-3657166" dstblock="a8" dstport="1" srcblock="a1" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="36 76 54 49" inputs="1" name="a2" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>sin(2*pi*7.433*t) + randn(size(t))</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>TSFCN</key>
               <val>sin(2*pi*7.433*t) + randn(size(t))</val>
               <type>char</type>
            </param>
            <param>
               <key>FS</key>
               <val>1000</val>
               <type>double</type>
            </param>
            <param>
               <key>NSECS</key>
               <val>10</val>
               <type>double</type>
            </param>
            <param>
               <key>T0</key>
               <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
               <type>time</type>
            </param>
            <param>
               <key>XUNITS</key>
               <val>[ unit(' s ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>YUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a4" dstport="0" srcblock="a2" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="26 249 59 56" inputs="1" name="bandpass" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="miir" mname="miir" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  MIIR IIR filter object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: MIIR IIR filter object class constructor.
               Create a miir object.
 
  SUPER CLASSES: ltpda_filter &lt; ltpda_uoh &lt; ltpda_uo &lt; ltpda_obj
 
  PROPERTIES:
 
      Inherit Properties (read only)
        name     - name of object
        created  - creation time (time-object)
        prov     - contains a instance of the provenance class.
        hist     - history of the object (history object)
        version  - cvs-version string.
        fs       - sample rate that the filter is designed for
        infile   - filename if the filter was loaded from file
        a        - set of numerator coefficients
        histout  - output history values to filter
 
      Protected Properties (read only)
        ntaps    - number of coefficients in the filter
        b        -
        histin   - input history values to filter
 
  MIIR Methods:
 
      Defined Abstract methods:
        char          - returns one character string which represents the object
        copy          - copies an object
        display       - displays an object
        string        - converts an object to a command string which will
                        recreate the plist object.
        update_struct - updates a object structure to the current tbx-version
 
      Public methods:
        setHistin      - set the property 'histin'
        redesign       - redesign the input filter to work for the given sample rate.
        resp           - make a frequency response of the filter.
 
      Protected methods:
        setB           - set the property 'b'
 
      Private methods:
        fromPzmodel    - construct an miir from a pzmodel
        fromAB         - construct an miir from coefficients
        fromStandard   - construct an miir from a standard types
        fromFile       - construct an miir filter from a file
        fromRepository - construct an miir filter from a repository
        mklowpass      - return a low pass filter
        mkhighpass     - return a high pass filter
        mkbandpass     - return a bandpass filter
        mkbandreject   - return a low pass filter
 
  CONSTRUCTORS:
 
        f = miir()              - creates an empty miir object.
        f = miir(fi)            - creates a copy of the input miir object, fi.
        f = miir(pzm)           - creates a miir object from a pole/zero model
        f = miir(pf)            - creates a vector of miir objects from a parfrac model
        f = miir(a,b,fs)        - creates a miir object from the coefficient
                                  vectors 'a' and 'b' **.
                                  The sample rate for which the filter is
                                  designed should be specified as well.
        f = miir('foo_iir.fil') - create a miir object from a
                                  LISO IIR .fil file.
        f = miir('foo_iir.xml') - create a miir object loading the miir object
                                  from disk.
        f = miir('foo_iir.mat') - create a miir object loading the miir object
                                  from disk.
        f = miir(pl)            - create a miir object from the description
                                  given in the parameter list.
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an MIIR by loading it from an XML file.
 
    'filename' - construct an MIIR from a filename.
                 Example: plist('filename', 'm1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an MIIR by loading it from a MAT file.
 
    'filename' - construct an MIIR from a filename.
                 Example: plist('filename', 'm1.mat')
                 [default: empty string]
 
  From LISO File
  --------------
 
    Construct an MIIR by loading it from a LISO file.
 
    'filename' - construct an MIIR from a filename.
                 Example: plist('filename', 'm1.fil')
                 [default: empty string]
 
  From Repository
  ---------------
 
    Construct an MIIR by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are MIIRs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all MIIR objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Standard Type
  ------------------
 
    Construct an MIIR of a standard type.
 
    'type'    - one of the types: 'highpass', 'lowpass',
                'bandpass', 'bandreject'            [default: 'lowpass']
 
                 You can also specify optional parameters:
                    'gain'   - the gain of the filter [default: 1]
                    'fc'     - the roll-off frequency    [default: 0.1 Hz]
                    'fs'     - the sampling frequency to design for [default: 1 Hz]
                    'order'  - the filter order [default: 1]
                    'ripple' - pass/stop-band ripple for bandpass
                               and bandreject filters [default: 0.5]
                    'iunits' - the input unit of the filter
                    'ounits' - the output unit of the filter
 
  From Parfrac
  ------------
 
    Construct an MIIR from a parfrac.
 
    'parfrac'    - a parfrac object to construct the filters from [default: empty parfrac]
    'fs'         - sample rate for the filter(s)
  
  From Pzmodel
  ------------
 
    Construct an MIIR from a pzmodel.
 
    'pzmodel'    - a pzmodel object to construct the filter from [default: empty pzmodel]
    'fs'         - sample rate for the filter
 
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
  EXAMPLE 1:   Create an order 1 highpass filter with high frequency gain 2.
               Filter is designed for 10 Hz sampled data and has a cut-off
               frequency of 0.2 Hz.
 
               &gt;&gt; pl = plist('type', 'highpass', ...
                             'order', 1,         ...
                             'gain',  2.0,       ...
                             'fs',    10,        ...
                             'fc',    0.2);
               &gt;&gt; f = miir(pl)
 
  NOTES:    ** The convention used here for naming the filter coefficients is
               the opposite to MATLAB's convention. The recursion formula
               for this convention is
 
               b(1)*y(n) = a(1)*x(n) + a(2)*x(n-1) + ... + a(na+1)*x(n-na)
                            - b(2)*y(n-1) - ... - b(nb+1)*y(n-nb)
 
  M-FILE INFO: The following call returns an minfo object that contains
               information about the miir constructor:
                    &gt;&gt; info = miir.getInfo
               or   &gt;&gt; info = miir.getInfo('miir')
 
               You can get information about class methods by calling:
                    &gt;&gt; info = miir.getInfo(method)
               e.g. &gt;&gt; info = miir.getInfo('eq')
 
               You can also restrict the sets of parameters contained in
               the minfo object by calling:
                    &gt;&gt; info = miir.getInfo(method, set)
               e.g. &gt;&gt; info = miir.getInfo('miir', 'From Pzmodel')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     09-02-2007 M Hewitson
                  Creation
               11-02-2008 M Hueller
                  Help fixed
                  Default parameter list defined
 
  SEE ALSO:    mfir, ltpda_filter, ltpda_uoh, ltpda_uo, ltpda_obj, plist
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From LISO File"/>
               <set name="From Repository"/>
               <set name="From Standard Type"/>
               <set name="From Parfrac"/>
               <set name="From Pzmodel"/>
               <set name="From AB"/>
               <set name="From Plist"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TYPE</key>
                     <val>bandpass</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FC</key>
                     <val>[50 250]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>GAIN</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>ORDER</key>
                     <val>3</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>RIPPLE</key>
                     <val>0.5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>IUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>OUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PARFRAC</key>
                     <val>parfrac(none)</val>
                     <type>parfrac</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>A</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>B</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>TYPE</key>
               <val>bandpass</val>
               <type>char</type>
            </param>
            <param>
               <key>FC</key>
               <val>[50 250]</val>
               <type>double</type>
            </param>
            <param>
               <key>GAIN</key>
               <val>1</val>
               <type>double</type>
            </param>
            <param>
               <key>FS</key>
               <val>1000</val>
               <type>double</type>
            </param>
            <param>
               <key>ORDER</key>
               <val>3</val>
               <type>double</type>
            </param>
            <param>
               <key>RIPPLE</key>
               <val>0.5</val>
               <type>double</type>
            </param>
            <param>
               <key>IUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>OUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a3" dstport="1" srcblock="bandpass" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="155 214 55 57" inputs="2" name="a3" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="filter" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  FILTER overrides the filter function for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: FILTER overrides the filter function for analysis objects.
               Applies the input digital IIR/FIR filter to the input analysis
               object. If the input analysis object contains a
               time-series (tsdata) then the filter is applied using the normal
               recursion algorithm. The output analysis object contains a tsdata
               object.
 
               If the input analysis object contains a frequency-series (fsdata)
               then the response of the filter is computed and then multiplied
               with the input frequency series. The output analysis object
               contains a frequency series.
 
  CALL:        &gt;&gt; [b, filt] = filter(a,pl)
               &gt;&gt; [b, filt] = filter(a,filt,pl)
               &gt;&gt; b = filter(a,pl)
 
  INPUTS:      pl   - a parameter list
               a    - input analysis object
 
  OUTPUTS:     filt - a copy of the input filter object with the
                      history values filled in.
                      (only possible if the ouput is a single AO)
               b    - output analysis object containing the filtered data.
 
  PROCINFO:    The input filter object with the history values filled in are
               always stored with a plist in the 'procinfo' property of the AO.
               The key of the plist to get the filter is 'Filter'.
 
  PARAMETERS:  filter - the filter object to use to filter the data
               bank   - specify if the bank of filters is intended to be
                        'serial' or 'parallel' [default]
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('filter')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('filter', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     11-02-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>FILTER</key>
                     <val>PORT_1</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>GDOFF</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BANK</key>
                     <val>parallel</val>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>Unknown</key>
               <val/>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a4" dstport="1" srcblock="a3" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="236 97 60 51" inputs="2" name="a4" outputs="1">
         <LTPDAalgorithm mcategory="Arithmetic Operator" mclass="ao" mname="plus" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  PLUS implements addition operator for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: PLUS implements addition operator for two analysis objects.
 
  CALL:        a = a1+scalar
               a = a1+a2
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('plus')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('plus', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY: 01-02-07 M Hewitson
              Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none"/>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="a8" dstport="0" srcblock="a4" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="327 113 65 60" inputs="2" name="a8" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="cohere" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  COHERE makes coherence estimates of the time-series objects
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: COHERE makes coherence estimates of the time-series objects
               in the input analysis objects. Coherences are computed using
               code based on MATLAB's mscohere (&gt;&gt; help mscohere).
 
  CALL:        b = cohere(a1,a2,a3,...,pl)
 
  INPUTS:      b    - output analysis objects
               aN   - input analysis objects (at least two)
               pl   - input parameter list
 
               The function makes coherence estimates between all
               input AOs. Therefore, if the input argument list contains N
               analysis objects, the output, b, will contain NXN coherence estimates.
 
               If the last input argument is a parameter list (plist) it is used.
               The following parameters are recognised.
 
  PARAMETERS:  Win   - a specwin window object [default: Kaiser -200dB psll]
               Olap  - segment percent overlap [default: taken from window function]
               Nfft  - number of samples in each fft [default: half length of input data]
               Order - order of detrending.
                       -1 - no detrending
                        0 - subtract mean [default]
                        1 - subtract linear fit
                        N - subtract fit of polynomial, order N
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('cohere')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('cohere', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     07-02-2007 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>NFFT</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>WIN</key>
                     <val>Hanning</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>OLAP</key>
                     <val>-1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>ORDER</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>NFFT</key>
               <val>1000</val>
               <type>double</type>
            </param>
            <param>
               <key>WIN</key>
               <val>Hanning</val>
               <type>specwin</type>
            </param>
            <param>
               <key>OLAP</key>
               <val>-1</val>
               <type>double</type>
            </param>
            <param>
               <key>ORDER</key>
               <val>0</val>
               <type>double</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block" dstport="0" srcblock="a8" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="419 115 68 58" inputs="1" name="New Block" outputs="1">
         <LTPDAalgorithm mcategory="Output" mclass="ao" mname="iplot" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  IPLOT provides an intelligent plotting tool for LTPDA.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: IPLOT provides an intelligent plotting tool for LTPDA.
 
  CALL:               hfig = iplot (a,pl)
               [hfig, hax] = iplot (a,pl)
          [hfig, hax, hli] = iplot (a,pl)
 
  INPUTS:      pl   - a parameter list
               a    - input analysis object
 
  OUTPUTS:     hfig - handles to figures
               hax  - handles to axes
               hli  - handles to lines
 
 
  Plot parameters:
 
              'Arrangement' - select the plot layout:
                            'single'   - plots all AOs on individual figures
                            'stacked'  - plots all AOs on the same axes [default]
                            'subplots' - plots all AOs on subplots
 
              'Function'    - specify the plot function:
                              'plot', 'stairs', 'stem'
                              [default: 'plot']
                              *** doesn't work for xyzdata AOs
 
  Line parameters:
 
         The following properties take cell array values. If the length of
         the cell array is shorter than the number of lines to plot, the
         remaining lines will be plotted with the default options. If the
         cell array is of length 2 and the first cell contains the string
         'all', then the second cell is used to set the propery of all
         lines.
 
              'LineColors' - a cell array of color definitions for each line.
 
              'LineStyles' - a cell array of line styles.
 
              'Markers'    - a cell array of markers.
 
              'LineWidths' - a cell array of line widths. If the length of the
                             cell array is shorter than the number of lines to
                             plot, the remaining lines will be plotted with
                             the default line width.
 
  Axes parameters:
 
              'Legends' - specify a cell array of strings to be used for
                          the plot legends. If a cell contains an empty
                          string, the default legend string is built.
                          If a single string 'off' is given instead of a
                          cell array, then the legends are all switched
                          off.
 
              'XLabels' - Specify the labels to be used on the x-axes. The
                          units are added from the data object 'xunits'
                          property.
 
              'YLabels' - Specify the labels to be used on the y-axes. The
                          units are added from the data object 'yunits'
                          property. If the object contains complex data,
                          you should specify two y-labels for that object.
 
     The following axis properties also work with the 'all' keyword as
     described above in the line properties section.
 
              'XScales' - Specify the scales to be used on the x-axes.
 
              'YScales' - Specify the scales to the used on the y-axes. If
                          an object contains complex data, you should
                          specify two y-labels for that object.
 
              'XRanges' - Specify the ranges to be displayed on the x-axes.
 
              'YRanges' - Specify the ranges to the displayed on the
                          y-axes.
 
  Error parameters: If you give more than one input AO then you must
                    specify the following parameter values in a cell-array,
                    one cell for each input AO. Leave the cell empty to
                    plot no errors. Each error can be a value or a vector
                    the same length as the data vector. If you give and
                    upper limit but not lower limit, then the errors are
                    assumed to be symmetric (and vice versa)
 
                   'XerrL' - lower bound error values for the X data points.
                   'XerrU' - upper bound error values for the X data points.
                   'YerrL' - lower bound error values for the Y data points.
                   'YerrU' - upper bound error values for the Y data points.
  
  Math operations: You can specify rudimentary math operations to be
                   performed on the X and Y data prior to plotting. The
                   'all' keyword is also supported by these parameters.
  
                   'Xmaths'  - specify math operations to perform on the
                               data vector 'x'. For example,
                               plist('Xmaths', 'abs(x)').
  
                   'Ymaths'  - specify math operations to perform on the
                               data vector 'y'. For example,
                               plist('Ymaths', 'sqrt(y)').
  
  Time-series parameters: in addition to the general options, time-series
                          objects have the following additional parameters.
  
               'Xunits'  - specify the units on the x-axis as 
                           'us'        - microseconds
                           'ms'        - milliseconds
                           's'         - seconds [default]
                           'm'         - minutes
                           'h'         - hours
                           'D'         - days
                           'M'         - months
                           'HH:MM:SS'  - using a date/time format
                                             recognized by datetic (help datetic)
  
  
  Frequency-series parameters: 
  
                'complexPlotType' - specify how to plot complex data.
                                    Choose from:
                                     - 'realimag'
                                     - 'absdeg'
                                     - 'absrad'
  
  EXAMPLES:
 
  1) Plot two time-series AOs with different colors, line styles, and widths
 
    pl = plist('Linecolors', {'g', 'k'}, 'LineStyles', {'', '--'}, 'LineWidths', {1, 4});
    iplot(tsao1, tsao2, pl);
 
  2) Plot two time-series AOs in subplots. Also override the second legend
     text and the first line style.
 
    pl = plist('Arrangement', 'subplots', 'LineStyles', {'--'}, 'Legends', {'', 'My Sine Wave'});
    iplot(tsao1, tsao2, pl);
 
  3) Plot two time-series AOs taking the square of the y-values of the
     first AO and the log of the x-values of the second AO.
 
    pl = plist('Arrangement', 'subplots', 'YMaths', 'y.^2', 'XMaths', {'', 'log(x)'});
    iplot(tsao1, tsao2, pl);
 
  4) Plot two frequency-series AOs on subplots with the same Y-scales and
     Y-ranges
 
    pl1 = plist('Yscales', {'All', 'lin'});
    pl2 = plist('arrangement', 'subplots', 'YRanges', {'All', [1e-6 100]});
    iplot(fsd1, fsd2, pl1, pl2)
 
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('iplot')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('iplot', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     22-12-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Time-series plot"/>
               <set name="Frequency-series plot"/>
               <set name="Y data plot"/>
               <set name="X-Y data plot"/>
               <set name="3D plot"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>COMPLEXPLOTTYPE</key>
                     <val>absdeg</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Sample</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Value</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>X-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Y-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>single</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output"/>
      </block>
   </document>
   <document name="Test AO_curvefit" parentDiag="" visible="true" windowHeight="624" windowState="maximized" windowWidth="718" windowX="0" windowY="0" zoomFactor="1.21">
      <block bounds="58 24 59 60" inputs="1" name="a1" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>t</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sawtooth</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>0.2</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>Width</key>
                     <val>0.6</val>
                     <type>Char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>WAVEFORM</key>
               <val>sawtooth</val>
               <type>char</type>
            </param>
            <param>
               <key>F</key>
               <val>0.2</val>
               <type>double</type>
            </param>
            <param>
               <key>FS</key>
               <val>10</val>
               <type>double</type>
            </param>
            <param>
               <key>NSECS</key>
               <val>100</val>
               <type>double</type>
            </param>
            <param>
               <key>XUNITS</key>
               <val>[ unit(' s ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>YUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>Width</key>
               <val>0.6</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="saw" dstport="0" srcblock="a1" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="58 96 55 63" inputs="1" name="amp" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>0.1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>t</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>VALS</key>
               <val>0.1</val>
               <type>double</type>
            </param>
            <param>
               <key>N</key>
               <val>1</val>
               <type>double</type>
            </param>
            <param>
               <key>DTYPE</key>
               <val/>
               <type>char</type>
            </param>
            <param>
               <key>FS</key>
               <val>[]</val>
               <type>double</type>
            </param>
            <param>
               <key>XVALS</key>
               <val>[]</val>
               <type>double</type>
            </param>
            <param>
               <key>YVALS</key>
               <val>[]</val>
               <type>double</type>
            </param>
            <param>
               <key>YUNITS</key>
               <val/>
               <type>char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="saw" dstport="1" srcblock="amp" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="150 56 60 56" inputs="2" name="saw" outputs="1">
         <LTPDAalgorithm mcategory="Arithmetic Operator" mclass="ao" mname="times" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  TIMES implements times operator for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: TIMES implements times operator for analysis objects.
 
  CALL:        a = a1.*scalar
               a = a1.*a2
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('times')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('times', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     01-02-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none"/>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="nsaw" dstport="0" srcblock="saw" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="61 174 54 61" inputs="1" name="noise" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>0.1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>0.01*randn(size(t))</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>TSFCN</key>
               <val>0.01*randn(size(t))</val>
               <type>char</type>
            </param>
            <param>
               <key>FS</key>
               <val>10</val>
               <type>double</type>
            </param>
            <param>
               <key>NSECS</key>
               <val>100</val>
               <type>double</type>
            </param>
            <param>
               <key>T0</key>
               <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
               <type>time</type>
            </param>
            <param>
               <key>XUNITS</key>
               <val>[ unit(' s ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>YUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="nsaw" dstport="1" srcblock="noise" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="220 119 59 50" inputs="2" name="nsaw" outputs="1">
         <LTPDAalgorithm mcategory="Arithmetic Operator" mclass="ao" mname="plus" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  PLUS implements addition operator for analysis objects.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: PLUS implements addition operator for two analysis objects.
 
  CALL:        a = a1+scalar
               a = a1+a2
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('plus')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('plus', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY: 01-02-07 M Hewitson
              Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none"/>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="fit" dstport="0" srcblock="nsaw" thickness="2.5"/>
               <pipe color="-3657166" dstblock="New Block" dstport="1" srcblock="nsaw" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="325 92 79 50" inputs="1" name="fit" outputs="3">
         <LTPDAalgorithm mcategory="Operator" mclass="ao" mname="curvefit" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  CURVEFIT fit a curve to data.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: CURVEFIT fit a curve to data using lsqcurvefit.
 
  CALL:        b = curvefit(a, pl)
 
  INPUTS:      a  - input AOs to fit to
               pl - parameter list (see below)
 
  OUTPUTs:     b  - analysis object containing the final fitted data. The
                    parameter estimates as well as details of the fit are
                    returned in the 'procinfo' field. See help on
                    ltpda_fitChiSquare for details about returned values.
 
  PARAMETERS:
              'Function'  - The function you want to fit. The function
                            should be parameterized by the vector of
                            parameters P and the x-vector Xdata, .
              'P0'        - Initial parameter estimates.
              'LB'        - Lower bounds for the parameters P.
                            [default: -inf for each parameter];
              'UB'        - Upper bounds for the parameters P.
                            [default: +inf for each parameter];
              'AddP'      - A cell-array of additional parameters to pass
                            to the target function.
              'OPTSET'    - You can pass additional options to lsqcurvefit
                            as a cell-array of options.
                            ('help lsqcurvefit' for options)
                            ('help ltpda_fitChiSquare' for further options)
              'YERR'      - Specify the error on the y-values of the data.
                            You can give either a single value for all data
                            points, or a vector of errors the same length
                            as the data. The values can also be given as an
                            AO. Specify an error AO for each input AO, or a
                            cell-array of error vectors/values.
              'XERR'      - Specify the error on the x-values of the data.
                            You can give either a single value for all data
                            points, or a vector of errors the same length
                            as the data. The values can also be given as an
                            AO. Specify an error AO for each input AO, or a
                            cell-array of error vectors/values.
              'Plot'      - Plot fit result: 'on' or 'off' [default]
              'FitFuncReturn' - Choose a function to apply to the output of the
                                target function if the data are complex.
                                [default: 'abs']
              'No Fit'    - true or false, fit or not [default: false]
              'FitIndex'  - A boolean vector to specify whether or not to
                            fit a particular parameter.
                            [default: true(size(P0))]
        'FitUncertainty'  - Fit parameter uncertainties or not.
                            [default: true]
 
 
  EXAMPLES:
 
  1) Fit to a frequency-series
 
    % Create a frequency-series AO
    pl_data = plist('fsfcn', '0.01./(0.0001+f) + 5*abs(randn(size(f))) ', 'f1', 1e-5, 'f2', 5, 'nf', 1000);
    a = ao(pl_data);
 
    % Fitting parameter list
    pl_fit = plist('Function', 'P(1)./(P(2) + Xdata) + P(3)', ...
               'P0', [0.1 0.01 1]);
    % Do fit
    b = curvefit(a, pl_fit);
 
 
  2) Fit to a noisy sine-wave that has a known dc offset
 
    % Create a noisy sine-wave
    fs    = 10;
    nsecs = 500;
    pl_sw = plist('waveform', 'Sine wave', 'f', 0.01, 'A', 0.6, 'fs', fs, 'nsecs', nsecs);
    sw = ao(pl_sw);
    noise = ao(plist('tsfcn', '10 + 0.01*randn(size(t))', 'fs', fs, 'nsecs', nsecs));
    sw = sw+noise;
 
    % Fitting parameters
    pl_fit = plist('Function', 'ADDP{1} + P(1).*sin(2*pi*P(2).*Xdata + P(3))', ...
             'P0', [1 0.01 0], ...
             'LB', [0 0 -pi], ...
             'UB', [1 0.3 pi], ...
             'ADDP', {10});
  
    % Do fit
    b = curvefit(sw, pl_fit);
 
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('curvefit')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('curvefit', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     12-09-08 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>FUNCTION</key>
                     <val>P(1).*sawtooth(2*pi*P(2).*Xdata, P(3))</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>NO FIT</key>
                     <val>false</val>
                     <type>logical</type>
                  </param>
                  <param>
                     <key>P0</key>
                     <val>[0.1 0.2 0.5]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>LB</key>
                     <val>[0.05 0.18 0]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>UB</key>
                     <val>[0.2 0.22 1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>OPTSET</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FITUNCERTAINTY</key>
                     <val>true</val>
                     <type>logical</type>
                  </param>
                  <param>
                     <key>FITFUNCRETURN</key>
                     <val>abs</val>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>FUNCTION</key>
               <val>P(1).*sawtooth(2*pi*P(2).*Xdata, P(3))</val>
               <type>char</type>
            </param>
            <param>
               <key>NO FIT</key>
               <val>false</val>
               <type>logical</type>
            </param>
            <param>
               <key>P0</key>
               <val>[0.1 0.2 0.5]</val>
               <type>double</type>
            </param>
            <param>
               <key>LB</key>
               <val>[0.05 0.18 0]</val>
               <type>double</type>
            </param>
            <param>
               <key>UB</key>
               <val>[0.2 0.22 1]</val>
               <type>double</type>
            </param>
            <param>
               <key>OPTSET</key>
               <val/>
               <type>char</type>
            </param>
            <param>
               <key>FITUNCERTAINTY</key>
               <val>true</val>
               <type>logical</type>
            </param>
            <param>
               <key>FITFUNCRETURN</key>
               <val>abs</val>
               <type>char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block" dstport="0" srcblock="fit" thickness="2.5"/>
            </node>
         </port>
         <port number="1" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block" dstport="2" srcblock="fit" thickness="2.5"/>
            </node>
         </port>
         <port number="2" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block" dstport="3" srcblock="fit" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="453 121 48 89" inputs="4" name="New Block" outputs="1">
         <LTPDAalgorithm mcategory="Output" mclass="ao" mname="iplot" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  IPLOT provides an intelligent plotting tool for LTPDA.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: IPLOT provides an intelligent plotting tool for LTPDA.
 
  CALL:               hfig = iplot (a,pl)
               [hfig, hax] = iplot (a,pl)
          [hfig, hax, hli] = iplot (a,pl)
 
  INPUTS:      pl   - a parameter list
               a    - input analysis object
 
  OUTPUTS:     hfig - handles to figures
               hax  - handles to axes
               hli  - handles to lines
 
 
  Plot parameters:
 
              'Arrangement' - select the plot layout:
                            'single'   - plots all AOs on individual figures
                            'stacked'  - plots all AOs on the same axes [default]
                            'subplots' - plots all AOs on subplots
 
              'Function'    - specify the plot function:
                              'plot', 'stairs', 'stem'
                              [default: 'plot']
                              *** doesn't work for xyzdata AOs
 
  Line parameters:
 
         The following properties take cell array values. If the length of
         the cell array is shorter than the number of lines to plot, the
         remaining lines will be plotted with the default options. If the
         cell array is of length 2 and the first cell contains the string
         'all', then the second cell is used to set the propery of all
         lines.
 
              'LineColors' - a cell array of color definitions for each line.
 
              'LineStyles' - a cell array of line styles.
 
              'Markers'    - a cell array of markers.
 
              'LineWidths' - a cell array of line widths. If the length of the
                             cell array is shorter than the number of lines to
                             plot, the remaining lines will be plotted with
                             the default line width.
 
  Axes parameters:
 
              'Legends' - specify a cell array of strings to be used for
                          the plot legends. If a cell contains an empty
                          string, the default legend string is built.
                          If a single string 'off' is given instead of a
                          cell array, then the legends are all switched
                          off.
 
              'XLabels' - Specify the labels to be used on the x-axes. The
                          units are added from the data object 'xunits'
                          property.
 
              'YLabels' - Specify the labels to be used on the y-axes. The
                          units are added from the data object 'yunits'
                          property. If the object contains complex data,
                          you should specify two y-labels for that object.
 
     The following axis properties also work with the 'all' keyword as
     described above in the line properties section.
 
              'XScales' - Specify the scales to be used on the x-axes.
 
              'YScales' - Specify the scales to the used on the y-axes. If
                          an object contains complex data, you should
                          specify two y-labels for that object.
 
              'XRanges' - Specify the ranges to be displayed on the x-axes.
 
              'YRanges' - Specify the ranges to the displayed on the
                          y-axes.
 
  Error parameters: If you give more than one input AO then you must
                    specify the following parameter values in a cell-array,
                    one cell for each input AO. Leave the cell empty to
                    plot no errors. Each error can be a value or a vector
                    the same length as the data vector. If you give and
                    upper limit but not lower limit, then the errors are
                    assumed to be symmetric (and vice versa)
 
                   'XerrL' - lower bound error values for the X data points.
                   'XerrU' - upper bound error values for the X data points.
                   'YerrL' - lower bound error values for the Y data points.
                   'YerrU' - upper bound error values for the Y data points.
  
  Math operations: You can specify rudimentary math operations to be
                   performed on the X and Y data prior to plotting. The
                   'all' keyword is also supported by these parameters.
  
                   'Xmaths'  - specify math operations to perform on the
                               data vector 'x'. For example,
                               plist('Xmaths', 'abs(x)').
  
                   'Ymaths'  - specify math operations to perform on the
                               data vector 'y'. For example,
                               plist('Ymaths', 'sqrt(y)').
  
  Time-series parameters: in addition to the general options, time-series
                          objects have the following additional parameters.
  
               'Xunits'  - specify the units on the x-axis as 
                           'us'        - microseconds
                           'ms'        - milliseconds
                           's'         - seconds [default]
                           'm'         - minutes
                           'h'         - hours
                           'D'         - days
                           'M'         - months
                           'HH:MM:SS'  - using a date/time format
                                             recognized by datetic (help datetic)
  
  
  Frequency-series parameters: 
  
                'complexPlotType' - specify how to plot complex data.
                                    Choose from:
                                     - 'realimag'
                                     - 'absdeg'
                                     - 'absrad'
  
  EXAMPLES:
 
  1) Plot two time-series AOs with different colors, line styles, and widths
 
    pl = plist('Linecolors', {'g', 'k'}, 'LineStyles', {'', '--'}, 'LineWidths', {1, 4});
    iplot(tsao1, tsao2, pl);
 
  2) Plot two time-series AOs in subplots. Also override the second legend
     text and the first line style.
 
    pl = plist('Arrangement', 'subplots', 'LineStyles', {'--'}, 'Legends', {'', 'My Sine Wave'});
    iplot(tsao1, tsao2, pl);
 
  3) Plot two time-series AOs taking the square of the y-values of the
     first AO and the log of the x-values of the second AO.
 
    pl = plist('Arrangement', 'subplots', 'YMaths', 'y.^2', 'XMaths', {'', 'log(x)'});
    iplot(tsao1, tsao2, pl);
 
  4) Plot two frequency-series AOs on subplots with the same Y-scales and
     Y-ranges
 
    pl1 = plist('Yscales', {'All', 'lin'});
    pl2 = plist('arrangement', 'subplots', 'YRanges', {'All', [1e-6 100]});
    iplot(fsd1, fsd2, pl1, pl2)
 
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('iplot')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('iplot', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     22-12-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Time-series plot"/>
               <set name="Frequency-series plot"/>
               <set name="Y data plot"/>
               <set name="X-Y data plot"/>
               <set name="3D plot"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>COMPLEXPLOTTYPE</key>
                     <val>absdeg</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Sample</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Value</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>X-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Y-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>single</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none"/>
         <port number="0" terminal="" type="output"/>
      </block>
   </document>
   <document name="Test Downsample" parentDiag="" visible="true" windowHeight="624" windowState="maximized" windowWidth="718" windowX="0" windowY="0" zoomFactor="1.6105101">
      <block bounds="34 30 58 65" inputs="1" name="sw" outputs="1">
         <LTPDAalgorithm mcategory="Constructor" mclass="ao" mname="ao" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  AO analysis object class constructor.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: AO analysis object class constructor.
               Create an analysis object.
 
      Possible constructors:
 
        a = ao()            - creates an empty analysis object
        a = ao('a1.xml')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              analysis object from disk.
        a = ao('a1.mat')    - creates a new analysis object by loading the
                              2-column data set stored in the .MAT file.
        a = ao('file.txt')  - creates a new analysis object by loading the
        a = ao('file.dat')    data in 'file.txt'. The ascii file is assumed
                              to be an equally sampled two-column file of
                              time and amplitude. By default, the amplitude
                              units are taken to be Volts ('V') and the
                              time samples are assumed to be in seconds.
        a = ao('file',pl)   - creates a new analysis object by loading the
                              data in 'file'. The parameter list decide how the
                              analysis object is created. The valid key values
                              of the parameter list are:
                              'type'        'tsdata','fsdata','xydata'
                                             [default: 'tsdata']
                              'use_fs'       if this value is set, the
                                             x-axes is computed by the fs value.
                                             [default: empty array]
                              'columns'      [1 2 1 4]
                                             Each pair represented the x- and y-axes.
                                             (Each column pair creates an analysis object)
                                             Is the value 'use_fs' is used then
                                             represent each column the y-axes.
                                             (Each column creates an analysis object)
                                             [default: [1 2] ]
                              'comment_char' The comment character in the file
                                             [default: '']
                              'description'  To set the description in the analysis object
                              '...'          every property where exist a public
                                             set-function in the AO class e.g.
                                             setName, setT0, setYunits, ...
                              If the constructor creates multiple ao's it is
                              possible to give each data class its own e.g.
                              'name'. In this case the parameter list with the
                              key 'name' must have cell of the different values
                              as the name of the different data objects. e.g.
                              pl = plist('columns', [1 2 1 3],        ...
                                         'name',   {'name1' 'name2'}, ...
                                         'xunits', unit('s'),             ...
                                         'yunits', {unit('V') unit('Hz'}));
                              This parameter list creates two ao's with tsdata.
 
                              'Robust'  - set this to 'yes' to use (slow)
                                          robust data reading. Useful for
                                          complicated file formats.
                                          [default: 'yes']
 
        NOTE: Data files with comments at the end of the lines can only be
        read if there are no lines with only comments. In this case, do not
        specify a comment character. If you really want to load a file like
        this, specify the 'Robust' option; this will be very slow for large
        files.
 
        a = ao(data)        - creates an analysis object with a data
                              object. Data object can be one of tsdata,
                              fsdata, cdata, xydata, xyzdata.
        a = ao(data, hist)  - creates an analysis object with a data
                              object and a history object
        a = ao(specwin)     - creates an analysis object from a specwin
                              object
        a = ao(plist)       - creates an analysis object from the description
                              given in the parameter list
 
  Parameter sets for plist constructor (in order of priority):
 
  From XML File
  -------------
 
    Construct an AO by loading it from an XML file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.xml')
                 [default: empty string]
 
  From MAT File
  -------------
 
    Construct an AO by loading it from a MAT file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.mat')
                 [default: empty string]
 
  From ASCII File
  ---------------
 
    Construct an AO by loading it from an ASCII text file.
 
    'filename' - construct an AO from a filename.
                 Example: plist('filename', 'a1.txt')
                 [default: empty string]
 
    For additional parameters, see constructor ao(file, pl) above.
 
  From Function
  -------------
 
    Construct an AO from the description of any valid MATLAB function.
 
    'fcn'      - any valid MATLAB function.
                 Example: plist('fcn', 'randn(100,1)')
 
                 You can pass additional parameters to the fcn as extra
                 parameters in the parameter list:
                 plist('fcn', 'a*b', 'a', 2, 'b', 1:20);
 
                 ** Note: case is ignored in the function specification
                 such the following:
                   plist('fcn', 'a*A/b', 'a', 2, 'B', 1:20);
                 results in:
                   2*2*[1:20]
 
                 [default: 'randn(100,1)']
 
  From Values
  -----------
 
    Construct an AO from a set of values.
 
    'vals'     - a set of values.
                 Example: plist('vals', [1 2 3])
                 optional parameter: repeat 'N' times
                 Example: plist('vals', [1 2 3], 'N', 10)
 
                 [default: vals: [1], N: [1] ]
   OR
 
    To produce a tsdata AO
 
    'xvals'     - a set of x values.
    'yvals'     - a set of y values.
 
 
 
  From Time-series Function
  -------------------------
 
    Construct an AO from a function of time, t.
 
    'tsfcn'    - a function of time.
 
                 You can also specify optional parameters
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object [default: time(0)]
                 Example:
                 plist('fs', 10, 'nsecs', 10, ...
                 'tsfcn', 'sin(2*pi*1.4*t) + 0.1*randn(size(t))', ...
                 't0', time('1980-12-01 12:43:12'));
 
  From Frequency-series Function
  ------------------------------
 
    Construct an AO from a function of frequency, f.
 
    'fsfcn'    - a function of frequency, f.   [default: 'f']
 
                 You can also specify optional parameters:
                    'f1'    - the initial frequency  [default: 1e-9]
                    'f2'    - the final frequency    [default: 5]
                    'nf'    - the number of frequency samples [default: 1000]
                    'scale' - 'log' or 'lin' frequency spacing [default: 'log']
                 or provide a frequency vector:
                    'f' - a vector of frequencies on which to evaluate the
                          function [default: [] ]
 
  From Window
  -----------
 
    Construct an AO from a spectral window object.
 
    'win'      - A specwin object.
 
                 This creates a cdata type AO containing the window values.
                 Example: plist('win', specwin('Hannning', 100))
 
                 [default: specwin('Hanning', 100)]
 
  From Waveform
  -------------
 
    Construct an AO from a waveform description.
 
    'waveform' - a waveform description (see options below).
 
                 You can also specify additional parameters:
                 'fs'      - sampling frequency [default: 10 Hz]
                 'nsecs'   - length in seconds [default: 10 s]
                 't0'      - time-stamp of the first data sample [default time(0)]
 
                 and, for the following waveform types:
                 'sine wave'      - 'A', 'f', 'phi', 'nsecs', 'toff'
                                    (can be vectors for sum of sine waves)
                        'A'       - Amplitude of the wave
                        'f'       - Frequency of the wave
                        'phi'     - Phase of the eave
                        'nsecs'   - Number of seconds  (in seconds)
                        'toff'    - Offset of the wave (in seconds)
                 'noise'          - 'type' (can be 'Normal' or 'Uniform')
                                    'sigma' specify the standard deviation
                 'chirp'          - 'f0', 'f1', 't1'      (help chirp)
                 'Gaussian pulse' - 'f0', 'bw'            (help gauspuls)
                 'Square wave'    - 'f', 'duty'           (help square)
                 'Sawtooth'       - 'f', 'width'          (help sawtooth)
 
                 You can also specify the initial time (t0) associated with
                 the time-series by passing a parameter 't0' with a value
                 that is a time object.
 
                 [defaults: waveform: 'sine wave', A: 1, f: 1.23, phi: 0,
                            fs: 10, nsecs: 10, t0: time(0) ]
 
 
  From Repository
  ---------------
 
    Construct an AO by retrieving it from an LTPDA repository.
 
    'Hostname' - the repository hostname. Only those objects which
                 are AOs are returned.
                 [default: 'localhost'];
 
                 Additional parameters:
 
                 'Database'   - The database name [default: 'ltpda']
                 'ID'         - A vector of object IDs. [default: []]
                 'CID'        - Retrieve all AO objects from a particular
                                collection.
                 'Binary'     - Set to 'yes' to retrieve from stored binary
                                representation (not always available).
 
  From Polynomial
  ---------------
 
    Construct an AO from a set of polynomial coefficients.
 
    'polyval'  - a set of polynomial coefficients.
                 [default: [-0.0001 0.02 -1 -1] ]
 
                 Additional parameters:
                    'Nsecs' and 'fs'  - number of seconds, and sample rate
                                        [defaults: nsecs: 10, fs: 10]
                 or 't'               - vector of time vertices
                                        [default: [] ]
 
                 Example:  a = ao(plist('polyval', [1 2 3], 'Nsecs', 10, 'fs', 10));
 
 
  From Pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(plist('pzmodel', pzm, 'Nsecs', nsecs, 'Fs', fs))
  
  From Model
  ----------
  
  A collection of built-in models which construct data series and return
  them in AOs.
  
    'Model'  - give the model name. To get a list of models:
               ao(plist('Model', ''))
  
  Each model has additional parameters that need to be passed. To see the
  parameters:
     &gt;&gt; help ao.&lt;model_name&gt;
  
  for example, 
  
     &gt;&gt; help ao.mdc1_fd_dynamics
  
  From Plist
  ----------
 
    'Plist'    - construct from a plist. The value passed should be a plist
                 object.
                 [default: empty plist]
 
 
 
    Examples:
 
    1) Normally distributed random noise time-series
 
       p     = plist('waveform', 'noise', 'fs', 10, 'nsecs', 1000);
       rd10  = ao(p);
 
 
      Indexing:
        b = a(1)            % where a is an array of analysis objects
        d = a.data;         % get the data object
        h = a.hist;         % get the history object
        d = a.data.x(1:20); % get a matrix of data values x;
 
   2) Timeseries with a prescribed spectrum
        
        p = plist('pzmodel',pzm, 'fs',10, 'nsecs', 120, 'ndigits',50)
        a = ao(p) 
  
        fs      - sampling frequency
        nsecs   - number of seconds in time series
        ndigits - number of digits for symbolic math toolbox (default: 32)
  
 
  From pzmodel
  ------------
 
   Generates an ao with a timeseries with a prescribed spectrum.
   p = [pz(f1,q1) pz(f2,q2)]
   z = [pz(f3,q3)]
   pzm = pzmodel(gain, p, z)
   The constructor also needs: fs    - sampling frequency
                               nsecs - number of seconds to be generated
   a = ao(pzm, nsecs, fs)
 
  The following call returns an minfo object that contains information
  about the AO constructor:
 
  &gt;&gt; info = ao.getInfo
 
  You can get information about class methods by calling:
 
  &gt;&gt; info = ao.getInfo(method)
 
  e.g. info = ao.getInfo('psd')
 
  You can also restrict the sets of parameters contained in the minfo
  object by calling:
 
  &gt;&gt; info = ao.getInfo(method, set)
 
  e.g., info = ao.getInfo('ao', 'From Vals')
 
  See also tsdata, fsdata, xydata, cdata, xyzdata
 
  M Hewitson 30-01-07
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
               <set name="From XML File"/>
               <set name="From MAT File"/>
               <set name="From ASCII File"/>
               <set name="From Function"/>
               <set name="From Values"/>
               <set name="From Time-series Function"/>
               <set name="From Frequency-series Function"/>
               <set name="From Window"/>
               <set name="From Waveform"/>
               <set name="From Polynomial"/>
               <set name="From Repository"/>
               <set name="From Plist"/>
               <set name="From Pzmodel"/>
               <set name="From Model"/>
            </sets>
            <plists>
               <plist name="none"/>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FILENAME</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>TYPE</key>
                     <val>tsdata</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>COLUMNS</key>
                     <val>[1 2]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>COMMENT_CHAR</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>USE_FS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ROBUST</key>
                     <val>yes</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FCN</key>
                     <val>randn(100,1)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>VALS</key>
                     <val>0.1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>N</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>DTYPE</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YVALS</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>TSFCN</key>
                     <val>sin(2*pi*0.433*t)</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>100</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>FSFCN</key>
                     <val>f</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F1</key>
                     <val>1e-09</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F2</key>
                     <val>5</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NF</key>
                     <val>1000</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>SCALE</key>
                     <val>log</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' Hz ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WIN</key>
                     <val> specwin('Hanning', 100)</val>
                     <type>specwin</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>WAVEFORM</key>
                     <val>sine wave</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>A</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>F</key>
                     <val>1.23</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>PHI</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T0</key>
                     <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
                     <type>time</type>
                  </param>
                  <param>
                     <key>TOFF</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>POLYVAL</key>
                     <val>[-0.0001 0.02 -1 -1]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>10</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>T</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>HOSTNAME</key>
                     <val>localhost</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>DATABASE</key>
                     <val>ltpda</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ID</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>BINARY</key>
                     <val>no</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PLIST</key>
                     <val>(empty-plist)</val>
                     <type>plist</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>PZMODEL</key>
                     <val>pzmodel(none)</val>
                     <type>pzmodel</type>
                  </param>
                  <param>
                     <key>NSECS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>FS</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XUNITS</key>
                     <val>[ unit(' s ') ]</val>
                     <type>unit</type>
                  </param>
                  <param>
                     <key>YUNITS</key>
                     <val>[ unit('  ') ]</val>
                     <type>unit</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>MODEL</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>TSFCN</key>
               <val>sin(2*pi*0.433*t)</val>
               <type>char</type>
            </param>
            <param>
               <key>FS</key>
               <val>10</val>
               <type>double</type>
            </param>
            <param>
               <key>NSECS</key>
               <val>100</val>
               <type>double</type>
            </param>
            <param>
               <key>T0</key>
               <val>time([plist('TIMEFORMAT', 'yyyy-mm-dd HH:MM:SS.FFF', 'TIMEZONE', 'UTC', 'UTC_EPOCH_MILLI', 0)]) </val>
               <type>time</type>
            </param>
            <param>
               <key>XUNITS</key>
               <val>[ unit(' s ') ]</val>
               <type>unit</type>
            </param>
            <param>
               <key>YUNITS</key>
               <val>[ unit('  ') ]</val>
               <type>unit</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block" dstport="0" srcblock="sw" thickness="2.5"/>
               <pipe color="-3657166" dstblock="New Block_1" dstport="0" srcblock="sw" thickness="2.5"/>
               <pipe color="-3657166" dstblock="New Block_1_1" dstport="3" srcblock="sw" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="196 17 95 48" inputs="1" name="New Block" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="downsample" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  DOWNSAMPLE AOs containing time-series data.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: DOWNSAMPLE AOs containing time-series data.
 
  CALL:        b = downsample(a, pl)      - use plist to get parameters
               b = downsample(a1, a2, pl) - downsample both a1 and a2; b is then a 2x1
                                    vector.
 
  PARAMETERS: 'factor'  - decimation factor [default: 1]
              'offset'  - sample offset for decimation [default: 0]
 
  EXAMPLES:   1) downsample x4; offset is set to default of 0
 
                 &gt;&gt; p = plist('factor',4);
                 &gt;&gt; b = downsample(a, p);
 
              2) downsample x2 with 1 sample offset
 
                 &gt;&gt; p = plist('factor',2,'offset',1);
                 &gt;&gt; b = downsample(a,p);
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('downsample')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('downsample', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     14-05-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>FACTOR</key>
                     <val>2</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>OFFSET</key>
                     <val>0</val>
                     <type>double</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>FACTOR</key>
               <val>2</val>
               <type>double</type>
            </param>
            <param>
               <key>OFFSET</key>
               <val>0</val>
               <type>double</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block_1_1" dstport="0" srcblock="New Block" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="124 125 58 63" inputs="1" name="New Block_1" outputs="1">
         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="downsample" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  DOWNSAMPLE AOs containing time-series data.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: DOWNSAMPLE AOs containing time-series data.
 
  CALL:        b = downsample(a, pl)      - use plist to get parameters
               b = downsample(a1, a2, pl) - downsample both a1 and a2; b is then a 2x1
                                    vector.
 
  PARAMETERS: 'factor'  - decimation factor [default: 1]
              'offset'  - sample offset for decimation [default: 0]
 
  EXAMPLES:   1) downsample x4; offset is set to default of 0
 
                 &gt;&gt; p = plist('factor',4);
                 &gt;&gt; b = downsample(a, p);
 
              2) downsample x2 with 1 sample offset
 
                 &gt;&gt; p = plist('factor',2,'offset',1);
                 &gt;&gt; b = downsample(a,p);
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('downsample')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('downsample', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     14-05-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Default"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>FACTOR</key>
                     <val>2</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>OFFSET</key>
                     <val>1</val>
                     <type>double</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>FACTOR</key>
               <val>2</val>
               <type>double</type>
            </param>
            <param>
               <key>OFFSET</key>
               <val>1</val>
               <type>double</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output">
            <node>
               <pipe color="-3657166" dstblock="New Block_1_1" dstport="1" srcblock="New Block_1" thickness="2.5"/>
            </node>
         </port>
      </block>
      <block bounds="271 147 52 71" inputs="4" name="New Block_1_1" outputs="1">
         <LTPDAalgorithm mcategory="Output" mclass="ao" mname="iplot" mpackage="" mversion="" portdims="1 10 1 10">
            <HelpText>  IPLOT provides an intelligent plotting tool for LTPDA.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
  DESCRIPTION: IPLOT provides an intelligent plotting tool for LTPDA.
 
  CALL:               hfig = iplot (a,pl)
               [hfig, hax] = iplot (a,pl)
          [hfig, hax, hli] = iplot (a,pl)
 
  INPUTS:      pl   - a parameter list
               a    - input analysis object
 
  OUTPUTS:     hfig - handles to figures
               hax  - handles to axes
               hli  - handles to lines
 
 
  Plot parameters:
 
              'Arrangement' - select the plot layout:
                            'single'   - plots all AOs on individual figures
                            'stacked'  - plots all AOs on the same axes [default]
                            'subplots' - plots all AOs on subplots
 
              'Function'    - specify the plot function:
                              'plot', 'stairs', 'stem'
                              [default: 'plot']
                              *** doesn't work for xyzdata AOs
 
  Line parameters:
 
         The following properties take cell array values. If the length of
         the cell array is shorter than the number of lines to plot, the
         remaining lines will be plotted with the default options. If the
         cell array is of length 2 and the first cell contains the string
         'all', then the second cell is used to set the propery of all
         lines.
 
              'LineColors' - a cell array of color definitions for each line.
 
              'LineStyles' - a cell array of line styles.
 
              'Markers'    - a cell array of markers.
 
              'LineWidths' - a cell array of line widths. If the length of the
                             cell array is shorter than the number of lines to
                             plot, the remaining lines will be plotted with
                             the default line width.
 
  Axes parameters:
 
              'Legends' - specify a cell array of strings to be used for
                          the plot legends. If a cell contains an empty
                          string, the default legend string is built.
                          If a single string 'off' is given instead of a
                          cell array, then the legends are all switched
                          off.
 
              'XLabels' - Specify the labels to be used on the x-axes. The
                          units are added from the data object 'xunits'
                          property.
 
              'YLabels' - Specify the labels to be used on the y-axes. The
                          units are added from the data object 'yunits'
                          property. If the object contains complex data,
                          you should specify two y-labels for that object.
 
     The following axis properties also work with the 'all' keyword as
     described above in the line properties section.
 
              'XScales' - Specify the scales to be used on the x-axes.
 
              'YScales' - Specify the scales to the used on the y-axes. If
                          an object contains complex data, you should
                          specify two y-labels for that object.
 
              'XRanges' - Specify the ranges to be displayed on the x-axes.
 
              'YRanges' - Specify the ranges to the displayed on the
                          y-axes.
 
  Error parameters: If you give more than one input AO then you must
                    specify the following parameter values in a cell-array,
                    one cell for each input AO. Leave the cell empty to
                    plot no errors. Each error can be a value or a vector
                    the same length as the data vector. If you give and
                    upper limit but not lower limit, then the errors are
                    assumed to be symmetric (and vice versa)
 
                   'XerrL' - lower bound error values for the X data points.
                   'XerrU' - upper bound error values for the X data points.
                   'YerrL' - lower bound error values for the Y data points.
                   'YerrU' - upper bound error values for the Y data points.
  
  Math operations: You can specify rudimentary math operations to be
                   performed on the X and Y data prior to plotting. The
                   'all' keyword is also supported by these parameters.
  
                   'Xmaths'  - specify math operations to perform on the
                               data vector 'x'. For example,
                               plist('Xmaths', 'abs(x)').
  
                   'Ymaths'  - specify math operations to perform on the
                               data vector 'y'. For example,
                               plist('Ymaths', 'sqrt(y)').
  
  Time-series parameters: in addition to the general options, time-series
                          objects have the following additional parameters.
  
               'Xunits'  - specify the units on the x-axis as 
                           'us'        - microseconds
                           'ms'        - milliseconds
                           's'         - seconds [default]
                           'm'         - minutes
                           'h'         - hours
                           'D'         - days
                           'M'         - months
                           'HH:MM:SS'  - using a date/time format
                                             recognized by datetic (help datetic)
  
  
  Frequency-series parameters: 
  
                'complexPlotType' - specify how to plot complex data.
                                    Choose from:
                                     - 'realimag'
                                     - 'absdeg'
                                     - 'absrad'
  
  EXAMPLES:
 
  1) Plot two time-series AOs with different colors, line styles, and widths
 
    pl = plist('Linecolors', {'g', 'k'}, 'LineStyles', {'', '--'}, 'LineWidths', {1, 4});
    iplot(tsao1, tsao2, pl);
 
  2) Plot two time-series AOs in subplots. Also override the second legend
     text and the first line style.
 
    pl = plist('Arrangement', 'subplots', 'LineStyles', {'--'}, 'Legends', {'', 'My Sine Wave'});
    iplot(tsao1, tsao2, pl);
 
  3) Plot two time-series AOs taking the square of the y-values of the
     first AO and the log of the x-values of the second AO.
 
    pl = plist('Arrangement', 'subplots', 'YMaths', 'y.^2', 'XMaths', {'', 'log(x)'});
    iplot(tsao1, tsao2, pl);
 
  4) Plot two frequency-series AOs on subplots with the same Y-scales and
     Y-ranges
 
    pl1 = plist('Yscales', {'All', 'lin'});
    pl2 = plist('arrangement', 'subplots', 'YRanges', {'All', [1e-6 100]});
    iplot(fsd1, fsd2, pl1, pl2)
 
 
  M-FILE INFO: Get information about this methods by calling
               &gt;&gt; ao.getInfo('iplot')
 
               Get information about a specified set-plist by calling:
               &gt;&gt; ao.getInfo('iplot', 'None')
 
  VERSION:     $Id: example_1.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
 
  HISTORY:     22-12-07 M Hewitson
                  Creation
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
</HelpText>
            <sets>
               <set name="Time-series plot"/>
               <set name="Frequency-series plot"/>
               <set name="Y data plot"/>
               <set name="X-Y data plot"/>
               <set name="3D plot"/>
            </sets>
            <plists>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>COMPLEXPLOTTYPE</key>
                     <val>absdeg</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Sample</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Value</val>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>stacked</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>FUNCTION</key>
                     <val>plot</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>LEGENDLOCATION</key>
                     <val>NorthEast</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRU</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>YERRL</key>
                     <val>[]</val>
                     <type>double</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>X-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Y-data</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
               <plist name="none">
                  <param>
                     <key>COLORS</key>
                     <val>{[0.80000000000000004 0.20000000000000001 0.20000000000000001],[0.20000000000000001 0.20000000000000001 0.80000000000000004],[0.20000000000000001 0.90000000000000002 0.20000000000000001],[0.37 0.90000000000000002 0.82999999999999996],[0.88800000000000001 0.16300000000000001 0.90000000000000002],[0 0 0],[0 0.81176470588235294 1],[1 0.50196078431372548 0],[0.5607843137254902 0 0],[1 0.81176470588235294 0],[0.90000000000000002 0.26600000000000001 0.59299999999999997]}</val>
                     <type>cell</type>
                  </param>
                  <param>
                     <key>ARRANGEMENT</key>
                     <val>single</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XLABEL</key>
                     <val>Time</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YLABEL</key>
                     <val>Frequency</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZLABEL</key>
                     <val>Amplitude</val>
                     <type>char</type>
                  </param>
                  <param>
                     <key>YMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>ZMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
                  <param>
                     <key>XMATHS</key>
                     <val/>
                     <type>char</type>
                  </param>
               </plist>
            </plists>
         </LTPDAalgorithm>
         <plist name="none">
            <param>
               <key>Markers</key>
               <val>{'x', 'o', 's'}</val>
               <type>Char</type>
            </param>
         </plist>
         <port number="0" terminal="" type="output"/>
      </block>
   </document>
</LTPDAworkbench>