Observer design using observability staircase form

4 visualizzazioni (ultimi 30 giorni)
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.

Risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by