Observer design using observability staircase form
2 次查看(过去 30 天)
显示 更早的评论
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
[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
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)'
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 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Robust Control Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!