4
$\begingroup$

Given the following system:

$$\dot{x} = \begin{bmatrix}1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix}x + \begin{bmatrix}0 & 1 \\ 1 & 0 \\ 0 & 1 \end{bmatrix} u$$ $$y = \begin{bmatrix}1 & 1 & 1 \end{bmatrix} x$$

I need to find the minimal realization of the system. I know that the minimal realization means controllable and observable.

The system given is not controllable and not observable.

$\endgroup$
  • $\begingroup$ I don't know what minimal realization means, so this is just a comment. It is noteworthy that the $x_2$ equation is decoupled. Does this help you in any way? So what I mean is: $u_1$ only influences $x_2$ directly and $\dot{x}_2$ is only depending on $x$ and $u_1$. But $u_1$ can indirectly influence $x_1$ and $x_3$ with the coupling terms for $\dot{x}_1$ and $\dot{x}_3$. $\endgroup$ – MrYouMath Apr 19 '17 at 15:03
7
$\begingroup$

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{im}(\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 or 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}. $$

$\endgroup$
  • $\begingroup$ How can you decompose the original system in controllable and not controllable? I found a $T$ matrix given by: $$T = \begin{bmatrix}0 & 1 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}$$ $\endgroup$ – Unnamed May 1 '17 at 22:08
  • $\begingroup$ @Juan If you only want to decompose the system is a controllable and not controllable part you first have to pick two unique and non zero combinations of vectors is $\text{im}(\mathcal{C})$ for the controllable part and one other vector that is not for the not controllable part. For example: $$T=\begin{bmatrix}0 & 1 & 1 \\ 1 & 1 & 1 \\ 0 & 1 & 0\end{bmatrix}$$ $$T=\begin{bmatrix}1 & -1 & 0 \\ 0 & 2 & 0 \\ 1 & -1 & 1\end{bmatrix}$$both would do the trick, but your example as well. However these transformations will not also decompose the observable from the not observable. $\endgroup$ – fibonatic May 1 '17 at 23:17
  • $\begingroup$ Could you explain how you obtained: $\text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})^\complement$ Shouldn't this be rather anything but the im(C) and ker(O)? And what about this $\text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})^\complement=\text{ker}(\mathcal{C})$ (<- why is this not the $\text{im}\{C\}$)? $\endgroup$ – MrYouMath Oct 27 '17 at 14:05
  • 1
    $\begingroup$ @MrYouMath I did indeed make a typo and indeed $\text{im}(\mathcal{C}) \cap \text{ker}(\mathcal{O})^\complement = \text{im}(\mathcal{C})$. And to see why $\text{im}(\mathcal{C})^\complement \cap \text{ker}(\mathcal{O})^\complement$ has to be empty is because $\text{im}(\mathcal{C})$ and $\text{ker}(\mathcal{O})$ together span the whole $\mathbb{R}^3$, so there can't exist any vector this is both not in $\text{im}(\mathcal{C})$ and not in $\text{ker}(\mathcal{O})$. $\endgroup$ – fibonatic Oct 27 '17 at 18:56
  • 1
    $\begingroup$ @MrYouMath It is actually also possible to construct a $M$ that gives a Kalman decomposition using the Hautus test. So find for which eigenvalue of $A$ the matrix $\begin{bmatrix}A-\lambda_i\,I & B\end{bmatrix}$ or $\begin{bmatrix}A^\top-\lambda_i\,I & C^\top\end{bmatrix}$ are or aren't full rank. And for the columns of $M$ you can use the corresponding eigenvectors $\vec{v}_i$. $\endgroup$ – fibonatic Oct 28 '17 at 5:14
0
$\begingroup$

Using Matlab R2018a with minreal function from Robust control package and inputting original A, B, C, D matrices I got:

\begin{array}{c|c} A^*_m & B^*_m \\ \hline C^*_m \end{array} = \begin{array}{cc|cc} 1 & 0 & 1 & 0 \\ \sqrt2 & 1 & 0 & \sqrt2 \\ \hline 1 & \sqrt2 \end{array}.

One state was removed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.