Control Systems/MIMO Systems

Multi-Input, Multi-Output
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
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 dependent on the input vector and the state vector.


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

Transfer Function Matrix
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\mathbf{X}(s) - X(0) = A\mathbf{X}(s) + B\mathbf{U}(s)$$
 * $$\mathbf{Y}(s) = C\mathbf{X}(s) + D\mathbf{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\mathbf{X}(s) - A\mathbf{X}(s) = X(0) + B\mathbf{U}(s)$$

Then factor out an X(s):


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

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


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

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


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

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


 * $$\mathbf{Y}(s) = C[sI - A]^{-1}X(0) + C[sI - A]^{-1}B\mathbf{U}(s) + D\mathbf{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:


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

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


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

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


 * $$\mathbf{Y}(s) = \mathbf{H}(s)\mathbf{U}(s)$$

If Y(s) and X(s) are 1 &times; 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
If our system has q inputs, and r outputs, our transfer function matrix will be an r &times; q matrix.

Relation to Transfer Function
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 &times; 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 explanation, we will use the Laplace and State Space methods interchangeably, opting to use one or the other where appropriate.

Zero-State and Zero-Input
If we have our complete system response equation from above:


 * $$\mathbf{Y}(s) = C[sI - A]^{-1}\mathbf{x}(0) + (C[sI - A]^{-1}B + D)\mathbf{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)\mathbf{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
In the discrete case, we end up with similar equations, except that the X(0) initial conditions term is preceded by an additional z variable:


 * $$\mathbf{X}(z) = [zI - A]^{-1}zX(0) + [zI - A]^{-1}B\mathbf{U}(z)$$
 * $$\mathbf{Y}(z) = C[zI - A]^{-1}zX(0) + C[zI - A]^{-1}B\mathbf{U}(z) + D\mathbf{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:


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


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


 * $$\mathbf{Y}(z) = \mathbf{H}(z)\mathbf{U}(z)$$

Controller Design
The controller design for MIMO systems is more extensive and thus more complicated than for SISO system. Ackermann's formula, the typical full state feedback design for SISO system, could not be used for MIMO systems because the additional inputs lead to an overdetermined system. This means, in case of MIMO systems, the feedback matrix K is not unique.

Approaches for the controller design are stated in Section Eigenvalue Assignment for MIMO Systems.