Main Content

Discrete Varying Observer Form

Discrete-time observer-form state-space model with varying matrix values

  • Discrete Varying Observer Form block

Control System Toolbox / Linear Parameter Varying


Use this block to implement a discrete-time varying state-space model in observer form. The system matrices A, B, C, and D describe the plant dynamics, and the matrices K and L specify the state-feedback and state-observer gains, respectively. Feed the instantaneous values of these matrices to the corresponding input ports. The observer form is given by:


where uk is the plant input (control signal), yk is the plant output, xk is the estimated state, and εk is the innovation, the difference between the predicted and measured plant output. The observer form works well for gain scheduling of state-space controllers. In particular, the state xk tracks the plant state, and all controllers are expressed with the same state coordinates.

Use this block and the other blocks in the Linear Parameter Varying library to implement common control elements with variable parameters or coefficients. For more information, see Model Gain-Scheduled Control Systems in Simulink.


Avoid making the K matrix depend on the control signal uk. If you have such dependence, the resulting equation uk = –K(uk)xk creates an algebraic loop, because computing the block output value requires knowing the block output value. This algebraic loop is prone to instability and divergence. Instead, try expressing K in terms of the time t and the block input yk.

For similar reasons, avoid making A, B, or L depend on the uk+1 output.



expand all

Measured plant output signal.

Plant state matrix of dimensions Nx-by-Nx, where Nx is the number of plant states.

Plant input matrix of dimensions Nx-by-Nu, where Nu is the number of plant inputs.

Plant output matrix of dimensions Ny-by-Nx, where Ny is the number of plant outputs.

Plant feedforward matrix of dimensions Ny-by-Nu.

State-feedback matrix of dimensions Nu-by-Nx.

State-observer matrix of dimensions Nx-by-Ny.


expand all

Control signal (plant input).

Vector of estimated plant states.


To enable this port, select the Output states parameter.

Estimated state values at next time step.


To enable this port, select the Output state updates parameter.


expand all

Initial state values, specified as a scalar or a vector whose length is the number of plant states.

Block sample time, specified as either –1 (inherited sample time) or a positive scalar value.

Select to enable the estimated states output port, xe.

Select to enable the estimated state updates output port, xk+1.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017b