convert a transfer function to controllable and observable canonical form

348 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Star Strider
Star Strider el 29 de Mzo. de 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 comentarios
Bill Tubbs
Bill Tubbs el 5 de Feb. de 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 el 4 de Sept. de 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?

Iniciar sesión para comentar.

Más respuestas (2)

TALAL alghattami
TALAL alghattami el 31 de Mzo. de 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 comentarios

Iniciar sesión para comentar.


Branislav Hatala
Branislav Hatala el 16 de Dic. de 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.

Categorías

Más información sobre Get Started with Control System Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by