MATLAB – How to Decompose a MIMO System into Minimum and Nonminimum Phase Parts

control theoryMATLAB

suppose the transfer function of m-input-m-output system is
$$G\left( s \right) = \left[ {\begin{array}{*{20}{c}}
{{g_{11}}\left( s \right)}& \cdots &{{g_{1m}}\left( s \right)}\\
\vdots & \ddots & \vdots \\
{{g_{m1}}\left( s \right)}& \cdots &{{g_{mm}}\left( s \right)}
\end{array}} \right]$$

Each ${g_{ij}}(s)$ might contains nonminimum phase part.Then, how could the system be decomposed into the multiplication of minimum ${G_{\min }}\left( s \right)$ and nonminimum phase part ${G_{non\min }}\left( s \right)$
$$G\left( s \right) = {G_{\min }}\left( s \right) * {G_{non\min }}\left( s \right)$$
Is there any command in MATLAB to realize it?

Best Answer

If you define the zeros of a transfer function as the values for $s$ at which it loses rank (also known as transmission zeros) then you could make use of the Smith McMillan form. Namely by multiplying any MIMO transfer function matrix by its pole polynomial one can obtain a polynomial matrix $P(s)$. Any polynomial can be written as

$$ P(s) = U_1(s)\,D(s)\,U_2(s) $$

where $U_1(s)$ and $U_2(s)$ are unimodular (does not lose rank for any $s$) and $D(s)$ is diagonal (does loses rank at $s$ equal to a zero). This diagonal matrix can be split up into two diagonal matrices, one with only right half plane zeros and the other with only left half plane zeros.

For example

$$ G(s) = \begin{bmatrix} \frac{s^4+s+1}{(s^2+1)(s+1)(s+3)} & \frac{1-s}{(s^2+1)(s+3)} \\ \frac{s-1}{(s+1)(s+3)} & \frac{1-s}{(s^2+1)(s+1)(s+3)} \end{bmatrix} $$

can also be written as

\begin{align} G(s) &= \frac{1}{(s^2+1)(s+1)(s+3)} \begin{bmatrix} 1 & s+1 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} s+2 & 0 \\ 0 & s-1 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ s^2+1 & -1 \end{bmatrix} \\ &= \frac{1}{(s^2+1)(s+1)(s+3)} \begin{bmatrix} 1 & s+1 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} s+2 & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & s-1 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ s^2+1 & -1 \end{bmatrix} \end{align}

Multiplying the left unimodular matrix with the left diagonal matrix and the right diagonal matrix with right unimodular matrix and distribute the terms of the pole polynomial gives

$$ G(s) = \begin{bmatrix} \frac{s+2}{s+1} & 1 \\ 0 & \frac{1}{s+1} \end{bmatrix} \begin{bmatrix} \frac{1}{(s^2+1)(s+3)} & 0 \\ \frac{s-1}{s+3} & \frac{1-s}{(s^2+1)(s+3)} \end{bmatrix} $$

Of course you could use a different distribution of the pole polynomial and you could throw any two unimodular matrices, which are each others inverse, in-between the two two diagonal matrices. So splitting a transfer function matrix into a minimum phase and non-minimum phase part will in general not be unique.

Related Question