Skip to main content
1 of 2
fibonatic
  • 1.7k
  • 9
  • 11

One way of doing this is using the Kalman decomposition. For this you need the reachable and unobservable subspaces. These subspaces can be constructed using the image of the controllability matrix and the kernel of the observability matrix respectively. The controllability matrix and its image, the observability matrix and its kernel are,

$$ \mathcal{C} = \begin{bmatrix} B & A\,B & A^2 B \end{bmatrix} = \begin{bmatrix} 0 & 1 & 1 & 1 & 2 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 1 & 2 & 1 \end{bmatrix}, $$

$$ \text{im}(\mathcal{C}) = \text{span}\left\{\begin{bmatrix}0\\1\\0\end{bmatrix},\begin{bmatrix}1\\0\\1\end{bmatrix}\right\}, $$

$$ \mathcal{O} = \begin{bmatrix} C \\ C\,A \\ C\,A^2 \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 5 & 1 \end{bmatrix}, $$

$$ \text{ker}(\mathcal{O}) = \text{span}\left\{\begin{bmatrix}1\\0\\-1\end{bmatrix}\right\}. $$

The Kalman decomposition can now be found by constructing a similarity transformation $M\, z = x$, such that,

$$ \dot{z} = \underbrace{M^{-1} A\, M}_{A^*}\, z + \underbrace{M^{-1} B}_{B^*}\, u, $$

$$ y = \underbrace{C\, M}_{C^*}\, z $$

with $M$ defined as,

$$ M = \begin{bmatrix} \text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O}) & \text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})^\complement & \text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O}) & \text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})^\complement \end{bmatrix}. $$

In this case $\text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})$ and $\text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})^\complement$ are empty sets, $\text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})=\text{ker}(\mathcal{O})$ and $\text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})^\complement=\text{ker}(\mathcal{C})$, so a possible transformation would be,

$$ M = \begin{bmatrix} 0 & 1 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & -1 \end{bmatrix}. $$

Using this yields,

$$ \left[\begin{array}{c|c} A^* & B^* \\ \hline C^* \end{array}\right] = \left[\begin{array}{ccc|cc} 1 & 0 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 \\ \hline 1 & 2 & 0 \end{array}\right]. $$

The minimal representation can be obtained by eliminating the rows and columns corresponding to any of the uncontrollable of unobservable parts (so containing $\text{im}(\mathcal{C})^\complement$ or $\text{ker}(\mathcal{O})$:

  • $\text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})$ is empty so nothing has be be removed due to this.
  • $\text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})^\complement$ is the part we want, so the next two rows and columns should be skipped.
  • $\text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})$ has a dimension of one, so the third row and column should be removed.
  • $\text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})^\complement$ is empty so nothing has be be removed due to this.

So the minimal representation could look like this,

$$ \left[\begin{array}{c|c} A^*_m & B^*_m \\ \hline C^*_m \end{array}\right] = \left[\begin{array}{cc|cc} 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 1 \\ \hline 1 & 2 \end{array}\right]. $$

A way to check whether you did not make any mistakes along the way is to calculate the corresponding transfer function, which should be the same as the one of the original system,

$$ G(s) = C (s\,I - A)^{-1} B = C^*_m (s\,I - A^*_m)^{-1} B^*_m = \begin{bmatrix}\frac{s + 1}{(s - 1)^2} & \frac{2}{s - 1}\end{bmatrix}. $$

fibonatic
  • 1.7k
  • 9
  • 11