## 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)

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.