Control Systems/MIMO Systems

From Wikibooks, open books for an open world
Jump to: navigation, search

Multi-Input, Multi-Output[edit]

Systems with more than one input and/or more than one output are known as Multi-Input Multi-Output systems, or they are frequently known by the abbreviation MIMO. This is in contrast to systems that have only a single input and a single output (SISO), like we have been discussing previously.

State-Space Representation[edit]

See the Formatting Section in the introduction if the notation in this page is confusing.

MIMO systems that are lumped and linear can be described easily with state-space equations. To represent multiple inputs we expand the input u(t) into a vector U(t) with the desired number of inputs. Likewise, to represent a system with multiple outputs, we expand y(t) into Y(t), which is a vector of all the outputs. For this method to work, the outputs must be linearly dependant on the input vector and the state vector.

X'(t) = AX(t) + BU(t)
Y(t) = CX(t) + DU(t)

Example: Two Inputs and Two Outputs[edit]

Let's say that we have two outputs, y1 and y2, and two inputs, u1 and u2. These are related in our system through the following system of differential equations:

y_1'' + a_1y_1' + a_0(y_1 + y_2) = u_1(t)
y_2' + a_2(y_2 - y_1) = u_2(t)

now, we can assign our state variables as such, and produce our first-order differential equations:

x_1 = y_1
x_4 = y_2
x_1' = y_1' = x_2
x_2' = - a_1x_2 - a_0(x_1 + x_4) + u_1(t)
x_4' = - a_2(x_4 - x_1) + u_2(t)

And finally we can assemble our state space equations:

x' = \begin{bmatrix}
              0    & 1    & 0 & 0 \\
              -a_0 & -a_1 & 0 & -a_0 \\
              0    & 0    & 0 & 0 \\
              a_2  & 0    & 0 & -a_2
            \end{bmatrix}
              x + 
            \begin{bmatrix}
              0 & 0 \\
              1 & 0 \\
              0 & 0 \\
              0 & 1
            \end{bmatrix}
            \begin{bmatrix}
              u_1 \\
              u_2
            \end{bmatrix}
\begin{bmatrix}
         y_1 \\
         y_2
       \end{bmatrix}
         = 
       \begin{bmatrix}
         1 & 0 & 0 & 0 \\
         0 & 0 & 0 & 1
       \end{bmatrix} x(t)

Transfer Function Matrix[edit]

If the system is LTI and Lumped, we can take the Laplace Transform of the state-space equations, as follows:

\mathcal{L}[X'(t)] = \mathcal{L}[AX(t)] + \mathcal{L}[BU(t)]
\mathcal{L}[Y(t)] = \mathcal{L}[CX(t)] + \mathcal{L}[DU(t)]

Which gives us the result:

s\bold{X}(s) - X(0) = A\bold{X}(s) + B\bold{U}(s)
\bold{Y}(s) = C\bold{X}(s) + D\bold{U}(s)

Where X(0) is the initial conditions of the system state vector in the time domain. If the system is relaxed, we can ignore this term, but for completeness we will continue the derivation with it.

We can separate out the variables in the state equation as follows:

s\bold{X}(s) - A\bold{X}(s) = X(0) + B\bold{U}(s)

Then factor out an X(s):

\bold{X}(s)[sI - A] = X(0) + B\bold{U}(s)

And then we can multiply both sides by the inverse of [sI - A] to give us our state equation:

\bold{X}(s) = [sI - A]^{-1}X(0) + [sI - A]^{-1}B\bold{U}(s)

Now, if we plug in this value for X(s) into our output equation, above, we get a more complicated equation:

\bold{Y}(s) = C([sI - A]^{-1}X(0) + [sI - A]^{-1}B\bold{U}(s)) + D\bold{U}(s)

And we can distribute the matrix C to give us our answer:

\bold{Y}(s) = C[sI - A]^{-1}X(0) + C[sI - A]^{-1}B\bold{U}(s) + D\bold{U}(s)

Now, if the system is relaxed, and therefore X(0) is 0, the first term of this equation becomes 0. In this case, we can factor out a U(s) from the remaining two terms:

\bold{Y}(s) = (C[sI - A]^{-1}B + D)\bold{U}(s)

We can make the following substitution to obtain the Transfer Function Matrix, or more simply, the Transfer Matrix, H(s):


[Transfer Matrix]

C[sI - A]^{-1}B + D = \bold{H}(s)

And rewrite our output equation in terms of the transfer matrix as follows:


[Transfer Matrix Description]

\bold{Y}(s) = \bold{H}(s)\bold{U}(s)

If Y(s) and X(s) are 1 × 1 vectors (a SISO system), then we have our external description:

Y(s) = H(s)X(s)

Now, since X(s) = X(s), and Y(s) = Y(s), then H(s) must be equal to H(s). These are simply two different ways to describe the same exact equation, the same exact system.

Dimensions[edit]

If our system has q inputs, and r outputs, our transfer function matrix will be an r × q matrix.

Relation to Transfer Function[edit]

For SISO systems, the Transfer Function matrix will reduce to the transfer function as would be obtained by taking the Laplace transform of the system response equation.

For MIMO systems, with n inputs and m outputs, the transfer function matrix will contain n × m transfer functions, where each entry is the transfer function relationship between each individual input, and each individual output.

Through this derivation of the transfer function matrix, we have shown the equivalency between the Laplace methods and the State-Space method for representing systems. Also, we have shown how the Laplace method can be generalized to account for MIMO systems. Through the rest of this book, we will use the Laplace and State Space methods interchangeably, opting to use one or the other where appropriate.

Zero-State and Zero-Input[edit]

If we have our complete system response equation from above:

\bold{Y}(s) = C[sI - A]^{-1}\bold{x}(0) + (C[sI - A]^{-1}B + D)\bold{U}(s)

We can separate this into two separate parts:

  • C[sI - A]^{-1}X(0) The Zero-Input Response.
  • (C[sI - A]^{-1}B + D)\bold{U}(s) The Zero-State Response.

These are named because if there is no input to the system (zero-input), then the output is the response of the system to the initial system state. If there is no state to the system, then the output is the response of the system to the system input. The complete response is the sum of the system with no input, and the input with no state.

Discrete MIMO Systems[edit]

In the discrete case, we end up with similar equations, except that the X(0) initial conditions term is preceeded by an additional z variable:

\bold{X}(z) = [zI - A]^{-1}zX(0) + [zI - A]^{-1}B\bold{U}(z)
\bold{Y}(z) = C[zI - A]^{-1}zX(0) + C[zI - A]^{-1}B\bold{U}(z) + D\bold{U}(z)

If X(0) is zero, that term drops out, and we can derive a Transfer Function Matrix in the Z domain as well:

\bold{Y}(z) = (C[zI - A]^{-1}B + D)\bold{U}(z)


[Transfer Matrix]

C[zI - A]^{-1}B + D = \bold{H}(z)


[Transfer Matrix Description]

\bold{Y}(z) = \bold{H}(z)\bold{U}(z)


Example: Pulse Response[edit]

For digital systems, it is frequently a good idea to write the pulse response equation, from the state-space equations:

x[k + 1] = Ax[k] + Bu[k]
y[k] = Cx[k] + Du[k]

We can combine these two equations into a single difference equation using the coefficient matrices A, B, C, and D. To do this, we find the ratio of the system output vector, Y[n], to the system input vector, U[n]:

\frac{Y(z)}{U(z)} = H(z) = C(zI - A)^{-1}B + D

So the system response to a digital system can be derived from the pulse response equation by:

Y(z) = H(z)U(z)

And we can set U(z) to a step input through the following Z transform:

u(t) \Leftrightarrow U(z) = \frac{z}{z - 1}

Plugging this into our pulse response we get our step response:

Y(z) = (C(zI - A)^{-1}B + D)\left(\frac{z}{z-1}\right)
\bold{Y}(z) = \bold{H}(z)\left(\frac{z}{z-1}\right)

← Standard Forms

Control Systems

Realizations →