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
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Predictive Maintenance Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!