Implement discrete-time state space

Additional Math & Discrete / Additional Discrete

The Fixed-Point State-Space block implements the system described by

$$y(n)=\text{C}x(n)+\text{D}u(n)$$

$$x(n+1)=\text{A}x(n)+\text{B}u(n)$$

where *u* is the input, *x* is
the state, and *y* is the output. Both equations
have the same data type.

The matrices A, B, C and D have the following characteristics:

A must be an n-by-n matrix, where n is the number of states.

B must be an n-by-m matrix, where m is the number of inputs.

C must be an r-by-n matrix, where r is the number of outputs.

D must be an r-by-m matrix.

In addition:

The state x must be an n-by-1 vector.

The input u must be an m-by-1 vector.

The output y must be an r-by-1 vector.

The block accepts one input and generates one output. The block determines the input vector width by the number of columns in the B and D matrices. Similarly, the block determines the output vector width by the number of rows in the C and D matrices.

The Fixed-Point State-Space block accepts signals of the following data types:

Floating point

Built-in integer

Fixed point

For more information, see Data Types Supported by Simulink in
the Simulink^{®} documentation.

**State Matrix A**Specify the matrix of states.

**Input Matrix B**Specify the column vector of inputs.

**Output Matrix C**Specify the column vector of outputs.

**Direct Feedthrough Matrix D**Specify the matrix for direct feedthrough.

**Initial condition for state**Specify the initial condition for the state.

**Data type for internal calculations**Specify the data type for internal calculations.

**Scaling for State Equation AX+BU**Specify the scaling for state equations.

**Scaling for Output Equation CX+DU**Specify the scaling for output equations.

**Lock output data type setting against changes by the fixed-point tools**Select to lock the output data type setting of this block against changes by the Fixed-Point Tool and the Fixed-Point Advisor. For more information, see Use Lock Output Data Type Setting.

**Integer rounding mode**Specify the rounding mode for fixed-point operations. For more information, see Rounding. in the Fixed-Point Designer™ documentation.

**Saturate to max or min when overflows occur**Select to have overflows saturate to the maximum or minimum value that the data type can represent. Otherwise, overflows wrap.

When you select this check box, saturation applies to every internal operation on the block, not just the output or result. In general, the code generation process can detect when overflow is not possible. In this case, the code generator does not produce saturation code.

Data Types | Double | Single | Boolean | Base Integer | Fixed-Point |

Direct Feedthrough | Yes |

Multidimensional Signals | No |

Variable-Size Signals | Yes |

Zero-Crossing Detection | No |

Code Generation | Yes |

Was this topic helpful?