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 CenterFile Exchange에서 Robust Control Toolbox에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by