Simulink Control Design Checks
Identify time-varying source blocks interfering with frequency response estimation
Identify all time-varying source blocks in the signal path of any output linearization point marked in the Simulink® model.
Frequency response estimation uses the steady-state response of a Simulink model to a specified input signal. Time-varying source blocks in the signal path prevent the response from reaching steady-state. In addition, when such blocks appear in the signal path, the resulting response is not purely a response to the specified input signal. Thus, time-varying source blocks can interfere with accurate frequency response estimation.
This check finds and reports all the time-varying source blocks which appear in the signal path of any output linearization output points currently marked on the Simulink model. The report:
Includes blocks in subsystems and in referenced models that are in normal simulation mode
Excludes any blocks specified as
frestimateOptionsobject you enter as the input parameter
For more information about the algorithm that identifies time-varying source
blocks, see the
Available with Simulink Control Design™.
- FRESTIMATE options object to compare results against
Provide the paths of any blocks to exclude from the check. Specify the block paths as an array of
Simulink.BlockPathobjects. This array is stored in the
BlocksToHoldConstantfield of an option set you create with
frestimateOptions. See the
frestimateOptionsreference page for more information.
Results and Recommended Actions
Source blocks exist whose output reaches linearization output points currently marked on the model.
Consider holding these source blocks constant during frequency response estimation.
% Get linearization I/Os from the model. mdl = 'scdengine'; io = getlinio(mdl); % Find time-varying source blocks. blks = frest.findSources(mdl,io); % Create options set with blocks to hold constant. opts = frestimateOptions; opts.BlocksToHoldConstant = blks; % Run estimation with the options. in = frest.Sinestream; sysest = frestimate(mdl,io,in,opts);
more information and examples, see the
Sometimes, the model includes referenced models containing source blocks in
the signal path of an output linearization point. In such cases, set the
referenced models to normal simulation mode to ensure that this check locates
them. Use the
set_param command to set
SimulationMode of any referenced models to
Normal before running the check.
Effects of Time-Varying Source Blocks on Frequency Response Estimation