Mercurial > hg > ltpda
view 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 source
<?xml version="1.0" encoding="utf-8"?> <LTPDAworkbench filepath="/Users/hewitson/working/ltp/ltpda/software/m-toolbox/test/MPipeline/example_1.lwb" name="example_1.lwb"> <document name="example 1" parentDiag="" visible="true" windowHeight="624" windowState="maximized" windowWidth="718" windowX="0" windowY="0" zoomFactor="1.9487172"> <block bounds="3 31 60 64" inputs="1" name="ao plist" outputs="1"> <LTPDAalgorithm mcategory="Constructor" mclass="plist" mname="plist" mpackage="" mversion="" portdims="1 10 1 10"> <HelpText> PLIST Plist class object constructor. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: PLIST Parameter-List Object class object constructor. Create a plist object. SUPER CLASSES: ltpda_uo < 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: >> info = plist.getInfo or >> info = plist.getInfo('plist') You can get information about class methods by calling: >> info = plist.getInfo(method) e.g. >> info = plist.getInfo('eq') You can also restrict the sets of parameters contained in the minfo object by calling: >> info = plist.getInfo(method, set) e.g. >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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 < 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: >> info = plist.getInfo or >> info = plist.getInfo('plist') You can get information about class methods by calling: >> info = plist.getInfo(method) e.g. >> info = plist.getInfo('eq') You can also restrict the sets of parameters contained in the minfo object by calling: >> info = plist.getInfo(method, set) e.g. >> 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 >> ao.getInfo('lpsd') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('lpsd') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('lpsd') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('lpsd') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('plus') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('times') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('times') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('iplot') Get information about a specified set-plist by calling: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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 < ltpda_uoh < ltpda_uo < 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. >> pl = plist('type', 'highpass', ... 'order', 1, ... 'gain', 2.0, ... 'fs', 10, ... 'fc', 0.2); >> 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: >> info = miir.getInfo or >> info = miir.getInfo('miir') You can get information about class methods by calling: >> info = miir.getInfo(method) e.g. >> info = miir.getInfo('eq') You can also restrict the sets of parameters contained in the minfo object by calling: >> info = miir.getInfo(method, set) e.g. >> 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: >> [b, filt] = filter(a,pl) >> [b, filt] = filter(a,filt,pl) >> 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 >> ao.getInfo('filter') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('plus') Get information about a specified set-plist by calling: >> 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 (>> 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 >> ao.getInfo('cohere') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('iplot') Get information about a specified set-plist by calling: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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 >> ao.getInfo('times') Get information about a specified set-plist by calling: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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 >> ao.getInfo('plus') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('curvefit') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('iplot') Get information about a specified set-plist by calling: >> 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: >> help ao.<model_name> for example, >> 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: >> info = ao.getInfo You can get information about class methods by calling: >> 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: >> 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 >> p = plist('factor',4); >> b = downsample(a, p); 2) downsample x2 with 1 sample offset >> p = plist('factor',2,'offset',1); >> b = downsample(a,p); M-FILE INFO: Get information about this methods by calling >> ao.getInfo('downsample') Get information about a specified set-plist by calling: >> 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 >> p = plist('factor',4); >> b = downsample(a, p); 2) downsample x2 with 1 sample offset >> p = plist('factor',2,'offset',1); >> b = downsample(a,p); M-FILE INFO: Get information about this methods by calling >> ao.getInfo('downsample') Get information about a specified set-plist by calling: >> 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 >> ao.getInfo('iplot') Get information about a specified set-plist by calling: >> 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>