diff m-toolbox/test/MPipeline/example_1.lwb @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/test/MPipeline/example_1.lwb	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,11279 @@
+<?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>
\ No newline at end of file