How do I convert a complex ss model to a real ss model

If I have a state space model something like
A = [-0.005+sqrt(2)*1i 0 ; 0 -0.005-sqrt(2)*1i];
B = [ -1+1i
-1-1i];
C = [ -1+1i -1-1i];
D = 0;
s = ss(A,B,C,D)
tf(s)
with balanced pairs of complex numbers, how do I convert this into a purely real state space model. (Using something like a 'modal' version of canon or cdf2rdf?
Note the output of tf has a small imaginary part. I'd like to get rid of that too.
(5.657+2.665e-15i)
------------------
s^2 + 0.01 s + 2

1 Comment

Alan
Alan on 20 Apr 2020
Edited: Alan on 20 Apr 2020
Reading my question back I tried this,
canon(canon(s,'companion'))
and it works! I need to check some more to see if this is a general solution. Is there a better way?

Sign in to comment.

Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Asked:

on 20 Apr 2020

Edited:

on 20 Apr 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!