Check Step Response Characteristics

Check that model signal satisfies step response bounds during simulation

Library

Simulink Design Optimization

  • Check Step Response Characteristics block

Description

Check that a signal satisfies step response bounds during simulation:

  • If all bounds are satisfied, the block does nothing.

  • If a bound is not satisfied, the block asserts, and a warning message appears in the MATLAB® command window. You can also specify that the block:

    • Evaluate a MATLAB expression.

    • Stop the simulation and bring that block into focus.

During simulation, the block can also return a logical assertion signal.

  • If all bounds are satisfied, the signal is true (1).

  • If a bound is not satisfied, the signal is false (0).

You can add Check Step Response Characteristics blocks on multiple signals to check that they satisfy the bounds.

You can also plot the bounds on a time plot to graphically verify that the signal satisfies the bounds.

This block and the other blocks in the Model Verification library test that a signal remains within specified time-domain characteristic bounds. When a model does not violate any bound, you can disable the block by clearing the assertion option. If you modify the model, you can re-enable assertion to ensure that your changes do not cause the model to violate a bound.

If the signal does not satisfy the bounds, you can optimize the model parameters to satisfy the bounds. If you have Simulink® Control Design™ software, you can add frequency-domain bounds, such as the Bode magnitude, and optimize the model response to satisfy both time-domain and frequency-domain requirements.

The block can be used in all simulation modes for signal monitoring but only in Normal or Accelerator simulation mode for response optimization.

Parameters

TaskParameters

Specify step response bounds to:

  • Assert that a signal satisfies the bounds

  • Optimize model response so that a signal satisfies the bounds

Include step response bound in assertion in Bounds tab.
Specify assertion options (only when you specify step response bounds).

In the Assertion tab:

Open Response Optimizer to optimize model responseClick Response Optimization
Plot step responseClick Show Plot.
Display plot window instead of Block Parameters dialog box on double-clicking the block.Show plot on block open

Include step response bound in assertion

Check that the step response satisfies all the characteristics specified in:

The software displays a warning if the signal violates the specified step response characteristics.

This parameter is used for assertion only if Enable assertion in the Assertion tab is selected.

The bounds also appear on the step response plot if you click Show Plot, as shown in the next figure.

By default, the line segments represent the following step response requirements:

  • Amplitude less than or equal to –0.01 up to the rise time of 5 seconds for 1% undershoot

  • Amplitude between 0.9 and 1.2 up to the settling time of 15 seconds

  • Amplitude equal to 1.2 for 20% overshoot up to the settling time of 15 seconds

  • Amplitude between 0.99 and 1.01 beyond the settling time for 2% settling

If you clear Enable assertion, the bounds are not used for assertion but continue to appear on the plot.

Settings

Default: On

On

Check that the step response satisfies the specified bounds during simulation.

Off

Do not check that the step response satisfies the specified bounds during simulation.

Tips
  • Clearing this parameter disables the step response bounds and the software stops checking that the bounds are satisfied during simulation. The bound segments are also greyed out on the plot.

  • To only view the bounds on the plot, clear Enable assertion.

Command-Line Information
Parameter: EnableStepResponseBound
Type: character vector
Value: 'on' | 'off'
Default: 'on'

Step time (seconds)

Time, in seconds, when the step response starts.

Settings

Default: 0

Minimum: 0

Finite real nonnegative scalar.

Tips
  • To assert that step time value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the step time value from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in Step time. You must click Update Block before simulating the model.

Command-Line Information
Parameter: StepTime
Type: character vector
Value: 0 | finite real nonnegative scalar. Must be specified inside single quotes ('').
Default: 0

Initial value

Value of the signal level before the step response starts.

Settings

Default: 0

Finite real scalar not equal to the final value.

Tips
  • To assert that initial value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the initial value from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in Initial value. You must click Update Block before simulating the model.

Command-Line Information
Parameter: InitialValue
Type: character vector
Value: 0 | finite real scalar not equal to final value. Must be specified inside single quotes ('').
Default: 0

Final value

Final value of the step response.

Settings

Default: 1

Finite real scalar not equal to the initial value.

Tips
  • To assert that final value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the final value from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in Final value. You must click Update Block before simulating the model.

Command-Line Information
Parameter: FinalValue
Type: character vector
Value: 1 | finite real scalar not equal to the initial value. Must be specified inside single quotes ('').
Default: 1

Rise time (seconds)

Time taken, in seconds, for the signal to reach a percentage of the final value specified in % Rise.

Settings

Default: 5

Minimum: 0

Finite positive real scalar, less than the settling time.

Tips
  • To assert that rise time value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the rise time from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in Rise time. You must click Update Block before simulating the model.

Command-Line Information
Parameter: RiseTime
Type: character vector
Value: 5 | finite positive real scalar. Must be specified inside single quotes ('').
Default: 5

% Rise

The percentage of final value used with the Rise time to define the overall rise time characteristics.

Settings

Default: 80

Minimum: 0

Maximum: 100

Positive real scalar, less than (100 – % settling).

Tips
  • To assert that percent rise value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the percent rise from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in % Rise. You must click Update Block before simulating the model.

Command-Line Information
Parameter: PercentRise
Type: character vector
Value: 80 | positive scalar less than (100 – % settling). Must be specified inside single quotes ('').
Default: 80

Settling time (seconds)

The time, in seconds, taken for the signal to settle within a specified range around the final value. This settling range is defined as the final value plus or minus the percentage of the final value, specified in % Settling.

Settings

Default: 7

Finite positive real scalar, greater than rise time.

Tips
  • To assert that final value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the settling time from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in Settling time. You must click Update Block before simulating the model.

Command-Line Information
Parameter: SettlingTime
Type: character vector
Value: 7 | positive finite real scalar greater than rise time. Must be specified inside single quotes ('').
Default: 7

% Settling

The percentage of the final value that defines the settling range of the Settling time characteristic.

Settings

Default: 1

Minimum: 0

Maximum: 100

Real positive finite scalar, less than (100 – % rise) and less than % overshoot.

Tips
  • To assert that percent settling value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the percent settling from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in % Settling. You must click Update Block before simulating the model.

Command-Line Information
Parameter: PercentSettling
Type: character vector
Value: 1 | Real positive finite scalar less than (100 – % rise) and less than % overshoot. Must be specified inside single quotes ('').
Default: 1

% Overshoot

The amount by which the signal can exceed the final value before settling, specified as a percentage.

Settings

Default: 10

Minimum: 0

Maximum: 100

Positive real scalar, greater than % settling.

Tips
  • To assert that percent overshoot value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the percent overshoot from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in % Overshoot. You must click Update Block before simulating the model.

Command-Line Information
Parameter: PercentOvershoot
Type: character vector
Value: 10 | Positive real scalar greater than % settling. Must be specified inside single quotes ('').
Default: 10

% Undershoot:

The amount by which the signal can undershoot the initial value, specified as a percentage.

Settings

Default: 1

Minimum: 0

Maximum: 100

Positive finite real scalar.

Tips
  • To assert that percent undershoot value is satisfied, select both Include step response bound in assertion and Enable assertion.

  • To modify the percent undershoot from the plot window, drag the corresponding bound segment. Alternatively, right-click the segment, and select Edit. Specify the new value in % Undershoot. You must click Update Block before simulating the model.

Command-Line Information
Parameter: PercentUndershoot
Type: character vector
Value: 1 | positive finite real scalar between 0 and 100. Must be specified inside single quotes ('').
Default: 1

Enable zero-crossing detection

Ensure that the software simulates the model to produce output at the bound edges. Simulating the model at the bound edges prevents the simulation solver from missing a bound edge without asserting that the signal satisfies that bound.

For more information on zero-crossing detection, see Zero-Crossing Detection in the Simulink User Guide.

Settings

Default: On

On

Simulate model at the bound edges

This setting is ignored if the Simulink solver is fixed step.

Off

Do not simulate model at the bound edges. The software may not compute the output at the bound edges.

Command-Line Information
Parameter: ZeroCross
Type: character vector
Value: 'on' | 'off'
Default: 'on'

Enable assertion

Enable the block to check that bounds specified and included for assertion in the Bounds tab are satisfied during simulation. Assertion fails if a bound is not satisfied. A warning, reporting the assertion failure, appears at the MATLAB prompt.

If the assertion fails, you can optionally specify that the block:

This parameter has no effect if you do not specify any bounds.

Clearing this parameter disables assertion, i.e., the block no longer checks that specified bounds are satisfied. The block icon also updates to indicate that assertion is disabled.

In the Simulink model, in the Configuration Parameters dialog box, the Model Verification block enabling parameter lets you to enable or disable all model verification blocks in a model, regardless of the setting of this option in the block.

Settings

Default: On

On

Check that bounds included for assertion in the Bounds tab are satisfied during simulation. A warning, reporting assertion failure, is displayed at the MATLAB prompt if bounds are violated.

Off

Do not check that bounds included for assertion are satisfied during simulation.

Dependencies

This parameter enables:

  • Simulation callback when assertion fails (optional)

  • Stop simulation when assertion fails

Command-Line Information
Parameter: enabled
Type: character vector
Value: 'on' | 'off'
Default: 'on'

Simulation callback when assertion fails (optional)

MATLAB expression to execute when assertion fails.

Because the expression is evaluated in the MATLAB workspace, define all variables used in the expression in that workspace.

Settings

Default: []

A MATLAB expression.

Dependencies

Enable assertion enables this parameter.

Command-Line Information
Parameter: callback
Type: character vector
Value: '' | MATLAB expression
Default: ''

Stop simulation when assertion fails

Stop the simulation when a bound specified in the Bounds tab is violated during simulation, i.e., assertion fails.

If you run the simulation from a Simulink model window, the Simulation Diagnostics window opens to display an error message. The block where the bound violation occurs is highlighted in the model.

Settings

Default: Off

On

Stop simulation if a bound specified in the Bounds tab is violated.

Off

Continue simulation if a bound is violated and produce a warning message at the MATLAB prompt.

Tips
  • Because selecting this option stops the simulation as soon as the assertion fails, assertion failures that might occur later during the simulation are not reported. If you want all assertion failures to be reported, do not select this option.

Dependencies

Enable assertion enables this parameter.

Command-Line Information
Parameter: stopWhenAssertionFail
Type: character vector
Value: 'on' | 'off'
Default: 'off'

Output assertion signal

Output a Boolean signal that, at each time step, is:

  • True (1) if assertion succeeds, i.e., all bounds are satisfied

  • False (0) if assertion fails, i.e., a bound is violated.

The output signal data type is Boolean only if, in the Simulink model, in the Configuration Parameters dialog box, the Implement logic signals as Boolean data parameter is selected. Otherwise, the data type of the output signal is double.

Selecting this parameter adds an output port to the block that you can connect to any block in the model.

Settings

Default:Off

On

Output a Boolean signal to indicate assertion status. Adds a port to the block.

Off

Do not output a Boolean signal to indicate assertion status.

Tips
Command-Line Information
Parameter: export
Type: character vector
Value: 'on' | 'off'
Default: 'off'

Show plot on block open

Open the plot window instead of the Block Parameters dialog box when you double-click the block in the Simulink model.

Use this parameter if you prefer to open and perform tasks, such as adding or modifying bounds, in the plot window instead of the Block Parameters dialog box. If you want to access the block parameters from the plot window, select Edit or click .

For more information on the plot, see Show Plot.

Settings

Default: Off

On

Open the plot window when you double-click the block.

Off

Open the Block Parameters dialog box when double-clicking the block.

Command-Line Information
Parameter: LaunchViewOnOpen
Type: character vector
Value: 'on' | 'off'
Default: 'off'

Show Plot

Open the plot window.

Use the plot to view:

  • System characteristics and signals computed during simulation

    You must click this button before you simulate the model to view the system characteristics or signal.

    You can display additional characteristics, such as the peak response time, by right-clicking the plot and selecting Characteristics.

  • Bounds

    You can specify bounds in the Bounds tab of the Block Parameters dialog box or right-click the plot and select Bounds > New Bound. For more information on the types of bounds you can specify, see the individual reference pages.

    You can modify bounds by dragging the bound segment or by right-clicking the plot and selecting Bounds > Edit Bound. Before you simulate the model, click Update Block to update the bound value in the block parameters.

Typical tasks that you perform in the plot window include:

  • Opening the Block Parameters dialog box by clicking or selecting Edit.

  • Finding the block that the plot window corresponds to by clicking or selecting View > Highlight Simulink Block. This action makes the model window active and highlights the block.

  • Simulating the model by clicking . This action also linearizes the portion of the model between the specified linearization input and output.

  • Adding a legend on the linear system characteristic plot by clicking .

Response Optimization

Open the Response Optimizer to optimize the model response to meet design requirements specified in the Bounds tab.

Extended Capabilities

Introduced in R2011b