Online Estimation of Frequency Responses of a
Nonlinear Plant
This example shows how to use the Frequency Response Estimator block to perform
online estimation of the plant frequency responses. For a nonlinear plant, estimation at
different nominal operating points produces different frequency responses.
Real Time Frequency Response Estimation
Frequency response describes the steady state response of a system to a sinusoidal input
signal. If the system is linear G(s), the output signal is a sine wave of the same frequency
with a different magnitude and a phase shift. A frequency response data (frd) model that
stores frequency response information at multiple frequencies is useful for tasks such as
analyzing plant dynamics, validating linearization results, designing a control system, and
estimating a parametric model.
There are different ways to obtain an frd model in the Simulink environment. The most
common approach is to linearize the Simulink model and calculate the frequency
responses directly from the obtained state-space system. When the Simulink model
cannot be linearized, you can use the frestimate command or use the Linear Analysis
Tool app to run simulation with some perturbation signals. Afterwards, the plant
frequency responses are estimated offline based on the collected experiment data. This
approach is called offline estimation.
This example shows an alternative online estimation approach using the Frequency
Response Estimator block is to conduct an experiment and estimate the frequency
response during simulation. Although this example uses a plant modeled in Simulink, if
you do not have a plant model in Simulink, you can deploy the block on your target
system and carry out frequency response estimation against a physical plant in real time.
For more information, see “Online Frequency Response Estimation Basics” on page 6-2.
Nonlinear Plant Model
This example uses a stable nonlinear SISO plant. The plant has two states. Trim the
model to find an initial steady-state operating point at which the plant output is zero.
plantMDL = 'scdfrePlant';
y0 = 0;
op = operspec(plantMDL);
op.Outputs.Known = true;
op.Outputs.y = y0;
Online Estimation of Frequency Responses of a Nonlinear Plant