convert a transfer function to controllable and observable canonical form

341 ビュー (過去 30 日間)
TALAL alghattami
TALAL alghattami 2020 年 3 月 29 日
コメント済み: Sean Doherty 2021 年 9 月 4 日
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

採用された回答

Star Strider
Star Strider 2020 年 3 月 29 日
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 件のコメント
Bill Tubbs
Bill Tubbs 2021 年 2 月 5 日
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 2021 年 9 月 4 日
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?

サインインしてコメントする。

その他の回答 (2 件)

TALAL alghattami
TALAL alghattami 2020 年 3 月 31 日
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 件のコメント
TALAL alghattami
TALAL alghattami 2020 年 4 月 1 日
thanks
Star Strider
Star Strider 2020 年 4 月 1 日
As always, my pleasure!

サインインしてコメントする。


Branislav Hatala
Branislav Hatala 2020 年 12 月 16 日
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.

カテゴリ

Help Center および File ExchangeGet Started with Control System Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by