Estimate frequency response and spectrum using spectral analysis with frequency-dependent resolution
g = spafdr(data)
g = spafdr(data,Resol,w)
g = spafdr(data) estimates the transfer
function and noise spectrum Φυ of
the general linear model
is the spectrum of υ(t).
the output-input data as an
iddata object. The
data can be complex valued, and either time or frequency domain. It
can also be an
idfrd object containing frequency-response
g is an
with the estimate of at the frequencies ω specified
by row vector
g also includes
information about the spectrum estimate of Φυ(ω)
at the same frequencies. Both results are returned with estimated
covariances, included in
g. The normalization of
the spectrum is the same as described in
Information about the estimation results and options used is
stored in the model's
the following fields:
Status — Summary of the
model status, which indicates whether the model was created by construction
or obtained by estimation.
Method — Estimation command
WindowSize — Frequency resolution.
DataUsed — Attributes of
the data used for estimation. Structure with the following fields:
Name — Name of the data
Type — Data type.
Length — Number of data
Ts — Sample time.
InterSample — Input intersample
InputOffset — Offset removed
from time-domain input data during estimation.
OutputOffset — Offset removed
from time-domain output data during estimation.
g = spafdr(data,Resol,w) specifies frequencies
and frequency resolution.
The frequency variable
w is either specified
as a row vector of frequencies, or as a cell array
In the latter case the covered frequencies will be 50 logarithmically
spaced points from
You can change the number of points to
NP by entering
w or entering it as an empty matrix
gives the default value, which is 100 logarithmically spaced frequencies
between the smallest and largest frequency in data. For time-domain
data, this means from
Ts is the sample time of data and
the number of data.
Resol defines the frequency
resolution of the estimates. The resolution (measured in rad/s) is
the size of the smallest detail in the frequency function and the
spectrum that is resolved by the estimate. The resolution is a tradeoff
between obtaining estimates with fine, reliable details, and suffering
from spurious, random effects: The finer the resolution, the higher
the variance in the estimate.
Resol can be entered
as a scalar (measured in rad/s), which defines the resolution over
the whole frequency interval. It can also be entered as a row vector
of the same length as
the local, frequency-dependent resolution around frequency
The default value of
Resol, obtained by omitting
it or entering it as the empty matrix, is
Resol(k) = 2(w(k+1)-w(k)),
adjusted upwards, so that a reasonable estimate is guaranteed. In
all cases, the resolution is returned in the variable
If the data is given in the time domain, it is first converted
to the frequency domain. Then averages of
formed over the frequency ranges
to the desired resolution around the frequency in question. The ratio
of these averages is then formed for the frequency-function estimate,
and corresponding expressions define the noise spectrum estimate.