How to convert a transfer function into state space representation?
109 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I was trying to convert a transfer function into state space representation, but the matrices in the output are not quiet correct. The numbers are flipped like how in B 0 should be up and 1 should be down, or in C where 2 should be right and 3 should be left. How can I fix this issue?

0 commentaires
Réponses (2)
Paul
le 1 Mai 2023
Modifié(e) : Paul
le 2 Mai 2023
The state space realization of a transfer function is not unique. In fact, there are infinitely many state space realizations to choose from.
num = [0 3 2];
den = [1 4 4];
The Control System Toolbox uses one methodology
G = ss(tf(num, den))
and the Signal Processing Toolbox uses another
[A,B,C,D] = tf2ss(num,den)
Each realization has the same transfer function
tf(G)
[b,a] = ss2tf(A,B,C,D)
Any other realization can be obtained via similarity transformation. The CST provides a function ss2ss to do that
ss2ss(ss(A,B,C,D),[0 1;1 0])
tf(ans)
0 commentaires
Walter Roberson
le 1 Mai 2023
num = [0 3 2];
den = [1 4 4];
G = tf(num, den);
S = ss(G)
S.A
S.B
S.C
S.D
[A, B, C, D] = tf2ss(num, den)
At the moment I do not kow why the values do not match.
0 commentaires
Voir également
Catégories
En savoir plus sur Dynamic System Models dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!