diff m-toolbox/test/MPipeline/ssmtest.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/ssmtest.lwb	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,1840 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LTPDAworkbench filepath="/Users/hewitson/working/ltp/ltpda/software/m-toolbox/test/MPipeline/ssmtest.lwb" name="ssmtest.lwb*">
+   <document name="SSM pipeline">
+      <block bounds="0 0 110 100" inputs="1" name="DFACS" outputs="1">
+         <LTPDAalgorithm mcategory="Constructor" mclass="ssm" mname="ssm" mpackage="" mversion="" portdims="1 10 1 10">
+            <HelpText>  SSM statespace model class constructor.
+ 
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 
+  DESCRIPTION: SSM statespace model class constructor.
+ 
+  ** This class is written using the new OO structures of MATLAB R2008a and
+  will not work with earlier MATLAB versions.
+ 
+      Public properties (read-only):
+ 
+      Public properties (read/write):
+        name       - name of analysis object
+ 
+      Possible constructors:
+ 
+        s = ssm()            - creates an empty statespace model
+        s = ssm('a1.xml')    - creates a new statespace model by loading the
+                               object from disk.
+        s = ssm('a1.mat')    - creates a new statespace model by loading the
+                               object from disk.
+        a = ssm(plist)       - creates a statespace model from the description
+                               given in the parameter list
+        a = ssm(struct)      - creates a statespace model from the
+                               structure returned by struct(ssm).
+ 
+  Parameter sets for plist constructor (in order of priority):
+ 
+  From XML File
+  -------------
+    Construct a statespace model by loading it from an XML file.
+ 
+    'filename' - construct a statespace model from a filename.
+                 Example: plist('filename', 'ss1.xml')
+                 [default: empty string]
+ 
+  From MAT File
+  -------------
+    Construct a statespace model by loading it from a MAT file.
+ 
+    'filename' - construct a statespace model from a filename.
+                 Example: plist('filename', 'ss1.mat')
+                 [default: empty string]
+ 
+  From Built-in System
+  ----------------
+    Construct a statespace model by specifying one of the built-in system
+    names. Built-in models are stored in directories specified by
+    SSM_MODELS in ltpda_startup. You can list multiple directories. A
+    built-in model m-file must follow the naming convention ssm_model_*.m.
+ 
+    'Buit-in' - A system name.
+                Example: plist('filename', 'model_LPF_Dynamics_noparams')
+                Example: plist('Built-in', ' ')
+                will show the names of all the existing systems
+ 
+    'dim'     - Optional parameter to reduce the model to 1, 3, or 6
+                dimension. [Default: empty [] - return full model]
+  
+  From Repository
+  ---------------
+    Construct a statespace model by retrieving it from an LTPDA repository.
+ 
+    'Hostname' - the repository hostname. Only those objects which
+                 are statespace models are returned.
+                 [default: 'localhost'];
+ 
+                 Additional parameters:
+ 
+                 'Database'   - The database name [default: 'ltpda']
+                 'ID'         - A vector of object IDs. [default: []]
+                 'CID'        - Retrieve all SSM objects from a particular
+                                collection.
+ 
+  From a Miir
+  ---------------
+    Construct a statespace model out of a MIIR object.
+ 
+      example :  sys = ssm(themiir);
+ 
+  From PZ model
+  ---------------
+    Construct a statespace model by retrieving it from an LTPDA repository.
+ 
+      example :  sys=ssm(thepzmodel);
+ 
+ 
+  From Description
+  ----------------
+  Construct a statespace model from a full description of the system.
+ 
+      'isADescription' &gt;&gt; special filed to tell the constructor which set to use
+ 
+      compulsory fields:
+                'name','ssnames', 'outputnames', 'inputnames', 'timestep', 'amats', ...
+                'bmats', 'cmats', 'dmats', 'paramnames', 'paramvalues'
+ 
+      optionnals fields :
+                 'mmats' 'amats_handles' 'bmats_handles' 'cmats_handles' 'dmats_handles'...
+                 'inputvarnames'  'ssvarnames' 'outputvarnames'  'paramsigmas'
+ 
+      example :
+                  name = 'sys';
+                  ssnames = {'ss1' 'ss2' 'ss3'};
+                  ssvarnames = {{'ssvar1'} {'ssvar2'} {'ssvar31' 'ssvar32'}};
+                  inputnames = {'input1' 'input2' 'input3'};
+                  inputvarnames = {{'inputvar1'} {'inputvar2'} {'inputvar31' 'inputvar32'}};
+                  outputnames = {'output1' 'output2' 'output3'};
+                  outputvarnames = {{'outputvar1'} {'outputvar2'} {'outputvar31' 'outputvar32'}};
+                  timestep = 0;
+                  paramnames = {};
+                  paramvalues = [];
+                  amats = cell(3,3);
+                  bmats = cell(3,3);
+                  cmats = cell(3,3);
+                  dmats = cell(3,3);
+                  amats{1,1} = -1;
+                  amats{2,2} = -2;
+                  amats{3,3} = -3*eye(2);
+                  amats{3,1} = [-1;-3];
+                  bmats{1,1} = 1;
+                  bmats{2,2} = 2;
+                  bmats{3,3} = 3*eye(2);
+                  cmats{1,1} = 1;
+                  cmats{2,2} = 1;
+                  cmats{3,3} = eye(2);
+                  dmats{1,3} = [6 6];
+                  dmats{2,1} = 6;
+                  dmats{3,2} = [6;6];
+                  sys = ssm(plist('isADescription', '' ,'name', name , ...
+                    'timestep', timestep  ,    'paramnames', paramnames ,'paramvalues', paramvalues ,...
+                    'inputnames', inputnames , 'outputnames',outputnames  ,'ssnames', ssnames,...
+                    'inputvarnames', inputvarnames , 'outputvarnames',outputvarnames  ,'ssvarnames', ssvarnames,...
+                    'amats', amats ,'bmats', bmats ,'cmats', cmats ,'dmats', dmats ));
+ 
+ 
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+</HelpText>
+            <sets>
+               <set name="Default"/>
+               <set name="From XML File"/>
+               <set name="From MAT File"/>
+               <set name="From Built-in Model"/>
+               <set name="From Description"/>
+               <set name="From Plist"/>
+               <set name="From Repository"/>
+               <set name="From Pzmodel"/>
+               <set name="From Miir"/>
+            </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>BUILT-IN</key>
+                     <val/>
+                     <type>char</type>
+                  </param>
+                  <param>
+                     <key>DIM</key>
+                     <val>3</val>
+                     <type>double</type>
+                  </param>
+                  <param>
+                     <key>WITHPARAMS</key>
+                     <val>true</val>
+                     <type>logical</type>
+                  </param>
+               </plist>
+               <plist name="none"/>
+               <plist name="none">
+                  <param>
+                     <key>PLIST</key>
+                     <val>(empty-plist)</val>
+                     <type>plist</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>
+               </plist>
+               <plist name="none">
+                  <param>
+                     <key>PZMODEL</key>
+                     <val>pzmodel(none)</val>
+                     <type>pzmodel</type>
+                  </param>
+               </plist>
+               <plist name="none">
+                  <param>
+                     <key>MIIR</key>
+                     <val>none(fs=, ntaps=0.00, a=[], b=[])</val>
+                     <type>miir</type>
+                  </param>
+               </plist>
+            </plists>
+         </LTPDAalgorithm>
+         <plist name="none">
+            <param>
+               <key>BUILT-IN</key>
+               <val>DFACS_5_Science_Mode_1_All_Optical_Readouts</val>
+               <type>char</type>
+            </param>
+            <param>
+               <key>DIM</key>
+               <val>1</val>
+               <type>double</type>
+            </param>
+            <param>
+               <key>WITHPARAMS</key>
+               <val>true</val>
+               <type>logical</type>
+            </param>
+         </plist>
+         <port number="0" type="output">
+            <node>
+               <pipe dstblock="set DFACS name" dstport="0" srcblock="DFACS"/>
+            </node>
+         </port>
+      </block>
+      <block bounds="150 0 110 100" inputs="1" name="set DFACS name" outputs="1">
+         <LTPDAalgorithm mcategory="Helper" mclass="ltpda_uoh" mname="setName" mpackage="" mversion="" portdims="1 10 1 10">
+            <HelpText>  SETNAME Set the property 'name'.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 
+  DESCRIPTION: Set the property 'name'.
+ 
+  CALL:        obj = obj.setName('new name');
+               obj = obj.setName(plist('name', 'new name'));
+               obj = setName(obj, 'new name');
+               obj = setName();
+ 
+  EXAMPLE:     obj.setName -&gt; Sets the name to the variable name.
+                              In this case to 'obj'
+ 
+  INPUTS:      obj - can be a vector, matrix, list, or a mix of them.
+               pl  - to set the name with a plist specify only one plist with
+                     only one key-word 'name'.
+ 
+  M-FILE INFO: Get information about this methods by calling
+               &gt;&gt; ao.getInfo('setName')
+ 
+               Get information about a specified set-plist by calling:
+               &gt;&gt; ao.getInfo('setName', 'set')
+ 
+  VERSION:     $Id: ssmtest.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
+ 
+  HISTORY:     27-05-2008 Diepholz
+                  Creation
+ 
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+</HelpText>
+            <sets>
+               <set name="Default"/>
+            </sets>
+            <plists>
+               <plist name="none">
+                  <param>
+                     <key>NAME</key>
+                     <val/>
+                     <type>char</type>
+                  </param>
+               </plist>
+            </plists>
+         </LTPDAalgorithm>
+         <plist name="none">
+            <param>
+               <key>NAME</key>
+               <val/>
+               <type>char</type>
+            </param>
+         </plist>
+         <port number="0" type="output">
+            <node>
+               <pipe dstblock="simulate DFACS" dstport="0" srcblock="set DFACS name"/>
+            </node>
+         </port>
+      </block>
+      <block bounds="250 100 110 100" inputs="2" name="simulate DFACS" outputs="1">
+         <LTPDAalgorithm mcategory="Statespace" mclass="ssm" mname="simulate" mpackage="" mversion="" portdims="1 10 1 10">
+            <HelpText> simulate simulates a discrete ssm with given inputs
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 
+  DESCRIPTION: %simulate simulates a discrete ssm with given inputs
+ 
+  CALL: [ao_out pl_out] = simulate(sys, plist_inputs)
+ 
+  INPUTS:
+          - sys, (array of) ssm object
+          - plist_inputs contains 10 fields :
+             - 2 noise fields
+                - 'noise variable names' with a cell vector of strings of
+                the desired input variable names
+                - 'covariance' which gives the covariance of this noise between
+                the different corresponding inputs given for the *TIME
+                CONTINUOUS* noise model
+             - 2 fields for input aos :
+                - 'aos variable names' with a cell vector of strings of
+                the desired input variable names
+                - 'aos' which gives the aos for the different
+                corresponding inputs
+             - 2 fields to plug in constants :
+                - 'constant variable names' with a cell vector of strings of
+                the desired input variable names
+                - 'constants' which gives the DC value for the different
+                corresponding inputs
+             - 2 arrays telling which blocks should be stored and returned
+                - 'return states' : for blocks of the state space (ex [8])
+                - 'return outputs' : for blocks of the output (ex [1 5])
+             - 1 field 'Nsamples' telling max number of samples to use
+                 (it is smaller if aos are shorter than Nsamples)
+             - 1 field 'ssini' is a cell array of vectors that give the
+                initial position for simulation. 0 is the default.
+             - 1 field 'tini' for the initial time, a time object or a number 
+                (in millisec).
+             - 1 field 'displayTime' (0/1) to switch off/on the display.
+                0 (Off) is the default value
+ 
+  OUTPUTS: 
+           _ pl_out contains 'lastX', the last state position
+  
+     ***     the plist CANNOT be arrays anymore.    ***
+     Because of the very large number of output it is not desirable to have
+     more than 1 simulation per function run.
+  
+  
+  M-FILE INFO: Get information about this methods by calling
+               &gt;&gt; ssm.getInfo('simulate')
+ 
+               Get information about a specified set-plist by calling:
+               &gt;&gt; ssm.getInfo('simulate', 'Default')
+ 
+  ***** THERE ARE NO DEFAULT PARAMETERS *****
+ 
+  VERSION: $Id: ssmtest.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
+ 
+  HISTORY:
+  04-08-2008 A Grynagier : new multiple state spaces, independant variables
+  in aos...
+  12-06-2008 M Weyrich : change for multiple outputs, bug fixes
+  17-04-2008 A Grynagier
+  19-02-2008 A Grynagier
+  17-02-2008 A Grynagier
+  Creation 30-01-2008 M Weyrich
+ 
+  TO DO: Check input aos for the timestep, tsdata, and ssm.timestep
+  options to be defined (NL case)
+  add check if one input mach no ssm input variable
+  allow use of other LTPDA functions to generate white noise
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+</HelpText>
+            <sets>
+               <set name="Default"/>
+            </sets>
+            <plists>
+               <plist name="none">
+                  <param>
+                     <key>NOISE VARIABLE NAMES</key>
+                     <val>cell(0,0)</val>
+                     <type>cell</type>
+                  </param>
+                  <param>
+                     <key>COVARIANCE</key>
+                     <val>[]</val>
+                     <type>double</type>
+                  </param>
+                  <param>
+                     <key>AOS VARIABLE NAMES</key>
+                     <val>cell(0,0)</val>
+                     <type>cell</type>
+                  </param>
+                  <param>
+                     <key>AOS</key>
+                     <val>[]</val>
+                     <type>double</type>
+                  </param>
+                  <param>
+                     <key>CONSTANT VARIABLE NAMES</key>
+                     <val>cell(0,0)</val>
+                     <type>cell</type>
+                  </param>
+                  <param>
+                     <key>CONSTANT</key>
+                     <val>[]</val>
+                     <type>double</type>
+                  </param>
+                  <param>
+                     <key>RETURN STATES</key>
+                     <val>NONE</val>
+                     <type>char</type>
+                  </param>
+                  <param>
+                     <key>RETURN OUTPUTS</key>
+                     <val>ALL</val>
+                     <type>char</type>
+                  </param>
+                  <param>
+                     <key>NSAMPLES</key>
+                     <val>Inf</val>
+                     <type>double</type>
+                  </param>
+                  <param>
+                     <key>SSINI</key>
+                     <val>cell(0,0)</val>
+                     <type>cell</type>
+                  </param>
+                  <param>
+                     <key>TINI</key>
+                     <val>0</val>
+                     <type>double</type>
+                  </param>
+                  <param>
+                     <key>DISPLAYTIME</key>
+                     <val>0</val>
+                     <type>double</type>
+                  </param>
+               </plist>
+            </plists>
+         </LTPDAalgorithm>
+         <plist name="none">
+            <param>
+               <key>AOS VARIABLE NAMES</key>
+               <val>{'rx1_H1_Ifo_delayed'}</val>
+               <type>cell</type>
+            </param>
+            <param>
+               <key>AOS</key>
+               <val>PORT_1</val>
+               <type>char</type>
+            </param>
+            <param>
+               <key>RETURN OUTPUTS</key>
+               <val>{'fx_mps_c'}</val>
+               <type>cell</type>
+            </param>
+         </plist>
+         <port number="0" type="output">
+            <node>
+               <pipe dstblock="tf" dstport="0" srcblock="simulate DFACS"/>
+            </node>
+         </port>
+      </block>
+      <block bounds="0 200 110 100" inputs="1" name="noise AO" 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('pwelch')
+ 
+  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(' V ') ]</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(' V ') ]</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(' V ') ]</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(' V ') ]</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(' I ') ]</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(' V ') ]</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(' V ') ]</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(' V ') ]</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>1e-3*randn(size(t))</val>
+               <type>char</type>
+            </param>
+            <param>
+               <key>FS</key>
+               <val>10</val>
+               <type>double</type>
+            </param>
+            <param>
+               <key>NSECS</key>
+               <val>1000</val>
+               <type>double</type>
+            </param>
+         </plist>
+         <port number="0" type="output">
+            <node>
+               <pipe dstblock="simulate DFACS" dstport="1" srcblock="noise AO"/>
+               <pipe dstblock="tf" dstport="1" srcblock="noise AO"/>
+            </node>
+         </port>
+      </block>
+      <block bounds="400 100 110 100" inputs="2" name="tf" outputs="1">
+         <LTPDAalgorithm mcategory="Signal Processing" mclass="ao" mname="ltfe" mpackage="" mversion="" portdims="1 10 1 10">
+            <HelpText>  LTFE implement transfer-function estimation computed on a log frequency axis.
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ 
+  DESCRIPTION: LTFE implement transfer-function estimation computed on a
+               log frequency axis.
+ 
+  CALL:        tfs = ltfe(as)
+               tfs = ltfe(as, pl)
+ 
+  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/4]
+               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 ltpda_dft
+              algorithm. [default: Kaiser with -200dB PSLL]
+               Olap  - desired overlap [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
+ 
+  M-FILE INFO: Get information about this methods by calling
+               &gt;&gt; ao.getInfo('ltfe')
+ 
+               Get information about a specified set-plist by calling:
+               &gt;&gt; ao.getInfo('ltfe', 'None')
+ 
+  VERSION:     $Id: ssmtest.lwb,v 1.1 2009/01/13 12:39:16 hewitson Exp $
+ 
+  HISTORY:     02-02-2007 M Hewitson
+                  Created
+ 
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+</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>
+               </plist>
+            </plists>
+         </LTPDAalgorithm>
+         <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>
+         </plist>
+         <port number="0" type="output">
+            <node>
+               <pipe dstblock="view" dstport="0" srcblock="tf"/>
+            </node>
+         </port>
+      </block>
+      <block bounds="500 100 110 100" inputs="1" name="view" 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: ssmtest.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>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>
+         <port number="0" type="output"/>
+      </block>
+   </document>
+</LTPDAworkbench>
\ No newline at end of file