13. Controller Design for MIMO Linear Systems
1. Pole Placement (Pole Assignment) Method
Given a linear system with the state space equation:
Assume the state is measurable, given the control law:
The feedback control scheme is:

This state feedback control could change the system performance and become a new system, we can design a controller based on this new system:

Given the enlarged system description:
- \(x_e = \begin{bmatrix} x \\ v \end{bmatrix}\)
We recall the MIMO system design in the previous part:

For the stabilizing regulator, there have:
By knowing the control law, we can rearrange the control scheme:

Replace \(u = -Kx(t) + \gamma(t)\) term into the state space equation, we can get:
The goal of the pole-placement control is:
- Choose a suitable \(K\) to set the eigenvalues of \(A-BK\) in arbitrarily selected positions.
- An N&S condition for such a \(K\) to exist is \((A,B)\) is reachable.
Info
Proof (necessity):
Assume that \((A,B)\) is not reachable
And we can design the controller \(u = -\begin{bmatrix} K_R & K_{NR} \end{bmatrix} \begin{bmatrix} x_R \\ x_{NR} \end{bmatrix}\) , replace it to the system dynamics:
And the eigenvalues of \(A-BK\) are \(\text{eig}(A_R-B_RK_R)\cup \text{eig}(A_X-B_RK_{NR})\)
Proof (Sufficiency):
Assume \((A,B)\) is reachable, \(m = 1\), \(\exists T_{n\times n}\), \(\det(T) \neq 0\), such that \(\tilde x = Tx\).
The controllable canonical form of the system have:
The system characteristic polynomial is:
And the controllable canonical form also gives:
Given the state feedback control law:
Thus we have:
The characteristic polynomial of the closed loop system is:
And we want to design system into a desired characteristic polynomial function:
- \(\lambda_i^*\) is desired eigenvalues
We determine the \(\tilde K_i = \alpha_i - a_i\), \(i=0,\dots,n-1\), and \(K=\tilde K T\), in the MIMO case, where \(m > 1\), \((A, B)\) is reachable,
-
if \((A, b_i)\) is reachable
\[ \begin{aligned} u_j(t) &= 0, &\forall j \neq i \\ u_i(t) &= -K_ix(t) + \gamma(t) \\ K &= \begin{bmatrix} 0 & \cdots & K_i & \cdots & 0\end{bmatrix}^T & \end{aligned} \]
Steps (Single Input):
- Compute \(p^*(\lambda)\) based on the desired set of \(n\) eigenvalues, \(\lambda_i^*\), \(i=1,\dots,n\)
- Compute \(p_A(\lambda)\)
- Build \(\tilde A\), \(\tilde B\) in controllable canonical form
-
Determine the \(M_R\) and \(\tilde M_R\) \(\Rightarrow\) \(T = \tilde M_R M_R^{-1}\), where:
\[ \begin{aligned} M_R &= \begin{bmatrix} B&AB&\cdots&A_{n-1}B\end{bmatrix} \\ \tilde M_R &= \begin{bmatrix} \tilde B&\tilde A\tilde B&\cdots&\tilde A_{n-1}\tilde B\end{bmatrix} = TM_R\\ \end{aligned} \]Where \(\tilde A = TAT^{-1}\), and \(\tilde B = TB\)
-
\(\tilde K = \begin{bmatrix} (\alpha_0-a_0) & \cdots & (\alpha_{n-1}-a_{n-1})\end{bmatrix}\)
- \(K=\tilde KT\)
1.1 Ackermann's Formula:
where:
- \(p^*(\lambda) = \lambda^n + \alpha_{n-1}\lambda^{n-1} + \dots + \alpha_0\)
- \(p^*(A) = A^n + \alpha_{n-1}A^{n-1} + \dots + \alpha_0I\)
Example
Method 1:
-
\(p^*(\lambda) = (\lambda + 3)(\lambda + 4) = \lambda^2 + 7\lambda + 12\)
-
\(M_R = \begin{bmatrix} 1&5\\2&4 \end{bmatrix}\)
- \((A,B)\) is reachable,
Method 2:
- \((A, B)\) is reachable
- \(p^*(\lambda) = \lambda^2 + 7\lambda + 12\)
1.2 Effect of Poles on the System Response
The poles have the effect on the transient in the step response:

For the complex poles, the system will oscillates, the maximum value in the transient state could be calculated:
In a conjugate complex poles system,
- The natural frequency \(\omega_n\) is the length between poles to the origin.
- The damping \(\xi\) is associated to the angle \(\alpha\) in the figure, \(\xi = \cos\alpha\)

In practice, to realize the pole-placement control, it could be done by executing the matlab function: