...

Osservatore (stimatore asintotico dello stato)

by user

on
Category: Documents
11

views

Report

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
Fly UP