Controller tuning with the PID Tuner app now yields better disturbance rejection by default. For a given target phase margin, the tuning algorithm selects PID coefficients that achieve a balance between reference tracking and input disturbance rejection. If you require more disturbance rejection or better reference tracking than the default algorithm provides, PID Tuner has a new Design Focus option. Use this option to alter the balance that the tuning algorithm sets between reference tracking and input disturbance rejection. For instance, setting the design focus to reference tracking improves the reference tracking performance of the tuned controller, with some cost to disturbance rejection. Similarly, setting the design focus to input disturbance rejection improves rejection with some cost to reference tracking. Changing design focus is most effective when tuning PID controllers, rather than controllers with fewer free parameters, such as PI.
To use the Design Focus option in PID Tuner, click Options and select a design focus from the Focus menu.
You can still use the Response Time and Transient Behavior sliders to further adjust the balance between reference tracking and input disturbance rejection.
For more information about using the design focus option, see Tune PID Controller to Favor Reference Tracking or Disturbance Rejection.
For more information about using PID Tuner, see Introduction to Automatic PID Tuning.
You can now use PID Tuner to tune all parameters of the PID Controller (2DOF) block, including the setpoint weights b and c. When you open the PID Tuner app from a PID Controller (2DOF) block in your Simulink® model, the software automatically tunes all parameters of the block to achieve a balance between performance and robustness. When you use the Response Time and Transient Behavior sliders to adjust that balance, PID Tuner adjusts all parameters, including b and c if necessary. Previously, the software tuned only the PID gains and filter coefficients, and you had to adjust the setpoint weights manually.
The redesigned Linear Analysis Tool streamlines workflows for linear analysis tasks such as finding steady-state operating points (trimming), linearization, and frequency-response estimation. Improvements include:
The Linear Analysis and Estimation tabs are enhanced with a plot gallery for quick, visual selection of plot types for viewing linearized or estimated system responses.
The new Plots and Results tab also provides a gallery of plot types for creating additional plots of system responses. In the Plots and Results tab, select a dynamic system model from the MATLAB® Workspace or the Linear Analysis Workspace. The plot gallery updates to reflect the available plots for the type of system you have selected. If the system you select was created in the Linear Analysis Tool session, the result viewer is also available in the plot gallery.
To access the Linear Analysis Tool from a Simulink model, in the Simulink Editor, select Analysis > Control Design > Linear Analysis. See the following topics for more information about using Linear Analysis Tool for:
Computing operating points — Steady-State Operating Points (Trimming) from Specifications
Exact linearization — Linearize Simulink Model at Model Operating Point
Frequency Response Estimation — Estimate Frequency Response Using Linear Analysis Tool
You can now use the Linear Analysis Tool to efficiently batch linearize a model at varying plant or controller parameter values. Batch linearization refers to extracting multiple linearizations from a model for various combinations of model parameters. Using the new parameter-variation capability of Linear Analysis Tool, you can obtain multiple linearizations for varying values of any parameter in your Simulink model. For example, you can linearize your system at multiple values of plant coefficients, controller gains, or controller sample times.
Use Linear Analysis Tool response plots to examine time-domain and frequency-domain responses of the resulting linear models. For instance, you can compute and plot linearizations for the plant model, overall closed-loop transfer function, and plant disturbance rejection for varying plant and controller parameter values.
In cases where the varying parameters are all tunable, Linear Analysis Tool requires only one model compilation to compute multiple open-loop and closed-loop transfer functions for varying parameter values. This efficiency is especially advantageous for models that are expensive to compile repeatedly.
This new functionality brings the batch linearization capability
to the Linear Analysis Tool. Any parameter variations you specify
in Linear Analysis Tool are included in MATLAB code you generate
from the session.
For more information about performing varying parameters for linearization with the Linear Analysis Tool, see Batch Linearize Model for Parameter Value Variations Using Linear Analysis Tool.
For more information about batch linearization, see What Is Batch Linearization?.
A new option in the PID Controller and PID Controller (2DOF) blocks adds signal inputs for the PID gains and filter coefficients. Previously the PID parameters had to be entered in the block dialog box as numerical values or MATLAB expressions. Enabling external inputs for the parameters allows you to compute PID gains and filter coefficients externally to the block and provide them to the block as signal inputs.
External gain input is useful, for example, when you want to map a different PID parameterization to the PID gains of the block. You can also use external gain input to implement gain-scheduled PID control, in which controller gains are determined by logic or other calculation in the Simulink model and passed to the block.
To enable external inputs for the PID coefficients, in the block
dialog box, in the Controller parameters section,
in the Source menu, select
When you click OK or Apply, the new inputs appear on the block in the Simulink model.
You can now specify an unfiltered derivative term in the discrete-time PID Controller and PID Controller (2DOF) blocks. Previously, these blocks required a finite derivative filter constant on the derivative term.
To specify an unfiltered derivative, in the Main pane of the block dialog box, uncheck Use filtered derivative. Unchecking this option replaces the derivative filter with a discrete differentiator. The option is checked by default for compatibility with previous versions.
When you use
systune to tune a Simulink model,
block tuning is performed at the rate specified in the
to the model (see the
Ts property of
slTuner). When you write the tuned
values back to Simulink, if the sample time of the Simulink block
differs from the sample time used for tuning, a rate conversion takes
place automatically . You can use the
to specify the rate conversion method.
In addition to the ZOH (zero-order hold) and Tustin methods,
supports FOH (first-order hold) and matched methods. The matched method
is only available for SISO blocks.
For more information, see the
When you assign a custom parameterization of a tunable block
slTuner interface to a Simulink model,
you can now use the
setBlockValue command to
set the value of a particular tunable element within the custom parameterization
of the block. Similarly, you can now use
query the value of a tunable element within the block.
only set or query the current value of the entire parameterization
of a Simulink block. There was no way to set or query the current
value of a single tunable element of a custom parameterization.
When you create an
slTuner interface to
a Simulink model that contains a Gain block with
vector inputs and outputs, a parameterization is assigned to the block
for any of the following multiplication modes of the block:
(The multiplication mode is specified in the Main tab
of the block dialog box.) Previously, the
could only assign a parametrization for
Matrix (K*u) modes.
You can now set parameter values for the Gain block in the
setBlockValue for all these multiplication
Matrix (K*u) mode.
slTunerinterface for improved control system tuning of Simulink models with
looptunefunctions, including tuning of gain-scheduled controllers (with Robust Control Toolbox)
Use the new
for tuning control systems in Simulink models. This interface
allows you to:
Tune model blocks and subsystems to meet tuning goals
(Both functions require a Robust Control Toolbox™ license.)
Perform robust tuning of a controller against a set
of plant models using
systune. You can configure
slTuner interface to vary model parameter
values and operating points. When you call
the interface, the software returns a controller that satisfies the
tuning goals for all the specified model variations.
Validate the controller design by examining the transfer
function for relevant I/O sets using the
slTuner, similar in design to
simplifies I/O management in the controller tuning and validation
workflow. You specify signals of interest as analysis points.
You can use these analysis points to configure design requirements
and specify linearization inputs/outputs when you extract transfer
For more information on command-line tuning of Simulink models
slTuner, see Command-Line
Control System Tuning.
slTunable interface will continue to
work for backward compatibility. However, only the
will be supported and enhanced in future releases. Therefore, adoption
slTuner interface is strongly recommended.
For documentation of the
the R2013b documentation.
The redesigned PID Tuner streamlines workflows for automatic and interactive tuning of PID controllers. Improvements include:
Additional options to import a plant into the PID Tuner. These options are especially useful if your Simulink plant model linearizes to zero. You can:
Relinearize the model using a simulation snapshot operating point that you find based on the controller error signal.
Identify an LTI plant model from simulated input-output data. This option requires a System Identification Toolbox™ license.
For more information about this option, see PID controller tuning using system identification to model the plant from simulation input-output data in the PID Tuner.
Ability to compare the response of multiple plant models to the same controller. For example you can test the robustness of a controller to plant model uncertainty. Suppose you have tuned a controller for one plant model. You can import variations of the plant model into the PID Tuner. Then, you can plot the controller response for all the plant models in a single figure to compare the controller performance.
Ability to display multiple response plots simultaneously. For example, you can tune a controller while simultaneously monitoring the reference tracking and output disturbance rejection plots.
To access the PID Tuner, in the PID block dialog box, click Tune.
For more information about using the PID Tuner, see PID Controller Tuning.
If you have System Identification Toolbox software, you can use the PID Tuner to identify a linear plant model from data obtained by simulating the Simulink model. You use the identified model to tune your PID Controller block. For example, suppose you want to tune the PID controller block in a model that contains a Triggered Subsystem block. The analytical block-by-block linearization algorithm does not support event-based subsystems and therefore the model linearizes to zero. Now, you can simulate the plant response for a specified input and use this simulated data to identify the plant model. The PID Tuner automatically tunes the PID controller for the identified model. You can then interactively adjust the performance of the tuned control system, and save the identified plant and tuned controller.
For an example showing how to use system identification to model a plant for PID tuning, see Interactively Estimate Plant from Measured or Simulated Response Data.
The method for specifying substitute linearizations for blocks and model subsystems is simplified. Also, you can specify multiple substitute linearizations for a block and obtain a linearization for each substitution (batch linearization). Use this functionality, for example, to study the effects of varying the linearization of a Saturation block on the model dynamics.
You can specify a substitute linearization as an input to the
and as the
BlockSubstitutions property of the
Use a structure with the following fields:
Name — Full blockpath, specified
as a string. For example,
Value — Substitute linearization,
specified as one of the following:
Double, for example
1. Use for
SISO models only. For models having either multiple inputs or multiple
outputs, or both, use an array of doubles. For example,
1]. Each array entry specifies a linearization for the corresponding
LTI model, with I/Os that match the block specified
Name. For example,
Array of LTI models. For example,
-20],1); zpk(,[-10 -50],1)].
If you vary model parameter values, then the LTI model array size must match the grid size.
Structure with fields:
For an example, see Specifying
Linearization for Model Components Using System Identification.
Previously, the software supported only this method of specifying a substitute linearization.
To specify substitute linearizations for multiple blocks, create an array of the described structure.
This improvement is also applicable in the Simulink editor
when you right-click a block and select Linear
Analysis > Specify Selected Block Linearization. Select the Specify block linearization using
one of the following check box. When you select
Expression in the list, you can now specify a double,
an array of doubles, an LTI model, or an array of LTI models in the
linearizecommand, providing faster batch linearization for model parameter variations
allows you to efficiently batch linearize a model for variations in
model parameter values. Use this feature to study the effects of varying
a model parameter value. For example, you can vary plant parameter
values and analyze the controller robustness to plant model uncertainty.
The software uses only one model compilation, making batch linearization
faster, especially for models that are expensive to compile repeatedly.
For more information, see Batch Linearize Model for Parameter Value Variations Using linearize and Specify Parameter Samples.
slLinearizerinterface, providing faster batch linearization for multiple I/O sets
slLinearizer interface to efficiently
batch linearize a model. The interface includes linearization commands
that you use to extract any open-loop or closed-loop transfer function
for varying operating points and parameter values. For instance, you
can extract linearizations for the plant model, overall closed-loop
transfer function, and plant disturbance rejection, at multiple operating
points, for varying plant/controller parameter values.
slLinearizer extends the functionality
linearize and uses only one model compilation
to compute multiple open-loop and closed-loop transfer functions for
varying operating points and parameter values. This efficiency is
especially advantageous for models that are expensive to compile repeatedly.
For examples that illustrate how to use
findopOptionsfor specifying options for linearization and operating point search
The new options commands
linoptions. This change simplifies
the use of options for linearization and operating point search by
separating the available options for each task. See the reference
pages for these options commands for more information about how to
linoptions command will be removed in
a future release, and issues a warning as of this release. If you
have scripts or functions that use
consider updating them to instead use
findopOptions for operating
The Linear Analysis Plot Blocks and Model Verification Blocks now include a button that highlights signals in your Simulink model which you have selected as linearization inputs or outputs. This highlighting makes it easier to identify linear analysis signals in your model when you are working in the block dialog box.
In the Linearizations tab of the block, select a signal from the Linearization inputs/outputs table. Then click the highlight button:
The block that originates the selected signal is highlighted in the Simulink model.
writeBlockValuecommand can update Simulink model with tuned parameter values from generalized LTI model
writeBlockValue method of
new syntaxes that allow you to update a Simulink model with tunable
parameter values from a generalized LTI model.
writeBlockValue(ST,M) updates the current
values of the tunable parameters in an
to match their values in a generalized model,
The command also updates the corresponding parameters in the Simulink model
only the parameters in the specified blocks.
These syntaxes are useful when you use Robust Control Toolbox tuning
commands such as
hinfstruct to tune system responses that you
extract from the
slTunable interface. For example,
suppose you extract a particular closed-loop response from an
getIOTransfer. You then use
tune this closed-loop response. To validate the tuned parameters in
the full non-linear Simulink model, use
write the tuned parameter values back into the model.
For more information, see the
BlockDatastructure identical for snapshot and operating point linearization
When you specify the linearization of a block as a function,
the input argument to that function is the structure
whose fields are given in the
page. The field
BlockData.Inputs is now a data
structure array, regardless of whether you are linearizing the model
at a snapshot time or at a specified operating point. The data structure
the following fields:
BlockName — Contains the
name of the block whose output connects to the input of the block
whose linearization you specifying. For example, if you are specifying
the linearization of a block called
the second input of
Dynamics is driven by a signal
from a block called
the full block path name of
PortIndex — Identifies which
output port of
BlockName corresponds to the input
of the block whose linearization you are specifying. For example,
if the third output from
Torque drives the second
Values — The value of the
signal specified by
If this signal is a vector-valued signal,
a vector of corresponding dimension.
BlockData.Inputs had this format
only for snapshot linearization. For linearization at a specified
BlockData.Inputs was a numeric
array of input values.
If you have scripts or functions that assume
a numeric array, update your code to reflect the new structure of
The data logging capability of the Linear Analysis Blocks or
Model Verification Blocks now includes an option to save the operating
points corresponding to the computed linear systems. When you check Save
data to workspace and Save operating points for
each linearization in the Logging tab of the block dialog
box, a field named
operatingPoints is added to
the data structure containing the logged data. This field stores the
operating point corresponding to each logged linear system in the
The PID Tuner now has a Transient behavior slider
for emphasizing either reference tracking or disturbance rejection.
When you open the PID Tuner, the tool starts in the
domain design mode, displaying a step plot of the reference
tracking response. The new Transient behavior slider
is beneath the Response time slider.
You can use the Transient behavior slider when:
The tuned system's disturbance rejection response is too sluggish for your requirements. In this case, try moving the Transient behavior slider to the left to make the controller more aggressive at disturbance rejection.
The tuned system's reference tracking response has too much overshoot for your requirements. In this case, try moving the Transient behavior slider to the right to increase controller robustness and reduce overshoot.
Frequency domain design mode,
the PID Tuner has Bandwidth and Phase
margin sliders. These sliders are the frequency-domain
equivalents of the Response time and Transient
behavior sliders, respectively.
For an example illustrating the balance between reference tracking and disturbance rejection, see Tune PID Controller to Balance Tracking and Disturbance Rejection Performance.
Linear analysis points (linearization inputs, outputs and loop-opening locations), that you use to specify the portion of the Simulink model to linearize, have been redesigned. The redesign clarifies what the I/O point means and helps you select the right type of point to compute the desired response.
The analysis points that you select in the Linear
Analysis Points submenu or the Linear Analysis Tool have
been renamed. The points also have updated icons that correspond to
markers that appear on your model to indicate the linear analysis
point type. The corresponding strings for the
have also been renamed.
You can also specify inputs or outputs as open loop while specifying the I/O type. For example:
In the Linear Analysis Points submenu or the Linear Analysis Tool, select Open-loop Output.
At the command line, type
Thus, when performing tasks such as plant linearization or open-loop linearization, you do not need to specify the opening separately.
The following table maps the renamed analysis points to the point types in previous releases:
|Command Line||Linear Analysis Points Submenu or Linear Analysis Tool|
|Previous Releases||R2013a||Previous Releases||R2013a|
|Input Point and Open Loop||Open-loop Input|
|Input Point||Input Perturbation|
|Output Point and Open Loop||Open-loop Output|
|Output Point||Output Measurement|
|Output-Input and Open Loop||Loop Transfer|
|Open Loop||Loop Break|
Use the context-sensitive help, or see the
page to assist you in selecting an analysis point. For examples on
how to specify linear analysis points graphically, see Specify
Portion of Model to Linearize in Simulink Model and Specify
Portion of Model to Linearize in Linear Analysis Tool.
The data logging option in the Linear Analysis Blocks or Model Verification Blocks saves linear systems computed by the blocks. As of R2013a, when you configure your Simulink model to save simulation output in a single object, the logging output of these blocks is saved as a field in the simulation output object. Previously, these blocks saved logging output as a separate variable in the MATLAB workspace, regardless of the model configuration settings.
If you have a Simulink model which you have configured
to save simulation output in a single object, and you use data logging
option in a Linear Analysis Block or Model Verification Block, the
resulting logging output is no longer a separate variable in the MATLAB workspace.
If you use the logging output in any scripts, update those scripts
to use the
Simulink.SimulationOutput object instead
of a separate variable.
You can now generate MATLAB code for frequency response estimation from the Linear Analysis Tool. You can generate either a MATLAB script or a MATLAB function. Generated MATLAB scripts are useful when you want to programmatically reproduce a result you obtained interactively. A generated MATLAB function allows you to perform multiple estimations with systematic variations in estimation parameters such as operating point (batch estimation).
For more information, see Generate MATLAB Code for Repeated or Batch Frequency Response Estimation.
findop command now can find operating
points for multiple operating point specifications with a single model
compilation. This feature allows you to find multiple trimmed operating
points without the overhead of compiling the model for each trimming
computation. For an example, see Batch
Compute Operating Points with Single Model Compilation.
When you modify an operating point specification in the Linear
Analysis Tool, you can now export the specification to the MATLAB workspace.
Exported specifications are saved as operating point specifications
Exporting specifications can be useful when you expect to perform
multiple trimming operations using the same or a very similar set
of specifications. Additionally, you can export interactively-edited
operating point specifications when you want to use the
to perform multiple trimming operations with a single compilation
of the model (see Operating point calculation (trimming) from multiple specifications
with only one model compilation).
You can also import saved operating point specifications to the Linear Analysis Tool and use them to interactively compute trimmed operating points. Importing a specification can be useful when you want to trim a model to a specification that is similar to one you previously saved. In that case, you can import the specification to the Linear Analysis Tool and interactively change it. You can then export the modified specification, or compute a trimmed operating from it.
For more information, see Import and Export Specifications For Operating Point Search.
When you generate MATLAB code for linearization from the Linear Analysis Tool, you now have a choice of generating a script that uses the current linearization parameters, or a function that takes parameter values as input. Previously, you could only generate a MATLAB function with no input parameters.
Generated MATLAB scripts are useful when you want to programmatically reproduce a result you obtained interactively. A generated MATLAB function allows you to perform multiple linearizations with systematic variations in linearization parameters such as operating point (batch linearization).
For more information, see Generate MATLAB Code for Repeated or Batch Linearization.
You can now export a plot from the Linear Analysis Tool to a MATLAB figure window.
For more information, see Print Plot to MATLAB Figure in Linear Analysis Tool.
New commands allow you to query and specify the rate conversion
method that the
slTunable interface uses for converting
the sampling time of the parametrization of tunable blocks in a Simulink model.
Query rate conversion method of tunable block
Set rate conversion method of tunable block
These commands are useful, for example, when you use the
to tune a mixed-rate Simulink model, such as a model having a
discrete-time controller and a continuous-time plant. The
automatically converts the sampling times of tunable blocks where
you can control the conversion method that the
For more information, see:
The default linearization behavior of the PID Controller and PID Controller (2DOF) blocks now forces linearization commands to ignore block output limits. Ignoring output limits allows you to linearize a model around an operating point even if that operating point causes the PID Controller block to exceed the output limits.
To cause linearization commands not to ignore block output limits, clear the Ignore saturation when linearizing checkbox in the block dialog box, PID Advanced tab.
You can now interactively create I/O sets for linearization or frequency response estimation in the Linear Analysis Tool, without adding linearization points to your model. Previously, you had to modify your model to interactively create I/O sets.
For more information, see Create Linearization I/O Sets In Linear Analysis Tool.
An additional syntax for
you to specify the feedback sign without having to provide an
Use the syntax
L = getLoopTransfer(ST,location,sign)
to calculate the point-to-point open-loop transfer function
location of the Simulink model described
The software uses the sign convention specified by
Previously, to specify a feedback sign, you had to use the syntax
L = getLoopTransfer(ST,location,openings,sign)
This syntax required you to specify an
sign. The new syntax allows you to specify
using the default loop openings.
The new interactive Linear Analysis Tool streamlines workflows for linear analysis tasks such as finding steady-state operating points (trimming) and linearization.
To access the Linear Analysis Tool:
Open a Simulink model.
In the Simulink model, select Tools > Control Design > Linear Analysis.
For more information about using the Linear Analysis Tool for operating-point and linearization workflows, see:
The new interactive Linear Analysis Tool provides a graphical interface for frequency response estimation.
To access the Linear Analysis Tool:
Open a Simulink model.
In the Simulink model, select Tools > Control Design > Linear Analysis to launch the Linear Analysis tool.
Click the Frequency Response Estimation tab to begin an estimation task.
For more information about using the Linear Analysis Tool for frequency response estimation, see Frequency Response Estimation.
If you have Simulink Design Optimization™ software, you can optimize the Simulink model to meet frequency-domain requirements specified in Model Verification blocks. For example, you can optimize the linear system to meet Bode magnitude or gain and phase margin requirements. For more information, see Design Optimization To Meet Frequency-Domain Requirements (GUI).
You can also include time-domain requirements such as step response characteristics for optimization. For more information, see Design Optimization to Meet Time- and Frequency-Domain Requirements.
You can now use the PID Tuner to tune a PID Controller block in a model that is referenced in one or more open models. When you launch the PID Tuner from a block within a model reference, the software prompts you to select which of the open models is the top-level model for analysis and tuning. Previously, the PID Tuner could only use the model containing the PID Controller block as the top-level model.
For more information, see Tuning a PID Controller Within a Model Reference.
If you have Robust Control Toolbox software, you can use
tuning commands, such as
to tune control systems modeled in Simulink. The
provides an interface between your Simulink model and these commands.
slTunable to specify information about
your control structure and parametrization.
automates tasks such as linearizing the Simulink model, parametrizing
the tunable blocks of your system, and applying tuned parameter values
to the model. After you create and configure an
for your control architecture, you can tune the control system using
For more information, see Tuning Fixed Control Architectures in the Robust Control Toolbox documentation.
The default number of samples (
signal for frequency response estimation is now given by the formula:
Ts is the sampling time of the chirp signal.
the vector of signal frequencies of the chirp signal.
This formula returns twice the value returned in previous releases.
For example, if you create a default chirp input signal with the command
input = frest.Chirp
the value of
input.NumSamples is 10000, instead
of the previous value of 5000.
For more information, see the
If you have scripts that rely on the default
modify your scripts to account for the new value.
Instead of selecting an entire bus, you can now select individual elements of the bus signal as linearization inputs or outputs (I/Os). By selecting individual bus elements, you can:
Obtain the linearization only for the channels of interest.
Specify multiple I/Os, possibly as different types, in the same bus.
Select individual bus elements as I/Os when you want to:
Linearize a Simulink model using the GUI or programmatically.
Visualize time- and frequency-domain response during simulation using the Linear Analysis Plots blocks.
Verify frequency-domain characteristics using the Model Verification blocks.
For more information, see Select
Individual Bus Elements as Linearization Points and the
A new optional output argument to
the linearization of blocks you specify for exclusion from the linearized
For more information, see the
When you use a specification function to specify a custom linearization
of a Simulink block, you can now access the current linearization
in your function. The current linearization is stored in the new
BlockData structure. The software automatically
BlockData structure and passes it to
your block linearization specification function.
For more information and an example showing how to use the
BlockData, see Augmenting
the Linearization of a Block.
This version of Simulink Control Design™ software provides new blocks for:
Simulink Control Design software provides six new blocks in the Linear Analysis Plots library. Use these blocks to plot the time- and frequency-domain characteristics of a linear system computed from a nonlinear Simulink model. The linear system is computed and plotted during simulation at:
Simulation snapshot times. The default snapshot time is 0.
Trigger-based simulation events.
You can also use these blocks to specify bounds on the linear system characteristics, and view the bounds on the plot.
Because these blocks are same as the Model Verification blocks except for the default settings of the bound parameters, you can optionally use the blocks to verify that the bounds are satisfied during simulation.
For more information, see:
Simulink Control Design software provides six new blocks in the Model Verification library. Use these blocks to verify that the time- and frequency-domain characteristics of a linear system, computed from a nonlinear Simulink model, satisfy specified bounds during simulation. For example, you can verify whether the linearized behavior of your model satisfies upper and lower magnitude bounds on a Bode plot or gain and phase margins.
You can perform the verification during simulation at:
Simulation snapshot times. The default snapshot time is 0.
Trigger-based simulation events
Because these blocks are same as the Linear Analysis Plots blocks except for the default settings of the bound parameters, you can use the blocks to view the bounds on time- and frequency-domain plots.
You can also use these blocks with the Simulink Model Verification library blocks to design complex logic for model verification.
If you have Simulink Verification and Validation™ software, you can construct simulation tests for your model using the Verification Manager.
For more information, see:
Model Verification in the Simulink Control Design documentation.
Model Verification block reference pages
When you are performing frequency response estimation, time-varying source blocks in the signal path can skew the results. Previously, to obtain accurate estimation, you manually identified source blocks and inserted open-loop points in your model to disable them.
frest.findSources command automatically
detects time-varying source blocks in the signal path of the output
linearization points in your Simulink model. Additionally, a
new option to the
allows you to disable these blocks during frequency response estimation.
There is also a new Model Advisor check for detecting time-varying source blocks in your model. For more information about using the Model Advisor, see Consulting the Model Advisor in the Simulink User's Guide.
When you use Simulink Control Design tools to tune a block
with parameters defined as workspace variables, the software now updates
the values of the workspace variables. This update occurs when you
write the compensator design to your Simulink model. The block
remains parametrized by the variables. The software can update variable
parameters that represent numerical values or
whether they reside in the base workspace or the model workspace.
Previously, tuning a block parametrized by workspace variables overwrote the block parameters with numerical values. Thus, such tuning did not change the value of the workspace variables.
This release introduces several enhancements to the PID Tuner, including:
New response plot options let you analyze system responses in either time domain (step plot) or frequency domain (Bode plot). Available responses are reference tracking, input and output disturbance rejection, controller effort, open loop, and plant.
New options when the plant linearizes to zero at the operating point defined in the Simulink model.
When the plant linearizes to zero on launch of the PID Tuner, the PID Tuner provides an option to linearize at a different operating point. The PID Tuner also lets you import an LTI model of your plant, such as a model obtained by frequency response estimation. Previously, the PID Tuner did not launch when the plant linearized to zero.
For an example illustrating these options, see the new Simulink Control Design demo, Designing PID Controller in Simulink with Estimated Frequency ResponseDesigning PID Controller in Simulink with Estimated Frequency Response.
For more information about using the PID Tuner, see Automatic PID Tuning in the Simulink Control Design User's Guide.
The Reference Tracking of a DC Motor with Parameter VariationsReference Tracking of a DC Motor with Parameter Variations demo illustrates compensator design for a plant that has parameter variations. The demo shows the following techniques:
Performing batch linearization to obtain multiple linear models from a single Simulink model
Using the new SISO Design Tool ability to analyze a control design for multiple models simultaneously
If you have the Parallel Computing Toolbox™ software installed, you can use parallel computing to speed up frequency response estimation.
For more information, see Speeding Up Estimation Using Parallel Computing in the Simulink Control Design documentation.
If you use the sinestream input signal for estimation, you can now recompute your frequency response estimation for only those specific frequencies that do not reach steady state. Previously, you had to redo the entire estimation if a few frequencies needed recomputing.
For more information, see Time Response Not at Steady State.
This release provides enhanced
which allows the return of simulated output data. If your linear model
uses state-space representation, you can also return the state vector.
For more information, see the
The Simulation Results Viewer GUI, which you display using
now provides additional options for analyzing your frequency response
You can now enable phase unwrapping in the frequency response plot. To unwrap phase, right-click the Bode plot, and select Unwrap Phase.
You can also import frequency response estimation results into an open Simulation Results Viewer, which replaces the existing results. Previously, you had to open a new Viewer each time you viewed estimation results. To import results, select File > Import in the Simulation Results Viewer.
You can now configure the SISO Design Task to automatically label model I/Os using bus signal names. Model I/O labels describe available loops in the Graphical Tuning tab and label response plots in the Analysis Plots tab of the SISO Design Task GUI. Previously, labels for bus signals were based on the block and port path, or the Simulink signal name.
To use this option, select Tools > Options in the SISO Design Task GUI, and enable Use bus signal names to label model I/O.
When you use the
simout output of the
you obtain a cell array of
Previously, the time dimension was always the first dimension of
As of R2010a, the time dimension of each
The first dimension, if the time series is 2-D
The last dimension, if the time series is 3-D or higher
If you have scripts that run
a model having an output point on a vector or matrix signal and perform
operations on the resulting 3-D or higher-dimensional
simout, modify your scripts to reflect the new
placement of the time dimension in the time series.
For additional information, see:
You can automatically tune the new Simulink PID Controller blocks in the PID Tuner GUI R2009b introduces. You launch the PID Tuner directly from the PID block dialogs boxes. These blocks are available in the Continuous and Discrete Simulink libraries.
For more information on tuning PID Controller using the PID Tuner, see Automatic PID Tuning.
You can now tune compensators using a new automated PID tuning algorithm called Robust Response Time, which is available in the SISO Design Task. You specify the open-loop bandwidth and phase margin, and the software computes PID parameters to robustly stabilize your system.
For information on tuning compensators using automated tuning methods, see Completing the Design.
You can now compute the frequency response of a Simulink model using simulation. You use new commands to easily create input signals and simultaneously simulate and estimate the frequency response without changing your model. You can also use this capability to validate the accuracy of exact linearizations.
You can now specify the linearization of Simulink blocks, subsystems, and model references without having to replace any block in your model. You can specify the linearizations as LTI models or Robust Control Toolbox uncertain models.
You can now design compensators for plants with exact time delay representations. Previously, you had to specify a Padé approximation before designing compensators.
For more information on designing compensators for plants with time delays, see Designing Compensators for Plants with Time Delays.
You can now more efficiently compute multiple linearizations
for large models when only a few blocks or model references change
per linearization. You linearize the fixed portion of the model once
linlft and linearize the varying portion
multiple times. Then, you combine the results using
obtain linearizations equal to those you would receive if you linearized
the entire model multiple times.
You can now set the default plot type for viewing linear analysis results computed in the Control and Estimation Tools Manager. This setting applies to all future Control and Estimation Tools Manager sessions.
To set this option in the Simulink Control Design Preferences, select File > Preferences in the Control and Estimation Tools Manager.
You can now generate MATLAB code reflecting the configuration in the GUI when creating operating points and linearizing models.
You can now tune the following blocks:
Blocks that you discretized using the Simulink Model Discretizer
Blocks in the Simulink Extras library that specify initial states or outputs
For information about how to tune these blocks, see Selecting Blocks to Tune in the Simulink Control Design documentation.
You can now compute linear models that show the bus signal names for linearization I/O points located on buses. You can select this option using the following:
Linearization Options GUI
Version 2.4 includes an upsampling rate conversion method for linearization. This method upsamples discrete-time LTI systems at any sampling rate that is an integer-value-times faster than the sampling rate of the original system. You can select the upsampling rate conversion method in the following ways:
Using the linearization options GUI
From the command line using
For more information on the upsampling rate conversion method,
You can now specify the order of the states in your linearized
model directly from the command line using the
Previously, you could only specify state order using the GUI.
For more information on specifying state order from the command
line, see the
You can now filter the list of blocks in the Linearization Inspector to show only the blocks in the linearization path. This filtering makes it easier for you to find blocks in the linearization path that you want to inspect.
You can now disable the calculation of the linearization inspector and diagnostics information when you linearize using the GUI. This capability allow you to choose when you want to calculate diagnostic information.
You can now view diagnostic messages for your linearized model that help you diagnose and troubleshoot linearization results. These messages identify blocks in your model that encounter the following block issues during linearization:
Blocks that have been marked as not supported for linearization
Blocks with linearization configuration warning messages
Blocks without pre-programmed exact Jacobian that linearize using numerical approximation
You can now find operating points for models that include Simscape™ and SimHydraulics® blocks
using the Simulink Control Design
For more information on finding operating point for Simscape Models, see the Simscape documentation.
You can now perform any type of linearization for models containing Model blocks that reference other Simulink models.
Previously, you could only perform numerical perturbation linearization for models containing Model blocks. Now, you can also perform block-by-block linearization for such models when you set the simulation mode of the Model blocks to Normal.
You can now design compensators for tunable blocks inside external models referenced by your model. Your model references such external models by using Model blocks. You can also update the tunable blocks in the external model with the new compensator designs.
To view and select tunable blocks for compensator design from the referenced model, set the simulation mode of the Model block to Normal.
For more information about the types of blocks that you can tune, see Selecting Blocks to Tune in the Simulink Control Design documentation.
You can now use the Simulink Control Design software to compute linearized models with exact time-delay representations. Time delays in the original nonlinear model can result from any of the following blocks:
Variable Time Delay
Variable Transport Delay
Previously, you could only achieve approximate linearizations of models with continuous time delays using a Padé approximation.
You can now linearize periodic function-call subsystems with a constant sample time as discrete subsystems. You must set the sample time of the function-call trigger block to equal the sample time of the function-call generator block.
For more information on function-call subsystems, see Function-Call Subsystems in the Simulink documentation.
You can use the Simulink Control Design software to linearize around any operating point that you specify directly in a Simulink model. This capability allows you to make changes to a model and then perform a linearization around the newly specified operating point with the click of a single button. Previously, this same task required two steps: creating a new operating point and then linearizing around this operating point.
There are two ways to linearize around an operating point specified directly in the model:
From the Control and Estimation Tools Manager
You can use the Control and Estimation Tools Manager to linearize at snapshots of your model operating point at the following simulation points:
Specified simulation times, such as when the simulation reaches a steady state solution
Events during a specified simulation interval
As in prior releases, you can use
perform linearization at snapshots in your model operating point,
as described in
the reference pages.
You can use the Control and Estimation Tools Manager to perform control design at snapshots of your model operating point at the following simulation points:
Specified simulation times, such as when the simulation reaches a steady state solution
Events during a specified simulation interval
When you design a compensator using the SISO design tool, you can store the current design and then continue making changes to this design. A new button called Retrieve Design lets you retrieve the stored design at any time by undoing the design changes you made since you last stored the design. For more information on retrieving stored compensator designs, see Storing and Retrieving Designs in the Simulink Control Design documentation.
This release provides new tools to streamline the workflow for designing Single-Input Single-Output (SISO) control loops directly in Simulink. In previous releases, designing a compensator was a multistep process that involved several tools.
The new tools support any linearizable control architecture, such as single loops, multiple loops, and cascaded loops. With the new tools, you simply select the blocks you want to tune. Then, the Simulink Control Design software automatically analyzes your model to identify the relevant control loops and opens a preconfigured session of the SISO Design Tool (in the Control System Toolbox™ software). For more information, see Designing Compensators in the Simulink Control Design documentation.
Supported tunable SISO Simulink blocks include Gain, Transfer Function, Zero-Pole-Gain, State-Space, and PID blocks.
In the SISO Design Tool you can
Graphically tune multiple SISO loops in a single GUI.
Gain visual insight into loop interactions and coupling effects.
Focus the analysis on a specific loop in a multiloop design by removing the effect of other feedback loops.
Generate first-cut compensator designs using systematic design algorithms, such as Ziegler-Nichols PID tuning, IMC design, or LQG design.
Optimize linear responses to meet time and frequency-based design constraints (requires the Simulink Response Optimization™ software).
Directly tune Simulink block parameters, such as PID gains, zero-pole-gain representations, and masked blocks.
Tune continuous or discrete control loops.
Examine the closed-loop response of any portion of a model.
After a design is completed, you can write the tuned parameter values back to your model for verification with the full nonlinear system.
You can copy and edit operating points within the Control and Estimation Tools Manager. .
You can initialize a model for simulation using operating points from within the Control and Estimation Tools Manager.
You can linearize and compute operating points for models that reference other models using the Model block. Linearization of model reference models must use the numerical perturbation linearization algorithm. This algorithm accepts state and input perturbation values in the form of an operating point object.
Access context-sensitive help for the Linearization, Operating Point Search, and Linearization State Ordering Options window of the Control and Estimation Tools Manager. To access help on a field within the options window, right-click the option's label and select What's this? from the context menu. Help for the option will appear in this window.
You can view state space, transfer function, and zero-pole gain representations of linearized models within the Control and Estimation Tools Manager without exporting to the workspace. These linearized models appear in the linearization summary pane of the Control and Estimation Tools Manager.
You can select from three different discretization methods for linearization of multirate and hybrid models.
You can view a complete list of blocks indicating which blocks have preprogrammed analytic Jacobians for use with the block-by-block analytic linearization algorithm.
|Release||Features or Changes with Compatibility Considerations|
|R2013a||Linear Analysis Blocks and Model Verification Blocks save data in single object with Simulink model logging output|
|R2011b||Change in Default Number of Samples in frest.Chirp|
|R2010a||Change in Format of Time Series in frestimate Output|