Comments
Transcript
Osservatore (stimatore asintotico dello stato)
Osservatore (stimatore asintotico dello stato) Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato Soluzione #1: u(k) A,B A,B x(k) C y(k) ˆx(k) Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato u(k) A,B A,B x(k) C y(k) ˆx(k) Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato u(k) A,B A,B x(k) C y(k) ˆx(k) Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato Soluzione #2: u(k) A,B x(k) C ˆx(k) C A,[B L] y(k) + ˆ y(k) - Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato u(k) A,B x(k) C ˆx(k) A,[B L] C y(k) + ˆ y(k) - TEOREMA Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato In MATLAB: L=place(A’,C’,P)’; Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato Esempio MATLAB: » sys=tf([1 0],[1 2 1]); » sysd=c2d(sys,.1); » [A,B,C,D]=ssdata(ss(sysd)); » L=place(A',C',[.5 .7])’; » eig(A-L*C) ans = 0.7000 0.5000 Controllo Digitale - A. Bemporad - A.a. 2007/08 Stimatore asintotico dello stato Segue esempio MATLAB: 40 x=[-1;1]; xhat=[0;0]; 30 20 ˆx1(k) XX=x; XXhat=xhat; T=40; 10 0 -10 0 UU=.1*ones(1,T); x1(k) 5 10 15 20 25 30 35 40 for k=0:T-1, u=UU(k+1); y=C*x+D*u; yhat=C*xhat+D*u; x=A*x+B*u; xhat=A*xhat+B*u+L*(y-yhat); XX=[XX,x]; XXhat=[XXhat,xhat]; end subplot(211) plot(0:T,[XX(1,:);XXhat(1,:)]); grid title('x_1') Controllo Digitale - A. Bemporad - A.a. 2007/08