Você está na página 1de 9

FILTROS DE KALMAN

Observadores de Estado
La representacin general de un observador de estado es presentado en la figura 3.1, este
observador estima el valor dinmico de los estados, a partir del comportamiento de la salida
del sistema, y de las seales de forzamiento, para lograr esto, es necesario que el sistema
cumpla con la condicin de observabilidad.

Figura 3.1: Definicin de observador

[Domnguez et al, 2006]El concepto de observabilidad consiste en:


Se dice que un punto del espacio de estados x 0 es observable en [t0,t1] si, siendo este el
estado inicial en el tiempo t0, x0 = x(t0), el conocimiento de la entrada u(t) en el intervalo
[t0,t1] y de la salida y(t) en el mismo intervalo, permiten determinar que el estado inicial en
el instante de tiempo t0, es x0.
La importancia del concepto de observabilidad radica en que, conociendo el estado inicial
del sistema, es posible determinar los valores posteriores a los cuales el estado evoluciona
hasta llegar al estado actual.
Si definimos a un sistema lineal e invariante en el tiempo por su representacin en variables
de estado, tenemos que:
dx(t)
=Ax ( t ) + Bu(t)
dt

(3.1)

y (t )=Hx (t)

(3.2)

Donde A es una matriz cuadrada definida por los parmetros del sistema, B es el vector de
entradas, C es el vector de salidas, x(t) es el vector de estados, u(t) es el vector de entradas
de prueba y y(t) es el vector de salidas.
Podemos entonces implementar el observador de estados al sistema segn el diagrama
siguiente

Figura 3.1: Diagrama de bloques del observador

Cuya ecuacin quedara como:


d x e (t)
=( ALH ) x e ( t )+ Bu ( t )+ LHx (t)
dt

(3.3)

Donde xe es el valor del estado estimado.

Podemos entonces reescribir la formula # de la siguiente forma:


d x e (t )
= Ax(t )+ Bu ( t ) + LH ( x ( t )x e ( t ) )
dt

(3.4)

De la ecuacin anterior, podemos resaltar la matriz HC, cuyos valores pueden modificar el
comportamiento del estado estimado, ms adelante se ver la influencia de esta matriz
dentro del filtro de Kalman.
Procesos aleatorios
Un proceso aleatorio es cualquier proceso dinmico en el que actan entradas aleatorias,
que afectan al proceso y/o a la medicin las variables. Para poder describir un proceso
aleatorio es necesario conocer herramientas y conceptos para el anlisis de variables
aleatorias, para este trabajo solo se explicaran algunos conceptos fundamentales para el
entendimiento de los procesos aleatorios.
Se consideran varios procesos aleatorios X(t),Y(t) y Z(t), podemos establecer la matriz de
Covarianza de la siguiente forma:

X ( t ) mX (t )
Y ( t )mY (t)
Z ( t )mZ ( t)
t

Y ( t )mY (t) ( X ( t )m X (Z ( t )mZ (t)) ]


C XY Z ( t )=E

(3.5)

Esta matriz se define como Matriz de Covarianza o de Primer Orden, cuando los valores
medios son iguales a cero (mX, mY, mZ = 0).

X (t)
Y (t ) X (t ) Z (t ) X (t )
2
C XYZ ( t )=E X ( t ) Y ( t )
Y (t)
Z (t ) Y (t )
2
X (t ) Z (t) Y (t) Z (t)
Z (t )

(3.6)

Tambin podemos definir una matriz de autocovarianza o de segundo orden si ahora


tomamos dos instantes de tiempo distintos t1 y t2 y armamos la matriz de autocovarianza
como sigue

X ( t 1 ) X ( t2 ) Y ( t1 ) X ( t 2 ) Z ( t 1 ) X ( t2 )
C XYZ ( t 1 , t 2) =E X ( t 1) Y ( t 2 ) Y ( t 1 ) Y ( t 2 ) Z ( t 1) Y ( t 2 )
X ( t 1 ) Z ( t2 ) Y ( t1 ) Z ( t 2 ) Z ( t 1 ) Z ( t2 )

(3.7)

Queda definido entonces el proceso dinmico aleatorio discreto dado por las siguientes
ecuaciones:
x t+1 =A t x t + Bt ut +Gt wt

(3.8)

y t =Ct x t + v t

(3.9)

Donde ut es cero, Gt es una matriz real, wt y vt son vectores definidos por los ruidos de
proceso y de medicin respectivamente.
Si asumimos que las esperanzas de wt y vt:
E [ wt ] =E [ vt ] =0
Con las siguientes covarianzas
C w ( t , s ) =E [ wtwsT ]={ 0 ; t s
Q t ; t=s
C v ( t , s ) =E [ v tv sT ] ={ 0 ; t s
Rt ; t=s
C wv ( t , s )=E [ w tv sT ]=0 ; t , s
Filtro de Kalman
Este filtro es llamado as gracias a Rudolph E. Kalman que, en 1960, publico su trabajo
describiendo una solucin recursiva para el problema de filtrado lineal de datos discretos
[Kalman, 1960].
El filtro de Kalman es esencialmente un arreglo de ecuaciones matemticas que
implementan un estimador tipo corrector-predictor que minimiza el error de covarianza
estimado, siempre y cuando se cumplan ciertos criterios.
El problema del que se encarga el filtro de Kalman es el de estimar el estado x de un
proceso en tiempo discreto que es gobernado por una ecuacin lineal estocstica en
diferencias.
x k = Axk1 + Buk +w k1
Con una ecuacin de medicin descrita por la siguiente ecuacin.

(3.10)

y k =Hx k + v k

(3.11)

Las variables wt y vt representan el ruido de proceso y de medicin respectivamente. Estas


se asumen que son independientes entre s (ruido blanco) y que tienen una distribucin
normal de probabilidad
p ( w ) N (0, Q)

(3.12)

p ( v ) N ( 0, R)

(3.13)

Las ecuaciones (3.10) y (3.11) representan al estado del sistema en el tiempo, la matriz A
dada por el sistema puede o no cambiar con el tiempo, sin embargo, para la aplicacin del
algoritmo se supondr que el sistema no cambia con el tiempo.
El algoritmo del filtro de Kalman se basa en el conocimiento del sistema dado por las
ecuaciones que describen sus estados incluyendo el ruido que perturba al sistema y el ruido
de las mediciones. Las ecuaciones del filtro de Kalman se dividen en dos partes: las
ecuaciones de actualizacin del estado y las ecuaciones de correccin de la medicin.

Ecuaciones de actualizacin de estado

Ecuaciones de actualizacin de medicin

x^
x k1 +B u k
k =A ^

Pk H + R
H

T
Pk H /
K k =

T
P
k = A P k1 A + Q

x^ k
y k H
^x
k +Kk
^x k =
P
k
Pk =( I K k H)

Notamos que las ecuaciones de actualizacin de estado son las que proyectan las
estimaciones del estado y de la covarianza desde un tiempo k 1 hasta el tiempo k
las matrices A y B estn dadas por el modelo del sistema, P es la matriz de covarianza y Q
es la matriz del ruido de proceso.
Las ecuaciones de actualizacin de medicin se encargan de corregir el estado estimado a
partir de las mediciones del sistema y del ruido de medicin, por medio de la ganancia K
llamada ganancia de Kalman que vara segn la matriz de covarianza y reducir el error.
El filtro de Kalman funciona bien para sistemas lineales invariantes en el tiempo, sin
embargo, si la condicin de linealidad no se cumple, es necesario ajustar el filtro de modo
que se puede aplicar a sistemas no lineales, es entonces que se hace uso del filtro de
Kalman extendido.
Filtro de Kalman extendido
Este filtro es simplemente una extensin de uso del filtro de Kalman que puede aplicarse a
sistemas no lineales, la herramienta de la que hace uso es la linealizacin de sistemas no
lineales, con la que se puede calcular las matrices A, y H a partir de la descripcin implcita
del sistema x =f ( x , u , t) y y=h ( x , t ) . La linealizacin que se lleva a cabo requiere
de ciertas suposiciones para calcular de forma correcta las matrices A y H, puesto que se
tiene que linealizar al sistema en un punto de operacin, donde este sistema operar con
pequeas variaciones, que pueden suponerse inexistentes.

El algoritmo aplicado por el filtro de Kalman extendido est dado por las siguientes
ecuaciones:
Ecuaciones de actualizacin de estado
^x
x k1 ,u k , 0)
k =f (^

T
T
P
k = A P k1 A + W k QW k

Ecuaciones de actualizacin de medicin

Pk H +V k R V k
H

T
Pk H /
K k =

x^
x k , 0))
k + K k ( y k h( ^
^x k =

P
k
Pk =( I K k H)

Wk

Dentro de este algoritmo, las matrices

Vk

pueden o no incluirse, dependiendo

de si el valor esperado del ruido de proceso y de medicin cambia con el tiempo.


La caracterstica que distingue al filtro de Kalman extendido del filtro de Kalman normal,
es el uso del sistema no lineal para el clculo de la actualizacin del estado y de la
diferencia de las mediciones, sin embargo, no es la nica diferencia entre estos dos filtros,
pues ambos requieren de las matrices A y H, con lo que se hace necesario linealizar el
sistema y obtener las matrices.
Linealizacin
Para la implementacin del filtro de Kalman extendido es necesario linealizar el sistema y
encontrar las matrices A, B y H. Suponemos un sistema no lineal dado por las siguientes
ecuaciones:
x =f (x , u , t)

(3.14)

y=h ( x , t)

(3.15)

Podemos aproximar estas ecuaciones con la serie de Taylor obteniendo:

f ( x ,u , t )=f ( X 0 ,U 0 , t 0 ) +

f ( x,u,t)
x

h ( x , t )=h ( X 0 , t 0 ) +

Donde

X 0 , U 0 ,t 0

x+

X ,U

h (x , t)
x

X ,U

f ( x ,u , t )
u

X ,U

x+ R(n> 1)

u+ R ( n>1 )

(3.16)

(3.17)

son los valores donde se evalan tanto la funciones como las

derivadas, conocidos como puntos de operacin nominal o puntos de equilibrio. Estos


puntos de operacin son los puntos aproximados donde se desea que el sistema opere,
suponiendo que los cambios en estos puntos son lo suficientemente pequeos, de modo que
no altere mucho el comportamiento del sistema al variar estos puntos.

Si consideramos que el sistema est dado por

n ecuaciones de estado con

n variables

de estado, tendremos que derivar cada una de las ecuaciones con respecto a cada una de las
variables, de este modo se obtiene una matriz de nxn en las que cada uno de los
elementos de la matriz es el valor de la derivada evaluada en el punto de operacin. La
siguiente ecuacin ejemplifica esta matriz.

[
[

| | | |
| | | |
f 1
x1

f 2
A= x 1

X ,U

f1
x2

X ,U

f2
x2

X,U

X ,U

X,U

| | | |
f n
x1

fn
x1

X,U

| |
| |

]
]

f1
xn

X,U

f2
x2

X ,U

| |
fn
xn

(3.18)

X,U

De igual forma podemos obtener la matriz B, derivando las funciones con respecto a cada
una de las variables de entrada u y evaluando en el punto de operacin.

| | | |
| | | |
f 1
u1

f 2
B= u1

X, U

f 1
u2

X, U

f 2
u2

X ,U

X, U

f n
u1

X ,U

| | | |
fn
u1

X ,U

| |
| |
f1
un

X ,U

f2
u2

X ,U

| |
fn
un

X ,U

Para el caso de la matriz de salida H, se deriva la funcin de salida


a los estados

x para cada ecuacin de salida.

(3.19)

h( x , t) con respecto

| | | |
| | | |
h 1
x1

h 2
H= x 1

X ,U

h1
x2

X ,U

h2
x2

X,U

X ,U

hn
x1

X,U

| | | |
h n
x1

X ,U

| |
| |
h1
xn

X ,U

h2
x2

X ,U

| |
hn
xn

X ,U

(3.20)

Podemos sustituir estas matrices en las ecuaciones (3.1) y (3.2) para obtener el sistema
linealizado. Se tiene que entender que el sistema linealizado se comporta como el sistema
original en los puntos cercanos al punto de operacin. Cabe mencionar que la linealizacin
puede fallar en puntos alejados del punto de operacin, por lo que es necesario recalcular
las matrices linealizadas del sistema.

Você também pode gostar