Documentation

Control Design Analysis of Multiple Models

Multiple Models Represent System Variations

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.

Control Design Analysis Using the SISO Design Tool

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:

  1. Choose a nominal model from the array of LTI models.

  2. (Optional) Specify a frequency grid for multimodel computations.

  3. Design a controller for the nominal model.

  4. 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.

Specifying a Nominal Model

What Is a Nominal Model?

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.

How Is a Nominal Model Computed?

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 ModelsNominal Model

Both G and H

    Note:   The sizes of both arrays must match.

  • By default, computed using the first element in both arrays.

  • For a different index, computed using the specified index in both arrays.

    • The same index is also used when you import new arrays in the SISO Design Tool.

    • If the specified index does not exist, the nominal model index reverts to a value you previously specified or the first element.

Only G or HUses 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:

T=CGnom1+CGnomHnom,

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.

Criteria for Choosing a Nominal Model

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.

Frequency Grid for Multimodel Computations

Algorithm for Frequency Grid Computation

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.

When to Specify Custom Frequency Grid

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.

How to Analyze the Controller Design for Multiple Models

 Prerequisites

  1. 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:

  2. 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.

  3. (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.

      Tip   You can keep the Multimodel Configuration Dialog window open as you are following the next steps.

  4. (Optional) If the grid computed by Auto select is not dense enough to capture all system dynamics, specify a different frequency grid.

    1. Select the User specified frequencies (rad/sec) option, and enter the frequency grid in log scale.

    2. Click Apply.

    For more information, see Frequency Grid for Multimodel Computations.

  5. 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.

  6. (Optional) If the controller design for the nominal model does not meet the design requirements for the remaining models in the array:

    1. 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.

    2. Redesign the controller iteratively.

Was this topic helpful?