Mercurial > hg > ltpda
diff m-toolbox/test/MPipeline/example_1.lwb @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/test/MPipeline/example_1.lwb Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,11279 @@ +<?xml version="1.0" encoding="utf-8"?> +<LTPDAworkbench filepath="/Users/hewitson/working/ltp/ltpda/software/m-toolbox/test/MPipeline/example_1.lwb" name="example_1.lwb"> + <document name="example 1" parentDiag="" visible="true" windowHeight="624" windowState="maximized" windowWidth="718" windowX="0" windowY="0" zoomFactor="1.9487172"> + <block bounds="3 31 60 64" inputs="1" name="ao plist" outputs="1"> + <LTPDAalgorithm mcategory="Constructor" mclass="plist" mname="plist" mpackage="" mversion="" portdims="1 10 1 10"> + <HelpText> PLIST Plist class object constructor. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + DESCRIPTION: PLIST Parameter-List Object class object constructor. + Create a plist object. + + SUPER CLASSES: ltpda_uo < 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> \ No newline at end of file