En este capítulo, añadimos ruido de proceso al modelo del filtro de Kalman unidimensional.
Ahora, vamos a actualizar la ecuación de extrapolación de covarianza con la variable de ruido del proceso.
En un mundo real, existen incertidumbres en el modelo dinámico del sistema. Por ejemplo, cuando queremos estimar el valor de resistencia de la resistencia, asumimos el modelo dinámico constante, es decir, la resistencia no cambia entre las mediciones. Sin embargo, la resistencia puede cambiar ligeramente debido a la fluctuación de la temperatura ambiente. Al rastrear misiles balísticos con el radar, la incertidumbre del modelo dinámico incluye cambios aleatorios en la aceleración del objetivo. Para la aeronave, las incertidumbres son mucho mayores debido a las posibles maniobras de la aeronave.
Por otro lado, cuando estimamos la ubicación de un objeto estático usando un receptor GPS, la incertidumbre del modelo dinámico es cero, ya que el objeto estático no se mueve. La incertidumbre del modelo dinámico se llama ruido de proceso. En la literatura, también se denomina ruido de la planta, ruido de conducción, ruido dinámico, ruido del modelo y ruido del sistema. El ruido del proceso produce errores de estimación.
En el ejemplo anterior, hemos estimado la altura del edificio. La altura del edificio no cambia. Por lo tanto, no tomamos en cuenta el ruido del proceso.
La Varianza del ruido de proceso se denota con la letra \( q \).
La Ecuación de extrapolación de covarianza incluirá la Varianza del ruido de proceso.
La ecuación de extrapolación de covarianza para dinámica constante es:
\[ p_{n+1,n}= p_{n,n}+ q_{n} \]
Estas son las ecuaciones de filtro de Kalman actualizadas en una dimensión:
| Ecuación | Nombre |
|---|---|
| \( \hat{x}_{n,n}=~ \hat{x}_{n,n-1}+ K_{n} \left( z_{n}- \hat{x}_{n,n-1} \right) \) | Actualización de estado |
|
\( \hat{x}_{n+1,n}= \hat{x}_{n,n}+ \Delta t\hat{\dot{x}}_{n,n} \) \( \hat{\dot{x}}_{n+1,n}= \hat{\dot{x}}_{n,n} \) (para sistemas de velocidad constante) |
Extrapolación de estado |
| \( K_{n}= \frac{p_{n,n-1}}{p_{n,n-1}+r_{n}} \) | Ganancia de Kalman |
| \( p_{n,n}=~ \left( 1-K_{n} \right) p_{n,n-1} \) | Actualización de covarianza |
|
\( p_{n+1,n}= p_{n,n} + q_{n} \) (para sistemas estáticos) |
Extrapolación de covarianza |
Nos gustaría estimar la temperatura del líquido en un tanque.
Suponemos que en el estado estacionario la temperatura del líquido es constante. Sin embargo, son posibles algunas fluctuaciones en la temperatura real del líquido. Podemos describir la dinámica del sistema mediante la siguiente ecuación:
\[ x_{n}=T+ w_{n} \]
dónde:
\( T \) es la temperatura constante
\( w_{n} \) es un ruido de proceso aleatorio con varianza \( q \)
La siguiente grafica compara la temperatura real del líquido y las mediciones.
Antes de la primera iteración, debemos inicializar el filtro de Kalman y predecir el siguiente estado (que es el primer estado).
No sabemos cuál es la temperatura del líquido, y nuestra estimación es de 60\( ^{o}C \).
\[ \hat{x}_{0,0}=60^{o}C \]
Nuestra suposición es muy imprecisa, establecemos nuestro error de estimación de inicialización \( \sigma \) en 100. La incertidumbre estimada de la inicialización es la varianza del error \( \left( \sigma ^{2} \right) \):
\[ p_{0,0}=100^{2}=10,000^{\circ}C^{2} \]
Esta variación es muy alta. Si inicializamos con un valor más significativo, obtendremos una convergencia más rápida del filtro de Kalman.
Ahora, predeciremos el siguiente estado en función de los valores de inicialización.
Dado que nuestro modelo es de dinámica constante, la estimación pronosticada es igual a la estimación actual:
\[ \hat{x}_{1,0}=60^{o}C \]
La incertidumbre de estimación extrapolada (varianza):
\[ p_{1,0}= p_{0,0}+q=10000+ 0.0001=10000.0001^{\circ}C^{2} \]
El valor de medición:
\[ z_{1}=~ 49.986^{o}C \]
Como el error de medición es 0.1 ( \( \sigma \) ), la varianza ( \( \sigma ^{2} \) ) sería 0.01, por lo tanto, la incertidumbre de medición es:
\[ r_{1}= 0.01^{\circ}C^{2} \]
Cálculo de ganancia de Kalman:
\[ K_{1}= \frac{p_{1,0}}{p_{1,0}+r_{1}}= \frac{10000.0001}{10000.0001+0.01} = 0.999999 \]
La ganancia de Kalman es casi 1, es decir, nuestro error de estimación es mucho mayor que el error de medición. Por lo tanto, el peso estimado es insignificante, mientras que el peso de medición es casi 1.
Estimando el estado actual:
\[ \hat{x}_{1,1}=~ \hat{x}_{1,0}+ K_{1} \left( z_{1}- \hat{x}_{1,0} \right) =60+0.999999 \left( 49.986-60 \right) =49.986^{o}C \]
Actualice la incertidumbre actual estimada:
\[ p_{1,1}=~ \left( 1-K_{1} \right) p_{1,0}= \left( 1-0.999999 \right) 10000.0001=0.01^{\circ}C^{2} \]
Dado que el modelo dinámico del sistema que usa es constante, es decir, la temperatura del líquido no cambia, entonces:
\[ \hat{x}_{2,1}=\hat{x}_{1,1}= 49.986^{o}C \]
La incertidumbre de estimación extrapolada (varianza) es:
\[ p_{2,1}= p_{1,1}+q=0.01+ 0.0001=0.0101^{\circ}C^{2} \]
El valor de medición:
\[ z_{2}=~ 49.963^{o}C \]
Como el error de medición es 0.1 ( \( \sigma \) ), la varianza ( \( \sigma^{2} \) ) sería 0.01, por lo tanto, la incertidumbre de medición es:
\[ r_{2}= 0.01^{\circ}C^{2} \]
Cálculo de ganancia de Kalman:
\[ K_{2}= \frac{p_{2,1}}{p_{2,1}+r_{2}}= \frac{0.0101}{0.0101+0.01} = 0.5 \]
La ganancia de Kalman es 0.5, es decir, el peso estimado y el peso de medición son iguales.
Estimando el estado actual:
\[ \hat{x}_{2,2}=~ \hat{x}_{2,1}+ K_{2} \left( z_{2}- \hat{x}_{2,1} \right) =49.986+0.5 \left( 49.963-49.986 \right) =49.974^{o}C \]
Actualice la incertidumbre actual estimada:
\[ p_{2,2}=~ \left( 1-K_{2} \right) p_{2,1}= \left( 1-0.5 \right) 0.0101=0.005^{\circ}C^{2} \]
Dado que el modelo dinámico del sistema que usa es constante, es decir, la temperatura del líquido no cambia, entonces:
\[ \hat{x}_{3,2}=\hat{x}_{2,2}= 49.974^{o}C \]
La incertidumbre de estimación extrapolada (varianza) es:
\[ p_{3,2}= p_{2,2}+q=0.005+ 0.0001=0.0051^{\circ}C^{2} \]
Los cálculos para las siguientes iteraciones se resumen en la siguiente tabla:
| \( n \) | \( z_{n} \) | Estimación del estado actual ( \( K_{n} \) , \( \hat{x}_{n,n} \) , \( p_{n,n} \) ) | Predicción ( \( \hat{x}_{n+1,n} \) , \( p_{n+1,n} \) ) |
|---|---|---|---|
| 3 | \( 50.09^{o}C \) | \[ K_{3}= \frac{0.0051}{0.0051+0.01}=0.3388 \] \[ \hat{x}_{3,3}=~ 49.974+0.3388 \left( 50.09-49.974 \right) =50.016^{o}C \] \[ p_{3,3}= \left( 1-0.3388 \right)0.0051 =0.0034^{\circ}C^{2} \] | \[ \hat{x}_{4,3}= \hat{x}_{3,3}=50.016^{o}C \] \[ p_{4,3}= 0.0034+0.0001=0.0035^{\circ}C^{2} \] |
| 4 | \( 50.001^{o}C \) | \[ K_{4}= \frac{0.0035}{0.0035+0.01}=0.2586 \] \[ \hat{x}_{4,4}=~ 50.016+0.2586 \left( 50.001-50.016 \right) =50.012^{o}C \] \[ p_{4,4}= \left( 1-0.2586 \right) 0.0035=0.0026^{\circ}C^{2} \] | \[ \hat{x}_{5,4}= \hat{x}_{4,4}=50.012^{o}C \] \[ p_{5,4}= 0.0026+0.0001=0.0027^{\circ}C^{2} \] |
| 5 | \( 50.018^{o}C \) | \[ K_{5}= \frac{0.0027}{0.0027+0.01}=0.2117 \] \[ \hat{x}_{5,5}= 50.012+0.2117 \left( 50.018-50.012 \right) =50.013^{o}C \] \[ p_{5,5}= \left( 1-0.2117 \right) 0.0027=0.0021^{\circ}C^{2} \] | \[ \hat{x}_{6,5}= \hat{x}_{5,5}=50.013^{o}C \] \[ p_{6,5}= 0.0021+0.0001=0.0022^{\circ}C^{2} \] |
| 6 | \( 50.05^{o}C \) | \[ K_{6}= \frac{0.0022}{0.0022+0.01}=0.1815 \] \[ \hat{x}_{6,6}=~ 50.013+0.1815 \left( 50.05-50.013 \right) =50.02^{o}C \] \[ p_{6,6}= \left( 1-0.1815 \right) 0.0022=0.0018^{\circ}C^{2} \] | \[ \hat{x}_{7,6}= \hat{x}_{6,6}=50.02^{o}C \] \[ p_{7,6}= 0.0018+0.0001=0.0019^{\circ}C^{2} \] |
| 7 | \( 49.938^{o}C \) | \[ K_{7}= \frac{0.0019}{0.0019+0.01}=0.1607 \] \[ \hat{x}_{7,7}=~ 50.02+0.1607 \left( 49.938-50.02 \right) =50.007^{o}C \] \[ p_{7,7}= \left( 1-0.1607 \right) 0.0019=0.0016^{\circ}C^{2} \] | \[ \hat{x}_{8,7}= \hat{x}_{7,7}=50.007^{o}C \] \[ p_{8,7}= 0.0016+0.0001=0.0017^{\circ}C^{2} \] |
| 8 | \( 49.858^{o}C \) | \[ K_{8}= \frac{0.0017}{0.0017+0.01}=0.1458 \] \[ \hat{x}_{8,8}= 50.007+0.1458 \left( 49.858-50.007 \right) =49.985^{o}C \] \[ p_{8,8}= \left( 1-0.1458 \right) 0.0017=0.0015^{\circ}C^{2} \] | \[ \hat{x}_{9,8}= \hat{x}_{8,8}=49.985^{o}C \] \[ p_{9,8}= 0.0015+0.0001=0.0016^{\circ}C^{2} \] |
| 9 | \( 49.965^{o}C \) | \[ K_{9}= \frac{0.0016}{0.0016+0.01}=0.1348 \] \[ \hat{x}_{9,9}=~ 49.985+0.1348 \left( 49.965-49.985 \right) =49.982^{o}C \] \[ p_{9,9}= \left( 1-0.1348 \right) 0.0016=0.0014^{\circ}C^{2} \] | \[ \hat{x}_{10,9}= \hat{x}_{9,9}=49.982^{o}C \] \[ p_{10,9}= 0.0014+0.0001=0.0015^{\circ}C^{2} \] |
| 10 | \( 50.114^{o}C \) | \[ K_{10}= \frac{0.0015}{0.0015+0.01}=0.1265 \] \[ \hat{x}_{10,10}=~ 49.982+0.1265 \left( 50.114-49.982 \right) =49.999^{o}C \] \[ p_{10,10}= \left( 1-0.1265 \right) 0.0015=0.0013^{\circ}C^{2} \] | \[ \hat{x}_{11,10}= \hat{x}_{10,10}=49.999^{o}C \] \[ p_{11,10}= 0.0013+0.0001=0.0014^{\circ}C^{2} \] |
El siguiente gráfico describe la Ganancia de Kalman.
Como puede ver, la Ganancia de Kalman disminuye gradualmente; por lo tanto, el FK converge.
El siguiente gráfico compara el valor verdadero, los valores medidos y las estimaciones. El intervalo de confianza es del 95%.
Puede encontrar las directrices para el cálculo de un intervalo de confianza aquí.
Como puede ver, el valor estimado converge hacia el valor verdadero. Las incertidumbres de las estimaciones del FK son demasiado altas para el nivel de confianza del 95%.
Medimos la temperatura de un líquido utilizando el Filtro de Kalman unidimensional. Aunque la dinámica del sistema incluye un ruido de proceso aleatorio, el Filtro de Kalman proporciona una buena estimación.
Como en el ejemplo anterior, en este ejemplo vamos a estimar la temperatura del líquido en el tanque. La dinámica del sistema no es constante, el líquido se calienta a una tasa de 0.1\( ^{o}C \) por segundo.
Los parámetros del filtro Kalman son similares al ejemplo anterior:
Preste atención, aunque la dinámica real del sistema no es constante (ya que el líquido se está calentando), vamos a tratar el sistema como un sistema con dinámica constante (la temperatura no cambia).
La siguiente figura compara la temperatura real del líquido y las mediciones.
La iteración cero es similar al ejemplo anterior.
Antes de la primera iteración, debemos inicializar el filtro de Kalman y predecir el siguiente estado (que es el primer estado).
No sabemos cuál es la temperatura del líquido en un tanque y nuestra suposición es de 10\( ^{o}C \).
\[ \hat{x}_{0,0}=10^{o}C \]
Nuestra suposición es muy imprecisa, establecemos nuestro error de estimación de inicialización ( \( \sigma \) ) en 100. La incertidumbre estimada de la inicialización es la varianza del error \( \left( \sigma ^{2} \right) \):
\[ p_{0,0}=100^{2}=10,000^{\circ}C^{2} \]
Esta variación es muy alta. Si inicializamos con un valor más significativo, obtendremos una convergencia más rápida del filtro de Kalman.
Ahora, predeciremos el siguiente estado en función de los valores de inicialización.
Dado que nuestro modelo es de dinámica constante, la estimación pronosticada es igual a la estimación actual:
\[ \hat{x}_{1,0}=10^{o}C \]
La incertidumbre de estimación extrapolada (varianza):
\[ p_{1,0}= p_{0,0}+q=10000+ 0.0001=10000.0001^{\circ}C^{2} \]
Los cálculos para las siguientes iteraciones se resumen en la siguiente tabla:
| \( n \) | \( z_{n} \) | Estimación del estado actual ( \( K_{n} \) , \( \hat{x}_{n,n} \) , \( p_{n,n} \) ) | Predicción ( \( \hat{x}_{n+1,n} \) , \( p_{n+1,n} \) ) |
|---|---|---|---|
| 1 | \( 50.486^{o}C \) | \[ K_{1}= \frac{10000.0001}{10000.0001+0.01} = 0.999999 \] \[ \hat{x}_{1,1}=~ 10+0.999999 \left( 50.486-10 \right) =50.486^{o}C \] \[ p_{1,1}= \left( 1-0.999999 \right) 10000.0001=0.01^{\circ}C^{2} \] | \[ \hat{x}_{2,1}= \hat{x}_{1,1}=50.486^{o}C \] \[ p_{2,1}= 0.01+0.0001=0.0101^{\circ}C^{2} \] |
| 2 | \( 50.963^{o}C \) | \[ K_{2}= \frac{0.0101}{0.0101+0.01}=0.5025 \] \[ \hat{x}_{2,2}=~ 50.486+0.5025 \left( 50.963-50.486 \right) =50.726^{o}C\] \[ p_{2,2}= \left( 1-0.5025 \right) 0.0101=0.005^{\circ}C^{2} \] | \[ \hat{x}_{3,2}= \hat{x}_{2,2}=50.726^{o}C \] \[ p_{3,2}= 0.005+0.0001=0.0051^{\circ}C^{2} \] |
| 3 | \( 51.597^{o}C \) | \[ K_{3}= \frac{0.0051}{0.0051+0.01}=0.3388 \] \[ \hat{x}_{3,3}=~ 50.726+0.3388 \left( 51.597-50.726 \right) =51.021^{o}C\] \[ p_{3,3}= \left( 1-0.3388 \right) 0.0051=0.0034^{\circ}C^{2} \] | \[ \hat{x}_{4,3}= \hat{x}_{3,3}=51.021^{o}C \] \[ p_{4,3}= 0.0034+0.0001=0.0035^{\circ}C^{2} \] |
| 4 | \( 52.001^{o}C \) | \[ K_{4}= \frac{0.0035}{0.0035+0.01}=0.2586 \] \[ \hat{x}_{4,4}=~ 51.021+0.2586 \left( 52.001-51.021 \right) =51.274^{o}C \] \[ p_{4,4}= \left( 1-0.2586 \right) 0.0035=0.0026^{\circ}C^{2} \] | \[ \hat{x}_{5,4}= \hat{x}_{4,4}=51.274^{o}C \] \[ p_{5,4}= 0.0026+0.0001=0.0027^{\circ}C^{2} \] |
| 5 | \( 52.518^{o}C \) | \[ K_{5}= \frac{0.0027}{0.0027+0.01}=0.2117 \] \[ \hat{x}_{5,5}= 51.274+0.2117 \left( 52.518-51.274 \right) =51.538^{o}C \] \[ p_{5,5}= \left( 1-0.2117 \right) 0.0027=0.0021^{\circ}C^{2} \] | \[ \hat{x}_{6,5}= \hat{x}_{5,5}=51.538^{o}C \] \[ p_{6,5}= 0.0021+0.0001=0.0022^{\circ}C^{2} \] |
| 6 | \( 53.05^{o}C \) | \[ K_{6}= \frac{0.0022}{0.0022+0.01}=0.1815 \] \[ \hat{x}_{6,6}=~ 51.538+0.1815 \left( 53.05-51.538 \right) =51.812^{o}C \] \[ p_{6,6}= \left( 1-0.1815 \right) 0.0022=0.0018^{\circ}C^{2} \] | \[ \hat{x}_{7,6}= \hat{x}_{6,6}=51.812^{o}C \] \[ p_{7,6}= 0.0018+0.0001=0.0019^{\circ}C^{2} \] |
| 7 | \( 53.438^{o}C \) | \[ K_{7}= \frac{0.0019}{0.0019+0.01}=0.1607 \] \[ \hat{x}_{7,7}=~ 51.812+0.1607 \left( 53.438-51.812 \right) =52.0735^{o}C \] \[ p_{7,7}= \left( 1-0.1607 \right) 0.0019=0.0016^{\circ}C^{2} \] | \[ \hat{x}_{8,7}= \hat{x}_{7,7}=52.0735^{o}C \] \[ p_{8,7}= 0.0016+0.0001=0.0017^{\circ}C^{2} \] |
| 8 | \( 53.858^{o}C \) | \[ K_{8}= \frac{0.0017}{0.0017+0.01}=0.1458 \] \[ \hat{x}_{8,8}= 52.0735+0.1458 \left( 53.858-52.0735 \right) =52.334^{o}C \] \[ p_{8,8}= \left( 1-0.1458 \right) 0.0017=0.0015^{\circ}C^{2} \] | \[ \hat{x}_{9,8}= \hat{x}_{8,8}=52.334^{o}C \] \[ p_{9,8}= 0.0015+0.0001=0.0016^{\circ}C^{2} \] |
| 9 | \( 54.523^{o}C \) | \[ K_{9}= \frac{0.0016}{0.0016+0.01}=0.1348 \] \[ \hat{x}_{9,9}=~ 52.334+0.1348 \left( 54.523-52.334 \right) =52.621^{o}C \] \[ p_{9,9}= \left( 1-0.1348 \right) 0.0016=0.0014^{\circ}C^{2} \] | \[ \hat{x}_{10,9}= \hat{x}_{9,9}=52.621^{o}C \] \[ p_{10,9}= 0.0014+0.0001=0.0015^{\circ}C^{2} \] |
| 10 | \( 55.114^{o}C \) | \[ K_{10}= \frac{0.0015}{0.0015+0.01}=0.1265 \] \[ \hat{x}_{10,10}=~ 52.621+0.1265 \left( 55.114-52.621 \right) =52.936^{o}C \] \[ p_{10,10}= \left( 1-0.1265 \right) 0.0015=0.0013^{\circ}C^{2} \] | \[ \hat{x}_{11,10}= \hat{x}_{10,10}=52.936^{o}C \] \[ p_{11,10}= 0.0013+0.0001=0.0014^{\circ}C^{2} \] |
El siguiente gráfico compara el valor verdadero, los valores medidos y las estimaciones.
Como puede ver, el Filtro de Kalman no ha logrado proporcionar una estimación fiable. Hay un error de desfase en la estimación del Filtro de Kalman. Ya encontramos el error de desfase en el Ejemplo 3, donde estimamos la posición de un avión en aceleración usando el filtro \( \alpha - \beta \), que asume una velocidad constante del avión. Eliminamos el error de desfase en el Ejemplo 4, donde reemplazamos el filtro \( \alpha - \beta \) por el filtro \( \alpha - \beta - \gamma \), que asume aceleración.
Hay dos razones para el error de desfase en nuestro ejemplo del Filtro de Kalman:
Hay dos maneras posibles de corregir el error de desfase:
Otro problema es la baja incertidumbre de la estimación. El FK no proporcionó estimaciones precisas y, además, está demasiado seguro de sus propias estimaciones. Este es un ejemplo de un mal diseño de FK.
En este ejemplo, medimos la temperatura de un líquido en calentamiento usando un Filtro de Kalman unidimensional con un modelo dinámico constante. Hemos observado el error de desfase en la estimación del Filtro de Kalman. El modelo dinámico incorrecto y la definición inadecuada del modelo de proceso causan el error de desfase.
Una definición adecuada del modelo dinámico o del modelo de proceso puede corregir el error de desfase.
Este ejemplo es similar al ejemplo anterior con solo un cambio. Como nuestro proceso no está bien definido, aumentaremos la incertidumbre del proceso \( \left( q \right) \) de 0.0001\(^{\circ}C^{2}\) a 0.15\(^{\circ}C^{2}\).
Antes de la primera iteración, debemos inicializar el filtro de Kalman y predecir el siguiente estado (que es el primer estado).
La inicialización cero es similar al ejemplo anterior.
No sabemos cuál es la temperatura del líquido en un tanque y nuestra suposición es de 10\( ^{o}C \).
\[ \hat{x}_{0,0}=10^{o}C \]
Nuestra suposición es muy imprecisa, establecemos nuestro error de estimación de inicialización ( \( \sigma \) ) en 100. La incertidumbre estimada de la inicialización es la varianza del error \( \left( \sigma ^{2} \right) \):
\[ p_{0,0}=100^{2}=10,000^{\circ}C^{2} \]
Esta variación es muy alta. Si inicializamos con un valor más significativo, obtendremos una convergencia más rápida del filtro de Kalman.
Ahora, predeciremos el siguiente estado en función de los valores de inicialización.
Dado que nuestro modelo es de dinámica constante, la estimación pronosticada es igual a la estimación actual:
\[ \hat{x}_{1,0}=10^{o}C \]
La incertidumbre de estimación extrapolada (varianza):
\[ p_{1,0}= p_{0,0}+q=10000+ 0.15=10000.15^{\circ}C^{2} \]
Los cálculos para las siguientes iteraciones se resumen en la siguiente tabla:
| \( n \) | \( z_{n} \) | Estimación del estado actual ( \( K_{n} \) , \( \hat{x}_{n,n} \) , \( p_{n,n} \) ) | Predicción ( \( \hat{x}_{n+1,n} \) , \( p_{n+1,n} \) ) |
|---|---|---|---|
| 1 | \( 50.486^{o}C \) | \[ K_{1}= \frac{10000.15}{10000.15+0.01} = 0.999999 \] \[ \hat{x}_{1,1}=~ 10+0.999999 \left( 50.486-10 \right) =50.486^{o}C \] \[ p_{1,1}= \left( 1-0.999999 \right)10000.15=0.01^{\circ}C^{2} \] | \[ \hat{x}_{2,1}= \hat{x}_{1,1}=50.486^{o}C \] \[ p_{2,1}= 0.01+0.15=0.16^{\circ}C^{2} \] |
| 2 | \( 50.963^{o}C \) | \[ K_{2}= \frac{0.16}{0.16+0.01}=0.9412 \] \[ \hat{x}_{2,2}=~ 50.486+0.9412 \left( 50.963-50.486 \right) =50.934^{o}C\] \[ p_{2,2}= \left( 1-0.9412 \right) 0.16=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{3,2}= \hat{x}_{2,2}=50.934^{o}C \] \[ p_{3,2}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 3 | \( 51.597^{o}C \) | \[ K_{3}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{3,3}=~ 50.934+0.941 \left( 51.597-50.934 \right) =51.556^{o}C\] \[ p_{3,3}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{4,3}= \hat{x}_{3,3}=51.556^{o}C \] \[ p_{4,3}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 4 | \( 52.001^{o}C \) | \[ K_{4}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{4,4}=~ 51.556+0.941 \left( 52.001-51.556 \right) =51.975^{o}C \] \[ p_{4,4}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{5,4}= \hat{x}_{4,4}=51.975^{o}C \] \[ p_{5,4}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 5 | \( 52.518^{o}C \) | \[ K_{5}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{5,5}= 51.975+0.941 \left( 52.518-51.975 \right) =52.486^{o}C \] \[ p_{5,5}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{6,5}= \hat{x}_{5,5}=52.486^{o}C \] \[ p_{6,5}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 6 | \( 53.05^{o}C \) | \[ K_{6}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{6,6}=~ 52.486+0.941 \left( 53.05-52.486 \right) =53.017^{o}C \] \[ p_{6,6}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{7,6}= \hat{x}_{6,6}=53.017^{o}C \] \[ p_{7,6}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 7 | \( 53.438^{o}C \) | \[ K_{7}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{7,7}=~ 53.017+0.941 \left( 53.438-53.017 \right) =53.413^{o}C \] \[ p_{7,7}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{8,7}= \hat{x}_{7,7}=53.413^{o}C \] \[ p_{8,7}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 8 | \( 53.858^{o}C \) | \[ K_{8}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{8,8}= 53.413+0.941 \left( 53.858-53.413 \right) =53.832^{o}C \] \[ p_{8,8}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{9,8}= \hat{x}_{8,8}=53.832^{o}C \] \[ p_{9,8}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 9 | \( 54.523^{o}C \) | \[ K_{9}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{9,9}=~ 53.832+0.941 \left( 54.523-53.832 \right) =54.428^{o}C \] \[ p_{9,9}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{10,9}= \hat{x}_{9,9}=54.428^{o}C \] \[ p_{10,9}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
| 10 | \( 55.114^{o}C \) | \[ K_{10}= \frac{0.1594}{0.1594+0.01}=0.941 \] \[ \hat{x}_{10,10}=~ 54.428+0.941 \left( 55.114-54.428 \right) =55.074^{o}C \] \[ p_{10,10}= \left( 1-0.941 \right) 0.1594=0.0094^{\circ}C^{2} \] | \[ \hat{x}_{11,10}= \hat{x}_{10,10}=55.074^{o}C \] \[ p_{11,10}= 0.0094+0.15=0.1594^{\circ}C^{2} \] |
La siguiente gráfica compara el valor verdadero, los valores medidos y las estimaciones.
Como puede ver, las estimaciones siguen las mediciones. No hay error de retraso.
La siguiente gráfica muestra la ganancia de Kalman.
Debido a la alta incertidumbre del proceso, el peso de medición es mucho más alto que el peso estimado, por lo tanto, la ganancia de Kalman es alta y converge a 0.94.
Podemos deshacernos del error de retraso configurando la alta incertidumbre del proceso. Sin embargo, dado que nuestro modelo no está bien definido, obtenemos estimaciones ruidosas que son casi iguales a las mediciones, y perdemos el objetivo del filtro de Kalman.
La mejor implementación del filtro Kalman implicará el modelo que está muy cerca de la realidad, dejando un pequeño espacio para el ruido del proceso. Sin embargo, el modelo preciso no siempre está disponible, por ejemplo, el piloto del avión puede decidir realizar una maniobra repentina que cambiará la trayectoria prevista del avión. En este caso, se incrementará el ruido del proceso.