Observer design using observability staircase form

2 ビュー (過去 30 日間)
J AI
J AI 2021 年 11 月 2 日
My original system (A, B, C, D) is observable, however, when I convert it to observability staircase form using obsvf function, the new system (Abar, Bbar, Cbar, Dbar) becomes observable.
A = [0, 1, 0;
-807130.825379001, -1372.23052244462, 0.0223832471519321;
350984563219.344, -417971392224.394, -277869.165644330];
B = [0;
0;
276502.948306206];
C = [0,0,1];
D = 0;
Obsv_matrix = obsv(A,C);
if rank(Obsv_matrix) == size(A,1)
disp('Original system is observable');
else
disp('Original system is unobservable');
end
Original system is unobservable
[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C);
Dbar = D;
Obsv_new = obsv(Abar,Cbar);
if rank(Obsv_new,1e-10) == size(Abar,1)
disp('Modified system is observable');
else
disp('Modified system is unobservable');
end
Modified system is observable
My question is: if I design an observer gain Lbar for the new system using:
desired_poles = [-150-150*j, -150+150*j, -150];
Lbar = place(Abar',Cbar',desired_poles)'
Lbar = 3×1
1.0e+05 * 0.0000 -0.0000 -2.7879
is it possible to use the transformation matrix T to transform Lbar to find L that will be the observer gain for the original system? If not, what is the (intuitive) purpose of doing this transformation in the first place?
Thanks for your help in advance. Really appreciate any input.

回答 (0 件)

カテゴリ

Help Center および File ExchangeRobust Control Toolbox についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by