Main Content

Simulink Control Design Checks

Identify time-varying source blocks interfering with frequency response estimation

To facilitate troubleshooting frequency response estimation for linear analysis and control design, Simulink® Control Design™ software provides a Model Advisor that identifies all time-varying source blocks in the signal path of any output linear analysis 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 can interfere with accurate frequency response estimation. Time-varying source blocks in the signal path prevent the response from reaching steady-state. Also, the resulting response is not purely a response to the specified input signal.

This Simulink Control Design check finds and reports all the time-varying source blocks that appear in the signal path of any output linear analysis points currently marked in the Simulink model. The report:

  • Includes blocks in subsystems and in referenced models that are in normal simulation mode

  • Excludes any blocks that you specify to be held constant for estimation

For more information on:

Input Parameter

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 the BlocksToHoldConstant field of an option set you create with frestimateOptions.

Results and Recommended Actions

ConditionRecommended 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 frest.findSources command to identify time-varying source blocks at the command line. Then, use the BlocksToHoldConstant option of frestimateOptions to pass these blocks to the frestimate function.

  1. Get linear analysis points from the model.

    mdl = "scdengine";
    io = getlinio(mdl);
  2. Find time-varying source blocks.

    blks = frest.findSources(mdl,io);
  3. Specify blocks to hold constant.

    opts = frestimateOptions; 
    opts.BlocksToHoldConstant = blks; 
  4. Estimate frequency response.

    in = frest.Sinestream;
    sysest = frestimate(mdl,io,in,opts);

For more information, see Effects of Time-Varying Source Blocks on Frequency Response Estimation

Tip

Sometimes, the model includes referenced models containing source blocks in the signal path of an output linear analysis 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

Functions

Apps

Related Topics