| Contents | Index |
Simulink Control Design

This block is same as the Check Gain and Phase Margins block except for different default parameter settings in the Bounds tab.
Compute a linear system from a nonlinear Simulink model and view the gain and phase margins on a Bode, Nichols or Nyquist plot. Alternatively, you can view the margins in a table. By default, the margins are computed using negative feedback for the closed-loop system.
During simulation, the software linearizes the portion of the model between specified linearization inputs and outputs, and plots the linear system on the specified plot type.
The Simulink model can be continuous- or discrete-time or multirate and can have time delays. Because you can specify only one linearization input/output pair in this block, the linear system is Single-Input Single-Output (SISO).
You can specify only one gain and phase margin bound each and view them on the selected plot or table. The block does not support multiple gain and phase margin bounds. You can also check that the bounds are satisfied 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 at the MATLAB prompt. 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 output 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 multiple Gain and Phase Margin Plot blocks to compute and plot the gain and phase margins of various portions of the model.
You can save the linear system as a variable in the MATLAB workspace.
The block does not support code generation and can be used only in Normal simulation mode.
The following table summarizes the Gain and Phase Margin Plot block parameters, accessible via the block parameter dialog box.
| Task | Parameters | |
|---|---|---|
| Configure linearization. | Specify inputs and outputs (I/Os). | In Linearizations tab: |
| Specify settings. | In Linearizations tab: | |
| Specify algorithm options. | In Algorithm Options of Linearizations tab: | |
| Specify labels for linear system I/Os and state names. | In Labels of Linearizations tab: | |
| Specify plot type for viewing gain and phase margins. | ||
| Plot the linear system. | Show Plot | |
| Specify the feedback sign for closed-loop gain and phase margins. | Feedback sign in Bounds tab. | |
| (Optional) Specify bounds on gain and phase margins of the linear system for assertion. | Include gain and phase margins in assertion in Bounds tab. | |
| Specify assertion options (only when you specify bounds on the linear system). | In Assertion tab: | |
| Save linear system to MATLAB workspace. | Save data to workspace in Logging tab. | |
| Display plot window instead of block parameters dialog box on double-clicking the block. | Show plot on block open. | |
Linearization inputs and outputs that define the portion of a nonlinear Simulink model to linearize.
Click
.
The dialog box expands to display a Click a
signal in the model to select it area and a new
button.
Select a signal in the model window.
The selected signal appears as a Model signal in the Click a signal in the model to select it area.

(Optional) For buses, expand the bus signal to select an individual element.
Tip For large buses, you can enter search text for filtering element names in the Filter by name edit box. The name match is case-sensitive. Additionally, you can enter MATLAB regular expression. To modify the filtering options, click
|
Click
to add the signal to
the Linearization inputs/outputs table.

The table displays the following information about the selected signal:
| Block : Port : Bus Element | Name of the block associated with the input/output. The number adjacent to the block name is the port number where the selected bus signal is located. The last entry is the selected bus element name. |
| Configuration | Type of linearization point:
|
| Open Loop | If your model contains one or more feedback loops, you can choose to linearize an open- or closed-loop system. For example, you might want to linearize only the plant model within a feedback control loop. When such a feedback loop is present, select this option to insert an open loop point and remove the effect of the loop without manually breaking signal lines. For determining gain and phase margins, in most cases, you open the loop. |
Note If you simulate the model without specifying an input or output, the software does not compute a linear system. Instead, you see a warning message at the MATLAB prompt. |
No default
Use the getlinio and setlinio commands to specify linearization inputs and outputs.
Plot Linear Characteristics of Simulink Models During Simulation
Enables signal selection in the Simulink model. Appears
only when you click
.
When this option appears, you also see the following changes:
A new
button.
Use to add a selected signal as a linearization input or output in the Linearization inputs/outputs table. For more information, see Linearization inputs/outputs.
changes
to
.
Use to collapse the Click a signal in the model to select it area.
No default
Use the getlinio and setlinio commands to select signals as linearization inputs and outputs.
Plot Linear Characteristics of Simulink Models During Simulation
Enable the use of MATLAB regular expressions for filtering signal names. For example, entering t$ in the Filter by name edit box displays all signals whose names end with a lowercase t (and their immediate parents). For details, see Regular Expressions.
Default: On
Allow use of MATLAB regular expressions for filtering signal names.
Disable use of MATLAB regular expressions for filtering signal names. Filtering treats the text you enter in the Filter by name edit box as a literal string.
Selecting the Options button on the right-hand
side of the Filter by name edit box (
) enables this parameter.
Uses a flat list format to display the list of filtered signals, based on the search text in the Filter by name edit box. The flat list format uses dot notation to reflect the hierarchy of bus signals. The following is an example of a flat list format for a filtered set of nested bus signals.

Default: Off
Display the filtered list of signals using a flat list format, indicating bus hierarchies with dot notation instead of using a tree format.
Display filtered bus hierarchies using a tree format.
Selecting the Options button on the right-hand
side of the Filter by name edit box (
) enables this parameter.
When to compute the linear system during simulation.
Default: Simulation snapshots
Specific simulation time, specified in Snapshot times.
Use when you:
Know one or more times when the model is at steady-state operating point
Want to compute the linear systems at specific times
Trigger-based simulation event. Specify the trigger type in Trigger type.
Use when a signal generated during simulation indicates steady-state operating point.
Selecting this option adds a trigger port to the block. Use this port to connect the block to the trigger signal.
For example, for an aircraft model, you might want to compute the linear system whenever the fuel mass is a fraction of the maximum fuel mass. In this case, model this condition as an external trigger.
Setting this parameter to Simulation snapshots enables Snapshot times.
Setting this parameter to External trigger enables Trigger type.
| Parameter: LinearizeAt |
| Type: string |
| Value: 'SnapshotTimes' | 'ExternalTrigger' |
| Default: 'SnapshotTimes' |
Plot Linear Characteristics of Simulink Models During Simulation
One or more simulation times. The linear system is computed at these times.
Default: 0
For a different simulation time, enter the time. Use when you:
Want to plot the linear system at a specific time
Know the approximate time when the model reaches steady-state operating point
For multiple simulation times, enter a vector. Use when you want to compute and plot linear systems at multiple times.
Snapshot times must be less than or equal to the simulation time specified in the Simulink model.
Selecting Simulation snapshots in Linearize on enables this parameter.
| Parameter: SnapshotTimes |
| Type: string |
| Value: 0 | positive real number | vector of positive real numbers |
| Default: 0 |
Plot Linear Characteristics of Simulink Models During Simulation
Trigger type of an external trigger for computing linear system.
Default: Rising edge
Rising edge of the external trigger signal.
Falling edge of the external trigger signal.
Selecting External trigger in Linearize on enables this parameter.
| Parameter: TriggerType |
| Type: string |
| Value: 'rising' | 'falling' |
| Default: 'rising' |
Plot Linear Characteristics of Simulink Models During Simulation
Enable zero-crossing detection to ensure that the software computes the linear system characteristics at the following simulation times:
The exact snapshot times, specified in Snapshot times.
As shown in the following figure, when zero-crossing detection is enabled, the variable-step Simulink solver simulates the model at the snapshot time Tsnap. Tsnap may lie between the simulation time steps Tn-1 and Tn which are automatically chosen by the solver.

The exact times when an external trigger is detected, specified in Trigger type.
As shown in the following figure, when zero-crossing detection is enabled, the variable-step Simulink solver simulates the model at the time, Ttrig, when the trigger signal is detected. Ttrig may lie between the simulation time steps Tn-1 and Tn which are automatically chosen by the solver.

For more information on zero-crossing detection, see Zero-Crossing Detection in the Simulink User Guide.
Default: On
Compute linear system characteristics at the exact snapshot time or exact time when a trigger signal is detected.
This setting is ignored if the Simulink solver is fixed step.
Compute linear system characteristics at the simulation time steps that the variable-step solver chooses. The software may not compute the linear system at the exact snapshot time or exact time when a trigger signal is detected.
| Parameter: ZeroCross |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'on' |
Plot Linear Characteristics of Simulink Models During Simulation
How to represent time delays in your linear model.
Use this option if you have blocks in your model that have time delays.
Default: Off
Return a linear model with exact delay representations.
Return a linear model with Padé approximations of delays, as specified in your Transport Delay and Variable Transport Delay blocks.
| Parameter: UseExactDelayModel |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
Sample time of the linear system computed during simulation.
Use this parameter to:
Compute a discrete-time system with a specific sample time from a continuous-time system
Resample a discrete-time system with a different sample time
Compute a continuous-time system from a discrete-time system
When computing discrete-time systems from continuous-time systems and vice-versa, the software uses the conversion method specified in Sample time rate conversion method.
Default: auto
0, for continuous-time models.
For models that have blocks with different sample times (multi-rate models), least common multiple of the sample times. For example, if you have a mix of continuous-time and discrete-time blocks with sample times of 0, 0.2 and 0.3, the sample time of the linear model is 0.6.
A discrete-time linear system from a continuous-time system.
A discrete-time linear system from another discrete-time system with a different sample time
Use to compute a continuous-time linear system from a discrete-time model.
| Parameter: SampleTime |
| Type: string |
| Value: auto | Positive finite value | 0 |
| Default: auto |
Plot Linear Characteristics of Simulink Models During Simulation
Method for converting the sample time of single- or multi-rate models.
This parameter is used only when the value of Linear system sample time is not auto.
Default: Zero-Order Hold
Zero-order hold, where the control inputs are assumed piecewise constant over the sampling time Ts. For more information, see Zero-Order Hold in Control System Toolbox User's Guide.
This method usually performs better in time domain.
Bilinear (Tustin) approximation without frequency prewarping. The software rounds off fractional time delays to the nearest multiple of the sampling time. For more information, see Tustin Approximation in Control System Toolbox User's Guide.
This method usually perform better in the frequency domain.
Bilinear (Tustin) approximation with frequency prewarping. Also specify the prewarp frequency in Prewarp frequency (rad/s). For more information, see Tustin Approximation in Control System Toolbox User's Guide.
This method usually perform better in the frequency domain. Use this method to ensure matching at frequency region of interest.
Upsample a discrete-time system when possible and use Zero-Order Hold otherwise.
You can upsample only when you convert discrete-time system to a new sample time that is an integer-value-times faster than the sampling time of the original system.
Upsample a discrete-time system when possible and use Tustin (bilinear) otherwise.
You can upsample only when you convert discrete-time system to a new sample time that is an integer-value-times faster than the sampling time of the original system.
Upsample a discrete-time system when possible and use Tustin with Prewarping otherwise. Also, specify the prewarp frequency in Prewarp frequency (rad/s).
You can upsample only when you convert discrete-time system to a new sample time that is an integer-value-times faster than the sampling time of the original system.
Selecting either:
Tustin with Prewarping
Upsampling when possible, Tustin with Prewarping otherwise
enables Prewarp frequency (rad/s).
| Parameter: RateConversionMethod |
| Type: string |
| Value: 'zoh' | 'tustin' | 'prewarp'| 'upsampling_zoh'| 'upsampling_tustin'| 'upsampling_prewarp' |
| Default: 'zoh' |
Plot Linear Characteristics of Simulink Models During Simulation
Prewarp frequency for Tustin method, specified in radians/second.
Default: 10
Positive scalar value, smaller than the Nyquist frequency before and after resampling. A value of 0 corresponds to the standard Tustin method without frequency prewarping.
Selecting either
Tustin with Prewarping
Upsampling when possible, Tustin with Prewarping otherwise
in Sample time rate conversion method enables this parameter.
| Parameter: PreWarpFreq |
| Type: string |
| Value: 10 | positive scalar value |
| Default: 10 |
Plot Linear Characteristics of Simulink Models During Simulation
How the state, input and output names appear in the linear system computed during simulation.
The linear system is a state-space object and system states and input/output names appear in following state-space object properties:
| Input, Output or State Name | Appears in Which State-Space Object Property |
|---|---|
| Linearization input name | InputName |
| Linearization output name | OutputName |
| State names | StateName |
Default: Off
Show state and input/output names with their path through the model hierarchy. For example, in the chemical reactor model, a state in the Integrator1 block of the CSTR subsystem appears with full path as scdcstr/CSTR/Integrator1.
Show only state and input/output names. Use this option when the signal name is unique and you know where the signal is location in your Simulink model. For example, a state in the Integrator1 block of the CSTR subsystem appears as Integrator1.
| Parameter: UseFullBlockNameLabels |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
How to label signals associated with linearization inputs and outputs on buses, in the linear system computed during simulation (applies only when you select an entire bus as an I/O point).
Selecting an entire bus signal is not recommended. Instead, select individual bus elements.
You cannot use this parameter when your model has mux/bus mixtures.
Default: Off
Use the signal names of the individual bus elements.
Bus signal names appear when the input and output are at the output of the following blocks:
Root-level inport block containing a bus object
Bus creator block
Subsystem block whose source traces back to one of the following blocks:
Output of a bus creator block
Root-level inport block by passing through only virtual or nonvirtual subsystem boundaries
Use the bus signal channel number.
| Parameter: UseBusSignalLabels |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
Check that the gain and phase margins are greater than the values specified in Gain margin (dB) > and Phase margin (deg) >, during simulation. The software displays a warning if the gain or phase margin is less than or equals the specified value.
By default, negative feedback, specified in Feedback sign, is used to compute the margins.
This parameter is used for assertion only if Enable assertion in the Assertion tab is selected.
You can view the gain and phase margin bound on one of the following plot types:
Bode
Nichols
Nyquist
Table
If you clear Enable assertion, the bounds are not used for assertion but continue to appear on the plot.
Default:
Off for Gain and Phase Margin Plot block.
On for Check Gain and Phase Margins block.
Check that the gain and phase margins satisfy the specified values, during simulation.
Do not check that the gain and phase margins satisfy the specified values, during simulation.
Clearing this parameter disables the gain and phase margin bounds and the software stops checking that the gain and phase margins satisfy the bounds during simulation. The gain and phase margin bounds are also disabled on the plot.
To only view the gain and phase margin on the plot, clear Enable assertion.
| Parameter: EnableMargins |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' for Gain and Phase Margin Plot block, 'on' for Check Gain and Phase Margins block |
Plot Linear Characteristics of Simulink Models During Simulation
Gain margin, specified in decibels.
By default, negative feedback, specified in Feedback sign, is used to compute the gain margin.
You can specify only one gain margin bound on the linear system in this block.
Default:
| [] for Gain and Phase Margin Plot block. |
| 20 for Check Gain and Phase Margins block. |
Positive finite number.
To assert that the gain margin is satisfied, select both Include gain and phase margins in assertion and Enable assertion.
To modify the gain margin from the plot window, right-click the plot, and select Bounds > Edit Bound. Specify the new gain margin in Gain margin >. You must click Update Block before simulating the model.
| Parameter: GainMargin |
| Type: string |
| Value: [] | 20 | positive finite number. Must be specified inside single quotes (''). |
| Default: '[]' for Gain and Phase Margin Plot block, '20' for Check Gain and Phase Margins block. |
Plot Linear Characteristics of Simulink Models During Simulation
Phase margin, specified in degrees.
By default, negative feedback, specified in Feedback sign, is used to compute the phase margin.
You can specify only one phase margin bound on the linear system in this block.
Default:
| [] for Gain and Phase Margin Plot block. |
| 30 for Check Gain and Phase Margins block. |
Positive finite number.
To assert that the phase margin is satisfied, select both Include gain and phase margins in assertion and Enable assertion.
To modify the phase margin from the plot window, right-click the plot, and select Bounds > Edit Bound. Specify the new phase margin in Phase margin >. You must click Update Block before simulating the model.
| Parameter: PhaseMargin |
| Type: string |
| Value: [] | 30 | positive finite number. Must be specified inside single quotes (''). |
| Default: '[]' for Gain and Phase Margin Plot block, '30' for Check Gain and Phase Margins block. |
Plot Linear Characteristics of Simulink Models During Simulation
Feedback sign to determine the gain and phase margins of the linear system, computed during simulation.
To determine the feedback sign, check if the path defined by the linearization inputs and outputs include the feedback Sum block:
If the path includes the Sum block, specify positive feedback.
If the path does not include the Sum block, specify the same feedback sign as the Sum block.
For example, in the aircraft model, the Check Gain and Phase Margins block includes the negative sign in the summation block. Therefore, the Feedback sign is positive.
Default: negative feedback
Use when the path defined by the linearization inputs/outputs does not include the Sum block and the Sum block feedback sign is -.
Use when:
The path defined by the linearization inputs/outputs includes the Sum block.
The path defined by the linearization inputs/outputs does not include the Sum block and the Sum block feedback sign is +.
| Parameter: FeedbackSign |
| Type: string |
| Value: '-1' | '+1' |
| Default: '-1' |
Plot Linear Characteristics of Simulink Models During Simulation
Save one or more linear systems as a variable in MATLAB workspace to perform further linear analysis or control design.
The workspace variable is a structure with time and values fields:
The time field stores the simulation time at which the linear system is computed.
The values field is a state-space object which stores the linear system. If the linear system is computed at multiple simulation times, values is an array of state-space objects.
Default: Off
Save the computed linear system to MATLAB workspace.
Do not save the computed linear system to MATLAB workspace.
This parameter enables Variable name.
| Parameter: SaveToWorkspace |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
Name of the workspace variable that stores one or more linear systems computed during simulation.
The name must be unique among the variable names used in all data logging model blocks, such as linear analysis plot blocks, model verification blocks, Scope blocks, To Workspace blocks, and simulation return variables such as time, states, and outputs.
Default: sys
String.
Save data to workspace enables this parameter.
| Parameter: SaveName |
| Type: string |
| Value: sys | any string. Must be specified inside single quotes (''). |
| Default: 'sys' |
Plot Linear Characteristics of Simulink Models During Simulation
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 assertion fails, you can optionally specify that the block:
Execute a MATLAB expression, specified in Simulation callback when assertion fails (optional).
Stop the simulation and bring that block into focus, by selecting Stop simulation when assertion fails.
For the Linear Analysis Plots blocks, this parameter has no effect because no bounds are included by default. If you want to use the Linear Analysis Plots blocks for assertion, specify and include bounds in the Bounds tab.
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 Configuration Parameters dialog box of the Simulink model, the Model Verification block enabling option in the Debugging area of Data Validity node, lets you to enable or disable all model verification blocks in a model, regardless of the setting of this option.
Default: 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.
Do not check that bounds included for assertion are satisfied during simulation.
This parameter enables:
Simulation callback when assertion fails (optional)
Stop simulation when assertion fails
| Parameter: enabled |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'on' |
Plot Linear Characteristics of Simulink Models During Simulation
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.
No Default
A MATLAB expression.
Enable assertion enables this parameter.
| Parameter: callback |
| Type: string |
| Value: '' | MATLAB expression |
| Default: '' |
Plot Linear Characteristics of Simulink Models During Simulation
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. Also, the block where the bound violation occurs is highlighted in the model.
Default: Off
Stop simulation if a bound specified in the Bounds tab is violated.
Continue simulation if a bound is violated with a warning message at the MATLAB prompt.
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.
Enable assertion enables this parameter.
| Parameter: stopWhenAssertionFail |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
Output a Boolean signal that, at each time step, is:
True (1) if assertion succeeds, i.e., all bounds are satisfied
False (1) if assertion fails, i.e., a bound is violated.
The output signal data type is Boolean only if the Implement logic signals as Boolean data option in the Optimization pane of the Configuration Parameters dialog box of the Simulink model 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.
Default:Off
Output a Boolean signal to indicate assertion status. Adds a port to the block.
Do not output a Boolean signal to indicate assertion status.
Use this parameter to design complex assertion logic. For an example, see Model Verification Using Simulink Control Design and Simulink Verification Blocks .
| Parameter: export |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
Plot to view gain and phase margins of the linear system computed during simulation.
Default: Bode
Right-click the Bode , Nichols or Nyquist plot and select Characteristics > Minimum Stability Margins to view gain and phase margins. The table displays the computed margins automatically.
| Parameter: PlotType |
| Type: string |
| Value: 'bode' | 'nichols' | 'nyquist' | 'table' |
| Default: 'bode' |
Plot Linear Characteristics of Simulink Models During Simulation
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.
Default: Off
Open the plot window when you double-click the block.
Open the Block Parameters dialog box when double-clicking the block.
| Parameter: LaunchViewOnOpen |
| Type: string |
| Value: 'on' | 'off' |
| Default: 'off' |
Plot Linear Characteristics of Simulink Models During Simulation
Open the plot window.
Use the plot to view:
Linear system characteristics computed from the nonlinear Simulink model during simulation
You must click this button before you simulate the model to view the linear characteristics.
You can display additional characteristics, such as the peak response time and stability margins, of the linear system by right-clicking the plot and selecting Characteristics.
Bounds on the linear system characteristics
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 on each plot, see Types of Linear System Characteristics for Verification in the User's Guide.
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
or selecting Simulation > Start. This action also linearizes
the portion of the model between the specified linearization input
and output.
Adding legend on the linear system characteristic
plot by clicking
.
Visualize Linear System Characteristics at Multiple Simulation Snapshots
Visualize Linear System Characteristics of a Continuous-Time Model Discretized During Simulation
Plotting Linear System Characteristics of a Chemical Reactor

Learn more about resources for designing, testing, and implementing control systems.
Get free kit| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |