Articulo de referencia

filtro de Kalman

El filtro de Kalman realiza un seguimiento del estado estimado del sistema y de la varianza o incertidumbre de dicha estimación. La estimación se actualiza mediante un modelo de...

El filtro de Kalman realiza un seguimiento del estado estimado del sistema y de la varianza o incertidumbre de dicha estimación. La estimación se actualiza mediante un modelo de transición de estados y mediciones.incógnita^kk1{\displaystyle {\hat {x}}_{k\mid k-1}}denota la estimación del estado del sistema en el paso de tiempo k antes de que se haya tenido en cuenta la k -ésima medición y k ;PAGkk1{\displaystyle P_{k\mid k-1}}es la incertidumbre correspondiente.

En estadística y teoría de control , el filtrado de Kalman (también conocido como estimación lineal cuadrática ) es un algoritmo que utiliza una serie de mediciones observadas a lo largo del tiempo, incluyendo ruido estadístico y otras imprecisiones, para producir estimaciones de variables desconocidas que tienden a ser más precisas que las basadas en una sola medición, al estimar una distribución de probabilidad conjunta sobre las variables para cada paso de tiempo. El filtro se construye como un minimizador del error cuadrático medio , pero también se proporciona una derivación alternativa del filtro que muestra cómo se relaciona con la estadística de máxima verosimilitud. [ 1 ] El filtro lleva el nombre de Rudolf E. Kálmán .

El filtrado de Kalman tiene numerosas aplicaciones tecnológicas. Una aplicación común es la guía, navegación y control de vehículos, en particular aeronaves, naves espaciales y barcos posicionados dinámicamente . [ 2 ] Además, el filtrado de Kalman se aplica ampliamente en tareas de análisis de series temporales, como el procesamiento de señales y la econometría . El filtrado de Kalman también es importante para la planificación y el control del movimiento robótico, [ 3 ] [ 4 ] y puede utilizarse para la optimización de trayectorias . [ 5 ] El filtrado de Kalman también funciona para modelar el control del movimiento del sistema nervioso central . Debido al retardo temporal entre la emisión de comandos motores y la recepción de retroalimentación sensorial , el uso de filtros de Kalman proporciona un modelo realista para realizar estimaciones del estado actual de un sistema motor y emitir comandos actualizados. [ 6 ]

El algoritmo funciona mediante un proceso de dos fases: una fase de predicción y una fase de actualización . En la fase de predicción, el filtro de Kalman genera estimaciones de las variables de estado actuales , incluyendo sus incertidumbres. Una vez observado el resultado de la siguiente medición (necesariamente con cierto margen de error, incluyendo ruido aleatorio), estas estimaciones se actualizan mediante un promedio ponderado , asignando mayor peso a las estimaciones con mayor certeza. El algoritmo es recursivo . Puede operar en tiempo real , utilizando únicamente las mediciones de entrada actuales y el estado calculado previamente, junto con su matriz de incertidumbre; no se requiere información previa adicional.

La optimalidad del filtrado de Kalman supone que los errores tienen una distribución normal (gaussiana) de media cero . En palabras de Rudolf E. Kálmán : «Se hacen las siguientes suposiciones sobre los procesos aleatorios: Los fenómenos aleatorios físicos pueden considerarse como resultado de fuentes aleatorias primarias que excitan sistemas dinámicos. Se supone que las fuentes primarias son procesos aleatorios gaussianos independientes con media cero; los sistemas dinámicos serán lineales». [ 7 ] Sin embargo, independientemente de la gaussianidad, si se conocen las covarianzas del proceso y de la medición, y la media es cero, entonces el filtro de Kalman es el mejor estimador lineal posible en el sentido de mínimo error cuadrático medio , [ 8 ] aunque puede haber mejores estimadores no lineales. Es una idea errónea común (perpetuada en la literatura) que el filtro de Kalman no puede aplicarse rigurosamente a menos que se suponga que todos los procesos de ruido son gaussianos. [ 9 ]

También se han desarrollado extensiones y generalizaciones del método, como el filtro de Kalman extendido y el filtro de Kalman sin aroma , que funcionan en sistemas no lineales . La base es un modelo oculto de Markov tal que el espacio de estados de las variables latentes es continuo y todas las variables latentes y observadas tienen distribuciones gaussianas. El filtrado de Kalman se ha utilizado con éxito en la fusión multisensor [ 10 ] y en redes de sensores distribuidas para desarrollar filtrado de Kalman distribuido o de consenso [ 11 ] .

Historia

El método de filtrado recibe su nombre del emigrante húngaro Rudolf E. Kálmán , aunque Thorvald Nicolai Thiele [ 12 ] [ 13 ] y Peter Swerling desarrollaron un algoritmo similar anteriormente. Richard S. Bucy del Laboratorio de Física Aplicada de Johns Hopkins contribuyó a la teoría, lo que hizo que a veces se la conociera como filtrado de Kalman-Bucy. Kalman se inspiró para derivar el filtro de Kalman aplicando variables de estado al problema de filtrado de Wiener . [ 14 ] A Stanley F. Schmidt se le atribuye generalmente el desarrollo de la primera implementación de un filtro de Kalman. Se dio cuenta de que el filtro podía dividirse en dos partes distintas, con una parte para los períodos de tiempo entre las salidas de los sensores y otra parte para incorporar las mediciones. [ 15 ] Fue durante una visita de Kálmán al Centro de Investigación Ames de la NASA que Schmidt vio la aplicabilidad de las ideas de Kálmán al problema no lineal de estimación de trayectoria para el programa Apolo, lo que resultó en su incorporación en la computadora de navegación del Apolo . [ 16 ] : 16

Este filtro digital a veces se denomina filtro Stratonovich-Kalman-Bucy porque es un caso especial de un filtro no lineal más general desarrollado por el matemático soviético Ruslan Stratonovich . [ 17 ] [ 18 ] [ 19 ] [ 20 ] De hecho, algunas de las ecuaciones del filtro lineal de caso especial aparecieron en artículos de Stratonovich que se publicaron antes del verano de 1961, cuando Kalman se reunió con Stratonovich durante una conferencia en Moscú. [ 21 ]

Este filtro de Kalman fue descrito y desarrollado parcialmente por primera vez en artículos técnicos por Swerling (1958), Kalman (1960) y Kalman y Bucy (1961).

La computadora Apollo utilizaba 2k de RAM de núcleo magnético y 36k de cable de acero [...]. La CPU estaba construida con circuitos integrados [...]. La velocidad de reloj era inferior a 100 kHz [...]. El hecho de que los ingenieros del MIT lograran integrar un software tan bueno (una de las primeras aplicaciones del filtro de Kalman) en una computadora tan pequeña es realmente extraordinario.

Entrevista con Jack Crenshaw, realizada por Matthew Reed, TRS-80.org (2009)

Los filtros de Kalman han sido fundamentales en la implementación de los sistemas de navegación de los submarinos de misiles balísticos nucleares de la Armada de los EE. UU ., así como en los sistemas de guiado y navegación de misiles de crucero como el misil Tomahawk de la Armada de los EE. UU. y el misil de crucero lanzado desde el aire de la Fuerza Aérea de los EE . UU. También se utilizan en los sistemas de guiado y navegación de vehículos de lanzamiento reutilizables y en los sistemas de control de actitud y navegación de las naves espaciales que se acoplan a la Estación Espacial Internacional . [ 22 ]

Descripción general del cálculo

El filtrado de Kalman utiliza el modelo dinámico de un sistema (por ejemplo, las leyes físicas del movimiento), las entradas de control conocidas de dicho sistema y múltiples mediciones secuenciales (como las de los sensores) para obtener una estimación de las cantidades variables del sistema (su estado ) que es mejor que la obtenida utilizando una sola medición. Por ello, 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 no considerados limitan la precisión con la que se puede determinar el estado del sistema. El filtro de Kalman aborda eficazmente la incertidumbre debida a los datos ruidosos de los sensores y, en cierta medida, a los factores externos aleatorios. El filtro de Kalman produce una estimación del estado del sistema como un promedio del estado predicho y de la nueva medición mediante un promedio ponderado . El propósito de los pesos es que los valores con menor incertidumbre estimada se consideren más fiables. Los pesos se calculan a partir de la covarianza , una medida de la incertidumbre estimada de la predicción del estado del sistema. El resultado del promedio ponderado es una nueva estimación del estado que se sitúa entre el estado predicho y el medido, y que presenta una menor incertidumbre estimada que cualquiera de ellos por separado. Este proceso se repite en cada paso de tiempo, y la nueva estimación y su covarianza influyen en la predicción utilizada en la siguiente iteración. Esto significa que el filtro de Kalman funciona de forma recursiva y solo requiere la última "mejor estimación", en lugar de todo el historial, del estado de un sistema para calcular un nuevo estado.

La clasificación de la certeza de las mediciones y la estimación del estado actual son consideraciones importantes. Es común analizar la respuesta del filtro en términos de la ganancia del filtro de Kalman . La ganancia de Kalman es el peso asignado a las mediciones y a la estimación del estado actual, y puede ajustarse para lograr un rendimiento específico. Con una ganancia alta, el filtro otorga mayor peso a las mediciones más recientes y, por lo tanto, se ajusta a ellas con mayor precisión. Con una ganancia baja, el filtro se ajusta más a las predicciones del modelo. En los extremos, una ganancia alta (cercana a uno) dará como resultado una trayectoria estimada más inestable, mientras que una ganancia baja (cercana a cero) suavizará el ruido, pero disminuirá la capacidad de respuesta.

Al realizar los cálculos para el filtro (como se explica más adelante), la estimación del estado y las covarianzas se codifican en matrices debido a las múltiples dimensiones involucradas en un solo conjunto de cálculos. Esto permite representar las 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

Como ejemplo práctico, consideremos el problema de determinar la ubicación precisa de un camión. El camión puede estar equipado con un GPS que proporciona una estimación de la posición con un margen de error de pocos metros. Es probable que la estimación del GPS sea imprecisa; las lecturas fluctúan rápidamente, aunque se mantienen dentro de un margen de pocos metros de la posición real. Además, dado que se espera que el camión siga las leyes de la física, su posición también puede estimarse integrando su velocidad a lo largo del tiempo, determinada mediante el seguimiento de las revoluciones de las ruedas y el ángulo del volante. Esta técnica se conoce como navegación a estima . Normalmente, la navegación a estima proporciona una estimación muy precisa de la posición del camión, pero esta se desviará con el tiempo a medida que se acumulen pequeños errores.

En este ejemplo, el filtro de Kalman puede considerarse que opera en dos fases distintas: predicción y actualización. En la fase de predicción, la posición anterior del camión se modifica según las leyes físicas del movimiento (el modelo dinámico o de "transición de estado"). No solo se calcula una nueva estimación de la posición, sino también una nueva covarianza. Es posible que la covarianza sea proporcional a la velocidad del camión, ya que la precisión de la estimación de posición por estima es menor a altas velocidades, pero es muy alta a bajas velocidades. A continuación, en la fase de actualización, se toma una medición de la posición del camión con el GPS. Esta medición conlleva cierta incertidumbre, y su covarianza, en relación con la predicción de la fase anterior, determina cuánto afectará la nueva medición a la predicción actualizada. Idealmente, dado que las estimaciones por estima tienden a desviarse de la posición real, la medición del GPS debería acercar la estimación de la posición a la real, pero sin alterarla hasta el punto de generar ruido y fluctuaciones bruscas.

Descripción técnica y contexto

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 con ruido . Se utiliza en una amplia gama de aplicaciones de ingeniería y econometría , desde radar y visión artificial hasta la estimación de modelos macroeconómicos estructurales, [ 23 ] [ 24 ] y es un tema importante en la teoría de control y la ingeniería de sistemas de control . Junto con el regulador lineal-cuadrático (LQR), el filtro de 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 que posiblemente sean los problemas más fundamentales de la teoría de control.

En la mayoría de las aplicaciones, el estado interno es mucho mayor (tiene más grados de libertad ) que los pocos parámetros "observables" que se miden. Sin embargo, al combinar una serie de mediciones, el filtro de Kalman puede estimar el estado interno completo.

En la teoría de Dempster-Shafer , cada ecuación de estado u observación se considera un caso especial de una función de creencia lineal, y el filtrado de Kalman es un caso especial de combinación de funciones de creencia lineales en un árbol de unión o árbol de Markov . Otros métodos incluyen el filtrado de creencias , que utiliza actualizaciones bayesianas o evidenciales para las ecuaciones de estado.

Actualmente existe una amplia variedad de filtros de Kalman: la formulación original de Kalman, ahora denominada filtro de Kalman "simple", el filtro de Kalman-Bucy , el filtro "extendido" de Schmidt, el filtro de información y diversos filtros de "raíz cuadrada" desarrollados por Bierman, Thornton y muchos otros. Quizás el tipo más común de filtro de Kalman simple sea el bucle de enganche de fase ( PLL ), omnipresente en radios, especialmente en radios de modulación de frecuencia (FM), televisores, receptores de comunicaciones por satélite , sistemas de comunicaciones espaciales y prácticamente cualquier otro equipo de comunicaciones electrónicas .

Modelo de sistema dinámico subyacente

El filtrado de Kalman se basa en sistemas dinámicos lineales discretizados en el dominio del tiempo. Estos sistemas se modelan mediante 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 (aunque oculta) del sistema de interés, que se representa como un vector de números reales . En cada incremento de tiempo discreto , se aplica un operador lineal al estado para generar el nuevo estado, con algo de ruido incorporado y, opcionalmente, información de los controles del sistema si se conocen. A continuación, otro operador lineal, mezclado con más ruido, genera las salidas medibles (es decir, la observación) del estado real ("oculto"). El filtro 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 estado discreto del modelo oculto de Markov. Existe una fuerte analogía entre las ecuaciones de un 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) [ 25 ] y Hamilton (1994), Capítulo 13. [ 26 ]

Para utilizar el filtro de Kalman y estimar el estado interno de un proceso a partir únicamente de una secuencia de observaciones ruidosas, es necesario modelar el proceso de acuerdo con el siguiente marco. Esto implica especificar las matrices para cada paso de tiempo.k{\displaystyle k}, siguiente:

  • Fk{\displaystyle \mathbf {F} _{k}}, el modelo de transición de estados;
  • Hk{\displaystyle \mathbf {H} _{k}}, el modelo de observación;
  • Qk{\displaystyle \mathbf {Q} _ {k}}, la covarianza del ruido del proceso;
  • Rk{\displaystyle \mathbf {R} _{k}}, la covarianza del ruido de observación;
  • y a vecesBk{\displaystyle \mathbf {B} _{k}}, el modelo de entrada de control como se describe a continuación; siBk{\displaystyle \mathbf {B} _{k}}está incluido, entonces también está
  • k{\displaystyle \mathbf {u} _ {k}}, el vector de control, que representa la entrada de control en el modelo de entrada de control.

Como se puede observar a continuación, es común en muchas aplicaciones que las matricesF{\displaystyle \mathbf {F} },H{\displaystyle \mathbf {H} },Q{\displaystyle \mathbf {Q} },R{\displaystyle \mathbf {R} }, yB{\displaystyle \mathbf {B} }son constantes a lo largo del tiempo, en cuyo caso suk{\displaystyle k}El índice podría ser eliminado.

Modelo subyacente al filtro de Kalman. Los cuadrados representan matrices. Las elipsis representan distribuciones normales multivariadas (con la media y la matriz de covarianza encerradas). Los valores no encerrados son vectores . En el caso simple, las distintas matrices son constantes en el tiempo, por lo que no se utilizan los subíndices; sin embargo, el filtrado de Kalman permite que cualquiera de ellas cambie en cada paso de tiempo.

El modelo de filtro de Kalman asume el estado verdadero en el tiempok{\displaystyle k}se ha desarrollado a partir del estado enk1{\displaystyle k-1}de acuerdo a

incógnitak=Fkincógnitak1+Bkk+wk{\displaystyle \mathbf {x} _{k}=\mathbf {F} _{k}\mathbf {x} _{k-1}+\mathbf {B} _{k}\mathbf {u} _{k}+\mathbf {w} _{k}}

dónde

  • Fk{\displaystyle \mathbf {F} _{k}}es el modelo de transición de estado que se aplica al estado anterior x k −1 ;
  • Bk{\displaystyle \mathbf {B} _{k}}es el modelo de entrada de control que se aplica al vector de controlk{\displaystyle \mathbf {u} _ {k}};
  • wk{\displaystyle \mathbf {w} _{k}}es el ruido del proceso, que se supone que se extrae de una distribución normal multivariada de media cero ,norte{\displaystyle {\mathcal {N}}}, con covarianza ,Qk{\displaystyle \mathbf {Q} _{k}}:wknorte(0,Qk){\displaystyle \mathbf {w} _{k}\sim {\mathcal {N}}\left(0,\mathbf {Q} _{k}\right)}.

SiQ{\displaystyle \mathbf {Q} }es independiente del tiempo, uno puede, siguiendo a Roweis y Ghahramani, [ 25 ] : 307 escribirw{\displaystyle \mathbf {w} _{\bullet }}en lugar dewk{\displaystyle \mathbf {w} _{k}}para enfatizar que el ruido no tiene conocimiento explícito del tiempo.

En ese momentok{\displaystyle k}una observación (o medición)zk{\displaystyle \mathbf {z} _{k}}del verdadero estadoincógnitak{\displaystyle \mathbf {x} _{k}}se realiza según

zk=Hkincógnitak+vk{\displaystyle \mathbf {z} _{k}=\mathbf {H} _{k}\mathbf {x} _{k}+\mathbf {v} _{k}}

dónde

  • Hk{\displaystyle \mathbf {H} _{k}}es el modelo de observación, que mapea el espacio de estado verdadero en el espacio observado y
  • vk{\displaystyle \mathbf {v} _{k}}es el ruido de observación, que se supone que es ruido blanco gaussiano de media cero con covarianzaRk{\displaystyle \mathbf {R} _{k}}:vknorte(0,Rk){\displaystyle \mathbf {v} _{k}\sim {\mathcal {N}}\left(0,\mathbf {R} _{k}\right)}.

De forma análoga a la situación parawk{\displaystyle \mathbf {w} _{k}}, uno puede escribirv{\displaystyle \mathbf {v} _{\bullet }}en lugar devk{\displaystyle \mathbf {v} _{k}} siR{\displaystyle \mathbf {R} }es independiente del tiempo.

El estado inicial y los vectores de ruido en cada paso.{incógnita0,w1,,wk,v1,,vk}{\displaystyle \{\mathbf {x} _{0},\mathbf {w} _{1},\dots ,\mathbf {w} _{k},\mathbf {v} _{1},\dots ,\mathbf {v} _{k}\}}Se supone que todos son mutuamente independientes .

Muchos sistemas dinámicos en tiempo real no se ajustan exactamente a este modelo. De hecho, la dinámica no modelada puede degradar seriamente el rendimiento del filtro, incluso cuando se supone que funciona con señales estocásticas desconocidas como entradas. Esto se debe a que el efecto de la dinámica no modelada depende de la entrada y, por lo tanto, puede provocar inestabilidad en el algoritmo de estimación (divergencia). Por otro lado, las señales de ruido blanco independientes no provocan la divergencia del algoritmo. El problema de distinguir entre el ruido de medición y la dinámica no modelada es complejo y se aborda como un problema de la teoría de control mediante control robusto . [ 27 ] [ 28 ]

Detalles

El filtro de Kalman es un estimador recursivo . Esto significa que solo se necesita el estado estimado del paso de tiempo anterior y la medición actual para calcular la estimación del estado actual. A diferencia de las técnicas de estimación por lotes, no se requiere ningún historial de observaciones y/o estimaciones. En lo que sigue, la notaciónincógnita^nortemetro{\displaystyle {\hat {\mathbf {x} }}_{n\mid m}}representa la estimación deincógnita{\displaystyle \mathbf {x} }en el instante n dadas las observaciones hasta el instante mn inclusive .

El estado del filtro está representado por dos variables:

  • incógnita^kk{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}, la media de la estimación del estado a posteriori en el tiempo k dadas las observaciones hasta el tiempo k inclusive ;
  • PAGkk{\displaystyle \mathbf {P} _{k\mid 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 se asemeja a la del filtro alfa-beta . El filtro de Kalman puede expresarse como una sola ecuación; sin embargo, suele conceptualizarse como dos fases distintas: "Predicción" y "Actualización". La fase de predicción utiliza la estimación del estado del paso de tiempo anterior para generar una estimación del estado en el paso de tiempo actual. Esta estimación del estado predicho también se conoce como estimación del estado a priori , ya que, si bien es una estimación del estado en el paso de tiempo actual, no incluye información de observación de dicho 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 actual y la información de observación actual, se multiplica por la ganancia óptima de Kalman y se combina con la estimación del estado anterior para refinar la estimación del estado. Esta estimación mejorada, basada en la observación actual, se denomina estimación del estado a posteriori .

Normalmente, las dos fases se alternan: la predicción avanza el estado hasta la siguiente observación programada, y la actualización incorpora la observación. Sin embargo, esto no es necesario; si una observación no está disponible por algún motivo, la actualización puede omitirse y se pueden realizar varios procedimientos de predicción. Del mismo modo, si hay varias observaciones independientes disponibles al mismo tiempo, se pueden realizar varios procedimientos de actualización (normalmente con diferentes matrices de observación H k ). [ 29 ] [ 30 ]

Predecir

Actualizar

La segunda fórmula para la estimación actualizada ( a posteriori ) de la covarianza mencionada anteriormente se conoce como la "forma de Joseph", que se utiliza frecuentemente en aplicaciones (es numéricamente más estable que la formulación usual más simple). La demostración de las fórmulas se encuentra en la sección de derivaciones , donde también se muestra la fórmula válida para cualquier K k .

Una forma más intuitiva de expresar la estimación de estado actualizada (incógnita^kk{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}) es:

incógnita^kk=(IKkHk)incógnita^kk1+Kkzk{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}=(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}){\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\mathbf {z} _{k}}

Esta expresión nos recuerda a una interpolación lineal ,incógnita=(1t)(a)+t(b){\displaystyle x=(1-t)(a)+t(b)}parat{\displaystyle t}entre [0,1]. En nuestro caso:

  • t{\displaystyle t}es la matrizKkHk{\displaystyle \mathbf {K} _{k}\mathbf {H} _{k}}que toma valores de0{\displaystyle 0}(error elevado en el sensor) aI{\displaystyle I}o una proyección (error bajo).
  • a{\displaystyle a}es el estado internoincógnita^kk1{\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}}estimado a partir del modelo.
  • b{\displaystyle b}es el estado internoHk1zk{\displaystyle \mathbf {H} _{k}^{-1}\mathbf {z} _{k}}estimado a partir de la medición, suponiendoHk{\displaystyle \mathbf {H} _{k}}es no singular (lo cual en muchas aplicaciones no es una suposición razonable, por ejemplo, cuando la dimensión del estado es mayor que la dimensión de la observación).

Esta expresión también se asemeja al paso de actualización del filtro alfa beta .

Invariantes

Si el modelo es preciso y los valores paraincógnita^00{\displaystyle {\hat {\mathbf {x} }}_{0\mid 0}}yPAG00{\displaystyle \mathbf {P} _{0\mid 0}}Si se refleja con precisión la distribución de los valores del estado inicial, se conservan los siguientes invariantes:

mi[incógnitakincógnita^kk]=mi[incógnitakincógnita^kk1]=0mi[y~k]=0{\displaystyle {\begin{aligned}\operatorname {E} [\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}]&=\operatorname {E} [\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}]=0\\\operatorname {E} [{\tilde {\mathbf {y} }}_{k}]&=0\end{aligned}}}

dóndemi[ξ]{\displaystyle \operatorname {E} [\xi ]}es el valor esperado deξ{\displaystyle \xi }Es decir, todas las estimaciones tienen un error medio de cero.

También:

PAGkk=cobertura(incógnitakincógnita^kk)PAGkk1=cobertura(incógnitakincógnita^kk1)Sk=cobertura(y~k){\displaystyle {\begin{aligned}\mathbf {P} _{k\mid k}&=\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)\\\mathbf {P} _{k\mid k-1}&=\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\\\mathbf {S} _{k}&=\operatorname {cov} \left({\tilde {\mathbf {y} }}_{k}\right)\end{aligned}}}

Por lo tanto, las matrices de covarianza reflejan con precisión la covarianza de las estimaciones.

Estimación de las covarianzas de ruido Q k y R k

La implementación práctica de un filtro de Kalman suele ser difícil debido a la dificultad de obtener una buena estimación de las matrices de covarianza de ruido Q k y R k . Se han realizado numerosas investigaciones para estimar estas covarianzas a partir de datos. Un método práctico para ello es la técnica de mínimos cuadrados de autocovarianza (ALS), que utiliza las autocovarianzas con retardo temporal de datos operativos rutinarios para estimar las covarianzas. [ 31 ] [ 32 ] El código GNU Octave y Matlab utilizado para calcular las matrices de covarianza de ruido mediante la técnica ALS está disponible en línea bajo la Licencia Pública General de GNU . [ 33 ]

Se ha propuesto el filtro de Kalman de campo (FKF), un algoritmo bayesiano que permite la estimación simultánea de la covarianza del estado, los parámetros y el ruido. [ 34 ] El algoritmo FKF tiene una formulación recursiva, una buena convergencia observada y una complejidad relativamente baja, lo que sugiere que podría ser una alternativa valiosa a los métodos de mínimos cuadrados de autocovarianza.

Otro enfoque es el Filtro de Kalman Optimizado (OKF), que considera las matrices de covarianza no como representantes del ruido, sino como parámetros destinados a lograr la estimación de estado más precisa. [ 35 ] Estas dos perspectivas coinciden bajo los supuestos del KF, pero a menudo se contradicen en sistemas reales. Por lo tanto, la estimación de estado del OKF es más robusta ante imprecisiones en el modelado.

Optimalidad y rendimiento

El filtro de Kalman proporciona una estimación óptima del estado en los casos en que a) el modelo se ajusta perfectamente al sistema real, b) el ruido de entrada es "blanco" (no correlacionado) y c) las covarianzas del ruido se conocen con exactitud. El ruido correlacionado también puede tratarse mediante filtros de Kalman. [ 36 ]

Durante las últimas décadas se han propuesto varios métodos para la estimación de la covarianza del ruido, incluido ALS, mencionado en la sección anterior. En términos más generales, si las suposiciones del modelo no coinciden perfectamente con el sistema real, la estimación óptima del estado no se obtiene necesariamente estableciendo Q k y R k como las covarianzas del ruido. En cambio, en ese caso, los parámetros Q k y R k pueden establecerse para optimizar explícitamente la estimación del estado, [ 35 ] por ejemplo, utilizando aprendizaje supervisado estándar .

Una vez establecidas 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 funciona de forma óptima, la secuencia de innovación (el error de predicción de la salida) es un ruido blanco; por lo tanto, la propiedad de blancura de las innovaciones mide el rendimiento del filtro. Se pueden utilizar varios métodos diferentes para este propósito. [ 37 ] Si los términos de ruido se distribuyen de forma no gaussiana, en la literatura se conocen métodos para evaluar el rendimiento de la estimación del filtro, que utilizan desigualdades de probabilidad o la teoría de muestras grandes . [ 38 ] [ 39 ]

Ejemplo de aplicación, técnica

  Verdad
  Proceso filtrado
  Observaciones

Consideremos un camión sobre rieles rectos sin fricción. Inicialmente, el camión está parado en la posición 0, pero fuerzas aleatorias e incontroladas lo sacuden de un lado a otro. Medimos la posición del camión cada Δt segundos , pero estas mediciones son imprecisas; queremos mantener un modelo de la posición y la velocidad del camión . Aquí mostramos cómo derivamos el modelo a partir del cual creamos nuestro filtro de Kalman.

DesdeF,H,R,Q{\displaystyle \mathbf {F} ,\mathbf {H} ,\mathbf {R} ,\mathbf {Q} }son constantes, sus índices de tiempo se eliminan.

La posición y la velocidad del camión se describen mediante el espacio de estados lineal.

incógnitak=[incógnitaincógnita˙]{\displaystyle \mathbf {x} _{k}={\begin{bmatrix}x\\{\dot {x}}\end{bmatrix}}}

dóndeincógnita˙{\displaystyle {\dot {x}}}es la velocidad, es decir, la derivada de la posición con respecto al tiempo.

Suponemos que entre el paso de tiempo ( k  1) y k , fuerzas no controladas causan una aceleración constante de a k que se distribuye normalmente con media 0 y desviación estándar σ a . De las leyes del movimiento de Newton concluimos que

incógnitak=Fincógnitak1+GRAMOak{\displaystyle \mathbf {x} _{k}=\mathbf {F} \mathbf {x} _{k-1}+\mathbf {G} a_{k}}

(no hayB{\displaystyle \mathbf {B} u}término ya que no hay entradas de control conocidas. En cambio, una k es el efecto de una entrada desconocida yGRAMO{\displaystyle \mathbf {G} }aplica ese efecto al vector de estado) donde

F=[1Δt01]GRAMO=[12Δt2Δt]{\displaystyle {\begin{aligned}\mathbf {F} &={\begin{bmatrix}1&\Delta t\\0&1\end{bmatrix}}\\[4pt]\mathbf {G} &={\begin{bmatrix}{\frac {1}{2}}{\Delta t}^{2}\\[6pt]\Delta t\end{bmatrix}}\end{aligned}}}

de modo que

incógnitak=Fincógnitak1+wk{\displaystyle \mathbf {x} _{k}=\mathbf {F} \mathbf {x} _{k-1}+\mathbf {w} _{k}}

dónde

wknorte(0,Q)Q=GRAMOGRAMOTσa2=[14Δt412Δt312Δt3Δt2]σa2.{\displaystyle {\begin{aligned}\mathbf {w} _{k}&\sim N(0,\mathbf {Q} )\\\mathbf {Q} &=\mathbf {G} \mathbf {G} ^{\textsf {T}}\sigma _{a}^{2}={\begin{bmatrix}{\frac {1}{4}}{\Delta t}^{4}&{\frac {1}{2}}{\Delta t}^{3}\\[6pt]{\frac {1}{2}}{\Delta t}^{3}&{\Delta t}^{2}\end{bmatrix}}\sigma _{a}^{2}.\end{aligned}}}

La matrizQ{\displaystyle \mathbf {Q} }no es de rango completo (es de rango uno siΔt0{\displaystyle \Delta t\neq 0}). Por lo tanto, la distribuciónnorte(0,Q){\displaystyle N(0,\mathbf {Q} )}no es absolutamente continua y no tiene función de densidad de probabilidad . Otra forma de expresar esto, evitando distribuciones degeneradas explícitas, viene dada por

wkGRAMOnorte(0,σa2).{\displaystyle \mathbf {w} _{k}\sim \mathbf {G} \cdot N\left(0,\sigma _{a}^{2}\right).}

En cada fase temporal, se realiza una medición ruidosa de la posición real del camión. Supongamos que el ruido de medición v k también se distribuye normalmente, con media 0 y desviación estándar σ z .

zk=Hincógnitak+vk{\displaystyle \mathbf {z} _{k}=\mathbf {Hx} _{k}+\mathbf {v} _{k}}

dónde

H=[10]{\displaystyle \mathbf {H} ={\begin{bmatrix}1&0\end{bmatrix}}}

y

R=mi[vkvkT]=[σz2]{\displaystyle \mathbf {R} =\mathrm {E} \left[\mathbf {v} _{k}\mathbf {v} _{k}^{\textsf {T}}\right]={\begin{bmatrix}\sigma _{z}^{2}\end{bmatrix}}}

Conocemos el estado inicial de arranque del camión con perfecta precisión, por lo que lo inicializamos.

incógnita^00=[00]{\displaystyle {\hat {\mathbf {x} }}_{0\mid 0}={\begin{bmatrix}0\\0\end{bmatrix}}}

Y para indicarle al filtro que conocemos la posición y la velocidad exactas, le proporcionamos una matriz de covarianza cero:

PAG00=[0000]{\displaystyle \mathbf {P} _{0\mid 0}={\begin{bmatrix}0&0\\0&0\end{bmatrix}}}

Si la posición y la velocidad iniciales no se conocen perfectamente, la matriz de covarianza debe inicializarse con varianzas adecuadas en su diagonal:

PAG00=[σincógnita200σincógnita˙2]{\displaystyle \mathbf {P} _{0\mid 0}={\begin{bmatrix}\sigma _{x}^{2}&0\\0&\sigma _{\dot {x}}^{2}\end{bmatrix}}}

El filtro dará preferencia a la información de las primeras mediciones sobre la información que ya está contenida en el modelo.

Forma asintótica

Para simplificar, supongamos que la entrada de controlk=0{\displaystyle \mathbf {u} _{k}=\mathbf {0} }Entonces, el filtro de Kalman se puede escribir de la siguiente manera:

incógnita^kk=Fkincógnita^k1k1+Kk[zkHkFkincógnita^k1k1].{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}=\mathbf {F} _{k}{\hat {\mathbf {x} }}_{k-1\mid k-1}+\mathbf {K} _{k}[\mathbf {z} _{k}-\mathbf {H} _{k}\mathbf {F} _{k}{\hat {\mathbf {x} }}_{k-1\mid k-1}].}

Una ecuación similar se cumple si incluimos una entrada de control distinta de cero. Matrices de gananciaKk{\displaystyle \mathbf {K} _{k}}y matrices de covarianzaPAGkk{\displaystyle \mathbf {P} _{k\mid k}}evolucionan independientemente de las medicioneszk{\displaystyle \mathbf {z} _{k}}De lo anterior, las cuatro ecuaciones necesarias para actualizar las matrices son las siguientes:

PAGkk1=FkPAGk1k1FkT+Qk,Sk=HkPAGkk1HkT+Rk,Kk=PAGkk1HkTSk1,PAGk|k=(IKkHk)PAGk|k1.{\displaystyle {\begin{aligned}\mathbf {P} _{k\mid k-1}&=\mathbf {F} _{k}\mathbf {P} _{k-1\mid k-1}\mathbf {F} _{k}^{\textsf {T}}+\mathbf {Q} _{k},\\\mathbf {S} _{k}&=\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k},\\\mathbf {K} _{k}&=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1},\\\mathbf {P} _{k|k}&=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k|k-1}.\end{aligned}}}

Dado que estos dependen únicamente del modelo y no de las mediciones, pueden calcularse fuera de línea. Convergencia de las matrices de gananciaKk{\displaystyle \mathbf {K} _{k}}a una matriz asintóticaK{\displaystyle \mathbf {K} _{\infty }}Se aplica a las condiciones establecidas en Walrand y Dimakis. [ 40 ] Si elPAGkk{\displaystyle \mathbf {P} _{k\mid k}}La serie converge, luego converge exponencialmente a una asintótica.PAG{\displaystyle \mathbf {P} _{\infty }}, suponiendo un ruido de planta distinto de cero. [ 41 ] Análisis recientes han demostrado que la tasa y la naturaleza de esta convergencia pueden involucrar múltiples modos coiguales, incluyendo componentes oscilatorias, dependiendo de la autoestructura del jacobiano del mapa de Riccati anterior evaluado enPAG{\displaystyle \mathbf {P} _{\infty }}. [ 42 ] Para el ejemplo del camión de mudanzas descrito anteriormente, conΔt=1{\displaystyle \Delta t=1}yσa2=σz2=σincógnita2=σincógnita˙2=1{\displaystyle \sigma _{a}^{2}=\sigma _{z}^{2}=\sigma _{x}^{2}=\sigma _{\dot {x}}^{2}=1}, la simulación muestra convergencia en10{\displaystyle 10}iteraciones.

Utilizando la ganancia asintótica y suponiendoHk{\displaystyle \mathbf {H} _{k}}yFk{\displaystyle \mathbf {F} _{k}}son independientes dek{\displaystyle k}, el filtro de Kalman se convierte en un filtro lineal invariante en el tiempo :

incógnita^k=Fincógnita^k1+K[zkHFincógnita^k1].{\displaystyle {\hat {\mathbf {x} }}_{k}=\mathbf {F} {\hat {\mathbf {x} }}_{k-1}+\mathbf {K} _{\infty }[\mathbf {z} _{k}-\mathbf {H} \mathbf {F} {\hat {\mathbf {x} }}_{k-1}].}

La ganancia asintóticaK{\displaystyle \mathbf {K} _{\infty }}, si existe, se puede calcular resolviendo primero la siguiente ecuación discreta de Riccati para la covarianza de estado asintóticaPAG{\displaystyle \mathbf {P} _{\infty }}: [ 40 ]

PAG=F(PAGPAGHT(HPAGHT+R)1HPAG)FT+Q.{\displaystyle \mathbf {P} _{\infty }=\mathbf {F} \left(\mathbf {P} _{\infty }-\mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\left(\mathbf {H} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}+\mathbf {R} \right)^{-1}\mathbf {H} \mathbf {P} _{\infty }\right)\mathbf {F} ^{\textsf {T}}+\mathbf {Q} .}

La ganancia asintótica se calcula entonces como antes.

K=PAGHT(R+HPAGHT)1.{\displaystyle \mathbf {K} _{\infty }=\mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\left(\mathbf {R} +\mathbf {H} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\right)^{-1}.}

Además, una forma del filtro de Kalman asintótico más comúnmente utilizado en la teoría de control viene dada por

incógnita^k+1=Fincógnita^k+Bk+K¯[zkHincógnita^k],{\displaystyle {\displaystyle {\hat {\mathbf {x} }}_{k+1}=\mathbf {F} {\hat {\mathbf {x} }}_{k}+\mathbf {B} \mathbf {u} _{k}+\mathbf {\overline {K}} _{\infty }[\mathbf {z} _{k}-\mathbf {H} {\hat {\mathbf {x} }}_{k}],}}

dónde

K¯=FPAGHT(R+HPAGHT)1.{\displaystyle {\overline {\mathbf {K} }}_{\infty }=\mathbf {F} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\left(\mathbf {R} +\mathbf {H} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\right)^{-1}.}

Esto conduce a un estimador de la forma

incógnita^k+1=(FK¯H)incógnita^k+Bk+K¯zk.{\displaystyle {\displaystyle {\hat {\mathbf {x} }}_{k+1}=(\mathbf {F} -{\overline {\mathbf {K} }}_{\infty }\mathbf {H} ){\hat {\mathbf {x} }}_{k}+\mathbf {B} \mathbf {u} _{k}+\mathbf {\overline {K}} _{\infty }\mathbf {z} _{k}.}}

Derivaciones

El filtro de Kalman se puede derivar como un método generalizado de mínimos cuadrados que opera sobre datos previos. [ 43 ]

Derivación de la matriz de covarianza de la estimación a posteriori

Comenzando con nuestro invariante sobre la covarianza del error P k  | k  como se indicó anteriormente

PAGkk=cobertura(incógnitakincógnita^kk){\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)}

sustituir en la definición deincógnita^kk{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}

PAGkk=cobertura[incógnitak(incógnita^kk1+Kky~k)]{\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left[\mathbf {x} _{k}-\left({\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}{\tilde {\mathbf {y} }}_{k}\right)\right]}

y sustituir y~k{\displaystyle {\tilde {\mathbf {y} }}_{k}}

PAGkk=cobertura(incógnitak[incógnita^kk1+Kk(zkHkincógnita^kk1)]){\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left(\mathbf {x} _{k}-\left[{\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\left(\mathbf {z} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}\right)\right]\right)}

yzk{\displaystyle \mathbf {z} _{k}}

PAGkk=cobertura(incógnitak[incógnita^kk1+Kk(Hkincógnitak+vkHkincógnita^kk1)]){\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left(\mathbf {x} _{k}-\left[{\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\left(\mathbf {H} _{k}\mathbf {x} _{k}+\mathbf {v} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}\right)\right]\right)}

y al recopilar los vectores de error obtenemos

PAGkk=cobertura[(IKkHk)(incógnitakincógnita^kk1)Kkvk]{\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left[\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)-\mathbf {K} _{k}\mathbf {v} _{k}\right]}

Dado que el error de medición v k no está correlacionado con los otros términos, esto se convierte en

PAGkk=cobertura[(IKkHk)(incógnitakincógnita^kk1)]+cobertura[Kkvk]{\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left[\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\right]+\operatorname {cov} \left[\mathbf {K} _{k}\mathbf {v} _{k}\right]}

por las propiedades de la covarianza vectorial esto se convierte en

PAGkk=(IKkHk)cobertura(incógnitakincógnita^kk1)(IKkHk)T+Kkcobertura(vk)KkT{\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\operatorname {cov} \left(\mathbf {v} _{k}\right)\mathbf {K} _{k}^{\textsf {T}}}

que, utilizando nuestro invariante en P k  | k −1  y la definición de R k se convierte en

PAGkk=(IKkHk)PAGkk1(IKkHk)T+KkRkKkT{\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}\mathbf {K} _{k}^{\textsf {T}}}

Esta 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 K k . Resulta que si K k es la ganancia de Kalman óptima, esto se puede simplificar aún más como se muestra a continuación.

Derivación de la ganancia de Kalman

El filtro de Kalman es un estimador de mínimo error cuadrático medio (MMSE) . El error en la estimación del estado a posteriori es

incógnitakincógnita^kk{\displaystyle \mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}}

Buscamos minimizar el valor esperado del cuadrado de la magnitud de este vector,mi[incógnitakincógnita^k|k2]{\displaystyle \operatorname {E} \left[\left\|\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k|k}\right\|^{2}\right]}Esto equivale a minimizar la traza de la matriz de covarianza de la estimación a posteriori .PAGk|k{\displaystyle \mathbf {P} _{k|k}}Al desarrollar los términos de la ecuación anterior y agruparlos, obtenemos:

PAGkk=PAGkk1KkHkPAGkk1PAGkk1HkTKkT+Kk(HkPAGkk1HkT+Rk)KkT=PAGkk1KkHkPAGkk1PAGkk1HkTKkT+KkSkKkT{\displaystyle {\begin{aligned}\mathbf {P} _{k\mid k}&=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}+\mathbf {K} _{k}\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k}\right)\mathbf {K} _{k}^{\textsf {T}}\\[6pt]&=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}+\mathbf {K} _{k}\mathbf {S} _{k}\mathbf {K} _{k}^{\textsf {T}}\end{aligned}}}

La traza se minimiza cuando su derivada matricial con respecto a la matriz de ganancia es cero. Utilizando las reglas de la matriz gradiente y la simetría de las matrices involucradas, encontramos que

tr(PAGkk)Kk=2(HkPAGkk1)T+2KkSk=0.{\displaystyle {\frac {\partial \;\operatorname {tr} (\mathbf {P} _{k\mid k})}{\partial \;\mathbf {K} _{k}}}=-2\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\right)^{\textsf {T}}+2\mathbf {K} _{k}\mathbf {S} _{k}=0.}

Al resolver esto para K k se obtiene la ganancia de Kalman:

KkSk=(HkPAGkk1)T=PAGkk1HkTKk=PAGkk1HkTSk1{\displaystyle {\begin{aligned}\mathbf {K} _{k}\mathbf {S} _{k}&=\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\right)^{\textsf {T}}=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\\\Rightarrow \mathbf {K} _{k}&=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}\end{aligned}}}

Esta ganancia, conocida como ganancia de Kalman óptima , es la que produce estimaciones MMSE cuando se utiliza.

Simplificación de la fórmula de covarianza de error a posteriori

La fórmula utilizada para calcular la covarianza del error a posteriori se puede simplificar cuando la ganancia de Kalman es igual al valor óptimo derivado anteriormente. Multiplicando ambos lados de nuestra fórmula de ganancia de Kalman de la derecha por S k K k T , se deduce que

KkSkKkT=PAGkk1HkTKkT{\displaystyle \mathbf {K} _{k}\mathbf {S} _{k}\mathbf {K} _{k}^{\textsf {T}}=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}}

Volviendo a nuestra fórmula ampliada para la covarianza del error a posteriori ,

PAGkk=PAGkk1KkHkPAGkk1PAGkk1HkTKkT+KkSkKkT{\displaystyle \mathbf {P} _{k\mid k}=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}+\mathbf {K} _{k}\mathbf {S} _{k}\mathbf {K} _{k}^{\textsf {T}}}

encontramos que los dos últimos términos se cancelan, dando como resultado

PAGkk=PAGkk1KkHkPAGkk1=(IKkHk)PAGkk1{\displaystyle \mathbf {P} _{k\mid k}=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}=(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k})\mathbf {P} _{k\mid k-1}}

Esta fórmula es computacionalmente más económica y, por lo tanto, se usa casi siempre en la práctica, pero solo es correcta para la ganancia óptima. Si la precisión aritmética es inusualmente baja, lo que causa problemas de estabilidad numérica , o si se usa deliberadamente una ganancia de Kalman no óptima, esta simplificación no se puede aplicar; se debe usar la fórmula de covarianza de error a posteriori derivada anteriormente (forma de Joseph).

Análisis de sensibilidad

Las ecuaciones de filtrado de Kalman proporcionan una estimación del estadoincógnita^kk{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}y su covarianza de errorPAGkk{\displaystyle \mathbf {P} _{k\mid k}}recursivamente. La estimación y su calidad dependen de los parámetros del sistema y de las estadísticas de ruido introducidas como entradas al estimador. Esta sección analiza el efecto de las incertidumbres en las entradas estadísticas del filtro. [ 44 ] En ausencia de estadísticas fiables o de los valores reales de las matrices de covarianza de ruidoQk{\displaystyle \mathbf {Q} _{k}}yRk{\displaystyle \mathbf {R} _{k}}, la expresión

PAGkk=(IKkHk)PAGkk1(IKkHk)T+KkRkKkT{\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}\mathbf {K} _{k}^{\textsf {T}}}

ya no proporciona la covarianza de error real. En otras palabras,PAGkkmi[(incógnitakincógnita^kk)(incógnitakincógnita^kk)T]{\displaystyle \mathbf {P} _{k\mid k}\neq E\left[\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)^{\textsf {T}}\right]}En la mayoría de las aplicaciones en tiempo real, las matrices de covarianza que se utilizan para diseñar el filtro de Kalman son diferentes de 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 de ruido, así como las matrices del sistema, son diferentes.Fk{\displaystyle \mathbf {F} _{k}}yHk{\displaystyle \mathbf {H} _{k}}Los datos que se introducen como entradas al filtro son incorrectos. Por lo tanto, 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 de errores para el caso de incertidumbres estadísticas. Aquí, las covarianzas de ruido reales se denotan porQka{\displaystyle \mathbf {Q} _{k}^{a}}yRka{\displaystyle \mathbf {R} _{k}^{a}}respectivamente, mientras que los valores de diseño utilizados en el estimador sonQk{\displaystyle \mathbf {Q} _{k}}yRk{\displaystyle \mathbf {R} _{k}}respectivamente. La covarianza de error real se denota porPAGkka{\displaystyle \mathbf {P} _{k\mid k}^{a}}yPAGkk{\displaystyle \mathbf {P} _{k\mid k}}tal como lo calcula el filtro de Kalman se denomina variable de Riccati. CuandoQkQka{\displaystyle \mathbf {Q} _{k}\equiv \mathbf {Q} _{k}^{a}}yRkRka{\displaystyle \mathbf {R} _{k}\equiv \mathbf {R} _{k}^{a}}, esto significa quePAGkk=PAGkka{\displaystyle \mathbf {P} _{k\mid k}=\mathbf {P} _{k\mid k}^{a}}. Mientras se calcula la covarianza de error real utilizandoPAGkka=mi[(incógnitakincógnita^kk)(incógnitakincógnita^kk)T]{\displaystyle \mathbf {P} _{k\mid k}^{a}=E\left[\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)^{\textsf {T}}\right]}, sustituyendo porincógnita^kk{\displaystyle {\widehat {\mathbf {x} }}_{k\mid k}}y utilizando el hecho de quemi[wkwkT]=Qka{\displaystyle E\left[\mathbf {w} _{k}\mathbf {w} _{k}^{\textsf {T}}\right]=\mathbf {Q} _{k}^{a}}ymi[vkvkT]=Rka{\displaystyle E\left[\mathbf {v} _{k}\mathbf {v} _{k}^{\textsf {T}}\right]=\mathbf {R} _{k}^{a}}, da como resultado las siguientes ecuaciones recursivas paraPAGkka{\displaystyle \mathbf {P} _{k\mid k}^{a}} :

PAGkk1a=FkPAGk1k1aFkT+Qka{\displaystyle \mathbf {P} _{k\mid k-1}^{a}=\mathbf {F} _{k}\mathbf {P} _{k-1\mid k-1}^{a}\mathbf {F} _{k}^{\textsf {T}}+\mathbf {Q} _{k}^{a}}

y

PAGkka=(IKkHk)PAGkk1a(IKkHk)T+KkRkaKkT{\displaystyle \mathbf {P} _{k\mid k}^{a}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}^{a}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}^{a}\mathbf {K} _{k}^{\textsf {T}}}

Mientras se realiza la computaciónPAGkk{\displaystyle \mathbf {P} _{k\mid k}}, por diseño el filtro asume implícitamente quemi[wkwkT]=Qk{\displaystyle E\left[\mathbf {w} _{k}\mathbf {w} _{k}^{\textsf {T}}\right]=\mathbf {Q} _{k}}ymi[vkvkT]=Rk{\displaystyle E\left[\mathbf {v} _{k}\mathbf {v} _{k}^{\textsf {T}}\right]=\mathbf {R} _{k}}. Las expresiones recursivas paraPAGkka{\displaystyle \mathbf {P} _{k\mid k}^{a}}yPAGkk{\displaystyle \mathbf {P} _{k\mid k}}son idénticos excepto por la presencia deQka{\displaystyle \mathbf {Q} _{k}^{a}}yRka{\displaystyle \mathbf {R} _{k}^{a}}en lugar de los valores de diseñoQk{\displaystyle \mathbf {Q} _{k}}yRk{\displaystyle \mathbf {R} _{k}}respectivamente. Se han realizado investigaciones para analizar la robustez del sistema de filtro de Kalman. [ 45 ]

Forma factorizada

Un problema del filtro de Kalman es su estabilidad numérica . Si la covarianza del ruido del proceso Q k es pequeña, el error de redondeo suele provocar que un pequeño valor propio positivo de la matriz de covarianza del estado P se calcule como un número negativo. Esto hace que la representación numérica de P sea indefinida , mientras que su forma real es definida positiva .

Las matrices definidas positivas tienen la propiedad de que se pueden factorizar en el producto de una matriz triangular inferior no singular S y su transpuesta : P = S · S T . El factor S se puede calcular eficientemente usando el algoritmo de factorización de Cholesky . Esta forma de producto de la matriz de covarianza P está garantizada como simétrica, y para todo 1 <= k <= n, el k-ésimo elemento diagonal P kk es igual al cuadrado de la norma euclidiana de la k-ésima fila de S , que es necesariamente positiva. Una forma equivalente, que evita muchas de las operaciones de raíz cuadrada involucradas en el algoritmo de factorización de Cholesky , pero conserva las propiedades numéricas deseables, es la forma de descomposición UD, P = U · D · U T , donde U es una matriz triangular unitaria (con diagonal unitaria) y D es una matriz diagonal .     

Entre ambas, la factorización UD utiliza la misma cantidad de almacenamiento y requiere algo menos de cálculo, siendo la factorización triangular más utilizada. (La literatura inicial sobre la eficiencia relativa es algo engañosa, ya que asumía que las raíces cuadradas consumían mucho más tiempo que las divisiones, [ 46 ] : 69 mientras que en las computadoras del siglo XXI solo son ligeramente más costosas).

GJ Bierman y CL Thornton desarrollaron algoritmos eficientes para los pasos de predicción y actualización de Kalman en forma factorizada. [ 46 ] [ 47 ]

La descomposición L · D · L T de la matriz de covarianza de innovación S k es la base para otro tipo de filtro de raíz cuadrada numéricamente eficiente y robusto. [ 48 ] El algoritmo comienza con la descomposición LU tal como se implementa en el paquete de álgebra lineal ( LAPACK ). Estos resultados se factorizan aún más en la estructura L · D · L T con métodos dados por Golub y Van Loan (algoritmo 4.1.2) para una matriz simétrica no singular. [ 49 ] Cualquier matriz de covarianza singular se pivota de modo 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 H k · x k|k-1 que están asociadas con observaciones auxiliares en y k . El filtro de raíz cuadrada l · d · l t requiere la ortogonalización del vector de observación. [ 47 ] [ 48 ] Esto puede hacerse con la raíz cuadrada inversa de la matriz de covarianza para las variables auxiliares utilizando el Método 2 en Higham (2002, p.  263). [ 50 ]

Forma paralela

El filtro de Kalman es eficiente para el procesamiento secuencial de datos en unidades centrales de procesamiento (CPU), pero en su forma original es ineficiente en arquitecturas paralelas como las unidades de procesamiento gráfico (GPU). Sin embargo, es posible expresar la rutina de actualización del filtro en términos de un operador asociativo utilizando la formulación de Särkkä y García-Fernández (2021). [ 51 ] La solución del filtro se puede recuperar mediante el uso de un algoritmo de suma de prefijos que se puede implementar eficientemente en la GPU. [ 52 ] Esto reduce la complejidad computacional deO(norte){\displaystyle O(N)}en el número de pasos de tiempo paraO(registro(norte)){\displaystyle O(\log(N))}.

Relación con la estimación bayesiana recursiva

El filtro de Kalman puede presentarse como una de las redes bayesianas dinámicas más simples . El filtro de Kalman calcula estimaciones de los valores reales de los estados de forma recursiva a lo largo del tiempo utilizando mediciones entrantes y un modelo de proceso matemático. De manera similar, la estimación bayesiana recursiva calcula estimaciones de una función de densidad de probabilidad (FDP) desconocida de forma recursiva a lo largo del tiempo utilizando mediciones entrantes y un modelo de proceso matemático. [ 53 ]

En la estimación bayesiana recursiva, se supone que el estado verdadero es un proceso de Markov no observado , y las mediciones son los estados observados de un modelo oculto de Markov (HMM).

modelo oculto de Markov
modelo oculto de Markov

Debido a la suposición de Markov , el estado verdadero es condicionalmente independiente de todos los estados anteriores dado el estado inmediatamente anterior.

pag(incógnitakincógnita0,,incógnitak1)=pag(incógnitakincógnitak1){\displaystyle p(\mathbf {x} _{k}\mid \mathbf {x} _{0},\dots ,\mathbf {x} _{k-1})=p(\mathbf {x} _{k}\mid \mathbf {x} _{k-1})}

De manera similar, la medición en el k -ésimo paso de tiempo depende únicamente del estado actual y es condicionalmente independiente de todos los demás estados dado el estado actual.

pag(zkincógnita0,,incógnitak)=pag(zkincógnitak){\displaystyle p(\mathbf {z} _{k}\mid \mathbf {x} _{0},\dots ,\mathbf {x} _{k})=p(\mathbf {z} _{k}\mid \mathbf {x} _{k})}

Utilizando estas suposiciones, la distribución de probabilidad sobre todos los estados del modelo oculto de Markov se puede escribir simplemente como:

pag(incógnita0,,incógnitak,z1,,zk)=pag(incógnita0)i=1kpag(ziincógnitai)pag(incógnitaiincógnitai1){\displaystyle p\left(\mathbf {x} _{0},\dots ,\mathbf {x} _{k},\mathbf {z} _{1},\dots ,\mathbf {z} _{k}\right)=p\left(\mathbf {x} _{0}\right)\prod _{i=1}^{k}p\left(\mathbf {z} _{i}\mid \mathbf {x} _{i}\right)p\left(\mathbf {x} _{i}\mid \mathbf {x} _{i-1}\right)}

Sin embargo, cuando se utiliza un filtro de Kalman para estimar el estado x , la distribución de probabilidad de interés es la asociada a los estados actuales condicionada a las mediciones hasta el instante actual. Esto se logra marginalizando los estados anteriores y dividiendo por la probabilidad del conjunto de mediciones.

Esto da como resultado que las fases de predicción y actualización del filtro de Kalman se escriban de forma probabilística. La distribución de probabilidad asociada al estado predicho es la suma (integral) de los productos de la distribución de probabilidad asociada a la transición del paso de tiempo ( k  1) al k y la distribución de probabilidad asociada al estado anterior, sobre todos los posiblesincógnitak1{\displaystyle x_{k-1}}.

pag(incógnitakZk1)=pag(incógnitakincógnitak1)pag(incógnitak1Zk1)dincógnitak1{\displaystyle p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k-1}\right)=\int p\left(\mathbf {x} _{k}\mid \mathbf {x} _{k-1}\right)p\left(\mathbf {x} _{k-1}\mid \mathbf {Z} _{k-1}\right)\,d\mathbf {x} _{k-1}}

La configuración de medición hasta el tiempo t es

Zt={z1,,zt}{\displaystyle \mathbf {Z} _{t}=\left\{\mathbf {z} _{1},\dots ,\mathbf {z} _{t}\right\}}

La distribución de probabilidad de la actualización es proporcional al producto de la probabilidad de medición y el estado predicho.

pag(incógnitakZk)=pag(zkincógnitak)pag(incógnitakZk1)pag(zkZk1){\displaystyle p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k}\right)={\frac {p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k-1}\right)}{p\left(\mathbf {z} _{k}\mid \mathbf {Z} _{k-1}\right)}}}

El denominador

pag(zkZk1)=pag(zkincógnitak)pag(incógnitakZk1)dincógnitak{\displaystyle p\left(\mathbf {z} _{k}\mid \mathbf {Z} _{k-1}\right)=\int p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k-1}\right)\,d\mathbf {x} _{k}}

es un término de normalización.

Las funciones de densidad de probabilidad restantes son

pag(incógnitakincógnitak1)=norte(Fkincógnitak1+Bkk,Qk)pag(zkincógnitak)=norte(Hkincógnitak,Rk)pag(incógnitak1Zk1)=norte(incógnita^k1,PAGk1){\displaystyle {\begin{aligned}p\left(\mathbf {x} _{k}\mid \mathbf {x} _{k-1}\right)&={\mathcal {N}}\left(\mathbf {F} _{k}\mathbf {x} _{k-1}+\mathbf {B} _{k}\mathbf {u} _{k},\mathbf {Q} _{k}\right)\\p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)&={\mathcal {N}}\left(\mathbf {H} _{k}\mathbf {x} _{k},\mathbf {R} _{k}\right)\\p\left(\mathbf {x} _{k-1}\mid \mathbf {Z} _{k-1}\right)&={\mathcal {N}}\left({\hat {\mathbf {x} }}_{k-1},\mathbf {P} _{k-1}\right)\end{aligned}}}

Se asume inductivamente que la PDF en el paso de tiempo anterior es el estado y la covarianza estimados. Esto se justifica porque, como estimador óptimo, el filtro de Kalman aprovecha mejor las mediciones, por lo tanto, la PDF paraincógnitak{\displaystyle \mathbf {x} _{k}} dadas las medicionesZk{\displaystyle \mathbf {Z} _{k}}es la estimación del filtro de Kalman.

Probabilidad marginal

En relación 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 = (z₀, z₁ , z₂ , ... ) . Específicamente , el proceso es

  1. Muestra un estado ocultoincógnita0{\displaystyle \mathbf {x} _{0}}a partir de la distribución previa gaussianapag(incógnita0)=norte(incógnita^00,PAG00){\displaystyle p\left(\mathbf {x} _{0}\right)={\mathcal {N}}\left({\hat {\mathbf {x} }}_{0\mid 0},\mathbf {P} _{0\mid 0}\right)}.
  2. Muestra una observaciónz0{\displaystyle \mathbf {z} _{0}}del modelo de observaciónpag(z0incógnita0)=norte(H0incógnita0,R0){\displaystyle p\left(\mathbf {z} _{0}\mid \mathbf {x} _{0}\right)={\mathcal {N}}\left(\mathbf {H} _{0}\mathbf {x} _{0},\mathbf {R} _{0}\right)}.
  3. Parak=1,2,3,{\displaystyle k=1,2,3,\ldots }, hacer
    1. Muestra el siguiente estado ocultoincógnitak{\displaystyle \mathbf {x} _{k}}del modelo de transiciónpag(incógnitakincógnitak1)=norte(Fkincógnitak1+Bkk,Qk).{\displaystyle p\left(\mathbf {x} _{k}\mid \mathbf {x} _{k-1}\right)={\mathcal {N}}\left(\mathbf {F} _{k}\mathbf {x} _{k-1}+\mathbf {B} _{k}\mathbf {u} _{k},\mathbf {Q} _{k}\right).}
    2. Muestra una observaciónzk{\displaystyle \mathbf {z} _{k}}del modelo de observaciónpag(zkincógnitak)=norte(Hkincógnitak,Rk).{\displaystyle p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)={\mathcal {N}}\left(\mathbf {H} _{k}\mathbf {x} _{k},\mathbf {R} _{k}\right).}

Este proceso tiene una estructura idéntica a la del modelo oculto de Markov , salvo que el estado discreto y las observaciones se sustituyen por variables continuas muestreadas a partir de distribuciones gaussianas.

En algunas aplicaciones, resulta útil calcular la probabilidad de que un filtro de Kalman con un conjunto determinado de parámetros (distribución a priori, modelos de transición y observación, y entradas de control) genere una señal observada específica. Esta probabilidad se conoce como verosimilitud marginal, ya que integra los valores de las variables de estado ocultas (o los marginaliza), por lo que puede calcularse utilizando únicamente la señal observada. La verosimilitud marginal puede ser útil para evaluar diferentes opciones de parámetros o para comparar el filtro de Kalman con otros modelos mediante la comparación bayesiana de modelos .

Es sencillo calcular la verosimilitud marginal como un efecto secundario del cálculo del filtrado recursivo. Por la regla de la cadena , la verosimilitud se puede factorizar como el producto de la probabilidad de cada observación dadas las observaciones anteriores,

pag(z)=k=0Tpag(zkzk1,,z0){\displaystyle p(\mathbf {z} )=\prod _{k=0}^{T}p\left(\mathbf {z} _{k}\mid \mathbf {z} _{k-1},\ldots ,\mathbf {z} _{0}\right)},

y dado que el filtro de Kalman describe un proceso de Markov, toda la información relevante de observaciones anteriores está contenida en la estimación del estado actual.incógnita^kk1,PAGkk1.{\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {P} _{k\mid k-1}.}Por lo tanto, la probabilidad marginal viene dada por

pag(z)=k=0Tpag(zkincógnitak)pag(incógnitakzk1,,z0)dincógnitak=k=0Tnorte(zk;Hkincógnitak,Rk)norte(incógnitak;incógnita^kk1,PAGkk1)dincógnitak=k=0Tnorte(zk;Hkincógnita^kk1,Rk+HkPAGkk1HkT)=k=0Tnorte(zk;Hkincógnita^kk1,Sk),{\displaystyle {\begin{aligned}p(\mathbf {z} )&=\prod _{k=0}^{T}\int p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)p\left(\mathbf {x} _{k}\mid \mathbf {z} _{k-1},\ldots ,\mathbf {z} _{0}\right)d\mathbf {x} _{k}\\&=\prod _{k=0}^{T}\int {\mathcal {N}}\left(\mathbf {z} _{k};\mathbf {H} _{k}\mathbf {x} _{k},\mathbf {R} _{k}\right){\mathcal {N}}\left(\mathbf {x} _{k};{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {P} _{k\mid k-1}\right)d\mathbf {x} _{k}\\&=\prod _{k=0}^{T}{\mathcal {N}}\left(\mathbf {z} _{k};\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {R} _{k}+\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\right)\\&=\prod _{k=0}^{T}{\mathcal {N}}\left(\mathbf {z} _{k};\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {S} _{k}\right),\end{aligned}}}

es decir, un producto de densidades gaussianas, cada una correspondiente a la densidad de una observación z k bajo la distribución de filtrado actual.Hkincógnita^kk1,Sk{\displaystyle \mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {S} _{k}}Esto se puede calcular fácilmente como una simple actualización recursiva; sin embargo, para evitar el desbordamiento negativo numérico , en una implementación práctica suele ser deseable calcular la verosimilitud marginal logarítmica.=registropag(z){\displaystyle \ell =\log p(\mathbf {z} )}En cambio, adoptando la convención(1)=0{\displaystyle \ell ^{(-1)}=0}Esto se puede hacer mediante la regla de actualización recursiva.

(k)=(k1)12(y~kTSk1y~k+registro|Sk|+dyregistro2π),{\displaystyle \ell ^{(k)}=\ell ^{(k-1)}-{\frac {1}{2}}\left({\tilde {\mathbf {y} }}_{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}{\tilde {\mathbf {y} }}_{k}+\log \left|\mathbf {S} _{k}\right|+d_{y}\log 2\pi \right),}

dóndedy{\displaystyle d_{y}}es la dimensión del vector de medición. [ 54 ]

Una aplicación importante donde se utiliza la probabilidad (logarítmica) de las observaciones (dados los parámetros del filtro) es el seguimiento de múltiples objetivos. Por ejemplo, consideremos un escenario de seguimiento de objetos donde la entrada es un flujo de observaciones, pero se desconoce cuántos objetos hay en la escena (o bien, se conoce el número de objetos, pero es mayor que uno). En tal escenario, puede ser desconocido a priori qué observaciones/mediciones fueron generadas por cada objeto. Un rastreador de hipótesis múltiples (MHT) normalmente formula diferentes hipótesis de asociación de trayectorias, donde cada hipótesis puede considerarse como un filtro de Kalman (para el caso gaussiano lineal) con un conjunto específico de parámetros asociados al objeto hipotetizado. Por lo tanto, es importante calcular la probabilidad de las observaciones para las diferentes hipótesis consideradas, de modo que se pueda encontrar la más probable.

Filtro de información

En los casos en que la dimensión del vector de observación y es mayor que la dimensión del vector de espacio de estado 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 computación. Además, el filtro de información permite la inicialización de la información del sistema de acuerdo conI1|0=PAG1|01=0{\displaystyle {I_{1|0}=P_{1|0}^{-1}=0}}, lo cual no sería posible para el filtro de Kalman regular. [ 55 ] En el filtro de información, o filtro de covarianza inversa, la covarianza estimada y el estado estimado se reemplazan por la matriz de información y el vector de información , respectivamente. Estos se definen como:

Ykk=PAGkk1y^kk=PAGkk1incógnita^kk{\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k}&=\mathbf {P} _{k\mid k}^{-1}\\{\hat {\mathbf {y} }}_{k\mid k}&=\mathbf {P} _{k\mid k}^{-1}{\hat {\mathbf {x} }}_{k\mid k}\end{aligned}}}

De manera similar, la covarianza y el estado predichos tienen formas de información equivalentes, definidas como:

Ykk1=PAGkk11y^kk1=PAGkk11incógnita^kk1{\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k-1}&=\mathbf {P} _{k\mid k-1}^{-1}\\{\hat {\mathbf {y} }}_{k\mid k-1}&=\mathbf {P} _{k\mid k-1}^{-1}{\hat {\mathbf {x} }}_{k\mid k-1}\end{aligned}}}

y la covarianza de medición y el vector de medición, que se definen como:

Ik=HkTRk1Hkik=HkTRk1zk{\displaystyle {\begin{aligned}\mathbf {I} _{k}&=\mathbf {H} _{k}^{\textsf {T}}\mathbf {R} _{k}^{-1}\mathbf {H} _{k}\\\mathbf {i} _{k}&=\mathbf {H} _{k}^{\textsf {T}}\mathbf {R} _{k}^{-1}\mathbf {z} _{k}\end{aligned}}}

La actualización de la información ahora se convierte en una suma insignificante. [ 56 ]

Ykk=Ykk1+Iky^kk=y^kk1+ik{\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k}&=\mathbf {Y} _{k\mid k-1}+\mathbf {I} _{k}\\{\hat {\mathbf {y} }}_{k\mid k}&={\hat {\mathbf {y} }}_{k\mid k-1}+\mathbf {i} _{k}\end{aligned}}}

La principal ventaja del filtro de información es que se pueden filtrar N mediciones en cada paso de tiempo simplemente sumando sus matrices y vectores de información.

Ykk=Ykk1+j=1norteIk,jy^kk=y^kk1+j=1norteik,j{\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k}&=\mathbf {Y} _{k\mid k-1}+\sum _{j=1}^{N}\mathbf {I} _{k,j}\\{\hat {\mathbf {y} }}_{k\mid k}&={\hat {\mathbf {y} }}_{k\mid k-1}+\sum _{j=1}^{N}\mathbf {i} _{k,j}\end{aligned}}}

Para predecir el filtro de información, la matriz y el vector de información se pueden convertir de nuevo a sus equivalentes en el espacio de estados, o bien se puede utilizar la predicción del espacio de información. [ 56 ]

METROk=[Fk1]TYk1k1Fk1dok=METROk[METROk+Qk1]1Lk=IdokYkk1=LkMETROk+dokQk1dokTy^kk1=Lk[Fk1]Ty^k1k1{\displaystyle {\begin{aligned}\mathbf {M} _{k}&=\left[\mathbf {F} _{k}^{-1}\right]^{\textsf {T}}\mathbf {Y} _{k-1\mid k-1}\mathbf {F} _{k}^{-1}\\\mathbf {C} _{k}&=\mathbf {M} _{k}\left[\mathbf {M} _{k}+\mathbf {Q} _{k}^{-1}\right]^{-1}\\\mathbf {L} _{k}&=\mathbf {I} -\mathbf {C} _{k}\\\mathbf {Y} _{k\mid k-1}&=\mathbf {L} _{k}\mathbf {M} _{k}+\mathbf {C} _{k}\mathbf {Q} _{k}^{-1}\mathbf {C} _{k}^{\textsf {T}}\\{\hat {\mathbf {y} }}_{k\mid k-1}&=\mathbf {L} _{k}\left[\mathbf {F} _{k}^{-1}\right]^{\textsf {T}}{\hat {\mathbf {y} }}_{k-1\mid k-1}\end{aligned}}}

Suavizador de retardo fijo

El suavizador de retardo fijo óptimo proporciona la estimación óptima deincógnita^knortek{\displaystyle {\hat {\mathbf {x} }}_{k-N\mid k}}para un retardo fijo dadonorte{\displaystyle N}utilizando las medidas dez1{\displaystyle \mathbf {z} _{1}}azk{\displaystyle \mathbf {z} _{k}}. [ 57 ] Se puede derivar utilizando la teoría anterior a través de un estado aumentado, y la ecuación principal del filtro es la siguiente:

[incógnita^ttincógnita^t1tincógnita^tnorte+1t]=[I00]incógnita^tt1+[00I00I][incógnita^t1t1incógnita^t2t1incógnita^tnorte+1t1]+[K(0)K(1)K(norte1)]ytt1{\displaystyle {\begin{bmatrix}{\hat {\mathbf {x} }}_{t\mid t}\\{\hat {\mathbf {x} }}_{t-1\mid t}\\\vdots \\{\hat {\mathbf {x} }}_{t-N+1\mid t}\\\end{bmatrix}}={\begin{bmatrix}\mathbf {I} \\0\\\vdots \\0\\\end{bmatrix}}{\hat {\mathbf {x} }}_{t\mid t-1}+{\begin{bmatrix}0&\ldots &0\\\mathbf {I} &0&\vdots \\\vdots &\ddots &\vdots \\0&\ldots &\mathbf {I} \\\end{bmatrix}}{\begin{bmatrix}{\hat {\mathbf {x} }}_{t-1\mid t-1}\\{\hat {\mathbf {x} }}_{t-2\mid t-1}\\\vdots \\{\hat {\mathbf {x} }}_{t-N+1\mid t-1}\\\end{bmatrix}}+{\begin{bmatrix}\mathbf {K} ^{(0)}\\\mathbf {K} ^{(1)}\\\vdots \\\mathbf {K} ^{(N-1)}\\\end{bmatrix}}\mathbf {y} _{t\mid t-1}}

dónde:

  • incógnita^tt1{\displaystyle {\hat {\mathbf {x} }}_{t\mid t-1}}se estima mediante un filtro de Kalman estándar;
  • ytt1=ztHincógnita^tt1{\displaystyle \mathbf {y} _{t\mid t-1}=\mathbf {z} _{t}-\mathbf {H} {\hat {\mathbf {x} }}_{t\mid t-1}}es la innovación producida considerando la estimación del filtro de Kalman estándar;
  • los diversosincógnita^tit{\displaystyle {\hat {\mathbf {x} }}_{t-i\mid t}}coni=1,,norte1{\displaystyle i=1,\ldots ,N-1}son variables nuevas; es decir, no aparecen en el filtro de Kalman estándar;
  • Las ganancias se calculan mediante el siguiente esquema:
    K(i+1)=PAG(i)HT[HPAGHT+R]1{\displaystyle \mathbf {K} ^{(i+1)}=\mathbf {P} ^{(i)}\mathbf {H} ^{\textsf {T}}\left[\mathbf {H} \mathbf {P} \mathbf {H} ^{\textsf {T}}+\mathbf {R} \right]^{-1}}
y
PAG(i)=PAG[(FKH)T]i{\displaystyle \mathbf {P} ^{(i)}=\mathbf {P} \left[\left(\mathbf {F} -\mathbf {K} \mathbf {H} \right)^{\textsf {T}}\right]^{i}}
dóndePAG{\displaystyle \mathbf {P} }yK{\displaystyle \mathbf {K} }son la covarianza del error de predicción y las ganancias del filtro de Kalman estándar (es decir,PAGtt1{\displaystyle \mathbf {P} _{t\mid t-1}}).

Si la covarianza del error de estimación se define de manera que

PAGi:=mi[(incógnitatiincógnita^tit)(incógnitatiincógnita^tit)z1zt],{\displaystyle \mathbf {P} _{i}:=E\left[\left(\mathbf {x} _{t-i}-{\hat {\mathbf {x} }}_{t-i\mid t}\right)^{*}\left(\mathbf {x} _{t-i}-{\hat {\mathbf {x} }}_{t-i\mid t}\right)\mid z_{1}\ldots z_{t}\right],}

entonces tenemos que la mejora en la estimación deincógnitati{\displaystyle \mathbf {x} _{t-i}}está dado por:

PAGPAGi=j=0i[PAG(j)HT(HPAGHT+R)1H(PAG(i))T]{\displaystyle \mathbf {P} -\mathbf {P} _{i}=\sum _{j=0}^{i}\left[\mathbf {P} ^{(j)}\mathbf {H} ^{\textsf {T}}\left(\mathbf {H} \mathbf {P} \mathbf {H} ^{\textsf {T}}+\mathbf {R} \right)^{-1}\mathbf {H} \left(\mathbf {P} ^{(i)}\right)^{\textsf {T}}\right]}

Suavizadores de intervalo fijo

El suavizador de intervalo fijo óptimo proporciona la estimación óptima deincógnita^knorte{\displaystyle {\hat {\mathbf {x} }}_{k\mid n}}(k<norte{\displaystyle k<n}) utilizando las mediciones de un intervalo fijoz1{\displaystyle \mathbf {z} _{1}}aznorte{\displaystyle \mathbf {z} _{n}}Esto también se conoce como "Suavizado de Kalman". Existen varios algoritmos de suavizado de uso común.

Rauch–Tung–Striebel

El suavizador Rauch–Tung–Striebel (RTS) es un algoritmo eficiente de dos pasadas para el suavizado de intervalos fijos. [ 58 ]

El paso hacia adelante es el mismo que el del algoritmo de filtro de Kalman regular. Estas son estimaciones de estado filtradas a priori y a posteriori.incógnita^kk1{\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}},incógnita^kk{\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}y covarianzasPAGkk1{\displaystyle \mathbf {P} _{k\mid k-1}},PAGkk{\displaystyle \mathbf {P} _{k\mid k}}se guardan para su uso en el paso hacia atrás (para la retrodicción ).

En el paso hacia atrás, calculamos las estimaciones de estado suavizadas .incógnita^knorte{\displaystyle {\hat {\mathbf {x} }}_{k\mid n}}y covarianzasPAGknorte{\displaystyle \mathbf {P} _{k\mid n}}Comenzamos en el último paso de tiempo y retrocedemos en el tiempo utilizando las siguientes ecuaciones recursivas:

incógnita^knorte=incógnita^kk+dok(incógnita^k+1norteincógnita^k+1k)PAGknorte=PAGkk+dok(PAGk+1nortePAGk+1k)dokT{\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k\mid n}&={\hat {\mathbf {x} }}_{k\mid k}+\mathbf {C} _{k}\left({\hat {\mathbf {x} }}_{k+1\mid n}-{\hat {\mathbf {x} }}_{k+1\mid k}\right)\\\mathbf {P} _{k\mid n}&=\mathbf {P} _{k\mid k}+\mathbf {C} _{k}\left(\mathbf {P} _{k+1\mid n}-\mathbf {P} _{k+1\mid k}\right)\mathbf {C} _{k}^{\textsf {T}}\end{aligned}}}

dónde

dok=PAGkkFk+1TPAGk+1k1.{\displaystyle \mathbf {C} _{k}=\mathbf {P} _{k\mid k}\mathbf {F} _{k+1}^{\textsf {T}}\mathbf {P} _{k+1\mid k}^{-1}.}

incógnitakk{\displaystyle \mathbf {x} _{k\mid k}}es la estimación de estado a posteriori del paso de tiempok{\displaystyle k}yincógnitak+1k{\displaystyle \mathbf {x} _{k+1\mid k}}es la estimación de estado a priori del paso de tiempok+1{\displaystyle k+1}La misma notación se aplica a la covarianza.

Suavizador Bryson-Frazier modificado

Una alternativa al algoritmo RTS es el suavizador de intervalo fijo de Bryson-Frazier modificado (MBF), desarrollado por Bierman. [ 47 ] Este también utiliza un paso hacia atrás que procesa los datos guardados del paso hacia adelante del filtro de Kalman. Las ecuaciones para el paso hacia atrás implican el cálculo recursivo de los datos que se utilizan en cada instante de observación para calcular el estado suavizado y la covarianza.

Las ecuaciones recursivas son

Λ~k=HkTSk1Hk+do^kTΛ^kdo^kΛ^k1=FkTΛ~kFkΛ^norte=0λ~k=HkTSk1yk+do^kTλ^kλ^k1=FkTλ~kλ^norte=0{\displaystyle {\begin{aligned}{\tilde {\Lambda }}_{k}&=\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}\mathbf {H} _{k}+{\hat {\mathbf {C} }}_{k}^{\textsf {T}}{\hat {\Lambda }}_{k}{\hat {\mathbf {C} }}_{k}\\{\hat {\Lambda }}_{k-1}&=\mathbf {F} _{k}^{\textsf {T}}{\tilde {\Lambda }}_{k}\mathbf {F} _{k}\\{\hat {\Lambda }}_{n}&=0\\{\tilde {\lambda }}_{k}&=-\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}\mathbf {y} _{k}+{\hat {\mathbf {C} }}_{k}^{\textsf {T}}{\hat {\lambda }}_{k}\\{\hat {\lambda }}_{k-1}&=\mathbf {F} _{k}^{\textsf {T}}{\tilde {\lambda }}_{k}\\{\hat {\lambda }}_{n}&=0\end{aligned}}}

dóndeSk{\displaystyle \mathbf {S} _{k}}es la covarianza residual ydo^k=IKkHk{\displaystyle {\hat {\mathbf {C} }}_{k}=\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}}El estado suavizado y la covarianza se pueden encontrar mediante sustitución en las ecuaciones.

PAGknorte=PAGkkPAGkkΛ^kPAGkkincógnitaknorte=incógnitakkPAGkkλ^k{\displaystyle {\begin{aligned}\mathbf {P} _{k\mid n}&=\mathbf {P} _{k\mid k}-\mathbf {P} _{k\mid k}{\hat {\Lambda }}_{k}\mathbf {P} _{k\mid k}\\\mathbf {x} _{k\mid n}&=\mathbf {x} _{k\mid k}-\mathbf {P} _{k\mid k}{\hat {\lambda }}_{k}\end{aligned}}}

o

PAGknorte=PAGkk1PAGkk1Λ~kPAGkk1incógnitaknorte=incógnitakk1PAGkk1λ~k.{\displaystyle {\begin{aligned}\mathbf {P} _{k\mid n}&=\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}{\tilde {\Lambda }}_{k}\mathbf {P} _{k\mid k-1}\\\mathbf {x} _{k\mid n}&=\mathbf {x} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}{\tilde {\lambda }}_{k}.\end{aligned}}}

Una ventaja importante del MBF es que no requiere hallar la inversa de la matriz de covarianza. La derivación de Bierman se basa en el suavizador RTS, que supone que las distribuciones subyacentes son gaussianas. Sin embargo, Gibbs proporciona una derivación del MBF basada en el concepto de suavizador de punto fijo, que no requiere la suposición gaussiana. [ 59 ]

El MBF también se puede utilizar para realizar comprobaciones de consistencia en los residuos del filtro y la diferencia entre el valor de un estado de filtro después de una actualización y el valor suavizado del estado, es decirincógnitakkincógnitaknorte{\displaystyle \mathbf {x} _{k\mid k}-\mathbf {x} _{k\mid n}}. [ 60 ]

Suavizador de mínima varianza

El suavizador de mínima varianza puede alcanzar el mejor rendimiento de error posible, siempre que los modelos sean lineales, sus parámetros y las estadísticas de ruido se conozcan con precisión. [ 61 ] Este suavizador es una generalización de espacio de estados variable en el tiempo del filtro de Wiener no causal óptimo .

Los cálculos más suaves se realizan en dos pasadas. Los cálculos hacia adelante implican un predictor de un paso adelante y están dados por

incógnita^k+1k=(FkKkHk)incógnita^kk1+Kkzkαk=Sk12Hkincógnita^kk1+Sk12zk{\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k+1\mid k}&=(\mathbf {F} _{k}-\mathbf {K} _{k}\mathbf {H} _{k}){\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\mathbf {z} _{k}\\\alpha _{k}&=-\mathbf {S} _{k}^{-{\frac {1}{2}}}\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {S} _{k}^{-{\frac {1}{2}}}\mathbf {z} _{k}\end{aligned}}}

El sistema anterior se conoce como el factor inverso de Wiener-Hopf. La recursión hacia atrás es el adjunto del sistema directo anterior. El resultado del paso hacia atrásβk{\displaystyle \beta _{k}} puede calcularse operando las ecuaciones directas en el tiempo invertidoαk{\displaystyle \alpha _{k}} y el tiempo invirtiendo el resultado. En el caso de la estimación de la salida, la estimación suavizada viene dada por

y^knorte=zkRkβk{\displaystyle {\hat {\mathbf {y} }}_{k\mid N}=\mathbf {z} _{k}-\mathbf {R} _{k}\beta _{k}}

Tomando la parte causal de este suavizador de mínima varianza se obtiene

y^kk=zkRkSk12αk{\displaystyle {\hat {\mathbf {y} }}_{k\mid k}=\mathbf {z} _{k}-\mathbf {R} _{k}\mathbf {S} _{k}^{-{\frac {1}{2}}}\alpha _{k}}

que es idéntico al filtro de Kalman de mínima varianza. Las soluciones anteriores minimizan la varianza del error de estimación de la salida. Cabe destacar que la derivación del suavizador de Rauch-Tung-Striebel presupone que las distribuciones subyacentes son gaussianas, mientras que las soluciones de mínima varianza no. De forma similar, se pueden construir suavizadores óptimos para la estimación de estado y la estimación de entrada.

En [ 62 ] [ 63 ] se describe una versión en tiempo continuo del suavizador anterior.

Los algoritmos de maximización de la esperanza pueden emplearse para calcular estimaciones aproximadas de máxima verosimilitud de parámetros desconocidos del espacio de estados dentro de filtros y suavizadores de mínima varianza. A menudo, persisten incertidumbres en los supuestos del problema. Un suavizador que admita incertidumbres puede diseñarse añadiendo un término definido positivo a la ecuación de Riccati. [ 64 ]

En los casos en que los modelos no son lineales, las linealizaciones por pasos pueden estar dentro del filtro de varianza mínima y recursiones más suaves ( filtrado de Kalman extendido ).

Filtros de Kalman ponderados en frecuencia

En la década de 1930, Fletcher y Munson llevaron a cabo investigaciones pioneras sobre la percepción de sonidos a diferentes frecuencias . [ 65 ] Su trabajo sentó las bases para un método estándar de ponderación de los niveles de sonido medidos en las investigaciones sobre ruido industrial y pérdida auditiva . Desde entonces, la ponderación de frecuencias se ha utilizado en el diseño de filtros y controladores para optimizar el rendimiento en 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 de error en una banda de frecuencia específica.yy^{\displaystyle \mathbf {y} -{\hat {\mathbf {y} }}}denotemos el error de estimación de salida exhibido por un filtro de Kalman convencional. Además, seaW{\displaystyle \mathbf {W} }denota una función de transferencia de ponderación de frecuencia causal. La solución óptima que minimiza la varianza deW(yy^){\displaystyle \mathbf {W} \left(\mathbf {y} -{\hat {\mathbf {y} }}\right)}surge simplemente construyendoW1y^{\displaystyle \mathbf {W} ^{-1}{\hat {\mathbf {y} }}}.

El diseño deW{\displaystyle \mathbf {W} }sigue siendo una cuestión abierta. Una forma de proceder es identificar un sistema que genere el error de estimación y ajusteW{\displaystyle \mathbf {W} }igual al inverso de ese sistema. [ 66 ] Este procedimiento puede iterarse para obtener una mejora del error cuadrático medio a costa de un mayor orden del filtro. La misma técnica puede aplicarse a los suavizadores.

Filtros no lineales

El filtro de Kalman básico se limita a una suposición lineal. Sin embargo, los sistemas más complejos pueden ser no lineales . La no linealidad puede estar asociada al modelo del proceso, al modelo de observación o a ambos.

Las variantes más comunes de filtros de Kalman para sistemas no lineales son el filtro de Kalman extendido y el filtro de Kalman sin aroma. La idoneidad del filtro a utilizar depende de los índices de no linealidad del proceso y del modelo de observación. [ 67 ]

Filtro de Kalman extendido

En el filtro de Kalman extendido (EKF), los modelos de transición de estado y de observación no tienen por qué ser funciones lineales del estado, sino que pueden ser funciones no lineales. Estas funciones son de tipo diferenciable .

incógnitak=F(incógnitak1,k)+wkzk=h(incógnitak)+vk{\displaystyle {\begin{aligned}\mathbf {x} _{k}&=f(\mathbf {x} _{k-1},\mathbf {u} _{k})+\mathbf {w} _{k}\\\mathbf {z} _{k}&=h(\mathbf {x} _{k})+\mathbf {v} _{k}\end{aligned}}}

La función f se puede usar para calcular el estado predicho a partir de la estimación anterior, y de manera similar, la función h se puede usar para calcular la medición predicha a partir del estado predicho. Sin embargo, f y h no se pueden aplicar directamente a la covarianza. En su lugar, se calcula una matriz de derivadas parciales (el jacobiano ).

En cada paso de tiempo, se evalúa la matriz jacobiana con los estados predichos actuales. Estas matrices se pueden utilizar en las ecuaciones del filtro de Kalman. Este proceso, en esencia, linealiza la función no lineal en torno a la estimación actual.

Filtro Kalman sin perfume

Cuando los modelos de transición de estado y observación, es decir, las funciones de predicción y actualizaciónF{\displaystyle f}yh{\displaystyle h}—son altamente no lineales, el filtro de Kalman extendido puede dar un rendimiento particularmente deficiente. [ 68 ] [ 69 ] Esto se debe a que la covarianza se propaga a través de la linealización del modelo no lineal subyacente. El filtro de Kalman sin aroma (UKF) [ 68 ] utiliza una técnica de muestreo determinista conocida como transformación sin aroma (UT) para elegir 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 las cuales se forman una nueva estimación de la media y la covarianza. El filtro resultante depende de cómo se calculan las estadísticas transformadas de la UT y qué conjunto de puntos sigma se utiliza. Cabe señalar que siempre es posible construir nuevos UKF de manera consistente. [ 70 ] Para ciertos sistemas, el UKF resultante estima con mayor precisión la media y la covarianza verdaderas. [ 71 ] Esto se puede verificar con el muestreo de Monte Carlo o la expansión en serie de Taylor de las estadísticas posteriores. Además, esta técnica elimina la necesidad de calcular explícitamente los jacobianos, lo cual, para funciones complejas, puede ser una tarea difícil en sí misma (es decir, requiere derivadas complicadas si se hace analíticamente o es computacionalmente costoso si se hace numéricamente), si no imposible (si esas funciones no son diferenciables).

Puntos Sigma

Para un vector aleatorioincógnita=(incógnita1,,incógnitaL){\displaystyle \mathbf {x} =(x_{1},\dots ,x_{L})}Los puntos sigma son cualquier conjunto de vectores.

{s0,,snorte}={(s0,1s0,2s0,L),,(snorte,1snorte,2snorte,L)}{\displaystyle \{\mathbf {s} _{0},\dots ,\mathbf {s} _{N}\}={\bigl \{}{\begin{pmatrix}s_{0,1}&s_{0,2}&\ldots &s_{0,L}\end{pmatrix}},\dots ,{\begin{pmatrix}s_{N,1}&s_{N,2}&\ldots &s_{N,L}\end{pmatrix}}{\bigr \}}}

atribuido con

  • pesos de primer ordenW0a,,Wnortea{\displaystyle W_{0}^{a},\dots ,W_{N}^{a}}que cumplen
  1. j=0norteWja=1{\displaystyle \sum _{j=0}^{N}W_{j}^{a}=1}
  2. a pesar dei=1,,L{\displaystyle i=1,\dots ,L}:mi[incógnitai]=j=0norteWjasj,i{\displaystyle E[x_{i}]=\sum _{j=0}^{N}W_{j}^{a}s_{j,i}}
  • pesos de segundo ordenW0do,,Wnortedo{\displaystyle W_{0}^{c},\dots ,W_{N}^{c}}que cumplen
  1. j=0norteWjdo=1{\displaystyle \sum _{j=0}^{N}W_{j}^{c}=1}
  2. para todos los pares(i,l){1,,L}2:mi[incógnitaiincógnital]=j=0norteWjdosj,isj,l{\displaystyle (i,l)\in \{1,\dots ,L\}^{2}:E[x_{i}x_{l}]=\sum _{j=0}^{N}W_{j}^{c}s_{j,i}s_{j,l}}.

Una simple elección de puntos sigma y ponderaciones paraincógnitak1k1{\displaystyle \mathbf {x} _{k-1\mid k-1}}en el algoritmo UKF es

s0=incógnita^k1k11<W0a=W0do<1sj=incógnita^k1k1+L1W0Aj,j=1,,LsL+j=incógnita^k1k1L1W0Aj,j=1,,LWja=Wjdo=1W02L,j=1,,2L{\displaystyle {\begin{aligned}\mathbf {s} _{0}&={\hat {\mathbf {x} }}_{k-1\mid k-1}\\-1&<W_{0}^{a}=W_{0}^{c}<1\\\mathbf {s} _{j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}+{\sqrt {\frac {L}{1-W_{0}}}}\mathbf {A} _{j},\quad j=1,\dots ,L\\\mathbf {s} _{L+j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}-{\sqrt {\frac {L}{1-W_{0}}}}\mathbf {A} _{j},\quad j=1,\dots ,L\\W_{j}^{a}&=W_{j}^{c}={\frac {1-W_{0}}{2L}},\quad j=1,\dots ,2L\end{aligned}}}

dóndeincógnita^k1k1{\displaystyle {\hat {\mathbf {x} }}_{k-1\mid k-1}}es la estimación media deincógnitak1k1{\displaystyle \mathbf {x} _{k-1\mid k-1}}. El vectorAj{\displaystyle \mathbf {A} _{j}}es la j -ésima columna deA{\displaystyle \mathbf {A} }dóndePAGk1k1=AAT{\displaystyle \mathbf {P} _{k-1\mid k-1}=\mathbf {AA} ^{\textsf {T}}}. Normalmente,A{\displaystyle \mathbf {A} }se obtiene mediante la descomposición de Cholesky dePAGk1k1{\displaystyle \mathbf {P} _{k-1\mid k-1}}Con cierto cuidado, las ecuaciones del filtro se pueden expresar de tal manera queA{\displaystyle \mathbf {A} }se evalúa directamente sin cálculos intermedios dePAGk1k1{\displaystyle \mathbf {P} _{k-1\mid k-1}}Esto se conoce como el filtro de Kalman sin aroma de raíz cuadrada . [ 72 ]

El peso del valor medio,W0{\displaystyle W_{0}}, puede elegirse arbitrariamente.

Otra parametrización popular (que generaliza la anterior) es

s0=incógnita^k1k1W0a=α2κLα2κW0do=W0a+1α2+βsj=incógnita^k1k1+ακAj,j=1,,LsL+j=incógnita^k1k1ακAj,j=1,,LWja=Wjdo=12α2κ,j=1,,2L.{\displaystyle {\begin{aligned}\mathbf {s} _{0}&={\hat {\mathbf {x} }}_{k-1\mid k-1}\\W_{0}^{a}&={\frac {\alpha ^{2}\kappa -L}{\alpha ^{2}\kappa }}\\W_{0}^{c}&=W_{0}^{a}+1-\alpha ^{2}+\beta \\\mathbf {s} _{j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}+\alpha {\sqrt {\kappa }}\mathbf {A} _{j},\quad j=1,\dots ,L\\\mathbf {s} _{L+j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}-\alpha {\sqrt {\kappa }}\mathbf {A} _{j},\quad j=1,\dots ,L\\W_{j}^{a}&=W_{j}^{c}={\frac {1}{2\alpha ^{2}\kappa }},\quad j=1,\dots ,2L.\end{aligned}}}

α{\displaystyle \alpha }yκ{\displaystyle \kappa }controlar la dispersión de los puntos sigma. β{\displaystyle \beta }está relacionado con la distribución deincógnita{\displaystyle x}. Tenga en cuenta que esto es una sobreparametrización en el sentido de que cualquiera deα{\displaystyle \alpha },β{\displaystyle \beta }yκ{\displaystyle \kappa }puede elegirse arbitrariamente.

Los valores apropiados dependen del problema en cuestión, pero una recomendación típica esα=1{\displaystyle \alpha =1},β=0{\displaystyle \beta =0}, yκ3L/2{\displaystyle \kappa \approx 3L/2}. Si la verdadera distribución deincógnita{\displaystyle x}es gaussiana,β=2{\displaystyle \beta =2}es óptimo. [ 73 ]

Predecir

Al igual que con el EKF, la predicción del UKF se puede utilizar independientemente de la actualización del UKF, en combinación con una actualización lineal (o incluso EKF), o viceversa.

Dados los estimados de la media y la covarianza,incógnita^k1k1{\displaystyle {\hat {\mathbf {x} }}_{k-1\mid k-1}}yPAGk1k1{\displaystyle \mathbf {P} _{k-1\mid k-1}}, uno obtienenorte=2L+1{\displaystyle N=2L+1}puntos sigma como se describe en la sección anterior. Los puntos sigma se propagan a través de la función de transición f .

incógnitaj=F(sj)j=0,,2L{\displaystyle \mathbf {x} _{j}=f\left(\mathbf {s} _{j}\right)\quad j=0,\dots ,2L}.

Los puntos sigma propagados se ponderan para producir la media y la covarianza previstas.

incógnita^kk1=j=02LWjaincógnitajPAGkk1=j=02LWjdo(incógnitajincógnita^kk1)(incógnitajincógnita^kk1)T+Qk{\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k\mid k-1}&=\sum _{j=0}^{2L}W_{j}^{a}\mathbf {x} _{j}\\\mathbf {P} _{k\mid k-1}&=\sum _{j=0}^{2L}W_{j}^{c}\left(\mathbf {x} _{j}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\left(\mathbf {x} _{j}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)^{\textsf {T}}+\mathbf {Q} _{k}\end{aligned}}}

dóndeWja{\displaystyle W_{j}^{a}}son los pesos de primer orden de los puntos sigma originales, yWjdo{\displaystyle W_{j}^{c}}son los pesos de segundo orden. La matrizQk{\displaystyle \mathbf {Q} _{k}}es la covarianza del ruido de transición,wk{\displaystyle \mathbf {w} _{k}}.

Actualizar

Dados los cálculos de predicciónincógnita^kk1{\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}}yPAGkk1{\displaystyle \mathbf {P} _{k\mid k-1}}, un nuevo conjunto denorte=2L+1{\displaystyle N=2L+1}puntos sigmas0,,s2L{\displaystyle \mathbf {s} _{0},\dots ,\mathbf {s} _{2L}}con los pesos de primer orden correspondientesW0a,W2La{\displaystyle W_{0}^{a},\dots W_{2L}^{a}}y pesos de segundo ordenW0do,,W2Ldo{\displaystyle W_{0}^{c},\dots ,W_{2L}^{c}}se calcula. [ 74 ] Estos puntos sigma se transforman a través de la función de mediciónh{\displaystyle h}.

zj=h(sj),j=0,1,,2L{\displaystyle \mathbf {z} _{j}=h(\mathbf {s} _{j}),\,\,j=0,1,\dots ,2L}.

A continuación, se calculan la media empírica y la covarianza de los puntos transformados.

z^=j=02LWjazjS^k=j=02LWjdo(zjz^)(zjz^)T+Rk{\displaystyle {\begin{aligned}{\hat {\mathbf {z} }}&=\sum _{j=0}^{2L}W_{j}^{a}\mathbf {z} _{j}\\[6pt]{\hat {\mathbf {S} }}_{k}&=\sum _{j=0}^{2L}W_{j}^{c}(\mathbf {z} _{j}-{\hat {\mathbf {z} }})(\mathbf {z} _{j}-{\hat {\mathbf {z} }})^{\textsf {T}}+\mathbf {R_{k}} \end{aligned}}}

dóndeRk{\displaystyle \mathbf {R} _{k}}es la matriz de covarianza del ruido de observación,vk{\displaystyle \mathbf {v} _{k}}Además, también se necesita la matriz de covarianza cruzada .

doincógnitaz=j=02LWjdo(incógnitajincógnita^k|k1)(zjz^)T.{\displaystyle {\begin{aligned}\mathbf {C_{xz}} &=\sum _{j=0}^{2L}W_{j}^{c}(\mathbf {x} _{j}-{\hat {\mathbf {x} }}_{k|k-1})(\mathbf {z} _{j}-{\hat {\mathbf {z} }})^{\textsf {T}}.\end{aligned}}}

La ganancia de Kalman es

Kk=doincógnitazS^k1.{\displaystyle {\begin{aligned}\mathbf {K} _{k}=\mathbf {C_{xz}} {\hat {\mathbf {S} }}_{k}^{-1}.\end{aligned}}}

Las estimaciones actualizadas de la media y la covarianza son:

incógnita^kk=incógnita^k|k1+Kk(zkz^)PAGkk=PAGkk1KkS^kKkT.{\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k\mid k}&={\hat {\mathbf {x} }}_{k|k-1}+\mathbf {K} _{k}(\mathbf {z} _{k}-{\hat {\mathbf {z} }})\\\mathbf {P} _{k\mid k}&=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}{\hat {\mathbf {S} }}_{k}\mathbf {K} _{k}^{\textsf {T}}.\end{aligned}}}

Filtro de Kalman discriminativo

Cuando el modelo de observaciónpag(zkincógnitak){\displaystyle p(\mathbf {z} _{k}\mid \mathbf {x} _{k})}es altamente no lineal y/o no gaussiano, puede resultar ventajoso aplicar la regla de Bayes y estimar

pag(zkincógnitak)pag(incógnitakzk)pag(incógnitak){\displaystyle p(\mathbf {z} _{k}\mid \mathbf {x} _{k})\approx {\frac {p(\mathbf {x} _{k}\mid \mathbf {z} _{k})}{p(\mathbf {x} _{k})}}}

dóndepag(incógnitakzk)norte(gramo(zk),Q(zk)){\displaystyle p(\mathbf {x} _{k}\mid \mathbf {z} _{k})\approx {\mathcal {N}}(g(\mathbf {z} _{k}),Q(\mathbf {z} _{k}))}para funciones no linealesgramo,Q{\displaystyle g,Q}Esto reemplaza la especificación generativa del filtro de Kalman estándar con un modelo discriminativo para los estados latentes dadas las observaciones.

Bajo un modelo de estado estacionario

pag(incógnita1)=norte(0,T),pag(incógnitakincógnitak1)=norte(Fincógnitak1,do),{\displaystyle {\begin{aligned}p(\mathbf {x} _{1})&={\mathcal {N}}(0,\mathbf {T} ),\\p(\mathbf {x} _{k}\mid \mathbf {x} _{k-1})&={\mathcal {N}}(\mathbf {F} \mathbf {x} _{k-1},\mathbf {C} ),\end{aligned}}}

dóndeT=FTF+do{\displaystyle \mathbf {T} =\mathbf {F} \mathbf {T} \mathbf {F} ^{\intercal }+\mathbf {C} }, si

pag(incógnitakz1:k)norte(incógnita^k|k1,PAGk|k1),{\displaystyle p(\mathbf {x} _{k}\mid \mathbf {z} _{1:k})\approx {\mathcal {N}}({\hat {\mathbf {x} }}_{k|k-1},\mathbf {P} _{k|k-1}),}

Luego se le dio una nueva observaciónzk{\displaystyle \mathbf {z} _{k}}, de ello se deduce que [ 75 ]

pag(incógnitak+1z1:k+1)norte(incógnita^k+1|k,PAGk+1|k){\displaystyle p(\mathbf {x} _{k+1}\mid \mathbf {z} _{1:k+1})\approx {\mathcal {N}}({\hat {\mathbf {x} }}_{k+1|k},\mathbf {P} _{k+1|k})}

dónde

METROk+1=FPAGk|k1F+do,PAGk+1|k=(METROk+11+Q(zk)1T1)1,incógnita^k+1|k=PAGk+1|k(METROk+11Fincógnita^k|k1+PAGk+1|k1gramo(zk)).{\displaystyle {\begin{aligned}\mathbf {M} _{k+1}&=\mathbf {F} \mathbf {P} _{k|k-1}\mathbf {F} ^{\intercal }+\mathbf {C} ,\\\mathbf {P} _{k+1|k}&=(\mathbf {M} _{k+1}^{-1}+Q(\mathbf {z} _{k})^{-1}-\mathbf {T} ^{-1})^{-1},\\{\hat {\mathbf {x} }}_{k+1|k}&=\mathbf {P} _{k+1|k}(\mathbf {M} _{k+1}^{-1}\mathbf {F} {\hat {\mathbf {x} }}_{k|k-1}+\mathbf {P} _{k+1|k}^{-1}g(\mathbf {z} _{k})).\end{aligned}}}

Tenga en cuenta que esta aproximación requiereQ(zk)1T1{\displaystyle Q(\mathbf {z} _{k})^{-1}-\mathbf {T} ^{-1}}ser definido positivo; en caso de que no lo sea,

PAGk+1|k=(METROk+11+Q(zk)1)1{\displaystyle \mathbf {P} _{k+1|k}=(\mathbf {M} _{k+1}^{-1}+Q(\mathbf {z} _{k})^{-1})^{-1}}

En su lugar, se utiliza este enfoque. Este método resulta particularmente útil cuando la dimensionalidad de las observaciones es mucho mayor que la de los estados latentes [ 76 ] y puede utilizarse para construir filtros que sean particularmente robustos a las no estacionariedades en el modelo de observación. [ 77 ]

Filtro de Kalman adaptativo

Los filtros de Kalman adaptativos permiten adaptarse a la dinámica del proceso que no está modelada en el modelo del proceso.F(t){\displaystyle \mathbf {F} (t)}, lo cual ocurre, por ejemplo, en el contexto de un objetivo en maniobra cuando se emplea un filtro de Kalman de velocidad constante (orden reducido) para el seguimiento. [ 78 ]

Filtro de Kalman-Bucy

El filtrado de Kalman-Bucy (llamado así por Richard Snowden Bucy) es una versión en tiempo continuo del filtrado de Kalman. [ 79 ] [ 80 ]

Se basa en el modelo de espacio de estados.

ddtincógnita(t)=F(t)incógnita(t)+B(t)(t)+w(t)z(t)=H(t)incógnita(t)+v(t){\displaystyle {\begin{aligned}{\frac {d}{dt}}\mathbf {x} (t)&=\mathbf {F} (t)\mathbf {x} (t)+\mathbf {B} (t)\mathbf {u} (t)+\mathbf {w} (t)\\\mathbf {z} (t)&=\mathbf {H} (t)\mathbf {x} (t)+\mathbf {v} (t)\end{aligned}}}

dóndeQ(t){\displaystyle \mathbf {Q} (t)}yR(t){\displaystyle \mathbf {R} (t)}representan las intensidades de los dos términos de ruido blancow(t){\displaystyle \mathbf {w} (t)}yv(t){\displaystyle \mathbf {v} (t)}, respectivamente.

El filtro consta de dos ecuaciones diferenciales, una para la estimación del estado y otra para la covarianza:

ddtincógnita^(t)=F(t)incógnita^(t)+B(t)(t)+K(t)(z(t)H(t)incógnita^(t))ddtPAG(t)=F(t)PAG(t)+PAG(t)FT(t)+Q(t)K(t)R(t)KT(t){\displaystyle {\begin{aligned}{\frac {d}{dt}}{\hat {\mathbf {x} }}(t)&=\mathbf {F} (t){\hat {\mathbf {x} }}(t)+\mathbf {B} (t)\mathbf {u} (t)+\mathbf {K} (t)\left(\mathbf {z} (t)-\mathbf {H} (t){\hat {\mathbf {x} }}(t)\right)\\{\frac {d}{dt}}\mathbf {P} (t)&=\mathbf {F} (t)\mathbf {P} (t)+\mathbf {P} (t)\mathbf {F} ^{\textsf {T}}(t)+\mathbf {Q} (t)-\mathbf {K} (t)\mathbf {R} (t)\mathbf {K} ^{\textsf {T}}(t)\end{aligned}}}

donde la ganancia de Kalman viene dada por

K(t)=PAG(t)HT(t)R1(t){\displaystyle \mathbf {K} (t)=\mathbf {P} (t)\mathbf {H} ^{\textsf {T}}(t)\mathbf {R} ^{-1}(t)}

Tenga en cuenta que en esta expresión paraK(t){\displaystyle \mathbf {K} (t)}la covarianza del ruido de observaciónR(t){\displaystyle \mathbf {R} (t)}representa al mismo tiempo la covarianza del error de predicción (o innovación )y~(t)=z(t)H(t)incógnita^(t){\displaystyle {\tilde {\mathbf {y} }}(t)=\mathbf {z} (t)-\mathbf {H} (t){\hat {\mathbf {x} }}(t)}; estas covarianzas son iguales solo en el caso de tiempo continuo. [ 81 ]

La distinción entre los pasos de predicción y actualización del filtrado de Kalman en tiempo discreto no existe en tiempo continuo.

La segunda ecuación diferencial, para la covarianza, es un ejemplo de ecuación de Riccati . Las generalizaciones no lineales de los filtros de Kalman-Bucy incluyen el filtro de Kalman extendido de tiempo continuo.

Filtro de Kalman híbrido

La mayoría de los sistemas físicos se representan como modelos de tiempo continuo, mientras que las mediciones de tiempo discreto se realizan con frecuencia para la estimación del estado a través de un procesador digital. Por lo tanto, el modelo del sistema y el modelo de medición vienen dados por

incógnita˙(t)=F(t)incógnita(t)+B(t)(t)+w(t),w(t)norte(0,Q(t))zk=Hkincógnitak+vk,vknorte(0,Rk){\displaystyle {\begin{aligned}{\dot {\mathbf {x} }}(t)&=\mathbf {F} (t)\mathbf {x} (t)+\mathbf {B} (t)\mathbf {u} (t)+\mathbf {w} (t),&\mathbf {w} (t)&\sim N\left(\mathbf {0} ,\mathbf {Q} (t)\right)\\\mathbf {z} _{k}&=\mathbf {H} _{k}\mathbf {x} _{k}+\mathbf {v} _{k},&\mathbf {v} _{k}&\sim N(\mathbf {0} ,\mathbf {R} _{k})\end{aligned}}}

dónde

incógnitak=incógnita(tk){\displaystyle \mathbf {x} _{k}=\mathbf {x} (t_{k})}.

Inicializar

incógnita^00=mi[incógnita(t0)],PAG00=Var[incógnita(t0)]{\displaystyle {\hat {\mathbf {x} }}_{0\mid 0}=E\left[\mathbf {x} (t_{0})\right],\mathbf {P} _{0\mid 0}=\operatorname {Var} \left[\mathbf {x} \left(t_{0}\right)\right]}

Predecir

incógnita^˙(t)=F(t)incógnita^(t)+B(t)(t), con incógnita^(tk1)=incógnita^k1k1incógnita^kk1=incógnita^(tk)PAG˙(t)=F(t)PAG(t)+PAG(t)F(t)T+Q(t), con PAG(tk1)=PAGk1k1PAGkk1=PAG(tk){\displaystyle {\begin{aligned}{\dot {\hat {\mathbf {x} }}}(t)&=\mathbf {F} (t){\hat {\mathbf {x} }}(t)+\mathbf {B} (t)\mathbf {u} (t){\text{, with }}{\hat {\mathbf {x} }}\left(t_{k-1}\right)={\hat {\mathbf {x} }}_{k-1\mid k-1}\\\Rightarrow {\hat {\mathbf {x} }}_{k\mid k-1}&={\hat {\mathbf {x} }}\left(t_{k}\right)\\{\dot {\mathbf {P} }}(t)&=\mathbf {F} (t)\mathbf {P} (t)+\mathbf {P} (t)\mathbf {F} (t)^{\textsf {T}}+\mathbf {Q} (t){\text{, with }}\mathbf {P} \left(t_{k-1}\right)=\mathbf {P} _{k-1\mid k-1}\\\Rightarrow \mathbf {P} _{k\mid k-1}&=\mathbf {P} \left(t_{k}\right)\end{aligned}}}

Las ecuaciones de predicción se derivan de las del filtro de Kalman de tiempo continuo sin actualización a partir de mediciones, es decir,K(t)=0{\displaystyle \mathbf {K} (t)=0}El estado predicho y la covarianza se calculan respectivamente resolviendo un conjunto de ecuaciones diferenciales con el valor inicial igual a la estimación del paso anterior.

En el caso de sistemas lineales invariantes en el tiempo , la dinámica en tiempo continuo se puede discretizar exactamente en un sistema de tiempo discreto utilizando exponenciales matriciales .

Actualizar

Kk=PAGkk1HkT(HkPAGkk1HkT+Rk)1incógnita^kk=incógnita^kk1+Kk(zkHkincógnita^kk1)PAGkk=(IKkHk)PAGkk1{\displaystyle {\begin{aligned}\mathbf {K} _{k}&=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k}\right)^{-1}\\{\hat {\mathbf {x} }}_{k\mid k}&={\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\left(\mathbf {z} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}\right)\\\mathbf {P} _{k\mid k}&=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\end{aligned}}}

Las ecuaciones de actualización son idénticas a las del filtro de Kalman de tiempo discreto.

Variantes para la recuperación de señales dispersas

El filtro de Kalman tradicional también se ha empleado para la recuperación de señales dispersas , posiblemente dinámicas, a partir de observaciones ruidosas. Trabajos recientes [ 82 ] [ 83 ] [ 84 ] utilizan nociones de la teoría de detección /muestreo comprimido, como la propiedad de isometría restringida y argumentos de recuperación probabilística relacionados, para estimar secuencialmente el estado disperso en sistemas intrínsecamente de baja dimensión.

Relación con los procesos gaussianos

Dado que los modelos lineales de espacio de estados gaussianos conducen a procesos gaussianos, los filtros de Kalman pueden considerarse solucionadores secuenciales para la regresión de procesos gaussianos . [ 85 ]

Aplicaciones

Véase también

Referencias

  1. Lacey, Tony. "Tutorial del capítulo 11: El filtro de Kalman" (PDF) .
  2. Paul Zarchan; Howard Musoff (2000). Fundamentos del filtrado de Kalman: Un enfoque práctico . American Institute of Aeronautics and Astronautics, Incorporated. ISBN 978-1-56347-455-2.
  3. Lora-Millan, Julio S.; Hidalgo, Andres F.; Rocon, Eduardo (2021). "Un filtro de Kalman extendido basado en IMU para estimar la cinemática sagital de las extremidades inferiores de la marcha para el control de dispositivos robóticos portátiles" . IEEE Access . 9 : 144540–144554 . Bibcode : 2021IEEEA...9n4540L . doi : 10.1109/ACCESS.2021.3122160 . hdl : 10261/254265 . ISSN 2169-3536 . S2CID 239938971 .  
  4. Kalita, Diana; Lyakhov, Pavel (diciembre de 2022). "Detección de objetos en movimiento basada en una combinación de filtro de Kalman y filtrado de mediana" . Big Data and Cognitive Computing . 6 (4): 142. doi : 10.3390/bdcc6040142 . ISSN 2504-2289 . 
  5. Ghysels, Eric; Marcellino, Massimiliano (2018). Pronóstico económico aplicado mediante métodos de series temporales . Nueva York, NY: Oxford University Press. pág. 419. ISBN  978-0-19-062201-5OCLC 1010658777 .​ 
  6. Wolpert, Daniel; Ghahramani, Zoubin (2000). "Principios computacionales de la neurociencia del movimiento". Nature Neuroscience . 3 : 1212–7 . doi : 10.1038/81497 . PMID 11127840. S2CID 736756 .  
  7. Kalman, RE (1960). "Un nuevo enfoque para los problemas de filtrado y predicción lineal" . Journal of Basic Engineering . 82 : 35–45 . doi : 10.1115/1.3662552 . S2CID 1242324 . 
  8. Humpherys, Jeffrey (2012). "Una nueva mirada al filtro de Kalman". SIAM Review . 54 (4): 801– 823. Bibcode : 2012SIAMR..54..801H . doi : 10.1137/100799666 .
  9. Uhlmann, Jeffrey; Julier, Simon (2022). "Gaussianidad y el filtro de Kalman: una relación simple pero complicada" (PDF) . Journal de Ciencia e Ingeniería . 14 (1): 21– 26. doi : 10.46571/JCI.2022.1.2 . S2CID 251143915 . Consulte a Uhlmann y Julier para encontrar aproximadamente una docena de ejemplos de esta idea errónea en la literatura.
  10. Li, Wangyan; Wang, Zidong; Wei, Guoliang; Ma, Lifeng; Hu, Jun; Ding, Derui (2015). "Una revisión sobre la fusión multisensorial y el filtrado de consenso para redes de sensores" . Dinámica discreta en la naturaleza y la sociedad . 2015 : 1–12 . doi : 10.1155/2015/683701 . ISSN 1026-0226 . 
  11. Li, Wangyan; Wang, Zidong; Ho, Daniel WC; Wei, Guoliang (2019). "Sobre la acotación de las covarianzas de error para problemas de filtrado de consenso de Kalman". IEEE Transactions on Automatic Control . 65 (6): 2654– 2661. doi : 10.1109/TAC.2019.2942826 . ISSN 0018-9286 . S2CID 204196474 .  
  12. Lauritzen, S. L. (diciembre de 1981). «Análisis de series temporales en 1880. Un análisis de las contribuciones de T. N. Thiele». International Statistical Review . 49 (3): 319–331 . doi : 10.2307/1402616 . JSTOR 1402616. Deriva un procedimiento recursivo para estimar el componente de regresión y predecir el movimiento browniano. Este procedimiento se conoce actualmente como filtrado de Kalman.   
  13. Lauritzen, S. L. (2002). Thiele: Pionero en Estadística . Nueva York: Oxford University Press . pág. 41. ISBN   978-0-19-850972-1Resuelve el problema de estimar los coeficientes de regresión y predecir los valores del movimiento browniano mediante el método de mínimos cuadrados, y proporciona un elegante procedimiento recursivo para realizar los cálculos. Este procedimiento se conoce actualmente como filtrado de Kalman .
  14. Grewal, Mohinder S.; Andrews, Angus P. (2015). "1". Filtrado de Kalman: teoría y práctica con MATLAB (4.ª ed.). Hoboken, Nueva Jersey: Wiley. pp. 16–18 . ISBN   978-1-118-98498-7.
  15. "Mohinder S. Grewal y Angus P. Andrews" (PDF) . Archivado del original (PDF) el 7 de marzo de 2016. Consultado el 23 de abril de 2015 .
  16. Jerrold H. Suddath; Robert H. Kidd; Arnold G. Reinhold (agosto de 1967). Un análisis de errores linealizado de los sistemas de navegación primaria a bordo del módulo lunar Apolo, NASA TN D-4027 (PDF) (Nota técnica de la NASA). Administración Nacional de Aeronáutica y del Espacio.
  17. ^ Stratonovich, RL (1959). "Оптимальные нелинейные системы, осуществляющие выделение сигнала с постоянными параметрами из шума" [ Sistemas no lineales óptimos que provocan una separación de una señal con parámetros constantes del ruido ] (PDF) . Radiofizika (en ruso). 2 (6): 892– 901.
  18. ^ Stratonovich, RL (1959). "К теории оптимальной нелинейной фильтрации случайных функций" [ Sobre la teoría del filtrado óptimo no lineal de funciones aleatorias ] (PDF) . Teoría de la probabilidad y sus aplicaciones (en ruso). 4 : 223–225 .
  19. ^ Stratonovich, RL (1960). "Применение теории марковских процессов для оптимальной фильтрации сигналов" [ Aplicación de la teoría de los procesos de Markov al filtrado óptimo ] . Ingeniería de Radio y Física Electrónica (en ruso). 5 (11): 1-19 .
  20. ^ Stratonovich, RL (1960). "Условные процессы Маркова" [ Procesos condicionales de Markov ] (PDF) . Teoría de la probabilidad y sus aplicaciones . 5 : 156-178 .
  21. Stepanov, OA (15 de mayo de 2011). "Filtrado de Kalman: pasado y presente. Una perspectiva desde Rusia. (Con motivo del 80 cumpleaños de Rudolf Emil Kalman)" (PDF) . Giroscopio y navegación . 2 (2): 105. Bibcode : 2011GyNav...2...99S . doi : 10.1134/S2075108711020076 . S2CID 53120402 . 
  22. Gaylor, David; Lightsey, E. Glenn (2003). "Diseño de filtro de Kalman GPS/INS para naves espaciales que operan en las proximidades de la Estación Espacial Internacional". Conferencia y exposición AIAA sobre guiado, navegación y control . doi : 10.2514/6.2003-5445 . ISBN 978-1-62410-090-1.
  23. Ingvar Strid; Karl Walentin (abril de 2009). "Filtrado de Kalman por bloques para modelos DSGE a gran escala" . Economía Computacional . 33 (3): 277–304 . CiteSeerX 10.1.1.232.3790 . doi : 10.1007/s10614-008-9160-4 . hdl : 10419/81929 . S2CID 3042206 .  
  24. Martin Møller Andreasen (2008). "Modelos DSGE no lineales, el filtro de Kalman de diferencia central y el filtro de partículas con desplazamiento medio" .
  25. 1 2 Roweis, S; Ghahramani, Z (1999). "Una revisión unificadora de los modelos gaussianos lineales" (PDF) . Neural Computation . 11 (2): 305– 45. Bibcode : 1999NeCom..11..305R . doi : 10.1162/089976699300016674 . PMID 9950734. S2CID 2590898 .  
  26. Hamilton, J. (1994). "Capítulo 13, 'El filtro de Kalman'"Análisis de series temporales . Princeton University Press. ISBN 0-691-04289-6.
  27. Ishihara, JY; Terra, MH; Campos, JCT (2006). "Filtro de Kalman robusto para sistemas descriptores". IEEE Transactions on Automatic Control . 51 (8): 1354. Bibcode : 2006ITAC...51.1354I . doi : 10.1109/TAC.2006.878741 . S2CID 12741796 . 
  28. Terra, Marco H.; Cerri, Joao P.; Ishihara, Joao Y. (2014). "Regulador lineal cuadrático robusto óptimo para sistemas sujetos a incertidumbres". IEEE Transactions on Automatic Control . 59 (9): 2586– 2591. Bibcode : 2014ITAC...59.2586T . doi : 10.1109/TAC.2014.2309282 . S2CID 8810105 . 
  29. Kelly, Alonzo (1994). "Una formulación en espacio de estados 3D de un filtro de Kalman de navegación para vehículos autónomos" (PDF) . Documento DTIC : 13. Archivado (PDF) del original el 30 de diciembre de 2014.Versión corregida de 2006 archivada el 10 de enero de 2017 en Wayback Machine.
  30. Reid, Ian; Term, Hilary. "Estimación II" (PDF) . www.robots.ox.ac.uk . Universidad de Oxford . Consultado el 6 de agosto de 2014 .
  31. Rajamani, Murali (octubre de 2007). Técnicas basadas en datos para mejorar la estimación de estado en el control predictivo de modelos (PDF) (tesis doctoral). Universidad de Wisconsin-Madison. Archivado del original (PDF) el 4 de marzo de 2016. Consultado el 4 de abril de 2011 .
  32. Rajamani, Murali R.; Rawlings, James B. (2009). "Estimación de la estructura de perturbación a partir de datos mediante programación semidefinida y ponderación óptima". Automatica . 45 (1): 142– 148. Bibcode : 2009Autom..45..142R . doi : 10.1016/j.automatica.2008.05.032 . S2CID 5699674 . 
  33. "Autocovariance Least-Squares Toolbox" . Jbrwww.che.wisc.edu . Consultado el 18 de agosto de 2021 .
  34. Bania, P.; Baranowski, J. (12 de diciembre de 2016). Filtro de Kalman de campo y su aproximación . 55.ª Conferencia IEEE sobre Decisión y Control (CDC). Las Vegas, NV, EE. UU.: IEEE. págs. 2875–2880 . 
  35. 1 2 Greenberg, Ido; Yannay, Netanel; Mannor, Shie (2023-12-15). "Optimización o arquitectura: cómo hackear el filtrado de Kalman" . Advances in Neural Information Processing Systems . 36 : 50482–50505 . arXiv : 2310.00675 .
  36. Bar-Shalom, Yaakov; Li, X.-Rong; Kirubarajan, Thiagalingam (2001). Estimación con aplicaciones al seguimiento y la navegación . Nueva York, EE. UU.: John Wiley & Sons, Inc. págs. 319 y ss. doi : 10.1002/0471221279 . ISBN  0-471-41655-X.
  37. En Peter Matisko (2012) se describen tres pruebas de optimalidad con ejemplos numéricos . «Pruebas de optimalidad y filtro de Kalman adaptativo». 16.º Simposio IFAC sobre identificación de sistemas . Actas del IFAC. Vol. 45. pp. 1523–1528 . doi : 10.3182/20120711-3-BE-2027.00011 . ISBN   978-3-902823-06-9.
  38. Spall, James C. (1995). "La desigualdad de Kantorovich para el análisis de errores del filtro de Kalman con distribuciones de ruido desconocidas". Automatica . 31 (10): 1513– 1517. doi : 10.1016/0005-1098(95)00069-9 .
  39. Maryak, JL; Spall, JC; Heydon, BD (2004). "Uso del filtro de Kalman para inferencia en modelos de espacio de estados con distribuciones de ruido desconocidas". IEEE Transactions on Automatic Control . 49 (1): 87– 90. Bibcode : 2004ITAC...49...87M . doi : 10.1109/TAC.2003.821415 . S2CID 21143516 . 
  40. 1 2 Walrand, Jean; Dimakis, Antonis (agosto de 2006). Procesos aleatorios en sistemas: apuntes de clase (PDF) . págs. 69–70 . Archivado del original (PDF) el 7 de mayo de 2019. Recuperado el 7 de mayo de 2019 . 
  41. Kalman, Rudolf Emil; Englar, TS; Bucy, Richard S. (1962). Estudio fundamental de sistemas de control adaptativo (Informe). Clearinghouse, Departamento de Comercio de los Estados Unidos. doi : 10.21236/AD0282873 . ASD-TR-61-27.
  42. Herbst, Daniel C. (2024). "Tasa de convergencia exponencial y modos oscilatorios de la covarianza del filtro de Kalman asintótico" . IEEE Access . 12 : 188137–188153 . Bibcode : 2024IEEEA..12r8137H . doi : 10.1109/ACCESS.2024.3508578 . ISSN 2169-3536 . 
  43. Sant, Donald T. (1977). "Mínimos cuadrados generalizados aplicados a modelos de parámetros variables en el tiempo" (PDF) . Annals of Economic and Social Measurement . 6 (3). NBER: 301– 314.
  44. Anderson, Brian DO; Moore, John B. (1979). Optimal Filtering . Nueva York: Prentice Hall . págs. 129-133 . ISBN  978-0-13-638122-8.
  45. Jingyang Lu (2014). Ataque de inyección de información falsa en la estimación de estado dinámico en sistemas multisensor . Fusion.
  46. 1 2 Thornton, Catherine L. (15 de octubre de 1976). Factorizaciones de covarianza triangular para filtrado de Kalman (PhD). NASA . Memorando técnico de la NASA 33-798.
  47. 1 2 3 Bierman, GJ (1977). "Métodos de factorización para la estimación secuencial discreta". Métodos de factorización para la estimación secuencial discreta . Bibcode : 1977fmds.book.....B .
  48. 1 2 Bar-Shalom, Yaakov ; Li, X. Rong; Kirubarajan, Thiagalingam (julio de 2001). Estimación con aplicaciones al seguimiento y la navegación . Nueva York: John Wiley & Sons . págs. 308–317 . ISBN  978-0-471-41655-5.
  49. Golub, Gene H. ; Van Loan, Charles F. (1996). Matrix Computations . Johns Hopkins Studies in the Mathematical Sciences (Tercera ed.). Baltimore, Maryland: Johns Hopkins University . p. 139. ISBN   978-0-8018-5414-9.
  50. Higham, Nicholas J. (2002). Precisión y estabilidad de los algoritmos numéricos (Segunda edición). Filadelfia, PA: Society for Industrial and Applied Mathematics . pág. 680. ISBN   978-0-89871-521-7.
  51. Särkkä, S.; Ángel F. García-Fernández (2021). "Paralelización temporal de suavizadores bayesianos". IEEE Transactions on Automatic Control . 66 (1): 299– 306. arXiv : 1905.13002 . Bibcode : 2021ITAC...66..299S . doi : 10.1109/TAC.2020.2976316 . S2CID 213695560 . 
  52. "Suma de prefijo paralela (escaneo) con CUDA" . developer.nvidia.com/ . Consultado el 21/02/2020 . La operación de escaneo es una primitiva paralela simple y potente con una amplia gama de aplicaciones. En este capítulo, hemos explicado una implementación eficiente de escaneo usando CUDA, que logra una aceleración significativa en comparación con una implementación secuencial en una CPU rápida, y en comparación con una implementación paralela en OpenGL en la misma GPU. Debido a la creciente potencia de los procesadores paralelos comerciales como las GPU, esperamos que los algoritmos de paralelismo de datos como el escaneo aumenten su importancia en los próximos años.
  53. Masreliez, C. Johan ; Martin, RD (1977). "Estimación bayesiana robusta para el modelo lineal y robustecimiento del filtro de Kalman". IEEE Transactions on Automatic Control . 22 (3): 361– 371. Bibcode : 1977ITAC...22..361M . doi : 10.1109/TAC.1977.1101538 .
  54. Lütkepohl, Helmut (1991). Introducción al análisis de series temporales múltiples . Heidelberg: Springer-Verlag Berlin. pág. 435. 
  55. Gustafsson, Fredrik (2018). Fusión de sensores estadísticos (Tercera ed.). Lund: Literatura estudiantil. págs. 160-162 . ISBN   978-91-44-12724-8.
  56. 1 2 Gabriel T. Terejanu (2012-08-04). "Tutorial del filtro de Kalman discreto" (PDF) . Archivado del original (PDF) el 17-08-2020 . Recuperado el 13-04-2016 .
  57. Anderson, Brian DO; Moore, John B. (1979). Optimal Filtering . Englewood Cliffs, NJ: Prentice Hall, Inc. pp. 176–190 . ISBN  978-0-13-638122-8.
  58. Rauch, HE; ​​Tung, F.; Striebel, CT (agosto de 1965). "Estimaciones de máxima verosimilitud de sistemas dinámicos lineales". AIAA Journal . 3 (8): 1445– 1450. Bibcode : 1965AIAAJ...3.1445R . doi : 10.2514/3.3166 .
  59. Gibbs, Richard G. (febrero de 2011). "Suavizador de Bryson-Frazier modificado de raíz cuadrada". IEEE Transactions on Automatic Control . 56 (2): 452– 456. Bibcode : 2011ITAC...56..452G . doi : 10.1109/TAC.2010.2089753 .
  60. Gibbs, Richard G. (2013). "Nuevo filtro de Kalman y pruebas de consistencia más suaves" . Automatica . 49 (10): 3141– 3144. doi : 10.1016/j.automatica.2013.07.013 .
  61. Einicke, GA (marzo de 2006). "Formulaciones de filtros no causales óptimos y robustos". IEEE Transactions on Signal Processing . 54 (3): 1069– 1077. Bibcode : 2006ITSP...54.1069E . doi : 10.1109/TSP.2005.863042 . S2CID 15376718 . 
  62. Einicke, GA (abril de 2007). "Optimalidad asintótica del suavizador de intervalo fijo de mínima varianza". IEEE Transactions on Signal Processing . 55 (4): 1543– 1547. Bibcode : 2007ITSP...55.1543E . doi : 10.1109/TSP.2006.889402 . S2CID 16218530 . 
  63. Einicke, GA; Ralston, JC; Hargrave, CO; Reid, DC; Hainsworth, DW (diciembre de 2008). "Automatización de la minería de tajo largo. Una aplicación del suavizado de mínima varianza". IEEE Control Systems Magazine . 28 (6): 28– 37. Bibcode : 2008ICSys..28f..28E . doi : 10.1109/MCS.2008.929281 . S2CID 36072082 . 
  64. Einicke, GA (diciembre de 2009). "Optimalidad asintótica del suavizador de intervalo fijo de mínima varianza". IEEE Transactions on Automatic Control . 54 (12): 2904– 2908. Bibcode : 2007ITSP...55.1543E . doi : 10.1109/TSP.2006.889402 . S2CID 16218530 . 
  65. Fletcher, Harvey ; Munson, WA (octubre de 1933). "Sonoridad, su definición, medición y cálculo" (PDF) . The Bell System Technical Journal . 12 (4): 377–430 . doi : 10.1002/j.1538-7305.1933.tb00403.x .
  66. Einicke, GA (diciembre de 2014). "Procedimientos iterativos de filtrado y suavizado ponderados en frecuencia". IEEE Signal Processing Letters . 21 (12): 1467– 1470. Bibcode : 2014ISPL...21.1467E . doi : 10.1109/LSP.2014.2341641 . S2CID 13569109 . 
  67. Biswas, Sanat K.; Qiao, Li; Dempster, Andrew G. (2020-12-01). "Un enfoque cuantitativo para predecir la idoneidad del uso del filtro de Kalman sin aroma en una aplicación no lineal" . Automatica . 122 109241. doi : 10.1016/j.automatica.2020.109241 . ISSN 0005-1098 . S2CID 225028760 .  
  68. 1 2 Julier, Simon J.; Uhlmann, Jeffrey K. (2004). "Filtrado sin aroma y estimación no lineal". Actas del IEEE . 92 (3): 401– 422. Bibcode : 2004IEEEP..92..401J . doi : 10.1109/JPROC.2003.823141 . S2CID 9614092 . 
  69. Julier, Simon J.; Uhlmann, Jeffrey K. (1997). "Nueva extensión del filtro de Kalman a sistemas no lineales" (PDF) . En Kadar, Ivan (ed.). Procesamiento de señales, fusión de sensores y reconocimiento de objetivos VI . Actas de SPIE. Vol. 3. págs. 182–193 . Bibcode : 1997SPIE.3068..182J . CiteSeerX 10.1.1.5.2891 . doi : 10.1117/12.280797 . S2CID 7937456. Archivado del original (PDF) el 26 de agosto de 2021. Recuperado el 3 de mayo de 2008 .    
  70. Menegaz, HMT; Ishihara, JY; Borges, GA; Vargas, AN (octubre de 2015). "Una sistematización de la teoría del filtro de Kalman sin aroma". IEEE Transactions on Automatic Control . 60 (10): 2583– 2598. Bibcode : 2015ITAC...60.2583M . doi : 10.1109/tac.2015.2404511 . hdl : 20.500.11824/251 . ISSN 0018-9286 . S2CID 12606055 .  
  71. Gustafsson, Fredrik; Hendeby, Gustaf (2012). "Algunas relaciones entre filtros de Kalman extendidos y sin aroma" . IEEE Transactions on Signal Processing . 60 (2): 545– 555. Bibcode : 2012ITSP...60..545G . doi : 10.1109/tsp.2011.2172431 . S2CID 17876531 . 
  72. Van der Merwe, R.; Wan, EA (2001). "El filtro de Kalman sin aroma de raíz cuadrada para la estimación de estado y parámetros". 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.01CH37221) . Vol. 6. pp. 3461–3464 . doi : 10.1109/ICASSP.2001.940586 . ISBN   0-7803-7041-4. S2CID 7290857 . 
  73. Wan, EA; Van Der Merwe, R. (2000). "El filtro de Kalman sin aroma para la estimación no lineal" (PDF) . Actas del Simposio IEEE 2000 sobre Sistemas Adaptativos para Procesamiento de Señales, Comunicaciones y Control (Cat. No. 00EX373) . pág. 153. CiteSeerX 10.1.1.361.9373 . doi : 10.1109/ASSPCC.2000.882463 . ISBN   978-0-7803-5800-3. S2CID 13992571 . Archivado del original (PDF) el 3 de marzo de 2012 . Recuperado el 31 de enero de 2010 . 
  74. Sarkka, Simo (septiembre de 2007). "Sobre el filtrado de Kalman sin aroma para la estimación de estado de sistemas no lineales de tiempo continuo". IEEE Transactions on Automatic Control . 52 (9): 1631– 1641. Bibcode : 2007ITAC...52.1631S . doi : 10.1109/TAC.2007.904453 .
  75. 1 2 Burkhart, Michael C.; Brandman, David M.; Franco, Brian; Hochberg, Leigh; Harrison, Matthew T. (2020). " El filtro de Kalman discriminativo para el filtrado bayesiano con modelos de observación no lineales y no gaussianos" . Neural Computation . 32 (5): 969– 1017. doi : 10.1162/neco_a_01275 . PMC 8259355. PMID 32187000. S2CID 212748230. Recuperado el 26 de marzo de 2021 .   
  76. 1 2 Burkhart, Michael C. (2019). Un enfoque discriminativo para el filtrado bayesiano con aplicaciones a la decodificación neuronal humana (Tesis). Providence, RI, EE. UU.: Universidad de Brown. doi : 10.26300/nhfp-xv22 .
  77. 1 2 Brandman, David M.; Burkhart, Michael C.; Kelemen, Jessica; Franco, Brian; Harrison, Matthew T.; Hochberg, Leigh R. (2018). "Control robusto de bucle cerrado de un cursor en una persona con tetraplejía mediante regresión de procesos gaussianos" . Neural Computation . 30 (11): 2986– 3008. doi : 10.1162/neco_a_01129 . PMC 6685768. PMID 30216140. Recuperado el 26 de marzo de 2021 .  
  78. Bar-Shalom, Yaakov; Li, X.-Rong; Kirubarajan, Thiagalingam (2001). Estimación con aplicaciones al seguimiento y la navegación . Nueva York, EE. UU.: John Wiley & Sons, Inc. págs. 421 y ss. doi : 10.1002/0471221279 . ISBN  0-471-41655-X.
  79. Bucy, RS; Joseph, PD (2005) [1.ª ed. 1968]. Filtrado para procesos estocásticos con aplicaciones a la orientación . AMS Chelsea Publ. (2.ª ed.). John Wiley & Sons. ISBN  0-8218-3782-6.
  80. Jazwinski, Andrew H. (1970). Procesos estocásticos y teoría del filtrado . Nueva York: Academic Press. ISBN 0-12-381550-9.
  81. Kailath, T. (1968). "Un enfoque innovador para la estimación por mínimos cuadrados - Parte I: Filtrado lineal en ruido blanco aditivo". IEEE Transactions on Automatic Control . 13 (6): 646– 655. Bibcode : 1968ITAC...13..646K . doi : 10.1109/TAC.1968.1099025 .
  82. Vaswani, Namrata (2008). "Kalman filtered Compressed Sensing". 15.ª Conferencia Internacional IEEE sobre Procesamiento de Imágenes de 2008. pp. 893–896 . arXiv : 0804.0819 . doi : 10.1109/ICIP.2008.4711899 . ISBN  978-1-4244-1765-0. S2CID 9282476 . 
  83. Carmi, Avishy; Gurfil, Pini ; Kanevsky, Dimitri (2010). "Métodos para la recuperación de señales dispersas mediante filtrado de Kalman con normas de pseudomedición y cuasinormas integradas". IEEE Transactions on Signal Processing . 58 (4): 2405–2409 . Bibcode : 2010ITSP...58.2405C . doi : 10.1109/TSP.2009.2038959 . S2CID 10569233 . 
  84. Zachariah, Dave; Chatterjee, Saikat; Jansson, Magnus (2012). "Dynamic Iterative Pursuit". IEEE Transactions on Signal Processing . 60 (9): 4967– 4972. arXiv : 1206.2496 . Bibcode : 2012ITSP...60.4967Z . doi : 10.1109/TSP.2012.2203813 . S2CID 18467024 . 
  85. Särkkä, Simo; Hartikainen, Jouni; Svensson, Lennart; Sandblom, Fredrik (22 de abril de 2015). "Sobre la relación entre las cuadraturas del proceso gaussiano y los métodos del punto sigma". arXiv : 1504.05994 [ estad.ME ].
  86. Vasebi, Amir; Partovibakhsh, Maral; Bathaee, S. Mohammad Taghi (2007). "Un nuevo modelo combinado de batería para la estimación del estado de carga en baterías de plomo-ácido basado en un filtro de Kalman extendido para aplicaciones en vehículos eléctricos híbridos". Journal of Power Sources . 174 (1): 30– 40. Bibcode : 2007JPS...174...30V . doi : 10.1016/j.jpowsour.2007.04.011 .
  87. Vasebi, A.; Bathaee, SMT; Partovibakhsh, M. (2008). "Predicción del estado de carga de baterías de plomo-ácido para vehículos eléctricos híbridos mediante filtro de Kalman extendido". Energy Conversion and Management . 49 (1): 75– 82. Bibcode : 2008ECM....49...75V . doi : 10.1016/j.enconman.2007.05.017 .
  88. Fruhwirth, R. (1987). "Aplicación del filtrado de Kalman al ajuste de trayectorias y vértices". Nuclear Instruments and Methods in Physics Research Section A . 262 ( 2– 3): 444– 450. Bibcode : 1987NIMPA.262..444F . doi : 10.1016/0168-9002(87)90887-4 .
  89. Harvey, Andrew C. (1994). «Aplicaciones del filtro de Kalman en econometría» . En Bewley, Truman (ed.). Avances en econometría . Nueva York: Cambridge University Press. págs. 285 y siguientes . ISBN  978-0-521-46726-1.
  90. Wolpert, DM; Miall, RC (1996). "Forward Models for Physiological Motor Control". Neural Networks . 9 (8): 1265– 1279. doi : 10.1016/S0893-6080(96)00035-4 . PMID 12662535 . 
  91. Boulfelfel, D.; Rangayyan, RM; Hahn, LJ; Kloiber, R.; Kuduvalli, GR (1994). "Restauración bidimensional de imágenes de tomografía computarizada por emisión de fotón único mediante el filtro de Kalman". IEEE Transactions on Medical Imaging . 13 (1): 102– 109. Bibcode : 1994ITMI...13..102B . doi : 10.1109/42.276148 . PMID 18218487 . 
  92. Bock, Y.; Crowell, B.; Webb, F.; Kedar, S.; Clayton, R.; Miyahara, B. (2008). "Fusión de datos sísmicos y GPS de alta frecuencia: aplicaciones a sistemas de alerta temprana para la mitigación de riesgos geológicos". Resúmenes de la Reunión de Otoño de la AGU . 43 : G43B–01. Bibcode : 2008AGUFM.G43B..01B .

Lecturas adicionales

  • Bar-Shalom, Yaakov ; Li, X. Rong; Kirubarajan, Thiagalingam (2004). Estimación con aplicaciones al seguimiento y la navegación: teoría, algoritmos y software . Wiley. ISBN 978-0-471-41655-5.
  • Bierman, GJ (1977). Métodos de factorización para la estimación secuencial discreta . Matemáticas en ciencia e ingeniería. Vol.  128. Mineola, NY: Dover Publications. ISBN 978-0-486-44981-4.
  • Bozic, SM (1994). Filtrado digital y de Kalman . Butterworth–Heinemann. ISBN 978-0-340-61057-2.
  • Chui, Charles K.; Chen, Guanrong (2009). Filtrado de Kalman con aplicaciones en tiempo real . Springer Series in Information Sciences. Vol.  17 (4.ª  ed.). Nueva York: Springer . p.  229. ISBN 978-3-540-87848-3.
  • Gelb, A. (1974). Estimación óptima aplicada . Prensa del MIT. ISBN 978-0-262-57048-0.
  • Harvey, AC (1990). Pronóstico, modelos estructurales de series temporales y el filtro de Kalman . Cambridge University Press. ISBN 978-0-521-40573-7.
  • Haykin, S. (2002). Teoría de filtros adaptativos . Prentice Hall. ISBN 978-0-13-090126-2.
  • Jazwinski, Andrew H. (1970). Procesos estocásticos y filtrado . Matemáticas en ciencia e ingeniería. Nueva York: Academic Press . pág . 376. ISBN  978-0-12-381550-7.
  • Kailath, Thomas ; Sayed, Ali H .; Hassibi, Babak (2000). Estimación lineal . NJ: Prentice–Hall. ISBN 978-0-13-022464-4.
  • Kalman, RE (1960). "Un nuevo enfoque para problemas de filtrado y predicción lineal" (PDF) . Journal of Basic Engineering . 82 (1): 35– 45. doi : 10.1115/1.3662552 . S2CID 1242324. Archivado del original (PDF) el 29 de mayo de 2008. Recuperado el 3 de mayo de 2008 . 
  • Kalman, RE; Bucy, RS (1961). "Nuevos resultados en filtrado lineal y teoría de predicción". Journal of Basic Engineering . 83 : 95–108 . CiteSeerX 10.1.1.361.6851 . doi : 10.1115/1.3658902 . S2CID 8141345 .  
  • Liu, W.; Principe, JC; Haykin, S. (2010). Filtrado adaptativo de kernel: una introducción completa . John Wiley. ISBN 978-0-470-44753-6.
  • Maybeck, Peter S. (1979). «Capítulo 1» (PDF) . Modelos estocásticos, estimación y control . Matemáticas en ciencia e ingeniería. Vol. 141–1 . Nueva York: Academic Press . ISBN  978-0-12-480701-3.
  • Manolakis, DG; Ingle, VK; Kogon, SM (2000). Procesamiento estadístico y adaptativo de señales: estimación espectral, modelado de señales, filtrado adaptativo y procesamiento de matrices . McGraw-Hill. ISBN 978-0-07-040051-1.
  • Simon, D. (2006). Estimación óptima del estado: Kalman, H infinito y enfoques no lineales . Wiley-Interscience. Archivado del original el 30 de diciembre de 2010. Recuperado el 5 de julio de 2006 .
  • Sayed, Ali H. (2008). Filtros adaptativos . NJ: Wiley. ISBN 978-0-470-25388-5.
  • Roweis, S.; Ghahramani, Z. (1999). "Una revisión unificadora de los modelos gaussianos lineales" ( PDF) . Neural Computation . 11 (2): 305– 345. Bibcode : 1999NeCom..11..305R . doi : 10.1162/089976699300016674 . PMID 9950734. S2CID 2590898 .  
  • Warwick, Kevin (1987). "Observadores óptimos para modelos ARMA". International Journal of Control . 46 (5): 1493– 1503. doi : 10.1080/00207178708933989 .
  • Kalman, RE (1960). "Un nuevo enfoque para los problemas de filtrado y predicción lineal" . Archivado del original el 28 de febrero de 2026.
  • Filtros de Kalman y bayesianos en Python . Libro de texto de código abierto sobre filtrado de Kalman.
  • Cómo funciona un filtro de Kalman, en imágenes . Ilumina el filtro de Kalman con imágenes y colores.