convert a transfer function to controllable and observable canonical form

341 vues (au cours des 30 derniers jours)
Hi, I want to convert a transfer function to controllable and observable canonical form for the
num = [4];
den = [1 0.8 4];
Gp = tf (num , den)
Gp =
4
---------------
s^2 + 0.8 s + 4

Réponse acceptée

Star Strider
Star Strider le 29 Mar 2020
num = [4];
den = [1 0.8 4];
Gp = tf (num , den);
The canon function requesting the 'companion' canonical form directly produces the observable canonical form:
GpssObs = canon(Gp,'companion')
GpssObsA = GpssObs.A
GpssObsB = GpssObs.B
GpssObsC = GpssObs.C
GpssObsD = GpssObs.D
producing:
GpssObsA =
0 -4
1 -0.8
GpssObsB =
1
0
GpssObsC =
0 4
GpssObsD =
0
The controllable canonical form is then:
GpssConA = GpssObsA.'
GpssConB = GpssObsC.'
GpssConC = GpssObsB.'
GpssConD = GpssObsD
producing:
GpssConA =
0 1
-4 -0.8
GpssConB =
0
4
GpssConC =
1 0
GpssConD =
0
Se the documentation section on: Canonical State-Space Realizations for a full discussion.
  4 commentaires
Bill Tubbs
Bill Tubbs le 5 Fév 2021
The outputs in this answer (for observable and controllable forms) do not match my class notes or other documentation I found online, for example here and here. The differences are in the B and C matrices.
Sean Doherty
Sean Doherty le 4 Sep 2021
Star Strider. This MATLAB example contradicts the documentation (https://uk.mathworks.com/help/control/ug/canonical-state-space-realizations.html)
documentaion says observable canonical form has:
in example: n = 2, b0 = 0, bn1 = 0; b2 = 4, a0 = 1, a1 = 0.8, a0 = 0.4 should give:
B0 = [4 0]'
C0 = [0 1]
MATLAB example gives:
B0 = [1 0]'
C0 = [0 4]
Documentation is correct, MATLAB's canon() is wrong?

Connectez-vous pour commenter.

Plus de réponses (2)

TALAL alghattami
TALAL alghattami le 31 Mar 2020
for the given matric how can i designe observer and pole placment and then implement the designe in simulink
apreicate your support
deno=[1 0.8 4];
num=[4];
Gp=(num,deno)
A =[0 1 ; -4 - -0.8];
B =[0;4];
C =[1 0];
D =[0];
  3 commentaires
Star Strider
Star Strider le 1 Avr 2020
As always, my pleasure!

Connectez-vous pour commenter.


Branislav Hatala
Branislav Hatala le 16 Déc 2020
I would like to ask how can I convert SIMO system to controllable form. I did not find anything about SIMO or MIMO systems and this cannot be applied since C and B matrices will result in frong dimensions.

Catégories

En savoir plus sur Get Started with Control System Toolbox 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!

Translated by