| Contents | Index |
| On this page… |
|---|
Multiple Models Represent System Variations Control Design Analysis Using the SISO Design Tool |
Typically, the dynamics of a system are not exactly known and may vary. For example, system dynamics can vary because of:
Parameter value variations caused by manufacturing tolerances. For example, the resistance value of a resistor is typically within a range about the nominal value, 5 Ω +/– 5%.
Operating conditions. For example, aircraft dynamics change based on its altitude and speed.
The controller you design for such a system must satisfy design requirements for dynamics of all models.
To design a controller for a system whose dynamics vary, you sample the variations, create an LTI model for each sample and use the set of models to build an array of LTI models. Then, design the controller for a representative model from the array.
Control design analysis of multiple models in the SISO Design Tool requires you to specify either the plant G or sensor H or both as row or column arrays of LTI models. If both G and H are arrays, their sizes must match.
Use the SISO Design Tool to:
Choose a nominal model from the array of LTI models.
(Optional) Specify a frequency grid for multimodel computations.
Design a controller for the nominal model.
Analyze if the controller meets the design requirements for all models in the array.
If the controller design does not meet design requirements on all the models, specify a different nominal model and redesign the controller. For more information, see How to Analyze the Controller Design for Multiple Models.
The nominal model is a representative model in the array of LTI models that you use to design the controller or for loop shaping in the SISO Design Tool.
You use the design and analysis plots to visualize and analyze the effect of the controller on the remaining plants in the array.
The following table summarizes how the software computes the nominal model when the plant G and sensor H are arrays of LTI models in a control architecture.
| Array of LTI Models | Nominal Model |
|---|---|
Both G and H |
|
| Only G or H | Uses scalar expansion for the specified index and G or H value. |
For example, in the following default control architecture:

if
G and H are arrays of LTI models of length 3
Nominal model index is 2
the software uses the second element in both the arrays to compute the nominal model:

The nominal response from r to y is:
![]()
where Gnom = G2, Hnom = H2 and GnomHnom is the open-loop response.
The software also computes and plots the responses showing the effect of C on the remaining pairs of plant and sensor combinations—G1H1 and G3H3.
If only G is an array of LTI models, and the specified nominal model is 2, then the control architecture for nominal response is:

The software also computes and plots the responses showing the effect of C for the remaining pairs of plant indices and sensor—G1H and G3H.
The nominal model is the model that you design a controller for. Typically, you choose a model that:
Represents an average of the multiple models. For example, the open-loop response of the model lies midway among the responses of all models in the array.
Represents a worst-case plant.
Lies closet to the stability point.
You want to work with for control design.
Tip You can plot and analyze the open-loop dynamics of the system on a Bode plot to determine which model to choose as nominal. |
If the controller design for the nominal model does not meet the design requirements on the remaining plants in the array, you can specify a different nominal model and redesign the controller. See How to Analyze the Controller Design for Multiple Models for more information.
The frequency response of a system is computed at points in the frequency, called frequency grid.
To compute the frequency grid, the software computes a logarithmic equally spaced grid, based on the dynamics (dynamic range) of each model in the array.
You can specify a custom frequency grid if:
The automatic grid does not capture the system dynamics sufficiently.
This happens because the grid is not sufficiently dense in a particular frequency range. For example, for an underdamped systems the model response shows sharp and tall peaks. Examine the analysis plots to verify if these dynamics are captured in the response. If the response does not capture these dynamics, specify a denser gridding.
The grid computed automatically has more points in the response than you require.
You are interested only in a specific frequency range in the response.
Tip Specifying a less dense grid reduces the number of computations and is less expensive computationally. |
For more information, see How to Analyze the Controller Design for Multiple Models.
Open SISO Design Tool.
sisotool(G,1,H)
This command opens the following window.

By default, the combination of the first plant and sensor in the arrays is the nominal model on which you perform the control design. For more information, see How Is a Nominal Model Computed?.
The Graphical Tuning window, which opens with the SISO Design Tool, shows the individual responses of all models in the arrays.

Tip You can view the envelope of the Bode response instead by right-clicking the plot and selecting Multimodel Display > Bounds. See Using the Graphical Tuning Window for more information. |
Alternatively, to view the responses of all models in the arrays:
Open an empty SISO Design Tool by typing sisotool and import G and H. See Importing Models into the SISO Design Tool for more information.
Configure SISO Design Tool using sisoinit with the arrays of LTI models and then open the SISO Design Tool.
Configure the analysis plots in the Analysis Plots tab in Control and Estimation Tools Manager.
By default, the plots show only the nominal response.

Right-click the plot, and select Multimodel Configuration > Bounds or Multimodel Configuration > Individual Responses to see the individual response or envelope of all models, respectively.

See Analysis Plots for Loop Responses for more information.
(Optional) If you want to specify a different nominal plant, click Multimodel Configuration in the Architecture tab.
The Multimodel Configuration Dialog window opens.

Specify a different nominal model in Nominal Model Index field. If you specify an index value greater than the maximum index of the arrays, the field reverts back to a value you specified previously or 1.
(Optional) If the grid computed by Auto select is not dense enough to capture all system dynamics, specify a different frequency grid.
Select the User specified frequencies (rad/sec) option, and enter the frequency grid in log scale.
Click Apply.
For more information, see Frequency Grid for Multimodel Computations.
Design the controller for the nominal plant using graphical or automated tuning.
For more information on designing a controller, see the following topics:
As you design the controller, use the design and analysis plots analyze to analyze the controller's effects on the remaining models in the array.
(Optional) If the controller design for the nominal model does not meet the design requirements for the remaining models in the array:
Specify a different nominal model in the Nominal Model Index field of the Multimodel Configuration Dialog window.

The design and analysis plots update to show the updated nominal model. For example, for a nominal model value of 2, the plots appear as shown in the next figures.


Redesign the controller iteratively.
![]() | Multi-Loop Compensator Design | Functions for Compensator Design | ![]() |

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 |