kalman-filter

Explicar la terminología del ruido del proceso en Kalman Filter



kalman-filter (3)

  1. Sí, no creo que esa oración sea buena. El propósito principal de un filtro de Kalman es minimizar los efectos del ruido de observación, no el ruido de proceso. Creo que el autor puede estar confundiendo el filtrado de Kalman con el control de Kalman (en el que ESTÁ intentando minimizar el efecto del ruido del proceso).
  2. El estado no "fluctúa" con el tiempo, excepto por la influencia del ruido del proceso.

Recuerde, un sistema generalmente no tiene un estado "verdadero" inherente. Un refrigerador es un mal ejemplo, porque ya es un sistema de control, con propiedades no lineales. Un cañón volador es un mejor ejemplo. Hay un lugar donde "realmente está", pero eso no es intrínseco a A. En este ejemplo, puedes pensar en el viento como una especie de "ruido de proceso". (No es un gran ejemplo, ya que no es ruido blanco, pero trabaje conmigo aquí). El viento es un ruido de proceso tridimensional que afecta la velocidad del cañón; No afecta directamente la posición de la bala de cañón.

Ahora, supongamos que el viento en esta área siempre sopla hacia el noroeste. Deberíamos ver una covarianza positiva entre los componentes norte y oeste del viento. Una desviación de la velocidad del cañón hacia el norte debería hacer que esperemos ver una desviación similar hacia el oeste, y viceversa.

Piense en Q más como covarianza que como varianza; El aspecto de autocorrelación es casi incidental.

Sólo estoy aprendiendo filtro de Kalman. En la terminología del filtro de Kalman, tengo algunas dificultades con el ruido de proceso. El ruido de proceso parece ser ignorado en muchos ejemplos concretos (la mayoría enfocados en el ruido de medición). Si alguien me puede indicar algún enlace de nivel introductorio que describa bien el ruido del proceso con ejemplos, sería genial.

Usemos un ejemplo escalar concreto para mi pregunta, dado:

x_j = a x_j-1 + b u_j + w_j

Digamos que x_j modela la temperatura dentro de un refrigerador con el tiempo. Es de 5 grados y debería permanecer así, por lo que modelamos con a = 1 . Si en algún punto t = 100 , la temperatura del refrigerador llega a 7 grados (es decir, día caluroso, aislamiento deficiente), entonces creo que el ruido del proceso en este punto es de 2 grados. Así que nuestra variable de estado x_100 = 7 grados, y este es el verdadero valor del sistema.

Pregunta 1:

Si luego parafraseo la frase que veo a menudo para describir el filtro de Kalman, "filtramos la señal x para minimizar los efectos del ruido w", http://www.swarthmore.edu/NatSci/echeeve1/Ref/Kalman/ScalarKalman.html si minimizamos los efectos de los 2 grados, ¿estamos tratando de deshacernos de la diferencia de 2 grados? Pero el estado verdadero en es x_100 == 7 grados. ¿Qué estamos haciendo al ruido del proceso w exactamente cuando filtramos Kalmen?

Pregunta 2:

El ruido del proceso tiene una variación de Q En el ejemplo simple del refrigerador, parece fácil de modelar porque sabes que el estado verdadero subyacente es de 5 grados y puedes tomar Q como la desviación de ese estado. Pero si el verdadero estado subyacente está fluctuando con el tiempo, al modelar, qué parte de esto se consideraría fluctuación de estado frente a "ruido de proceso". ¿Y cómo vamos a determinar una buena Q (de nuevo, un ejemplo sería bueno)?

Descubrí que como Q siempre se agrega a la predicción de covarianza, sin importar en qué paso del tiempo se encuentre, (vea la fórmula de predicción de la covarianza en http://greg.czerniak.info/guides/kalman1/ ) que si selecciona una demasiado grande Q , entonces no parece que el filtro de Kalman se comporte bien.

Gracias.

EDIT1 Mi interpretación

Mi interpretación del término ruido de proceso es la diferencia entre el estado real del sistema y el estado modelado a partir de la matriz de transición de estado (es decir, a * x_j-1 ). Y lo que intenta hacer el filtro de Kalman es acercar la predicción al estado real. En ese sentido, en realidad "incorpora" parcialmente el ruido del proceso en la predicción a través del mecanismo de realimentación residual, en lugar de "eliminarlo", para que pueda predecir mejor el estado real. No he leído tal explicación en ninguna parte de mi búsqueda, y agradecería a cualquiera que comente sobre este punto de vista.


En el filtro de Kalman, el "ruido de proceso" representa la idea / característica de que el estado del sistema cambia con el tiempo, pero no sabemos los detalles exactos de cuándo y cómo ocurren esos cambios, por lo que necesitamos modelarlos como un proceso aleatorio. .

En su ejemplo de refrigerador:

  • El estado del sistema es la temperatura.
  • obtenemos mediciones de la temperatura en algún intervalo de tiempo, digamos cada hora, al mirar el dial del termómetro. Tenga en cuenta que normalmente necesita representar las incertidumbres involucradas en el proceso de medición en el filtrado de Kalman, pero no se enfocó en esto en su pregunta. Supongamos que estos errores son pequeños.
  • En el momento en que miras el termómetro, observa que dice 7 grados; Ya que asumimos que los errores de medición son muy pequeños, eso significa que la temperatura real es (muy cerca de) 7 grados.
  • Ahora la pregunta es: ¿cuál es la temperatura en algún momento posterior, digamos 15 minutos después de mirar?

Si no sabemos si / cuando el condensador en el refrigerador se enciende, podríamos tener: 1. la temperatura en el último momento es aún más alta que 7 grados (15 minutos logra acercarse a la temperatura máxima en un ciclo), 2 Baje si el condensador está / ha estado funcionando, o incluso, 3. siendo casi lo mismo.

Esta idea de que hay una distribución de posibles resultados para el estado real del sistema en algún momento posterior es el "ruido de proceso"

Nota: mi modelo cualitativo para el refrigerador es: el condensador no funciona, la temperatura sube hasta que alcanza un umbral de temperatura unos pocos grados por encima de la temperatura objetivo nominal (nota: este es un sensor, por lo que puede haber ruido en términos de temperatura a la que se enciende el condensador), el condensador permanece encendido hasta que la temperatura se encuentra algunos grados por debajo de la temperatura establecida. También tenga en cuenta que si alguien abre la puerta, habrá un salto en la temperatura; Como no sabemos cuándo alguien podría hacer esto, lo modelamos como un proceso aleatorio.


Es una buena discusión aquí. Me gustaría agregar que el concepto de ruido de proceso es que cualquier predicción que se realice en función del modelo está teniendo algunos errores y se representa utilizando la matriz Q. Si observa las ecuaciones en KF para la predicción de la matriz de covarianza (P_predicción) que es en realidad el error de la media al cuadrado del estado que se predice, simplemente se le agrega la Q. PPredict = APA ''+ Q. Sugiero que daría una buena idea si pudiera encontrar la derivación de las ecuaciones de KF.