Filtro de Kalman

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Algoritmo recursivo del Filtro de Kalman

El filtro de Kalman es un algoritmo desarrollado por Rudolf E. Kalman en 1960 que sirve para poder identificar el estado oculto (no medible) de un sistema dinámico lineal, al igual que el observador de Luenberger, pero sirve además cuando el sistema está sometido a ruido blanco aditivo.[1] La diferencia entre ambos es que en el observador de Luenberger, la ganancia K de realimentación del error debe ser elegida "a mano", mientras que el filtro de Kalman es capaz de escogerla de forma óptima cuando se conocen las varianzas de los ruidos que afectan al sistema.

Sistema lineal en el espacio de estado[editar]

Caso de tiempo discreto:

Se tiene un sistema representado en el espacio de estado:

 \quad x_k=A_{k-1} x_{k-1}+B_{k-1} u_{k-1}+w_{k-1}

 \quad z_k=H_k x_k+v_k

donde:

\quad w_k es ruido blanco de valor promedio igual a cero y con varianza \quad Q_k en el instante k.

\quad v_k es ruido blanco de valor promedio igual a cero y con varianza \quad R_k en el instante k.

El filtro de Kalman permite estimar el estado \quad x_k a partir de las mediciones anteriores de \quad u_{k-i}, \quad z_{k-i}, \quad Q_{k-i}, \quad R_{k-i} y las estimaciones anteriores de \quad x_{k-i}.


Caso de tiempo continuo:

Se tiene un sistema representado en el espacio de estado:

\quad \frac{d}{dt}x(t)=A(t) x(t)+B(t) u(t)+w(t)

\quad z(t)=C(t) x(t)+v(t)

donde:

\quad w(t) es ruido blanco de valor promedio igual a cero y con varianza \quad Q(t) en el intervalo de tiempo descrito como t.

\quad v(t) es ruido blanco de valor promedio igual a cero y con varianza \quad R(t) en el intervalo de tiempo descrito como t.

El filtro de Kalman permite estimar el estado \quad x(t+dt) a partir de las mediciones anteriores de \quad u(t), \quad z(t), \quad Q(t), \quad R(t) y las estimaciones anteriores de \quad x(t).

Algoritmo del Filtro discreto de Kalman[editar]

El Filtro de Kalman es un algoritmo recursivo en el que el estado \quad x_k es considerado una variable aleatoria Gaussiana. El filtro de Kalman suele describirse en dos pasos: Predicción y Corrección.


Predicción

Estimación a priori

\hat{\textbf{x}}_{k|k-1} = \mathbf{\Phi}_{k} \ \textbf{x}_{k-1|k-1}

Covarianza del error asociada a la estimación a priori

\textbf{P}_{k|k-1} =  \mathbf{\Phi}_{k} \textbf{P}_{k-1|k-1} \mathbf{\Phi}_{k}^{\text{T}} + \textbf{Q}_{k}

Corrección

Actualización de la medición


\tilde{\textbf{y}}_k = \textbf{z}_k - \textbf{H}_k\hat{\textbf{x}}_{k|k-1}

Ganancia de Kalman \textbf{K}_k = \textbf{P}_{k|k-1}\textbf{H}_k^\text{T}(\textbf{H}_k \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} + \textbf{R}_k)^{-1}
Estimación a posteriori \hat{\textbf{x}}_{k|k} = \hat{\textbf{x}}_{k|k-1} + \textbf{K}_k\tilde{\textbf{y}}_k
Covarianza del error asociada a la estimación a posteriori \textbf{P}_{k|k} = (I - \textbf{K}_k \textbf{H}_k) \textbf{P}_{k|k-1}

donde:

\mathbf{\Phi}_{k}: Matriz de Transición de estados. Es la matriz que relaciona  \textbf{x}_{k|k-1} con  \textbf{x}_{k-1|k-1} en la ausencia de funciones forzantes (funciones que dependen únicamente del tiempo y ninguna otra variable).

 \textbf{x}_{k|k-1}:  El estimado apriori del vector de estados.

\textbf{P}_{k|k-1} : Covarianza del error asociada a la estimación a priori.

 \textbf{z}_k :  Vector de mediciones al momento k.

 \textbf{H}_k :  La matriz que indica la relación entre mediciones y el vector de estado al momento k en el supuesto ideal de que no hubiera ruido en las mediciones.

 \textbf{R}_k :  La matriz de covarianza del ruido de las mediciones (depende de la resolución de los sensores).

Extensibilidad[editar]

En el caso de que el sistema dinámico sea no lineal, es posible usar una modificación del algoritmo llamada "Filtro de Kalman Extendido", el cual linealiza el sistema en torno al \hat x(t) identificado realmente, para calcular la ganancia y la dirección de corrección adecuada. En este caso, en vez de haber matrices A, B y C, hay dos funciones f(x,u,w) y h(x,v) que entregan la transición de estado y la observación (la salida contaminada) respectivamente. El modelo lineal dinámico con observación no lineal y no Gaussiano se estudia en este caso. Se extiende el teorema de Masreliez (ver. C. Johan Masreliez, 1975) como una aproximación de filtrado no Gaussiano con ecuación de estado lineal y ecuación de observaciones también lineal, al caso en que la ecuación de observaciones no lineal pueda aproximarse mediante el desarrollo en serie de Taylor de segundo orden. [2]

Aplicaciones[editar]

Véase también[editar]

Notas[editar]

  1. Kalman, R. E.; A New Approach to Linear Filtering and Prediction Problems, Transactions of the ASME - Journal of Basic Engineering Vol. 82: pag. 35-45 (1960).
  2. T. Cipra & A. Rubio; Kalman filter with a non-linear non-Gaussian observation relation, Springer (1991).

Enlaces externos[editar]