Escolar Documentos
Profissional Documentos
Cultura Documentos
(1)
y = 1 0 x + w. donde el t rmino de ruido v(t) tiene media cero y covarianza V = 0.09. El ruido de medici n se asume de e o media cero y covarianza W = 0.25. El objetivo es dise ar un ltro de Kalman continuo para estimar las n T variables de estado de (1). Considermos el estado inicial de la planta x(0) = 0.5 0.5 , con covarianza de este estado inicial P0 = I22 . Para describir completamente el ltro de Kalman, recurrimos a las ecuaciones x(t) = Ax(t) + Bu(t) + L(t) (y(t) Cx(t)) L(t) = P(t)CT W 1 P(t) = AP(t) + P(t)AT P(t)CT W 1CP(t) GV GT Para resolver num ricamente la ecuaci n diferencial, usamos e o [t,p]=ode45(Ej_Kal,[0 10],[0.1 0 0.1]); donde el archivo Ej_Kal contiene la siguiente funci n: o function dp=Ej_Kal(t,p) dp = zeros(3,1); % un vector columna A=[-4 2;-2 -4]; B=[0;1]; C=[1,0]; G=[1;-1]; V=0.09; W=0.025; P=[p(1),p(2);p(2),p(3)]; DP=A*P + P*A - P*C*inv(W)*C*P + G*V*G; dp(1)=DP(1,1); dp(2)=DP(1,2); dp(3)=DP(2,2); y cuyo resultado se observa en la Figura 1.
0.1
(2)
3.5
0.08
0.06
2.5
2
0.04
1.5
0.02
22 11
p 0 p
12
0.5
=p
l1
21
0 l2
0.02
5 t [s]
10
0.5
5 t [s]
10
Figura 1: Elementos de la matriz de covarianza P(t) de la soluci n num rica de la ecuaci n diferencial o e o matricial de Riccati Como resolver la ecuaci n de Riccati es difcil, consideramos la ganancia de Kalman en estado estao cionario. Los valores de P(t) de la Figura 1 sugieren una buena aproximaci n. Para poder conrmar la o
Control Automatico II
Pagina 2 de 4
existencia de una unica matriz P denida positiva soluci n de la ecuaci n algebraica de Riccati, debemos o o T ,C T ) sea estabilizable y /AT , T T ) sea detectable, donde GV GT = T T T . Como se primero vericar que (A verican ambas condiciones, la soluci n de la ecuaci n algebraica de Riccati es o o P= 0.0066 0.0088 , 0.0088 0.0153 cuya ganancia de Kalman es L= 0.2653 0.3519 (3)
0.4
0.3
0.2
0.1
0.1
0.2
0.5
5 t [s]
10
Ejemplo 2 (Filtro de Kalman discreto) Consideremos el sistema en tiempo discreto, el sistema (4) es la discretizaci n exacta del sistema 1, con perodo de muestreo T = 0.05s. o xk+1 = 0.8146405 0.0817367 0.0021886 0.0430570 x + u + v 0.0817367 0.8146405 k 0.0452456 k 0.0474342 k
(4)
y = 1 0 xk + wk , donde el t rmino de ruido v tiene media cero y covarianza V = 0.09. El ruido de medici n se asume de media e o cero y covarianza W = 0.25. Construimos un ltro de Kalman discreto para estimar la evoluci n del estado del sistema (4) cuando se o le aplica la entrada u = sen kT , con perodo de muestreo T = 0.05s, y sobre el intervalo kT [0, 10]s. Resumimos los pasos a seguir para programar el ltro de Kalman discreto. Partimos del conocimiento de las propiedades est discas, valor esperado y varianza de los ruidos vk , y wk , y la condici n inicial x0 . a o 1 Calculamos la estima a priori del estado (predicci n) o x = Ax + Buk , inicializadaconlaestimainicialx0 = E[x0 ].
T conS0 = E[x0 x0 ].
Control Automatico II
Pagina 3 de 4
3 Calculamos la estima a posteriori, corregida con la salida yk+1 xk+1 = (I Lk+1C)(Ax + Buk ) + Lk+1 . 4 Calculamos la matriz de covarianza para la pr xima iteraci n o o
T Sk+1 = [I Lk+1C][ASk AT GV GT ][I Lk+1C]T + Lk+1W Lk+1 .
% Simulacion for k=1:length(t)-1 % sistema x(:,k+1)=A*x(:,k)+B*u(k)+G*sqrt(V)*randn; y(k+1)=C*x(:,k+1)+sqrt(W)*randn; % filtro de Kalman inestacionario xp(:,k+1)=A*xh(:,k)+B*u(k); % estima a priori L=(A*S*A+G*V*G)*C*inv(C*(A*S*A+G*V*G)*C+W); xh(:,k+1)=xp(:,k+1)+L*(y(k+1)-C*xp(:,k+1)); % estima S=(eye(2,2)-L*C)*(A*S*A+G*V*G)*(eye(2,2)-L*C)+L*W*L; end
Corriendo este programa simulamos el sistema discreto y al mismo tiempo vamos calculando la estima del estado. La Figura 3 muestra la evoluci n de los estados del sistema y los estados estimados por el ltro o de Kalman inestacionario. Puede verse como las variables ruidosas son ltradas por el estimador, dando versiones suavizadas de la evoluci n de los estados luego de un breve transitorio de aproximadamente o 0.5 s.
Control Automatico II
Pagina 4 de 4
0.6
0.4
x2 (t) x2 (t)
0.2
x1 (t)
0.2
x1 (t)
0.4
0.6 0 1 2 3 4 5 6 7 8 9 10
t[s]