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

4 views (last 30 days)
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 Dynamic System Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!