how can i properly place the poles of the observer. I recieved the following error.The "place" command could not place the poles at the specified locations. Probable causes in
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am working on an Unknown input Observer to estimate the states and the faults of my system, I faced a problem with pole placement, i tried separating the poles since it said they might be too close ,but, it did not work.
if rank(D_aug)~=rank(C_aug*D_aug) %check the first condition of existance
disp('the UIO does not exist')
else
disp('the UIO exists')
H_e = D_aug*inv((C_aug*D_aug)'*(C_aug*D_aug))*(C_aug*D_aug)' %calculate the matrix H
T_e = eye(7)-H_e*C_aug %Calculate the matrix T
A1_e = T_e*A_aug %calculate the matrix A1
rank(obsv(A1_e,C_aug)) %check the second condition of existance
disp('the matrix is obeservable')
K1_e = place(A_aug',C_aug',[-0.03+0.03j, -0.03-0.03j,-1 , -1,-3,-3,-5])' %chose the position of poles
F_obs_e = A1_e-K1_e*C_aug %calculate the matrix F
K_e = K1_e + F_obs_e*H_e %calculate the matrix K
end
xe0 = [0.3 0.1 0.2 0 0 0 0]*1e-2; %chose the initial condition
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Predictive Maintenance Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!