view m-toolbox/html_help/help/ug/ng2D_content.html @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line source



<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>