Main Content

How Tuned Simulink Blocks Are Parameterized

Blocks with Predefined Parameterization

When you tune a Simulink® model, either with Control System Tuner or at the command line through an slTuner interface, the software automatically assigns a predefined parameterization to certain Simulink blocks. For example, for a PID Controller block set to the PI controller type, the software automatically assigns the parameterization Kp + Ki/s, where Kp and Ki are the tunable parameters. For blocks that have a predefined parameterization, you can write tuned values back to the Simulink model for validating the tuned controller.

Blocks that have a predefined parameterization include the following:

Simulink LibraryBlocks with Predefined Parameterization
Math Operations

Gain

Continuous
Discrete
Lookup Tables
Control System Toolbox

LTI System

Discretizing (Model Discretizer Blocks)
  • Discretized State-Space

  • Discretized Transfer Fcn

  • Discretized Zero-Pole

  • Discretized LTI System

  • Discretized Transfer Fcn (with initial states)

Simulink Extras/Additional Linear

State-Space (with initial outputs)

Scalar Expansion

The following tunable blocks support scalar expansion:

  • Discrete Filter

  • Gain

  • 1-D Lookup Table, 2-D Lookup Table, n-D Lookup Table

  • PID Controller, PID Controller (2DOF)

Scalar expansion means that the block parameters can be scalar values even when the input and output signals are vectors. For example, you can use a Gain block to implement y = k*u with scalar k and vector u and y. To do so, you set the Multiplication mode of the block to Element-wise(K.*u), and set the gain value to the scalar k.

When a tunable block uses scalar expansion, its default parameterization uses tunable scalars. For example, in the y = k*u Gain block, the software parameterizes the scalar k as a tunable real scalar (realp of size [1 1]). If instead you want to tune different gain values for each channel, replace the scalar gain k by a N-by-1 gain vector in the block dialog, where N is the number of channels, the length of the vectors u and y. The software then parameterizes the gain as a realp of size [N 1].

Blocks Without Predefined Parameterization

You can specify blocks for tuning that do not have a predefined parameterization. When you do so, the software assigns a state-space parameterization to such blocks based upon the block linearization. For blocks that do not have a predefined parameterization, the software cannot write tuned values back to the block, because there is no clear mapping between the tuned parameters and the block. To validate a tuned control system that contains such blocks, you can specify a block linearization in your model using the value of the tuned parameterization. (See Specify Block Linearization Using MATLAB Expression for more information about specifying block linearization.)

View and Change Block Parameterization

You can view and edit the current parameterization of every block you designate for tuning.