Online Frequency Response Estimation Basics
The Frequency Response Estimator block in Simulink® Control Design™ lets you measure the frequency response of your system in operation. The block performs an experiment that injects signals into the plant and measures the plant output. If you have a code-generation product such as Simulink Coder™, you can generate code that implements the estimation algorithm on hardware. Deploying the algorithm to hardware lets you measure the frequency response of a physical plant in real time.
Embedded frequency-response estimation is a useful option when you have a physical plant and a test bed or control environment to operate in. In this case, you can deploy the Frequency Response Estimator block to your hardware. You trigger the tuning process via an input to the block, so you can tune your controller at any time. For details, see Deploy Frequency Response Estimation Algorithm for Real-Time Use.
If you have a plant model in Simulink, you can use the Frequency Response Estimator block to preview
plant response and adjust the experiment settings before performing estimation in real time.
Doing so helps ensure that real-time estimation does not drive your system out of the
desirable operating range. For details, see Online Estimation Using Plant Modeled in Simulink. You can also use the
block to obtain the frequency response of a plant that cannot be linearized in Simulink, as an
alternative to offline frequency response estimation with Model Linearizer or
When Not to Use Online Frequency-Response Estimation
You can use online frequency response estimation with any stable SISO plant. For an unstable plant, online estimation works in a closed-loop configuration, provided that the closed loop is internally stable. A closed-loop system is internally stable if and only if the roots of the nominal closed-loop characteristic equation all lie in the open left half-plane. For a plant with transfer function G = NG/DG and controller C = NC/DC, the characteristic equation is:
DGDC + NGNC = 0.
In practice, this condition means that no unstable poles in G are stabilized by pole-zero cancellation in GC. Do not use online estimation with an unstable plant that does not meet this condition.
Online frequency response estimation does not work well when there are large disturbances in the plant during the estimation experiment. Disturbances distort the plant response to the perturbation signals, yielding poor estimation results.
System Configurations for Online Frequency Response Estimation
To use online frequency response estimation, you configure and deploy the Frequency Response Estimator block. The block performs an estimation experiment by injecting test signals in the plant and measuring system response.
The following schematic diagram illustrates a typical configuration for fitting the Frequency Response Estimator block into a closed-loop system.
In this configuration, the block receives a control signal u, adds a perturbation Δu to it, and injects the perturbed signal directly into the plant. It then measures the plant response y and uses the result to compute the estimated frequency response.
Alternatively, you can configure the block such that the output is the perturbation Δu only. You can then add this signal to the plant input yourself, as shown in the following schematic diagram.
As an alternative to the closed-loop configurations shown above, you can use the block in an open-loop plant, typically using a constant input signal u to drive the plant to the desired operating point. It is a good practice to use the closed-loop configuration, particularly for real-time estimation. In a closed-loop configuration, the controller works to suppress the injected disturbance and maintain safe plant operation.
The general workflow for online frequency response estimation is as follows.
Incorporate the Frequency Response Estimator block into your system in one of the configurations described above.
Configure the start/stop signal that controls when the estimation experiment begins and ends. You can use this signal to initiate the experiment at any time.
Configure experiment parameters such as the frequencies at which to estimate the response and the amplitudes of the injected perturbations.
Start the experiment using the start/stop signal, and allow it to run long enough for the estimation process, based on the experiment length recommended by the block.
Stop the experiment and examine the estimated frequency response.
For detailed information on performing each of these steps, see: