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:
/ csd11(f) csd12(f) \
CSD(f) = | |
\ csd21(f) csd22(f) /
Note: The function output colored noise data with one-sided
cross spectral density corresponding to the model provided.
b = noisegen2D(a, pl)
[b1,b2] = noisegen2D(a1, a2, pl)
[b1,b2,...,bn] = noisegen2D(a1,a2,...,an, pl);
- Note1: input AOs must come in couples.
- Note2: this method cannot be used as a modifier, the
call a.noisegen2D(pl) is forbidden.
- a is at least a couple of time series analysis objects
- pl is a parameter list, see the list of accepted parameters below
- b are a couple of colored time-series AOs. The coloring
filters used are stored in the objects procinfo field under
the parameters:
- b(1): 'Filt11' and 'Filt12'
- b(2): 'Filt21' and 'Filt22'
- Fit a set of partial fraction z-domain filters using
utils.math.psd2tf
- Convert to bank of mIIR filters
- Filter time-series in parallel
The filtering process is:
b(1) = Filt11(a(1)) + Filt12(a(2))
b(2) = Filt21(a(1)) + Filt22(a(2))
- 'csd11' - a frequency-series AO describing the model csd11
- 'csd12' - a frequency-series AO describing the model csd12
- 'csd21' - a frequency-series AO describing the model csd21
- 'csd22' - a frequency-series AO describing the model csd22
- 'MaxIter' - Maximum number of iterations in fit routine
[default: 30]
- 'PoleType' - Choose the pole type for fitting:
- 1 - use real starting poles.
- 2 - generates complex conjugate poles of the
type a.*exp(theta*pi*j)
with theta = linspace(0,pi,N/2+1).
- 3 - generates complex conjugate poles of the type
a.*exp(theta*pi*j)
with theta = linspace(0,pi,N/2+2) [default].
- 'MinOrder' - Minimum order to fit with. [default: 2].
- 'MaxOrder' - Maximum order to fit with. [default: 25]
- 'Weights' - choose weighting for the fit: [default: 2]
- 1 - equal weights for each point.
- 2 - weight with 1/abs(model).
- 3 - weight with 1/abs(model).^2.
- 4 - weight with inverse of the square mean spread of the model.
- 'Plot' - plot results of each fitting step. [default: false]
- 'Disp' - Display the progress of the fitting iteration.
[default: false]
- 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].
- '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].
- 'UseSym' - Use symbolic calculation in eigendecomposition. [default: 0]
- 0 - perform double-precision calculation in the
eigendecomposition procedure to identify 2dim
systems and for poles stabilization
- 1 - uses symbolic math toolbox variable precision
arithmetic in the eigendecomposition for 2dim
system identification and double-precison for
poles stabilization
- 2 - uses symbolic math toolbox variable precision
arithmetic in the eigendecomposition for 2dim
system identification and for poles
stabilization