Observer design using observability staircase form

2 views (last 30 days)
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.

Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!