StateSpace

Discrete-time State Space block

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

This block defines the state space representation of a discrete-time block with input vector u, output vector y and state vector x:

x = A * previous(x) + B * u
y = C * previous(x) + D * u

where previous(x) is the value of the clocked state x at the previous clock tick. The input is a vector of length nu, the output is a vector of length ny and nx is the number of states. Accordingly

A has the dimension: A(nx,nx),
B has the dimension: B(nx,nu),
C has the dimension: C(ny,nx),
D has the dimension: D(ny,nu)

Example:

  parameter: A = [0.12, 2;3, 1.5]
  parameter: B = [2, 7;3, 1]
  parameter: C = [0.1, 2]
  parameter: D = zeros(ny,nu)

results in the following equations:
  [x[1]]   [0.12  2.00] [previous(x[1])]   [2.0  7.0] [u[1]]
  [    ] = [          ]*[              ] + [        ]*[    ]
  [x[2]]   [3.00  1.50] [previous(x[2])]   [0.1  2.0] [u[2]]

                        [previous(x[1])]            [u[1]]
  y[1]   = [0.1  2.0] * [              ] + [0  0] * [    ]
                        [previous(x[2])]            [u[2]]

Parameters (6)

nin

Value: size(B, 2)

Type: Integer

Description: Number of inputs

nout

Value: size(C, 1)

Type: Integer

Description: Number of outputs

A

Value:

Type: Real[:,size(A, 1)]

Description: Matrix A of state space model

B

Value:

Type: Real[size(A, 1),:]

Description: Matrix B of state space model

C

Value:

Type: Real[:,size(A, 1)]

Description: Matrix C of state space model

D

Value: zeros(size(C, 1), size(B, 2))

Type: Real[size(C, 1),size(B, 2)]

Description: Matrix D of state space model

Outputs (1)

x

Type: Real[size(A, 1)]

Description: State vector

Connectors (2)

u

Type: RealInput[nin]

Description: Connector of clocked, Real input signals

y

Type: RealOutput[nout]

Description: Connector of clocked, Real output signals