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.
Description
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
BlocksToHoldConstant
in thefrestimateOptions
object you enter as the input parameter
For more information about the algorithm that identifies time-varying source
blocks, see the frest.findSources
reference
page.
Available with Simulink Control Design™.
Input Parameters
- 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.BlockPath
objects. This array is stored in theBlocksToHoldConstant
field of an option set you create withfrestimateOptions
. See thefrestimateOptions
reference page for more information.
Results and Recommended Actions
Condition | Recommended Action |
---|---|
Source blocks exist whose output reaches linearization output points currently marked on the model. | Consider holding these source blocks constant during frequency response estimation. Use the
% 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); For
more information and examples, see the |
Tip
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.
See Also
Effects of Time-Varying Source Blocks on Frequency Response Estimation
frest.findSources
reference pagefrestimateOptions
reference pagefrestimate
reference page