Estimate frequency response with fixed frequency resolution using spectral analysis
estimates the frequency response, along with uncertainty
,
and the noise spectrum from time- or frequency-domain data
G
= spa(data
)data
. If data
is a time series,
spa
(data)
returns the output power
spectrum along with uncertainty. spa
computes the spectra at
128 equally spaced frequency values between 0 (excluded) and π, using a Hann
window.
spa
applies the Blackman-Tukey spectral analysis method by
following these steps:
Compute the covariances and cross-covariance from u(t) and y(t):
Compute the Fourier transforms of the covariances and the cross-covariance:
where is the Hann window with a width (lag size) of M. You can specify M to control the frequency resolution of the estimate, which is approximately equal 2π/M rad/sample time.
By default, this operation uses 128 equally spaced frequency values between 0
(excluded) and π, where w
=
[1:128]/128*pi/Ts
and Ts
is the sample
time of that data set. The default lag size of the Hann window is M =
min(length(data)/10,30)
. For default frequencies, the operation
uses fast Fourier transforms (FFT), which is more efficient than for
user-defined frequencies.
Compute the frequency-response function and the output noise spectrum .
spectrum
is the spectrum matrix for both the output and the input
channels. That is, if z = [data.OutputData
,
data.InputData]
, spectrum
contains as spectrum
data the matrix-valued power spectrum of z
.
'
is a complex-conjugate transpose.
[1] Ljung, Lennart. System Identification: Theory for the User, Second Ed., Prentice Hall PTR, 1999.