# MIMO state space <--> MIMO transfer function - How?

Normally I use the controllability and observability canonical forms to transform a transfer function into a state space model.

I also find the poles, zeros and gain from a state space model to transform the transfer function into a transfer function.

But this is only in SISO-case. How would it be if I have a MIMO state space model and I want to transform that into a MIMO transfer function matrix?

I know that if the column length of the $B$-matrix is $2$ and the row length of $C$-matrix is $2$, then I will have a transfer function matrix of the dimension $2 \times 2$.

So can I still use the controllability and observability canonical forms to compute the MIMO transfer function matrix, into a MIMO state space model, just by using only one column of $B$-matrix and one row of the $C$-matrix at each time?

And if I want to transform a MIMO state space model into a MIMO transfer function, I need to find the poles, zeros and gain for each row and column from $C$ and $B$ matrix?

Are that correct?

For any continuous time state space model, so SISO, MISO, SIMO or MIMO you can always use the following formula to convert the state space model into a transfer function matrix

$$G(s) = C (s\,I - A)^{-1} B + D.$$

• How do I do that numericaly ? Oct 6, 2017 at 17:52
• It probably not working to do numerical computations with it? Oct 7, 2017 at 8:19
• @DanielMårtensson In order to evaluate this numerically you would need to be able to calculate the determinant and adjugate of $s\,I - A$. Both require determinants which is the same as the characteristic polynomial. So it maybe possible to solve it with solving a generalized eigenvalue problem of $\lambda\,E-F$, since it would be just a product $s$ minus the eigenvalues. But if $E$ is singular then you would also need to find a gain. And for this I am not totally sure how to find that. Oct 8, 2017 at 13:57
• Well, I think I need to be glad if I can at least SS -> TF in MIMO case now. I use zpk values from MIMO SS to create my mimo TF Oct 8, 2017 at 15:20

The typical algorithm is Numerically stable algorithm for transfer function matrix evaluation by Varga, Sima DOI:10.1080/00207178108922980 which can be summarized as iterating over every row/cols of $B$ and $C$ to get SISO Transfer representations via $c_i(sI-A)^{-1}b_j+d_{ij}$. Individual elements would be minimal (if the original model was minimal to start with) but it does not guarantee the minimality of the overall model as there can be cancellations with transmission zeros.

I've implemented this here for some time ago. I already see that I have to refactor some parts of it apparently.

• But can I not use the connicial forms to do that? Mar 20, 2018 at 17:17
• @DanielMårtensson The canonical form works for SISO or SIMO systems. For MIMO systems you are not guaranteed to bring it to the required form. Think of the B matrix. You have an A matrix in the companion form. Then where should the entries of B at each column should go? All at the bottom? But that can't happen if B is not rank 1 matrix. Mar 20, 2018 at 21:16
• @Precusse Ok! I will try that numerical method to find the MIMO state space model of MIMO transfer function. Mar 21, 2018 at 9:15

If you realize a MIMO linear system channel-by-channel using canonical forms for each pair of 1 input variable to 1 output variable, the realization may be of larger order than the minimum. This subject is covered in Linear System Theory, 2/e - Rugh, Wilson J, Chapter 13, and many other books.

• You mean that I can use canonical forms to generate a MIMO State space model to transfer function matrix just by takeing column against rows for B and C matrix? Oct 7, 2017 at 14:35
• Thanks! This solved the problem ! Is that a good book for theory ? When I mean theory, I mean that the book describe the methods so good, that it can be a reference for matlab control toolbox? Oct 7, 2017 at 21:27
• No, you should not realize an p by q MIMO system as pq SISO systems. You can do it, but realization may not be controllable or observable. Rugh is a good book. Perhaps others are more detailed, such as CT Chen's or Kailath's.
– Pait
Oct 9, 2017 at 11:56
• I am only converting SS to TF. Oct 9, 2017 at 12:38
• That's the opposite of what you wrote before.
– Pait
Oct 10, 2017 at 16:42