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.
Rudolf Emil Kalman, coinventor y desarrollador del filtro de Kalman.Algoritmo recursivo del filtro de Kalman
Ya que el filtro de Kalman es un algoritmo recursivo, puede correr en tiempo real usando únicamente las mediciones de entrada actuales, el estado calculado previamente y su matriz de incertidumbre, y no requiere ninguna otra información adicional.
El filtro de Kalman tiene numerosas aplicaciones en tecnología. Una aplicación común es la guía, navegación y control de vehículos, especialmente naves espaciales. Además, se utiliza ampliamente en campos como el procesamiento de señales y la econometría.
Historia
editar
El método de filtrado recibe el nombre del emigrante húngaro Rudolf E. Kálmán, aunque Thorvald Nicolai Thiele [2][3] y Peter Swerling desarrollaron un algoritmo similar. Richard S. Bucy, del Laboratorio de Física Aplicada de Johns Hopkins contribuyó a la teoría, causando que a veces se le conozca como el filtrado de Kalman–Bucy. Kalman se inspiró en derivar el filtro de Kalman aplicando variables de estado al problema del filtrado de Wiener.[4] Stanley F. Schmidt es generalmente acreditado con el desarrollo de la primera implementación del filtro de Kalman. Se dio cuenta de que el filtro puede ser dividido en dos partes distintas, una para los lapsos de tiempo entre las salidas de los sensores y otra para la incorporación de mediciones.[5] Fue durante una visita de Kalman al Centro de Investigación Ames de la NASA que Schmidt vio la aplicabilidad de las ideas de Kalman al problema no lineal de estimación de trayectorias para el programa Apolo, lo que llevó a su incorporación en la computadora de navegación del Apolo.[6]
Este filtro digital a veces es denominado como el filtro de Stratonovich–Kalman–Bucy porque es un caso específico de un filtro no lineal más general desarrollado por el matemático soviético Ruslan Stratónovich. De hecho, algunas de las ecuaciones del filtro lineal aparecieron en artículos de Stratónovich publicados antes del verano de 1961, cuando Kálmán se reunió con Stratonovich durante una conferencia en Moscú.
El filtrado de Kalman fue descrito y desarrollado de forma parcial en artículos técnicos por Swerling (1958), Kálmán (1960) y Kálmán y Bucy (1961).
Los filtros de Kalman han sido vitales en la implementación del sistema de navegación en submarinos nucleares balísticos de la Marina de los Estados Unidos, también en los sistemas de guía y navegación de misiles de crucero como el Tomahawk de la Marina de Estados Unidos y el misil de crucero lanzado desde el aire de la Fuerza Aérea de Estados Unidos. También es usado en los sistemas de guía y navegación de vehículos de lanzamiento reutilizables y el control de actitud y navegación de naves espaciales que están en la Estación Espacial Internacional.[7]
Descripción general del cálculo
editar
El filtrado de Kalman utiliza el modelo dinámico de un sistema (ej. Leyes físicas del movimiento), las entrada de control conocidas de dicho sistema y múltiples mediciones secuenciales (como las de los sensores)para formar un estimado de las cantidades variables del sistema (su estado) que es mejor que el estimado obtenido usando únicamente una medición. Por eso, es un algoritmo común de fusión de sensores y de datos.
Los datos ruidosos de los sensores, las aproximaciones en las ecuaciones que describen la evolución del sistema y los factores externos que no son contemplados limitan la precisión con la que es posible saber el estado del sistema. El filtro de Kalman maneja de forma efectiva la incertidumbre gracias al ruido en los datos de los sensores y, hasta cierto grado, los factores externos aleatorios. El filtro de Kalman produce una estimación del estado del sistema como un promedio entre el estado predicho del sistema y una nueva medida, usando un promedio ponderado. El propósito de los pesos es que los valores (menores) son más "confiables". Los pesos se calculan con la covarianza, que es una medida de la incertidumbre estimada en la predicción del estado del sistema. El resultado de este promedio ponderado es una estimación nueva del estado que se encuentra entre el estado predicho y el estado medido, y tiene una incertidumbre estimada menor que cualquiera de los dos por separado. Este proceso se repite en cada paso de tiempo, donde la estimación nueva y su covarianza informan la predicción usada en la iteración que sigue. Esto significa que el filtro de Kalman funciona de manera recursiva y solo requiere la última “mejor suposición” del estado del sistema, en lugar de toda la historia, para calcular un nuevo estado.
La certeza de las mediciones y la estimación del estado actual son consideraciones importantes. Es común discutir la respuesta del filtro en términos de ganancia del filtro de Kalman. Las ganancias de Kalman son el peso dado a las mediciones y el estimado actual puede "ajustarse" para alcanzar un desempeño particular. Con una ganancia alta, el filtro coloca más peso a las mediciones más recientes y se adapta a ellas más rápido. Con una ganancia baja, el filtro se ajusta más de cerca a las predicciones del modelo. En los extremos, una ganancia alta (cerca a uno) dará una trayectoria estimada más alta, mientras que una ganancia baja (cerca a cero) suavizará el ruido, pero bajará la capacidad de respuesta.
Al realizar los cálculos del filtro (como se discute más adelante), la estimación del estado y las covarianzas están codificadas en matrices por las múltiples dimensiones involucradas en una serie de cálculos. Esto permite representar relaciones lineales entre diferentes variables de estado (como posición, velocidad y aceleración) en cualquiera de los modelos de transición o covarianzas.
Ejemplo de aplicación
editar
Como un ejemplo de aplicación, consideremos el problema de determinar la ubicación exacta de un camión. El camión puede estar equipado con una unidad GPS que nos brinda una estimación de la posición con un margen de error de unos metros. El estimado del GPS probablemente sea ruidosa; las lecturas “saltan” rápidamente, aunque se mantienen dentro de unos pocos metros de la posición real. Además, dado que se espera que el camión siga las leyes de física, su posición también se puede estimar integrando su velocidad a lo largo del tiempo, lo cual termina llevando un registro de las revoluciones de las ruedas y el ángulo del volante. Esta técnica se conoce como navegación inercial (dead reckoning). Normalmente la navegación inercial proporcionará una estimación muy suave de la posición del camión, pero se desviará con el tiempo a medida de que acumulen errores pequeños.
En este ejemplo, se puede considerar que el filtro de Kalman opera en dos fases distintas: predicción y actualización. En la fase de predicción, la posición se modifica de acuerdo con las leyes físicas de movimiento (el modelo dinámico o de "transición de estados"). No solo calculará una nueva estimación de la posición, también se calculará una nueva covarianza. Tal vez esa covarianza sea proporcional a la velocidad del camión porque tenemos menos certeza sobre la precisión de la estimación de posición por la navegación oficial altas velocidades, pero mucha en bajas velocidades. Luego, en la fase de actualización, se toma una posición del camión a partir de la unidad GPS. Junto con esta medición llega cierta incertidumbre y su covarianza relativa con relación a la predicción de la fase anterior determina cuanto influirá la nueva medición en la predicción actualizada. Idealmente, como las posiciones de la navegación inercial tienden a desviarse de la posición real, las medidas del GPS deberían "jalar" a las estimaciones de la posición hacia la posición real, pero sin perturbarla al punto de volverse ruidosa y saltar rápidamente.
Descripción técnica y contexto
editar
El filtro de Kalman es un filtro recursivo eficiente que estima el estado interno de un sistema dinámico lineal a partir de una serie de mediciones ruidosas. Se utiliza en un amplio rango de aplicaciones en ingeniería y econometría desde el radar y visión por computadora hasta la estimación de modelos macroeconómicos estructurales, [8] [9] y es un tema importante en la teorías de control e ingeniería de sistemas de control. Juntos con el regulador lineal-cuadrático (LQR), el filtro el Kalman resuelve el problema de control lineal–cuadrático–gaussiano (LQG). El filtro de Kalman, el regulador lineal-cuadrático y el controlador lineal–cuadrático–gaussiano son soluciones a los problemas más fundamentales de la teoría de control.
En la mayoría de las aplicaciones, el estado interno es más grande (tiene más grados de libertad) que las pocas variables "observables" que se miden. Sin embargo, al combinar una serie de mediciones, el filtro de Kalman puede estimar todo el estado interno.
Para la teoría de Dempster–Shafer, cada ecuación de estado o de observación se considera un caso especial de una función de creencia lineal, y el filtrado de Kalman es una caso especial de la combinación de funciones de creencia lineales en un árbol de unión o árbol de Markov. Métodos adicionales incluyen el filtrado por creencias que utiliza actualizaciones bayesianas o basadas en evidencia para las ecuaciones de estado.
Una gran variedad de filtrados de Kalman existen en la actualidad: La formulación original de Kalman —ahora llamado el filtro de Kalman "simple" —, el filtro de Kalman–Bucy, el filtro "extendido" de Schmidt, el filtro de información, y una variedad de filtros de "raíz cuadrada" que fueron desarrollados por Bierman, Thornton y muchos otros. Quizá el filtro "simple" de Kalman más utilizado sea el bucle de enganche de fase (phase-locked loop, PLL), que ahora es ubicuo en radios, especialmente en radios de modulación de frecuencia (FM), televisores, receptores de comunicaciones satelitales, receptores de comunicaciones satelitales, sistemas de comunicación en el espacio exterior y básicamente cualquier otro equipo electrónico de comunicaciones.
Modelo de sistema dinámico subyacente
editar
El filtrado de Kalman está basado en sistemas dinámicos lineales discretizados en el dominio del tiempo. Son modelados con una cadena de Markov construida sobre operadores lineales perturbados por errores que pueden incluir ruido gaussiano. El estado del sistema objetivo se refiere a la configuración real del sistema (aunque oculta) de interés, que se representa como un vector de números reales. En cada incremento de tiempo discreto, un operador lineal se aplica al estado actual para generar un estado nuevo, con un poco de ruido mezclado y, opcionalmente, algo de información de los controles del sistema si se conocen. Luego, otro operador lineal mezclado con más ruido genera las salidas medibles (observaciones) a partir del estado verdadero ("oculto").
El filtrado de Kalman puede considerarse análogo al modelo oculto de Markov, con la diferencia de que las variables de estado ocultas tienen valores en un espacio continuo, a diferencia del espacio de estados discretos del modelo oculto de Markov. Hay una analogía fuerte entre las ecuaciones del filtro de Kalman y las del modelo oculto de Markov. Una revisión de este y otros modelos se presenta en Roweis y Ghahramani (1999)[10] y en Hamilton (1994), Capítulo 13.[11]
Para usar el filtro de Kalman para estimar el esetado interno de un proceso dado únicamente la secuencia de las observaciones ruidosas, es necesario modelar el proceso de acuerdo al siguiente marco. Esto significa especificar las matrices para cada paso del tiempo , de la siguiente forma:
, el modelo de transición de estado;
, el modelo de observación;
, la covarianza del ruido del proceso;
, la covarianza del ruido de la observación;
y a veces , el modelo de entrada de control; si se incluye entonces también existe
, el vector de control, que representa la entrada de control en el modelo de entrada de control.
Como se observa, es común en muchas aplicaciones que las matrices , , , , y sean constantes en el tiempo, en cuyo caso se puede omitir el índice .
El modelo del filtro de Kalman asume que el estado verdadero en el tiempo evoluciona desde el estado según:
Donde:
es el modelo de transición de estado, que se aplica al estado previo xk−1;
es el modelo de entrada de control, que se aplica al vector de control ;
es el ruido del proceso, que se asume proviene de una distribución normal multivariante con media cero, , y covarianza : . Si es independiente del tiempo, siguiendo a Roweis y Ghahramani,[10] se escribe en lugar de para enfatizar que el ruido no tiene conocimiento del tiempo.
En el tiempo una observación (o medición) del estado verdadero según:Donde:
es el modelo de observación, que mapea el espacio del estado verdadero al espacio observado y
es el ruido de observación, que se asume como ruido blanco gaussiano con media cero y covarianza : .
De forma análoga a , se puede escribir en lugar de si s independiente del tiempo
El estado inicial y los vectores de ruido en cada paso se asumen mutuamente independientes.
Muchos sistemas dinámicos en tiempo real no se ajustan a este modelo. De hecho, la dinámica no modelada puede degradar seriamente el rendimiento del filtro, incluso cuando se supone que debe funcionar con señales estocásticas desconocidas como entradas. La razón es que el efecto de la dinámica no modelada depende de la entrada y, por lo tanto, puede llevar al algoritmo de estimación a la inestabilidad (divergencia). Por otro lado, señales de ruido blanco independientes no harán que el algoritmo diverja. El problema de distinguir entre ruido de medición y dinámica no modelada es complicado y se trata como un problema de teoría de control usando control robusto. [12][13]
Detalles
editar
El filtro de Kalman es un estimador recursivo. Esto significa que solo se necesita el estado estimado del paso del tiempo anterior y la medición actual para calcular el estado actual. En contraste con las técnicas de medición por lotes, no se necesita historial de las observaciones o estimaciones. En lo que sigue la notación https://wikimedia.org/api/rest_v1/media/math/render/svg/c3eff5422264edcbe21aed62839528629f28dc6a representa el estimado de en el tiempo n dadas las observaciones hasta e incluyendo el tiempo m ≤ n.
El estado del filtro está representado por dos variables:
, la media de la estimación del estado a posteriori en el tiempo k, dadas las observaciones hasta e incluyendo el tiempo k.
, la matriz de covarianza de la estimación a posteriori (una medida de la precisión estimada de la estimación del estado).
La estructura del algoritmo del filtro de Kalman es similar a la del filtro alfa-beta. El filtro de Kalman puede ser escrito con una sola ecuación; sin embargo, se suele conceptualizar en dos fases distintas: "Predicción" y "Actualización". La fase de predicción utiliza la estimación del paso de tiempo anterior para producir una estimación del estado en el paso de tiempo actual. Cada estado corresponde a un punto del espacio de estado. Esta predicción del estado estimado también es conocida como estimación del estado a priori porque, aunque es una estimación del estado en el paso de tiempo actual, no incluye información de las observaciones de ese mismo paso. En la fase de actualización la innovación (el residuo previo al ajuste), es decir, la diferencia entre la predicción a priori y la información de observación actual, se multiplica por la ganancia de Kalman óptima y se combina con la estimación previa del estado para refinar la estimación. Esta estimación mejorada basada en la observación actual se denomina estimación del estado a posteriori.
Típicamente ambas fases se alternan, con la predicción avanzando el estado hasta la siguiente observación programada y, la actualización incorporando dicha actualización. Sin embargo, esto no es necesario; si una observación no está disponible por alguna razón, la actualización puede ser saltada y realizar múltiples procedimientos de predicción. De forma similar, si múltiples observaciones independientes están disponibles al mismo tiempo, múltiples procedimientos de actualización pueden ser realizadas (normalmente con diferentes matrices de observación Hk). [14][15]
Predicción
editar
Estimación del estado predicho (a priori)
Covarianza de la estimación predicha (a priori)
Actualización
editar
Innovación o residuo previo al ajuste de la medición
Covarianza de la innovación (o residuo previo al ajuste)
Ganancia óptima de Kalman
Estimación del estado actualizada (a posteriori)
Covarianza de la estimación actualizada (a posteriori)
Residuo posterior al ajuste de la medición
La fórmula de la covarianza de la estimación actualizada (a posteriori) mostrada arriba es válida para la ganancia óptima Kk que minimiza el error residual, y esta forma es la más utilizada en aplicaciones. La demostración de las fórmulas está en la sección de derivaciones, donde también se encuentra la fórmula válida para cualquier Kk.
Una forma más intuitiva de expresar la estimación del estado actualizado () es:
Esta expresión nos recuerda a una interpolación lineal: para t entre [0,1]. En nuestro caso:
t, es la matriz que toma valores desde cero (cuando el sensor tiene mucho error) hasta I o una proyección (cuando el error es bajo).
a, es el estado interno estimado del modelo.
b, es el estado interno estimado a partir de la medición, suponiendo que es no singular.
Esta expresión también se asemeja al paso de actualización del filtro alfa-beta.
Invariantes
editar
SI el modelo es correcto, y los valores de y reflejan los valores del estado inicial, entonces se preservan los siguientes invariantes:
Donde es el valor esperado de . Eso quiere decir que las estimaciones tienen un error medio de cero. Además:
por lo tanto, las matrices de covarianza reflejan con precisión la covarianza de las estimaciones.
Estimación de las covarianzas del ruido Qk y Rk
editar
la implementación práctica del filtro de Kalman suele ser difícil debido a la dificultad de obtener una buena estimación de las matrices de covarianza del ruido Qk y Rk. Se han realizado varias investigaciones para estimar estas covarianzas de los datos. Un método práctico para realizar esto es la técnica de mínimos cuadrados con autocovarianza (ALS) esta técnica usa autocovarianzas con retardo temporal de datos de operación rutinaria para estimar las covarianzas. [16][17] El código en GNU Octave y Matlab para calcular las matrices de covarianza del ruido utilizando la técnica ALS está disponible en línea bajo la Licencia Pública General GNU (GPL).[18]
Se ha propuesto el Filtro de Kalman de Campo (FKF), un algoritmo bayesiano que permite la estimación simultánea del estado, parámetros y covarianza del ruido. [19] El algoritmo FKF tiene una formulación recursiva buena, convergencia observada y una complejidad relativamente baja, lo que sugiere que puede ser una alternativa valiosa a los métodos ALS. Otro enfoque es el filtro de Kalman optimizado (OKF) que considera las matices de covarianza no como representaciones del ruido, sino como parámetros destinados a lograr la estimación más precisa del estado. Ambas perspectivas coinciden bajo los supuestos del KF, pero a veces se contradicen bajo los supuestos del KF. Por lo tanto, la estimación de estados mediante OKF resulta más robusta frente a inexactitudes en el modelado.
Optimalidad y rendimiento
editar
El filtro de Kalman provee una estimación de estado óptima en casos donde a) el modelo coincide perfectamente con el sistema real, b) el ruido de entrada es "blanco" (no correlacionado), y c) las covarianzas del ruido son conocidas exactamente. El ruido correlacionado también puede ser tratado con el filtro de Kalman [20] Se han propuesto varios métodos para la estimación de las covarianzas del ruido en las últimas décadas, incluido ALS mencionado en la sección anterior. De forma general, si los supuestos del modelo no coinciden con el sistema real perfectamente, la estimación óptima del estado no se obtiene necesariamente fijando Qk y Rk a las covarianzas del ruido. En ese caso, los parámetros Qk y Rk pueden ajustarse de forma explícita para optimizar la estimación del estado, por ejemplo, usando aprendizaje supervisado estándar.
Después de establecer las covarianzas, es útil evaluar el rendimiento del filtro; es decir, si es posible mejorar la calidad de la estimación del estado. Si el filtro de Kalman trabaja de forma óptima, la secuencia de innovación (el error de predicción de la salida) es ruido blanco; por lo tanto, la propiedad de blancura de las innovaciones mide el rendimiento del filtro. se pueden usar diferentes métodos para este propósito.[21] Si los términos de ruido se distribuyen de manera no gaussiana, se conocen en la literatura métodos para evaluar el rendimiento de la estimación del filtro basados en desigualdades de probabilidad o en la teoría de muestras grandes.[22][23]
Ejemplo de aplicación técnica
editar
Considere un camión en rieles rectos sin fricción. Inicialmente el camión esta detenido en la posición 0, pero es sacudido de un lado a otro por fuerzas aleatorias e incontroladas. La posición del camión se mide cada Δt segundos, pero esas medidas son imprecisas; queremos mantener un modelo de la posición velocidad del camión. Aquí se muestra como se deriva el modelo el cual se crea el filtro de Kalman.
Dado que son constantes, se omiten sus índices de tiempo.
La posición y velocidad el camión se describen mediante el espacio de estados lineal:
Donde es la velocidad, es decir, la derivada de la posición con respecto al tiempo.
Asumimos que entre los pasos de tiempo (k − 1) y k fuerzas incontrolables causan la aceleración constante de ak que es normalmente distribuida con media 0 y derivación estándar σa. A partir de las leyes de Newton, concluimos que:
(no hay un término ya que no existen entradas de control conocidas. En su lugar, ak es el efecto de una entrada desconocida y aplica ese efecto al vector de estados) donde.....
de modo que
donde
La matriz no tiene rango completo (su rango es uno si ). Por lo tanto la distribución no es absolutamente continua y no tiene función de densidad de probabilidad. Otra forma de expresarlo, evitando distribuciones degeneradas explícitas, es:
En cada fase de tiempo, se realiza una medición ruidosa de la posición verdadera del camión. Supongamos que el ruido de medición vk también se distribuye normalmente, con media 0 y desviación estándar σz.
donde
y
Conocemos el estado inicial del camión con perfecta posición, por lo que inicializamos:
y para indicarle al filtro que conocemos la posición y velocidad exacta le damos una matriz de covarianza nula:
Si la posición inicial y la velocidad no son conocidas perfectamente, la matriz de covarianza debe inicializarse con varianzas apropiadas en su diagonal:El filtro preferirá la información de las primeras medidas sobre la información ya presente en el modelo.
Forma asintótica
editar
Para simplificar, asuma que la entrada de control . Luego el filtro de Kalman puede escribirse como:
Una ecuación similar se cumple si incluimos una entrada de control no nula. Las matrices de ganancia y las matrices de covarianza evolucionan independientemente de las medidas . A partir de lo anterior, las cuatro ecuaciones necesarias para actualizar las matrices son:
Como estas dependen solamente del modelo y no de las medidas, pueden computarse fuera de línea. La convergencia de las matrices de ganancia hacia una matriz asintótica se aplica bajo las condiciones establecidas por Walrand y Dimakis.[24] Si la serie converge, entonces converge de forma exponencial hacia una asintótica, asumiendo ruido no nulo en la planta. [25] Análisis recientes han mostrado que la tasa y la naturaleza de esta convergencia pueden involucrar múltiples modos coiguales, incluyendo componentes oscilatorios, dependiendo de la estructura de autovalores (eigenestructura) del Jacobiano del mapeo de Riccati anterior evaluado en .[26] Para el ejemplo del camión en movimiento descrito arriba, con y , la simulación muestra convergencia en 10 iteraciones.
Usando la ganancia asintótica, y asumiendo que y son independientes de , el filtro de Kalman convierte en un filtro lineal invariante en el tiempo:
La ganancia asintótica , si existe, puede computarse primero resolviendo la siguiente ecuación de Riccati discreta para la covarianza de estado asintótica P∞: [24]
La ganancia asintótica se calcula como antes:Adicionalmente, una forma del filtro de Kalman asintótico más común en teoría de control se da por
donde
Esto conduce a un estimador de la forma
Derivaciones
editar
El filtro de Kalman puede ser derivado como un método de mínimos cuadrados generalizados que opera sobre datos previos.[27]
Derivando la matriz de covarianza de la estimación a posteriori
editar
Comenzando con nuestra invariante en la covarianza del error Pk | k como se indicó abajo:
se sustituye en la definición de
y se sustituye
junto con
y juntando los vectores de error obtenemos:
Cómo el error de medición vk es incorrelacionado con los otros términos, esto se convierte en:
por las propiedades de la covarianza de los vectores, esto se convierte en:
lo cual, usando la intervariante en Pk | k−1 y la definición de Rk se convierte en:
Ésta fórmula (a veces conocida como la forma de Joseph de la ecuación de actualización de la covarianza) es válida para cualquier valor de Kk. Resulta que si Kk es la ganancia óptima de Kalman, esto puede simplificarse aún más como se muestra abajo.
Derivación de la ganancia de Kalman
editar
El filtro de Kalman es un estimador de error cuadrático medio mínimo (MMSE). El error en la estimación del estado a posteriori es:
Buscamos minimizar el valor del cuadrado de la magnitud del vector, . Esto es equivalente a minimizar la traza de la matriz de covarianza de la estimación a posteriori. Al expandir los términos en la ecuación anterior y agrupar, obtenemos:
La traza se minimiza cuando su derivada matricial con respecto a la matriz de ganancia es cero. Usando las reglas de gradiente matricial y la simetría de las matrices involucradas, encontramos que:
Resolviendo esto para Kk obtenemos la ganancia de Kalman:
Esta ganancia, conocida como la ganancia de Kalman óptima, es la que produce estimaciones MMSE cuando se utiliza.
Simplificación de la fórmula de la covarianza del error a posteriori
editar
La fórmula utilizada para calcular la covarianza del error a posteriori puede simplificarse cuando la ganancia de Kalman es igual al valor óptimo derivado anteriormente. Multiplicando ambos lados de nuestra fórmula de ganancia de Kalman a la derecha por SkKkT, se sigue que:
Refiriéndonos a la fórmula expandida para la covarianza del error a posteriori,
encontramos que los últimos dos términos se cancelan, dando:
Esta fórmula es computacionalmente más barata y por ello casi siempre se usa en la práctica, pero solo es correcta para la ganancia óptima. Si la precisión aritmética es inusualmente baja causando problemas de estabilidad numérica, o si se utiliza deliberadamente una ganancia de Kalman no óptima, no puede aplicarse esta simplificación; en ese caso debe usarse la fórmula de la covarianza del error a posteriori derivada anteriormente (forma de Joseph).
Análisis de sensibilidad
editar
Las ecuaciones del filtrado de Kalman proveen un estimado del estado y su covarianza de error de forma recursiva. El estimado y su calidad dependen de los parámetros del sistema y de las estadísticas del ruido que se introducen como entradas al estimador. Esta sección analiza el efecto de las incertidumbres en las entradas estadísticas del filtro.[28] En ausencia de estadísticas confiables o de los valores reales de las matrices de covarianza de ruido y , la expresión:
ya no proporciona la covarianza de error real. En otras palabras: . En la mayoría de las aplicaciones de tiempo real las matrices de covarianza que son usadas en el diseño del filtro de Kalman son distintas a las matrices de covarianza de ruido reales (verdaderas). Este análisis de sensibilidad describe el comportamiento de la covarianza del error de estimación cuando las covarianzas del ruido, así como las matrices del sistema y que se introducen al filtro, son incorrectas. Así, el análisis de sensibilidad describe la robustez (o sensibilidad) del estimador ante entradas estadísticas y paramétricas mal especificadas.
Esta discusión se limita al análisis de sensibilidad para el caso de incertidumbres estáticas. Esta discusión se limita al análisis de sensibilidad para el caso de incertidumbres estáticas. Aquí las covarianzas reales del ruido son denotadas por y respectivamente, mientras que los valores de diseño usados en el estimador son y respectivamente. La covarianza de error real se denota por y, tal como se calcula en el filtro de Kalman, se denomina la variable de Riccati. Cuando y , significa que . Al calcular la covarianza de error real usando , sustituyendo y usando el hecho de que y , se obtienen las siguientes ecuaciones recursivas para :
y
Mientras se calcula , por diseño el filtro se asume de forma implícita que y . Las expresiones recursivas para y son idénticas, excepto por la presencia de y en lugar de los valores de diseño, respectivamente. Se han realizado investigaciones para analizar la robustez de los sistemas con filtro de Kalman.[29]
Forma factorizada
editar
Un problema del filtro de Kalman es su estabilidad numérica. Si la covarianza del ruido del proceso Qk es pequeña, los errores de redondeo suelen provocar que un autovalor positivo pequeño de la matriz de covarianza del estado P se calcule como un número negativo. Esto hace que la representación numérica P sea indefinida, mientras que su forma verdadera es definida positiva.
Las matrices definidas positivas tienen la propiedad de que se pueden factorizar como el producto de una matriz triangular inferior no singular S y su transpuesta: P = S·ST . El factor S puede calcularse de forma eficiente utilizando el algoritmo de factorización de Cholesky. Esta forma de producto de la matriz de covarianza P es garantizada como simétrica, y para todo 1 <= k <= n, el elemnto diagonal Pkk es igual a la norma euclidiana de la k-ésima fila de S, lo cual es necesariamente positivo. Una forma equivalente, que evita muchas de las operaciones de raíz cuadrada en el algoritmo de factorización de Cholesky, pero que conserva las propiedades numéricas deseables, es la descomposición U-D: P = U·D·UT, donde U es una matriz triangular unitaria (con diagonal unitaria) y D es una matriz diagonal.
Entre ambas, la factorización U-D utiliza la misma cantidad de almacenamiento y algo menos de cómputo y es la factorización triangular más usada. (La literatura temprana sobre la eficiencia relativa es algo engañosa, ya que asumía que las raíces cuadradas eran mucho más costosas en tiempo que las divisiones,[30] mientras que en las computadoras del siglo XXI son solo ligeramente más costosas).
Algoritmos eficientes para los pasos de predicción y actualización del filtro de Kalman en forma factorizada fueron desarrollados por G. J. Bierman y C. L. Thornton.[31][30]
La descomposición L·D·LTde la matriz de covarianza de la innovación Sk es la base de otro filtro de raíz cuadrada, numéricamente eficiente y robusto.[32] El algoritmo comienza con la descomposición LU tal como está implementada en el Linear Algebra PACKage (LAPACK). Estos resultados se factorizan aún más en la estructura L·D·LT con los métodos dados por Golub y Van Loan (algoritmo 4.1.2) para una matriz simétrica no singular.[33] Cualquier matriz de covarianza singular se pivotea de forma que la primera partición diagonal sea no singular y bien condicionada. El algoritmo de pivoteo debe retener cualquier porción de la matriz de covarianza de innovación que corresponda directamente a las variables de estado observadas Hk·xk|k-1 las cuales están asociadas con observaciones auxiliares en yk.
El filtro de raíz cuadrada l·d·lt requiere la ortogonalización del vector de observación.[32][31] Esto puede hacerse con la inversa de la raíz cuadrada de la matriz de covarianza de las variables auxiliares usando el Método 2 en Higham (2002, p. 263). [34]
Forma paralela
editar
El filtro de Kalman es eficiente para el procesamiento secuencial de datos en unidades centrales de procesamiento (CPUs),pero en su forma original es poco eficiente en arquitecturas paralelas como las unidades de procesamiento gráfico (GPUs). Sin embargo, es posible expresar la rutina de actualización del filtro en términos de un operador asociativo usando la formulación de Särkkä y García-Fernández (2021).[35] La solución del filtro puede recuperarse entonces mediante el uso de un algoritmo de suma prefija, el cual puede implementarse de manera eficiente en una GPU. [36] Esto reduce la complejidad computacional de en el número de pasos temporales a .
Relación con la estimación bayesiana recursiva
editar
El filtro de Kalman puede ser presentado como una de las redes bayesianas dinámicas más simples. El filtro calcula estimados de los valores reales de los estados de forma recursiva en el tiempo usando mediciones entrantes y un modelo matemático del proceso. De forma similar, la estimación bayesiana recursiva calcula estimaciones de una función de densidad de probabilidad (PDF) desconocida recursivamente en el tiempo utilizando mediciones entrantes y un modelo matemático del proceso. [37]
En la estimación recursiva bayesiana se asume que el estado verdadero es un proceso de Márkov no observado, y que las mediciones son los estados observados de un modelo oculto de Márkov (HMM).
Gracias a la suposición de Márkov , el estado verdadero es condicionalmente independiente de todos los estados anteriores dado el estado inmediatamente previo:
De forma similar, la medición en el instante de tiempo k depende solo del estado actual y es condicionalmente independiente de todos los demás estados dado el estado actual:
Usando estas suposiciones, la probabilidad de distribución sobre todos los estados del modelo oculto de Márkov puede escribirse simplemente como:
Sin embargo, cuando se usa el filtro de Kalman para estimar el estado x , la probabilidad de distribución de interés es aquella asociada con los estados actuales condicionados a las mediciones hasta el instante actual. Esto se logra al marginalizar los estados previos y dividir entre la probabilidad del conjunto de mediciones.
Estos resultados en las fases de predicción y actualización del filtro de Kalman escritas de manera probabilística. La distribución de probabilidad asociada con el estado predicho es la suma (integral) de los productos de la distribución de probabilidad asociada con la transición del instante (k − 1) al k y la probabilidad asociada con el estado anterior, sobre todas las posibles .
donde el conjunto de mediciones hasta el tiempo t es
La distribución de la probabilidad de la actualización es proporcional al producto de la verosimilitud de la medición y el estado predicho:
El denominador
es un término de normalización.
Las funciones de densidad de probabilidad restantes son:
La PDF en el instante de tiempo anterior se asume inductivamente como el estado estimado y la covarianza. Esto se justifica porque, al ser un estimador óptimo, el filtro de Kalman hace el mejor uso posible de las mediciones; por lo tanto, la PDF de dado el conjunto de mediciones corresponde a la estimación del filtro de Kalman.
Verosimilitud marginal
editar
Relacionado con la interpretación bayesiana recursiva descrita anteriormente, el filtro de Kalman puede considerarse un modelo generativo, es decir, un proceso para generar una secuencia de observaciones aleatorias z = (z0, z1, z2, ...). Específicamente, el proceso es:
Tomar una muestra de un estado oculto de la distribución previa gaussiana .
Tomar una muestra de una observación del modelo de observación .
Para , hacer:
Tomar una muestra del siguiente estado oculto del modelo de transición
Tomar una muestra de una observación del modelo de observación
Este proceso tiene una estructura idéntica a la de un modelo oculto de Markov, excepto que el estado discreto y las observaciones se reemplazan por variables continuas muestreadas de distribuciones gaussianas.
En algunas aplicaciones, es útil calcular la probabilidad de que un filtro de Kalman con un conjunto dado de parámetros (distribución previa, modelos de transición y observación, y entradas de control) genere una señal observada particular. Esta probabilidad se conoce como verosimilitud marginal porque integra (“marginaliza”) los valores de las variables de estado oculto, de modo que puede calcularse usando únicamente la señal observada. La verosimilitud marginal puede ser útil para evaluar diferentes elecciones de parámetros o para comparar el filtro de Kalman con otros modelos mediante comparación bayesiana de modelos.
Es sencillo calcular la verosimilitud marginal como un efecto secundario del cálculo de filtrado recursivo. Según la regla de la cadena, la verosimilitud puede factorizarse como el producto de la probabilidad de cada observación dado las observaciones anteriores,
,
y como el filtro de Kalman describe un proceso de Markov, toda la información relevante de observaciones anteriores está contenida en la estimación actual del estado Así, la verosimilitud marginal se expresa como
es decir, un producto de densidades gaussianas, cada una correspondiente a la densidad de una observación zk bajo la distribución de filtrado actual . Esto puede calcularse fácilmente como una actualización recursiva simple; sin embargo, para evitar problemas de subdesbordamiento numérico, en una implementación práctica generalmente es deseable calcular la log-verosimilitud marginal . Adoptando la convención , esto puede hacerse mediante la regla de actualización recursiva
donde es la dimensión del vector de medición. [38]
Una aplicación importante donde se utiliza dicha verosimilitud (logarítmica) de las observaciones (dado los parámetros del filtro) es el seguimiento de múltiples objetivos. Por ejemplo, considere un escenario de seguimiento de objetos donde la secuencia de observaciones es la entrada; sin embargo, se desconoce cuántos objetos hay en la escena (o se sabe que hay más de uno). En tal escenario, puede desconocerse a priori qué observaciones/mediciones fueron generadas por cada objeto. Un rastreador de hipótesis múltiples (MHT) típicamente formará diferentes hipótesis de asociación de trayectorias, donde cada hipótesis puede considerarse un filtro de Kalman (en el caso lineal gaussiano) con un conjunto específico de parámetros asociado al objeto hipotético. Por lo tanto, es importante calcular la verosimilitud de las observaciones para las diferentes hipótesis en consideración, de modo que se pueda identificar la más probable.
Filtro de información
editar
En los casos donde la dimensión del vector de observación y es mayor que la dimensión del vector del espacio de estados x, el filtro de información puede evitar la inversión de una matriz más grande en el cálculo de la ganancia de Kalman, a costa de invertir una matriz más pequeña en el paso de predicción, ahorrando así tiempo de cómputo. Adicionalmente, el filtro de información permite la inicialización de la información del sistema de acuerdo con , lo cual no sería posible para el filtro de Kalman regular. [39]En el filtro de información, o filtro de covarianza inversa, la covarianza estimada y el estado estimado son reemplazados por la matriz de información y el vector de información, respectivamente. Estos se definen como:
De manera similar, la covarianza y el estado predichos tienen formas equivalentes de información, definidas como:
Y la covarianza de la medición y el vector de medición se definen como:
La actualización de información ahora se convierte en una suma trivial: [40]
La principal ventaja del filtro de información es que N mediciones pueden filtrarse en cada paso de tiempo simplemente sumando sus matrices y vectores de información:
Para predecir con el filtro de información, la matriz y el vector de información pueden convertirse nuevamente a sus equivalentes en el espacio de estados, o alternativamente puede utilizarse la predicción en el espacio de información:
Suavizador de retardo fijo
editar
El suavizador [optimo de retardo fijo proporciona la estimación óptima de para un retardo fijo N dado, usando las mediciones de a .[41] Esto se puede derivar usando la teoría previa mediante un estado aumentado, y la ecuación principal del filtro es la siguiente:
donde:
se estima mediante el filtro de Kalman estándar;
es la innovación producida considerando la estimación del filtro de Kalman estándar.
Las diversas con son variables nuevas; es decir, no aparecen en el filtro de Kalman estándar;
Las ganancias se calculan mediante el siguiente esquema:
y
Donde P y K son la covarianza del error del predicción y las ganancias del filtro de Kalman estándar (es decir, ).
Si la covarianza del error de estimación se define de manera que
entonces tenemos que la mejora en la estimación de esta dada por:
Suavizadores de intervalo fijo
editar
El suavizador óptimo de intervalo fijo proporciona la estimación óptima de () usando las mediciones de un intervalo fijo a . Esto también e llama "Suavizado de Kalman". Existen varios algoritmos de suavizado que se usan comúnmente.
Rauch–Tung–Striebel
editar
El suavizador Rauch-Tung-Striebel (RTS) es un algoritmo eficiente de dos pasos para suavizado de intervalo fijo.
El paso hacia adelante es el mismo que el algoritmo estándar del filtro de Kalman. Se guardan estas estimaciones a priori y a posteriori del estado , y las covarianzas , para su uso en el paso hacia atrás (retrodicción).
En el paso hacia atrás, se calculan las estimaciones suavizadas del estado y las covarianzas . Se comienza en el último instante de tiempo y se procede hacia atrás usando las siguientes ecuaciones recursivas:
donde
es la estimación a posteriori del estado en el tiempo k y es la estimación a priori del estado en el tiempo . La misma notación se aplica a las covarianzas.
Suavizador Bryson-Frazier modificado
editar
Una alternativa al algoritmo Rauch-Tung-Striebel es el suavizador de intervalo fijo modificado Bryson-Frazier (MBF), desarrollado por Bierman.[42] También utiliza un paso hacia atrás que procesa los datos guardados desde el paso hacia adelante del filtro de Kalman. Las ecuaciones del paso hacia atrás implican cálculo recursivo de datos que se usan en cada instante de observación para calcular el estado y la covarianza suavizados. Las ecuaciones recursivas son:
donde es la covarianza del residuo y .
Luego, el estado y la covarianza suavizados se encuentran sustituyendo en las ecuaciones:
o
Una ventaja importante del método Bryson-Frazier es que no requiere calcular la inversa de la matriz de covarianza. La derivación de Bierman se basa en el suavizador Rauch-Tung-Striebel, que asume distribuciones Gaussianas. Sin embargo, Gibbs dio una derivación del método Bryson-Frazier basada en el concepto de suavizador de punto fijo, que no requiere la suposición de Gaussianidad.[43]
El método Bryson-Frazier también puede usarse para realizar verificaciones de consistencia sobre los residuos del filtro y la diferencia entre el valor del estado después de una actualización y el valor suavizado, es decir, .[44]
Suavizador de varianza mínima
editar
El suavizador de varianza mínima puede alcanzar el mejor rendimiento posible del error, siempre que los modelos sean lineales y sus parámetros y las estadísticas del ruido se conozcan con precisión.[45] Este suavizador es una generalización en espacio de estados dependiente del tiempo del filtro de Wiener no causal óptimo.
Los cálculos se realizan en dos pasos:
El paso hacia adelante involucra un predictor a un paso y se da por:
Este sistema se conoce como el factor inverso Wiener-Hopf. La recursión hacia atrás es el adjunto del sistema hacia adelante, El resultado del paso hacia atrás puede calcularse aplicando las ecuaciones hacia adelante sobre en orden temporal inverso y luego invirtiendo el tiempo del resultado. En el caso de estimación de salida, la estimación suavizada es:
Tomando la parte causal de este suavizador de varianza mínima se obtiene:
lo que es idéntico al filtro de Kalman de varianza mínima. estas soluciones minimizan la varianza del error de estimación de la salida. Nota: la derivación del suavizado RTS asume distribuciones Gaussianas, mientras que las soluciones de varianza mínima no lo hacen. Los suavizadores óptimos para estimación de estados y de entradas se pueden construir de forma similar.
Una versión en tiempo continuo de este suavizador se describe en.[46][47]
Los algoritmos de Expectation-maximization (EM) pueden emplearse para calcular estimaciones de máxima verosimilitud aproximadas de parámetros desconocidos del espacio de estados dentro de filtros y suavizadores de varianza mínima. A menudo, persisten incertidumbres dentro de los supuestos del problema. Un suavizador que considere incertidumbres puede diseñarse agregando un término positivo definiendo a la ecuación de Riccati.[47]
En los casis en que los modelos sean no lineales, pueden aplicarse linealizaciones paso a paso dentro de las recursiones del filtro y suavizador de varianza mínima (filtro de Kalman extendido).
Filtro de Kalman ponderado en frecuencia
editar
Las investigaciones pioneras sobre la percepción de sonidos en distintas frecuencias fueron realizadas por Fletcher y Munson en la década de 1930. Su trabajo condujo a un método estándar de ponderar los niveles de sonido medidos dentro de las investigaciones sobre ruido industrial y pérdida auditiva. Desde entonces, las ponderaciones de frecuencia se han utilizado en el diseño de filtros y controladores para gestionar el rendimiento dentro de las bandas de interés.
Normalmente, se utiliza una función de conformación de frecuencia para ponderar la potencia promedio de la densidad espectral del error en una banda de frecuencia especifica. Sea el error de estimación de la salida que exhibe un filtro de Kalman convencional. Además, sea una función de transferencia causal de ponderación en frecuencia. La solución óptima que minimiza la varianza de surge simplemente construyendo .
El diseño de sigue siendo una cuestión abierta. Una forma de proceder es identificar un sistema que genere el error de estimación y establecer igual al inverso de ese sistema.[48] Este procedimiento puede repetirse para obtener una mejora en el error cuadrático medio a costa de un mayor orden del filtro. La misma técnica puede aplicarse a suavizadores.
Filtros no lineales
editar
El filtro de Kalman básico está limitado a una suposición lineal. Sin embargo, sistemas mas complejos pueden ser no lineales. La no linealidad puede estar asociada ya sea con el modelo del proceso, con el modelo de observación o con ambos.
Las variantes mas comunes de los filtros de Kalman para sistemas no lineales son el filtro de Kalman extendido y el filtro de Kalman no acotado. La idoneidad de cuál usar depende de los índices de no linealidad del modelo de proceso y de observación. [49]
Filtro de Kalman extendido
editar
En el filtro de Kalman Extendido (EKF), los modelos de tansición de estado y de observación no necesitan ser funcionales lineales del estado, sino que pueden ser funciones no lineales, Estas funciones son del tipo diferenciable.
La función f puede usarse para calcular el estado predicho a partir de la estimación previa, y de forma similar la función h puede usarse para calcular la medición predicha a partir del estado predicho. Sin embargo, f y h no pueden aplicarse directamente a la covarianza. En su lugar, se calcula una matriz de derivadas parciales(el Jacobiano).
En cada paso del tiempo, el Jacobiano se evalúa con los estados predichos actuales. Estas matrices pueden usarse en las ecuaciones del filtro de Kalman. Este proceso esencialmente lineariza la función no lineal alrededor de la estimación actual.
Filtro de Kalman no acotado (UKF)
editar
Cuando los modelos de transición de estado y observación -es decir, las funciones de predicción y actualización f y h- son altamente no lineales, el EKF puede dar un rendimiento particularmente pobre.[50] [51] Esto acurre porque la covarianza se propaga mediante la linearización del modelo no lineal subyacente.
El UKF[50] utiliza una técnica de muestreo determinista conocida como transformación no acotada (UT) para seleccionar un conjunto mínimo de puntos de muestra (llamados puntos sigma) alrededor de la media. Los puntos sigma se propagan a través de las funciones no lineales, a partir de lo cual se forman nuevas estimaciones de la media y de la covarianza.
El filtro resultante depende de cómo se calculan las estadísticas transformadas de la UT y de qué conjunto de puntos sigma se utiliza. Cabe señalar que siempre es posible construir nuevos UKF de forma consistente.[52] Para ciertos sistemas, el UKF resultante estima más precisamente la media y covarianza verdaderas.[53] Esto puede verificarse mediante muestreo de Monte Carlo o mediante expansión en series de Taylor de las estadísticas posteriores.
Además, esta técnica elimina el requisito de calcular explícitamente Jacobianos, lo cual para funciones complejas puede ser una tarea difícil en si misma (es decir, derivadas complicadas si se hacen analíticamente o costoso en cómputo si se hacen numéricamente), e incluso imposible (si esas funciones no son diferenciables).
Puntos sigma
editar
Para un vector aleatorio , los puntos sigma son cualquier conjunto de vectores
con pesos de primer orden que cumplen
para todo :
y pesos de segundo orden que cumplen
para todos los pares .
Una elección simple de puntos sigma y peso para en l algoritmo UKF es:
donde es la estimación media de . El vector es la j-ésima columna de A, donde: . Normalmente, A se obtiene mediante la descomposición de Cholesky de . Con cierto cuidado, las ecuaciones del filtro pueden expresarse de tal forma que A se evalue directamente sin cálculos intermedios de . A esto se le llama el filtro de Kalman no lineal de raíz cuadrada.[54]
El peso del valor medio, , puede elegirse de manera arbitraria.
Otra parametrización popular (que generaliza lo anterior) es:
Los parámetros y controlan la dispersión de los puntos sigma. está relacionado con la distribución de . Nótese que esto es una sobreparametrización, en el sentido de que cualquiera de , y puede elegirse arbitrariamente.
Los valores apropiados dependen del problema en cuestión, pero una recomendación típica es:, , y . Si la distribución real de es Gaussiana, entonces es óptimo.[55]
Predicción
editar
Al igual que con el EKF, la predicción del UKF puede usarse de manera independiente de la actualización de UKF, en combinación con una actualización lineal (o incluso con una del EKF), o viceversa.
Dadas las estimaciones de la media y la covarianza, y , se obtienen puntos como se describió en la sección anterior. Los puntos sigma se propagan a través de la función de transición f.
.
Los puntos sigma propagados se ponderan para producir la media y la covarianza predichas:
donde son los pesos del primer orden de los puntos sigma originales, y son los pesos de segundo orden. La matriz es la covarianza del ruido de transición, .
Actualización
editar
Dadas las estimaciones de predicción and , se calcula un nuevo conjunto de puntos sigma con los correspondientes pesos de primer orden
.
Luego se calculan la media empírica y la covarianza de los puntos transformados:
donde es la matriz de la covarianza dle ruido de observación . Además, también se necesita la matriz de covarianza cruzada:
La ganancia de Kalman es:
Las estimaciones actualizadas de la media y la covarianza son:
Filtro de Kalman discriminativo
editar
Cuando el modelo de observación es altamente no lineal y/o gaussiano, puede resultar ventajoso aplicar la regla de Bayes y estimar:
donde para funciones no lineales . Esto reemplaza la especificación generativa del filtro de Kalman estándar con un modelo discriminativo para los estados latentes dados los valores de observación.
Bajo un modelo estacionario de estado:
donde , si
entonces, dada una nueva observación , se sigue que:[56]
donde
Nótese que esta aproximación requiere
que sea definida positiva; en el caso de que no lo sea,
se utiliza en su lugar.
Este enfoque resulta particularmente útil cuando la dimensionalidad de la observaciones es mucho mayor que la de los estados latentes,[57] y puede emplearse para construir filtros que sean especialmente robustos a no estacionariedades en el modelo de observación.[58]
Filtro de Kalman adaptable
editar
Los filtros de Kalman adaptativos permiten ajustarse a dinámicas del proceso que no están modeladas en el modelo de proceso , Esto ocurre, por ejemplo, en el contexto de un objetivo en maniobra cuando se emplea un filtro de Kalman de vedad constante (de orden reducido) para el seguimiento.[59]
Filtro de Kalman-Bucy
editar
El filtrado de Klaman-Bucy (llamado así por Richard Snowden Bucy) es una versión en tiempo continuo del filtro de Kalman.[60] [61]Esta basado en el modelo en espacio de estados:
donde y representan las intensidades de los dos terminos de ruido blanco y , respectivamente.
El filtro consta de dos ecuaciones diferenciales, una para la estimación del estado y otra para la covarianza:
donde la ganancia de Kalman esta dada por:
Nótese que en esta expresión para , la covarianza del ruido de observación representa al mismo tiempo la covarianza del error de predicción (o innovación): ; estas covarianzas son iguales únicamente en el caso de tiempo continuo.[62]
La distinción entre los pasos de predicción y actualización del filtro de Kalman en tiempo discreto no existe en tiempo continuo.
La segunda educación diferencial, la de la covarianza, es un ejemplo de ecuacion de Riccati. Las generalizaciones no lineales de los filtros de Kalman-Bucy incluyen el filtro de Kalman extendido en tiempo continuo.
Filtro de Kalman hibrido
editar
La mayoría de los sistema físicos se representan como modelos en tiempo continuo, mientras que las mediciones en tiempo discreto se realizan con frecuencia para la estimación del estado mediante un procesador digital. Pro lo tanto, el modelo del sistema y el modelo de medición se dan como:
donde
.
Inicialización
editar
Predicción
editar
Las ecuaciones de predicción se derivan de las del filtro de Kalman en tiempo continuo sin actualización de mediciones, es decir, con: . El estado y la covarianza predichos se calculan resolviendo un conjunto de ecuaciones diferenciales, con el valor inicial a la estimación del paso anterior.
Para el caso de sistemas lineales invariantes en el tiempo, la dinámica en tiempo continuo puede discretizarse exactamente en un sistema en tiempo discreto usando exponenciales de matrices.
Actualización
editar
Las ecuaciones de actualización son idénticas a las del filtro de Kalman en tiempo discreto.
Variantes para la recuperación de señales dispersas
editar
El filtro de Kalman tradicional también se ha empleado para la recuperación de señales dispersas, posiblemente dinámica, a partir de observaciones ruidosas. Trabajos recientes[63] [64][65] utilizan nociones de la teoría de compressed sensing/sampling (sensado/muestreo comprimido), como la propiedad de isometría restringida y argumentos probabilísticos de recuperación relacionados, para estimar secuencialmente el estado disperso en sistemas intrínsecamente de baja dimensión.
Relación con procesos Gaussianos
editar
Dado que los modelos lineales en espacio de estados gaussianos conducen a procesos Gaussianos, los filtros de Kalman pueden considerarse como solucionadores secuenciales para la regresión de procesos Gaussianos.[66]
Se tiene un sistema representado en el espacio de estado:
siendo y el verdadero estado y su estimación (u observación) en el tiempo . Se consideran y tales que:
es ruido blanco de valor promedio igual a cero y con varianza en el instante .
es ruido blanco de valor promedio igual a cero y con varianza en el instante .
El filtro de Kalman permite estimar el estado a partir de las mediciones anteriores de , , , y las estimaciones anteriores de .
Caso de tiempo continuo
editar
Se tiene un sistema representado en el espacio de estado:
donde:
es ruido blanco de valor promedio igual a cero y con varianza en el intervalo de tiempo descrito como .
es ruido blanco de valor promedio igual a cero y con varianza en el intervalo de tiempo descrito como .
El filtro de Kalman permite estimar el estado a partir de las mediciones anteriores de , , , y las estimaciones anteriores de .
Algoritmo del filtro discreto de Kalman
editar
El filtro de Kalman es un algoritmo recursivo en el que el estado es considerado una variable aleatoria Gaussiana. El filtro de Kalman suele describirse en dos pasos: predicción y corrección.
Predicción
editar
Estimación a priori
Covarianza del error asociada a la estimación a priori
Corrección
editar
Actualización del residuo de la medición
Ganancia de Kalman
Estimación a posteriori
Covarianza del error asociada a la estimación a posteriori
donde:
Matriz de transición de estados. Es la matriz que relaciona con en la ausencia de funciones forzantes (funciones que dependen únicamente del tiempo y ninguna otra variable).
El estimado a priori del vector de estados
Covarianza del error asociada a la estimación a priori
Vector de mediciones al momento 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.
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 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 y 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.[67]
Primeras aplicaciones
editar
Kalman encontró una audiencia receptiva de su filtro en el verano de 1960 en una visita de Stanley F. Schmidt del Ames Research Center de NASA en Mountain View (California). Kalman describió su resultado y Schmidt reconoció su potencial aplicativo - la estimación de la trayectoria y el problema del control del programa Apolo. Schmidt comenzó a trabajar inmediatamente en lo que fue probablemente la primera implementación completa del filtro de Kalman. Entusiasmado sobre el éxito del mismo, Schmidt impulsó usar el filtro en trabajos similares. A comienzos de 1961, Schmidt describió sus resultados a Richard H. Battin del laboratorio de instrumentación del MIT (llamado más tarde el Charles Stark Draper Laboratory). Battin estuvo usando métodos de espacio de estado para el diseño y la implementación de sistemas de navegación astronáutica, y él hizo al filtro de Kalman parte del sistema de guía del Apolo, el cual fue diseñado y desarrollado en el laboratorio de instrumentación. A mediados de la década de 1960, influenciado por Schmidt, el filtro de Kalman se hizo parte del sistema de navegación del transporte aéreo C5A, siendo diseñado por Lockheed Aircraft Company. El filtro de Kalman resolvió el problema de la fusión de datos asociado con la combinación de los datos del radar con los datos del sensor inercial al lograr una aproximación global de la trayectoria de la aeronave. Desde entonces ha sido parte integral de la estimación de trayectorias a bordo de las aeronaves y del diseño de sistemas de control.[68]
Impacto del filtro de Kalman en la tecnología
editar
Desde el punto de vista de los problemas que involucran control y estimación, el filtro de Kalman ha sido considerado el gran logro en la teoría de estimación del siglo XX. Muchos de los logros desde su introducción no hubiesen sido posibles sin éste. Se puede decir que el filtro de Kalman fue una de las tecnologías que permitió la era espacial, ya que la precisión y eficiencia en la navegación de las naves espaciales a través del sistema solar no habrían sido posibles sin éste.
El principal uso del filtro de Kalman ha sido en los sistemas de control modernos, en el seguimiento y navegación de todo tipo de vehículos y en el diseño predictivo de estimación de los mismos.
↑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).
↑Lauritzen, Steffen L. (1981-12). «Time Series Analysis in 1880: A Discussion of Contributions Made by T.N. Thiele». International Statistical Review / Revue Internationale de Statistique49 (3): 319. doi:10.2307/1402616. Consultado el 21 de agosto de 2025.
↑Lauritzen, Steffen L.; Thiele, T. N. (2002). Thiele, pioneer in statistics. Oxford University Press. ISBN978-0-19-850972-1.|fechaacceso= requiere |url= (ayuda)
↑Grewal, Mohinder S.; Andrews, Angus P. (2015). Kalman filtering: theory and practice using MATLAB (4th ed edición). Wiley. ISBN978-1-118-98498-7.|fechaacceso= requiere |url= (ayuda)
↑Grewal, Mohinder S.; Andrews, Angus P. (2 de enero de 2002). Kalman Filtering. Wiley. ISBN978-0-471-39254-5. Consultado el 21 de agosto de 2025.
↑Elliott, Derek W. (1999). «Project Apollo Crew (1967), National Aeronautics and Space Administration (NASA) astronauts». American National Biography Online (Oxford University Press). ISBN978-0-19-860669-7. Consultado el 21 de agosto de 2025.
↑Gaylor, David; Lightsey, E. Glenn (11 de agosto de 2003). GPS/INS Kalman Filter Design for Spacecraft Operating in the Proximity of International Space Station(en inglés). American Institute of Aeronautics and Astronautics. ISBN978-1-62410-090-1. doi:10.2514/6.2003-5445. Consultado el 21 de agosto de 2025.
↑Strid, Ingvar; Walentin, Karl (2009-04). «Block Kalman Filtering for Large-Scale DSGE Models». Computational Economics(en inglés)33 (3): 277-304. ISSN0927-7099. doi:10.1007/s10614-008-9160-4. Consultado el 26 de agosto de 2025.
↑Andreasen, Martin M. (2008). «Non-Linear DSGE Models, the Central Difference Kalman Filter, and the Mean Shifted Particle Filter». SSRN Electronic Journal. ISSN1556-5068. doi:10.2139/ssrn.1148079. Consultado el 26 de agosto de 2025.
↑ abRoweis, Sam; Ghahramani, Zoubin (1 de febrero de 1999). «A Unifying Review of Linear Gaussian Models». Neural Computation(en inglés)11 (2): 305-345. ISSN0899-7667. doi:10.1162/089976699300016674. Consultado el 26 de agosto de 2025.
↑13 The Kalman Filter. Princeton University Press. 31 de diciembre de 1994. pp. 372-372. ISBN978-0-691-21863-2. Consultado el 26 de agosto de 2025.
↑Terra, Marco H.; Cerri, Joao P.; Ishihara, Joao Y. (2014-09). «Optimal Robust Linear Quadratic Regulator for Systems Subject to Uncertainties». IEEE Transactions on Automatic Control59 (9): 2586-2591. ISSN0018-9286. doi:10.1109/TAC.2014.2309282. Consultado el 26 de agosto de 2025.
↑Ishihara, J.Y.; Terra, M.H.; Campos, J.C.T. (2006-08). «Robust Kalman Filter for Descriptor Systems». IEEE Transactions on Automatic Control(en inglés)51 (8): 1354-1354. ISSN0018-9286. doi:10.1109/TAC.2006.878741. Consultado el 26 de agosto de 2025.
↑Kelly, Alonzo (2 de mayo de 1994). A 3D State Space Formulation of a Navigation Kalman Filter for Autonomous Vehicles. Defense Technical Information Center. Consultado el 27 de agosto de 2025.
↑«Wayback Machine». www.frc.ri.cmu.edu. Archivado desde el original el 23 de junio de 2018. Consultado el 27 de agosto de 2025.
↑Rajamani, Murali R.; Rawlings, James B. (2009-01). «Estimation of the disturbance structure from data using semidefinite programming and optimal weighting». Automatica(en inglés)45 (1): 142-148. doi:10.1016/j.automatica.2008.05.032. Consultado el 29 de agosto de 2025.
↑Wu, Zhuang; Rajamani, Murali R.; Rawlings, James B.; Stoustrup, Jakob (2007-07). «Model Predictive Control of Thermal Comfort and Indoor Air Quality in livestock stable». 2007 European Control Conference (ECC) (IEEE): 4746-4751. doi:10.23919/ecc.2007.7068610. Consultado el 29 de agosto de 2025.
↑Amemiya, Takeshi (1973-07). «Generalized Least Squares with an Estimated Autocovariance Matrix». Econometrica41 (4): 723. ISSN0012-9682. doi:10.2307/1914092. Consultado el 29 de agosto de 2025.
↑Bania, Piotr; Baranowski, Jerzy (2016-12). «Field Kalman Filter and its approximation». 2016 IEEE 55th Conference on Decision and Control (CDC) (IEEE): 2875-2880. doi:10.1109/cdc.2016.7798697. Consultado el 29 de agosto de 2025.
↑Bar‐Shalom, Yaakov; Li, X.‐Rong; Kirubarajan, Thiagalingam (4 de enero de 2002). Estimation with Applications to Tracking and Navigation: Theory, Algorithms and Software(en inglés) (1 edición). Wiley. ISBN978-0-471-41655-5. doi:10.1002/0471221279. Consultado el 29 de agosto de 2025.
↑Matisko, Peter; Havlena, Vladimír (2012-07). «Optimality tests and adaptive Kalman filter». IFAC Proceedings Volumes(en inglés)45 (16): 1523-1528. doi:10.3182/20120711-3-BE-2027.00011. Consultado el 29 de agosto de 2025.
↑Maryak, J.L.; Spall, J.C.; Heydon, B.D. (2004-01). «Use of the Kalman Filter for Inference in State-Space Models With Unknown Noise Distributions». IEEE Transactions on Automatic Control(en inglés)49 (1): 87-90. ISSN0018-9286. doi:10.1109/TAC.2003.821415. Consultado el 29 de agosto de 2025.
↑Spall, James C. (1995-10). «The Kantorovich inequality for error analysis of the Kalman filter with unknown noise distributions». Automatica(en inglés)31 (10): 1513-1517. doi:10.1016/0005-1098(95)00069-9. Consultado el 29 de agosto de 2025.
↑ abDimakis, Antonis; Jain, Rahul; Walrand, Jean (2006). «Mechanisms for Efficient Allocation in Divisible Capacity Networks». Proceedings of the 45th IEEE Conference on Decision and Control (IEEE): 1264-1269. doi:10.1109/cdc.2006.377178. Consultado el 30 de agosto de 2025.
↑KALMAN, R. E.; ENGLAR, T. S.; BUCY, R. S. (1 de abril de 1962). FUNDAMENTAL STUDY OF ADAPTIVE CONTROL SYSTEMS. Defense Technical Information Center. Consultado el 30 de agosto de 2025.
↑Herbst, Daniel C. (2024). «Exponential Convergence Rate and Oscillatory Modes of the Asymptotic Kalman Filter Covariance». IEEE Access12: 188137-188153. ISSN2169-3536. doi:10.1109/ACCESS.2024.3508578. Consultado el 30 de agosto de 2025.
↑Mahadi, Maaz; Ballal, Tarig; Moinuddin, Muhammad; Al-Saggaf, Ubaid M. (16 de febrero de 2022). «A Recursive Least-Squares with a Time-Varying Regularization Parameter». Applied Sciences12 (4): 2077. ISSN2076-3417. doi:10.3390/app12042077. Consultado el 2 de septiembre de 2025.
↑Anderson, Brian D.; Moore, John B. (1979). Optimal filtering. Prentice-Hall information and system sciences series. Prentice-Hall. ISBN978-0-13-638122-8.|fechaacceso= requiere |url= (ayuda)
↑ abAPPENDIX C:. University of Arizona Press. 4 de enero de 2022. pp. 1052-1052. Consultado el 2 de septiembre de 2025.
↑ ab«Factorization Methods for Discrete Sequential Estimation». Mathematics in Science and Engineering. 1977. ISSN0076-5392. doi:10.1016/s0076-5392(08)x6052-7. Consultado el 2 de septiembre de 2025.
↑ abBar-Shalom, Yaakov; Li, Xiao-Rong; Kirubarajan, Thiagalingam (2007). Estimation with applications to tracking and navigation: theory, algorithms and software. A Wiley-Interscience publication (Nachdr. edición). Wiley. ISBN978-0-471-41655-5.|fechaacceso= requiere |url= (ayuda)
↑Golub, Gene H.; Van Loan, Charles F. (1996). Matrix computations. Johns Hopkins studies in the mathematical sciences (3rd ed edición). Johns Hopkins University Press. ISBN978-0-8018-5413-2.|fechaacceso= requiere |url= (ayuda)
↑Society for Industrial and Applied Mathematics, Nicholas J. (2002). Accuracy and stability of numerical algorithms. Other titles in applied mathematics (2nd ed edición). Society for Industrial and Applied Mathematics (SIAM, 3600 Market Street, Floor 6, Philadelphia, PA 19104). ISBN978-0-89871-521-7.|fechaacceso= requiere |url= (ayuda)
↑Sarkka, Simo; Garcia-Fernandez, Angel F. (2021-01). «Temporal Parallelization of Bayesian Smoothers». IEEE Transactions on Automatic Control66 (1): 299-306. ISSN0018-9286. doi:10.1109/TAC.2020.2976316. Consultado el 4 de septiembre de 2025.
↑Parallel Prefix Scan. Chapman and Hall/CRC. 4 de junio de 2015. pp. 261-278. ISBN978-0-429-07216-1. Consultado el 4 de septiembre de 2025.
↑Masreliez, C.; Martin, R. (1977-06). «Robust bayesian estimation for the linear model and robustifying the Kalman filter». IEEE Transactions on Automatic Control(en inglés)22 (3): 361-371. ISSN0018-9286. doi:10.1109/TAC.1977.1101538. Consultado el 4 de septiembre de 2025.
↑Jordà, Òscar (24 de noviembre de 2009). «Book Review: New Introduction to Multiple Time Series Analysis». Econometric Reviews29 (2): 243-246. ISSN0747-4938. doi:10.1080/07474930903472868. Consultado el 9 de septiembre de 2025.
↑http://ljournal.ru/wp-content/uploads/2016/08/d-2016-154.pdf. 2016. doi:10.18411/d-2016-154. Consultado el 9 de septiembre de 2025.
↑Anderson, Brian D. O.; Moore, John B. (1979). Optimal filtering. Prentice-Hall information and system sciences series. Prentice-Hall. ISBN978-0-13-638122-8.|fechaacceso= requiere |url= (ayuda)
↑«Factorization Methods for Discrete Sequential Estimation». Mathematics in Science and Engineering. 1977. ISSN0076-5392. doi:10.1016/s0076-5392(08)x6052-7. Consultado el 12 de septiembre de 2025.
↑Gibbs, Richard G. (2011-02). «Square Root Modified Bryson–Frazier Smoother». IEEE Transactions on Automatic Control56 (2): 452-456. ISSN0018-9286. doi:10.1109/TAC.2010.2089753. Consultado el 12 de septiembre de 2025.
↑Gibbs, Richard G. (2013-10). «New Kalman filter and smoother consistency tests». Automatica(en inglés)49 (10): 3141-3144. doi:10.1016/j.automatica.2013.07.013. Consultado el 12 de septiembre de 2025.
↑Einicke, G.A. (2006-03). «Optimal and robust noncausal filter formulations». IEEE Transactions on Signal Processing54 (3): 1069-1077. ISSN1053-587X. doi:10.1109/TSP.2005.863042. Consultado el 12 de septiembre de 2025.
↑Einicke, Garry A.; Ralston, Jonathon C.; Hargrave, Chad O.; Reid, David C.; Hainsworth, David W. (2008-12). «Longwall mining automation an application of minimum-variance smoothing [Applications of Control]». IEEE Control Systems28 (6): 28-37. ISSN1066-033X. doi:10.1109/MCS.2008.929281. Consultado el 12 de septiembre de 2025.
↑ abEinicke, Garry A. (2007-04). «Asymptotic Optimality of the Minimum-Variance Fixed-Interval Smoother». IEEE Transactions on Signal Processing55 (4): 1543-1547. ISSN1053-587X. doi:10.1109/TSP.2006.889402. Consultado el 12 de septiembre de 2025.
↑Einicke, Garry A. (2014-12). «Iterative Frequency-Weighted Filtering and Smoothing Procedures». IEEE Signal Processing Letters21 (12): 1467-1470. ISSN1070-9908. doi:10.1109/LSP.2014.2341641. Consultado el 18 de septiembre de 2025.
↑Biswas, Sanat K.; Qiao, Li; Dempster, Andrew G. (2020-12). «A quantified approach of predicting suitability of using the Unscented Kalman Filter in a non-linear application». Automatica(en inglés)122: 109241. doi:10.1016/j.automatica.2020.109241. Consultado el 18 de septiembre de 2025.
↑ abJulier, S.J.; Uhlmann, J.K. (2004-03). «Unscented Filtering and Nonlinear Estimation». Proceedings of the IEEE(en inglés)92 (3): 401-422. ISSN0018-9219. doi:10.1109/JPROC.2003.823141. Consultado el 18 de septiembre de 2025.
↑Julier, Simon J.; Uhlmann, Jeffrey K. (28 de julio de 1997). Kadar, Ivan, ed. New extension of the Kalman filter to nonlinear systems. p. 182. doi:10.1117/12.280797. Consultado el 18 de septiembre de 2025.
↑Menegaz, Henrique M. T.; Ishihara, Joao Y.; Borges, Geovany A.; Vargas, Alessandro N. (2015-10). «A Systematization of the Unscented Kalman Filter Theory». IEEE Transactions on Automatic Control60 (10): 2583-2598. ISSN0018-9286. doi:10.1109/TAC.2015.2404511. Consultado el 18 de septiembre de 2025.
↑Gustafsson, Fredrik; Hendeby, Gustaf (2012-02). «Some Relations Between Extended and Unscented Kalman Filters». IEEE Transactions on Signal Processing60 (2): 545-555. ISSN1053-587X. doi:10.1109/TSP.2011.2172431. Consultado el 18 de septiembre de 2025.
↑Van der Merwe, R.; Wan, E.A. (2001). The square-root unscented Kalman filter for state and parameter-estimation6. IEEE. pp. 3461-3464. ISBN978-0-7803-7041-8. doi:10.1109/ICASSP.2001.940586. Consultado el 19 de septiembre de 2025.
↑Wan, E.A.; Van Der Merwe, R. (2000). The unscented Kalman filter for nonlinear estimation. IEEE. pp. 153-158. ISBN978-0-7803-5800-3. doi:10.1109/ASSPCC.2000.882463. Consultado el 19 de septiembre de 2025.
↑Burkhart, Michael C.; Brandman, David M.; Franco, Brian; Hochberg, Leigh R.; Harrison, Matthew T. (1 de mayo de 2020). «The Discriminative Kalman Filter for Bayesian Filtering with Nonlinear and Nongaussian Observation Models». Neural Computation(en inglés)32 (5): 969-1017. ISSN0899-7667. doi:10.1162/neco_a_01275. Consultado el 19 de septiembre de 2025.
↑Burkhart, Michael C. (2019). A Discriminative Approach to Bayesian Filtering with Applications to Human Neural Decoding. doi:10.26300/NHFP-XV22. Consultado el 19 de septiembre de 2025.
↑Brandman, David M.; Burkhart, Michael C.; Kelemen, Jessica; Franco, Brian; Harrison, Matthew T.; Hochberg, Leigh R. (2018-11). «Robust Closed-Loop Control of a Cursor in a Person with Tetraplegia using Gaussian Process Regression». Neural Computation(en inglés)30 (11): 2986-3008. ISSN0899-7667. doi:10.1162/neco_a_01129. Consultado el 19 de septiembre de 2025.
↑Bar‐Shalom, Yaakov; Li, X.‐Rong; Kirubarajan, Thiagalingam (4 de enero de 2002). Estimation with Applications to Tracking and Navigation: Theory, Algorithms and Software(en inglés) (1 edición). Wiley. ISBN978-0-471-41655-5. doi:10.1002/0471221279. isbn 0-471-41655-x. |doi= incorrecto (ayuda). Consultado el 19 de septiembre de 2025.
↑Joseph, Peter D. (2005). Filtering for Stochastic Processes with Applications to Guidance. AMS Chelsea Publishing Ser. American Mathematical Society. ISBN978-0-8218-3782-5.|fechaacceso= requiere |url= (ayuda)
↑Jazwinski, Andrew H. (1997). Stochastic processes and filtering theory. Mathematics in science and engineering (12. [print] edición). Acad. Press. ISBN978-0-12-381550-7.|fechaacceso= requiere |url= (ayuda)
↑Kailath, T. (1968-12). «An innovations approach to least-squares estimation--Part I: Linear filtering in additive white noise». IEEE Transactions on Automatic Control(en inglés)13 (6): 646-655. ISSN0018-9286. doi:10.1109/TAC.1968.1099025. Consultado el 23 de septiembre de 2025.
↑Vaswani, Namrata (2008). «Kalman filtered Compressed Sensing». 2008 15th IEEE International Conference on Image Processing (IEEE): 893-896. doi:10.1109/icip.2008.4711899. Consultado el 23 de septiembre de 2025.
↑Carmi, Avishy; Gurfil, Pini; Kanevsky, Dimitri (2010-04). «Methods for Sparse Signal Recovery Using Kalman Filtering With Embedded Pseudo-Measurement Norms and Quasi-Norms». IEEE Transactions on Signal Processing58 (4): 2405-2409. ISSN1053-587X. doi:10.1109/TSP.2009.2038959. Consultado el 23 de septiembre de 2025.
↑Zachariah, Dave; Chatterjee, Saikat; Jansson, Magnus (2012-09). «Dynamic Iterative Pursuit». IEEE Transactions on Signal Processing60 (9): 4967-4972. ISSN1053-587X. doi:10.1109/TSP.2012.2203813. Consultado el 23 de septiembre de 2025.
↑Särkkä, Simo; Hartikainen, Jouni; Mbalawata, Isambi Sailon; Haario, Heikki (13 de diciembre de 2013). «Posterior inference on parameters of stochastic differential equations via non-linear Gaussian filtering and adaptive MCMC». Statistics and Computing25 (2): 427-437. ISSN0960-3174. doi:10.1007/s11222-013-9441-1. Consultado el 23 de septiembre de 2025.
↑T. Cipra & A. Rubio; Kalman filter with a non-linear non-Gaussian observation relation, Springer (1991).
↑Mohinder, S. Grewal (2001). Kalman Filtering. John Wiley & Sons, Inc. ISBN0-471-26638-8.
Enlaces externos
editar
Introducción al filtro de Kalman
Filtro de Kalman
Explicación en castellano (pdf - Dañado)
Otra explicación en castellano (pdf -Dañado)
Detección de burbujas inmobiliarias, por J F Bellod