view m-toolbox/html_help/help/ug/ng2D_content.html @ 31:a26669b59d7e
database-connection-manager
Update LTPDAworkbench
author
Daniele Nicolodi <nicolodi@science.unitn.it>
date
Mon, 05 Dec 2011 16:20:06 +0100 (2011-12-05)
parents
f0afece42f48
children
line source
+ −
+ −
+ − <p>
+ − <ul>
+ − <li><a href="#description">Description</a></li>
+ − <li><a href="#call">Call</a></li>
+ − <li><a href="#inputs">Inputs</a></li>
+ − <li><a href="#outputs">Outputs</a></li>
+ − <li><a href="#algorithm">Algorithm</a></li>
+ − <li><a href="#parameters">Parameters</a></li>
+ − </ul>
+ − </p>
+ −
+ − <h2><a name="description">Description</a></h2>
+ −
+ − <p>
+ − noisegen2D generates colored noise from withe noise with a
+ − given cross spectrum. The coloring filter is constructed by a fitting procedure to the
+ − models provided. If no model is provided an error is
+ − prompted. The cross-spectral matrix is assumed to be
+ − frequency by frequency of the type:
+ − </p>
+ − <div class="fragment"><pre>
+ −
+ − / csd11(f) csd12(f) \
+ − CSD(f) = | |
+ − \ csd21(f) csd22(f) /
+ −
+ − </pre></div>
+ − <p>
+ − Note: The function output colored noise data with one-sided
+ − cross spectral density corresponding to the model provided.
+ − </p>
+ −
+ − <h2><a name="call">Call</a></h2>
+ − <div class="fragment">
+ − <pre>
+ − b = noisegen2D(a, pl)
+ − [b1,b2] = noisegen2D(a1, a2, pl)
+ − [b1,b2,...,bn] = noisegen2D(a1,a2,...,an, pl);
+ − </pre>
+ − </div>
+ − <p>
+ − <ul>
+ − <li> Note1: input AOs must come in couples.
+ − <li> Note2: this method cannot be used as a modifier, the
+ − call <tt> a.noisegen2D(pl) </tt> is forbidden.
+ − </ul>
+ − </p>
+ −
+ −
+ − <h2><a name="inputs">Inputs</a></h2>
+ −
+ − <p>
+ − <ul>
+ − <li> a is at least a couple of time series analysis objects
+ − <li> pl is a parameter list, see the list of accepted parameters below
+ − </ul>
+ − </p>
+ −
+ −
+ − <h2><a name="outputs">Outputs</a></h2>
+ − <p>
+ − <ul>
+ − <li> b are a couple of colored time-series AOs. The coloring
+ − filters used are stored in the objects procinfo field under
+ − the parameters:
+ − <ul>
+ − <li> b(1): 'Filt11' and 'Filt12'
+ − <li> b(2): 'Filt21' and 'Filt22'
+ − </ul>
+ − </ul>
+ − </p>
+ −
+ −
+ − <h2><a name="algorithm">Algorithm</a></h2>
+ −
+ − <p>
+ − <ol>
+ − <li> Fit a set of partial fraction z-domain filters using
+ − utils.math.psd2tf
+ − <li> Convert to bank of mIIR filters
+ − <li> Filter time-series in parallel
+ − The filtering process is: <br/>
+ − b(1) = Filt11(a(1)) + Filt12(a(2)) <br/>
+ − b(2) = Filt21(a(1)) + Filt22(a(2))
+ − </ol>
+ − </p>
+ −
+ −
+ −
+ − <h2><a name="parameters">Parameters</a></h2>
+ −
+ − <p>
+ − <ul>
+ − <li> 'csd11' - a frequency-series AO describing the model csd11
+ − <li> 'csd12' - a frequency-series AO describing the model csd12
+ − <li> 'csd21' - a frequency-series AO describing the model csd21
+ − <li> 'csd22' - a frequency-series AO describing the model csd22
+ − <li> 'MaxIter' - Maximum number of iterations in fit routine
+ − [default: 30]
+ − <li> 'PoleType' - Choose the pole type for fitting:
+ − <ul>
+ − <li> 1 - use real starting poles.
+ − <li> 2 - generates complex conjugate poles of the
+ − type a.*exp(theta*pi*j)
+ − with theta = linspace(0,pi,N/2+1).
+ − <li> 3 - generates complex conjugate poles of the type
+ − a.*exp(theta*pi*j)
+ − with theta = linspace(0,pi,N/2+2) [default].
+ − </ul>
+ − </li>
+ − <li> 'MinOrder' - Minimum order to fit with. [default: 2].
+ − <li> 'MaxOrder' - Maximum order to fit with. [default: 25]
+ − <li> 'Weights' - choose weighting for the fit: [default: 2]
+ − <ul>
+ − <li> 1 - equal weights for each point.
+ − <li> 2 - weight with 1/abs(model).
+ − <li> 3 - weight with 1/abs(model).^2.
+ − <li> 4 - weight with inverse of the square mean spread of the model.
+ − </ul>
+ − </li>
+ − <li> 'Plot' - plot results of each fitting step. [default: false]
+ − <li> 'Disp' - Display the progress of the fitting iteration.
+ − [default: false]
+ − <li> 'FitTolerance' - Log Residuals difference check if the minimum
+ − of the logarithmic difference between data and
+ − residuals is larger than a specified value.
+ − ie. if the conditioning value is 2, the
+ − function ensures that the difference between
+ − data and residuals is at lest 2 order of
+ − magnitude lower than data itsleves. [default: 2].
+ − <li> 'RMSEVar' - Root Mean Squared Error Variation - Check if the
+ − variation of the RMS error is smaller than 10^(-b),
+ − where b is the value given to the variable. This
+ − option is useful for finding the minimum of Chi
+ − squared. [default: 7].
+ − <li> 'UseSym' - Use symbolic calculation in eigendecomposition. [default: 0]
+ − <ul>
+ − <li> 0 - perform double-precision calculation in the
+ − eigendecomposition procedure to identify 2dim
+ − systems and for poles stabilization
+ − <li> 1 - uses symbolic math toolbox variable precision
+ − arithmetic in the eigendecomposition for 2dim
+ − system identification and double-precison for
+ − poles stabilization
+ − <li> 2 - uses symbolic math toolbox variable precision
+ − arithmetic in the eigendecomposition for 2dim
+ − system identification and for poles
+ − stabilization
+ − </ul>
+ − </li>
+ − </ul>
+ − </p>