For frequency response of the model (H(w) = B(w)/A(w)), use FREQRESP or BODE command, as in: H = freqresp(m, w); or [Magnitude, Phase, w] = bode(m);
For the disturbance spectra (PHI(w) = L*||A(w)||^2), first extract the noise model and then call the spectra computing command:
- In releases R2011b and earlier, do mn = m(:,'noise'); DS = freqresp(mn)
- In releases R2012a and later, do: mn = noise2meas(m); DS = spectrum(mn)
Frequency response for a nonlinear model is not well-defined. You can linearize the model about a given operating point (see idnlarx/linearize) and call BODE/FREQRESP on the resulting linear model.
Or, you can construct the response of the nonlinear model over a grid of frequencies by exciting the system with one sinusoid at a time. This is more easily done in Simulink if you import the identified model using the Nonlinear ARX block. Then, use FRESTIMATE (requires Simulink Control Design).
Or, if you are able to write the governing equations for the model, you can do a (painstaking) describing function/harmonic balance analysis by hand to compute the "frequency response".
Best Answer