Neste capítulo, adicionamos ruído de processo ao modelo do Filtro de Kalman unidimensional.
Agora, vamos atualizar a Equação de Extrapolação de Covariância com a variável de ruído do processo.
Em um mundo real, existem incertezas no modelo dinâmico do sistema. Por exemplo, quando queremos estimar o valor da resistência do resistor, assumimos o modelo dinâmico constante, ou seja, a resistência não muda entre as medições. No entanto, a resistência pode mudar ligeiramente devido à flutuação da temperatura ambiente. Ao rastrear mísseis balísticos com o radar, a incerteza do modelo dinâmico inclui mudanças aleatórias na aceleração do alvo. Para a aeronave, as incertezas são muito maiores devido às possíveis manobras da aeronave.
Por outro lado, quando estimamos a localização de um objeto estático usando o receptor GPS, a incerteza do modelo dinâmico é zero, uma vez que o objeto estático não se move. A incerteza do modelo dinâmico é chamada de Ruído do Processo. Na literatura, também é denominado ruído de planta, ruído de condução, ruído de dinâmica, ruído de modelo e ruído de sistema. O ruído do processo produz erros de estimativa.
No exemplo anterior, estimamos a altura do edifício. A altura do edifício não muda. Portanto, não levamos em consideração o ruído do processo.
A Variância de ruído do processo é indicada pela letra \(q \).
A Equação de Extrapolação de Covariância deve incluir a Variância de Ruído do Processo.
A Equação de Extrapolação de Covariância para dinâmica constante é:
\[ p_{n+1,n}= p_{n,n}+ q_{n} \]
Estas são as equações do Filtro de Kalman atualizadas em uma dimensão:
| Equação | Nome da Equação | Nomes alternativos usados na literatura |
|---|---|---|
| \( \hat{x}_{n,n}=~ \hat{x}_{n,n-1}+ K_{n} \left( z_{n}- \hat{x}_{n,n-1} \right) \) | Atualização de estado | Equação de Filtragem |
|
\( \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 dinâmica de velocidade constante) |
State Extrapolation |
Equação de Predição Equação de Transição Equação de Previsão Modelo Dinâmico Modelo Espaço de Estados |
| \( K_{n}= \frac{p_{n,n-1}}{p_{n,n-1}+r_{n}} \) | Ganho de Kalman | Equação de Peso |
| \( p_{n,n}=~ \left( 1-K_{n} \right) p_{n,n-1} \) | Atualização da Covariância | Equação de Correção |
|
\( p_{n+1,n}= p_{n,n} + q_{n} \) (For constant dynamics) |
Extrapolação da Covariância | Equação Preditora da Covariância |
Nós gostariamos de estimar a temperatura de um líquido em um tanque.
Nós presumimos que em regime estacionário a temperatura do líquido é constante. Entretanto, algumas flutuações na temperatura real do líquido são possíveis. Podemos descrever a dinâmica do sistema pela equação seguinte:
\[ x_{n}=T+ w_{n} \]
onde:
\( T \) é a temperatura constante
\( w_{n} \) é um ruído de processo aleatório \( q \)
O gráfico a seguir compara a temperatura real do líquido e as medições.
Antes da primeira iteração, precisamos inicializar o Filtro de Kalman e prever o próximo estado (que é o primeiro estado).
Nós não sabemos qual a temperatura do líquido, e nosso palpite é 60\( ^{o}C \).
\[ \hat{x}_{0,0}=60^{o}C \]
Nosso palpite é bem impreciso. Configuramos nosso erro de estimativa de inicialização \( \sigma \) com 100. A Incerteza de Estimativa da inicialização é o erro de variância \( \left( \sigma ^{2} \right) \):
\[ p_{0,0}=100^{2}=10,000^{\circ}C^{2} \]
Essa variância é muito alta. Se inicializarmos com um valor mais significativo vamos obter um a convergência do Filtro de Kalman mais rápida.
Agora, nós devemos prever o próximo estado baseado nos valores de inicialização.
Uma vez que nosso modelo tem dinâmica constante, a estimativa prevista é igual a estimativa atual:
\[ \hat{x}_{1,0}=10^{o}C \]
A extrapolação da incerteza de estimativa (variância):
\[ p_{1,0}= p_{0,0}+q=10000+ 0.0001=10000.0001^{\circ}C^{2} \]
O valor de medição:
\[ z_{1}=~ 49.986^{o}C \]
Uma vez que o erro de medição é 0.1 ( \( \sigma \) ), a variância ( \( \sigma ^{2} \) ) seria 0.01, logo a incerteza de medição é:
\[ r_{1}= 0.01^{\circ}C^{2} \]
Cálculo do Ganho de Kalman:
\[ K_{1}= \frac{p_{1,0}}{p_{1,0}+r_{1}}= \frac{10000.0001}{10000.0001+0.01} = 0.999999 \]
O Ganho de Kalman é quase 1, ou seja, nosso erro de estimativa é muito maior que o erro de medição. Portanto, o peso de estimativa é insignificante, enquanto o peso de medição é quase 1.
Estimando o estado atual:
\[ \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 \]
Atualizar a incerteza de estimativa atual:
\[ p_{1,1}=~ \left( 1-K_{1} \right) p_{1,0}= \left( 1-0.999999 \right) 10000.0001=0.01^{\circ}C^{2} \]
Uma vez que o Modelo Dinâmico do sistema utilizado é constante, ou seja, a temperatura do líquido não varia, então:
\[ \hat{x}_{2,1}=\hat{x}_{1,1}= 49.986^{o}C \]
A extrapolação da incerteza de estimativa (variância) é:
\[ p_{2,1}= p_{1,1}+q=0.01+ 0.0001=0.0101^{\circ}C^{2} \]
O valor de medição:
\[ z_{2}=~ 49.963^{o}C \]
Uma vez que o erro de medição é 0.1 ( \( \sigma \) ), a variância ( \( \sigma^{2} \) ) seria 0.01, logo a incerteza de medição é:
\[ r_{2}= 0.01^{\circ}C^{2} \]
cálculo do Ganho de Kalman:
\[ K_{2}= \frac{p_{2,1}}{p_{2,1}+r_{2}}= \frac{0.0101}{0.0101+0.01} = 0.5 \]
O Ganho de Kalman é 0.5, ou seja, o peso da estimativa e o peso de medição são iguais.
Estimando o estado atual:
\[ \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 \]
Atualizar a incerteza de estimativa atual:
\[ p_{2,2}=~ \left( 1-K_{2} \right) p_{2,1}= \left( 1-0.5 \right) 0.0101=0.005^{\circ}C^{2} \]
Uma vez que o Modelo Dinâmico do sistema utilizado é constante, ou seja, a temperatura do líquido não varia, então:
\[ \hat{x}_{3,2}=\hat{x}_{2,2}= 49.974^{o}C \]
A extrapolação da incerteza de estimativa (variância) é:
\[ p_{3,2}= p_{2,2}+q=0.005+ 0.0001=0.0051^{\circ}C^{2} \]
Os cálculos para as próximas iterações estão resumidos na tabela a seguir:
| \( n \) | \( z_{n} \) | Estimativas do estado atual ( \( K_{n} \) , \( \hat{x}_{n,n} \) , \( p_{n,n} \) ) | Predição ( \( \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} \] |
O gráfico a seguir descreve a Ganho de Kalman.
Como pode ver, a Ganho de Kalman diminui gradualmente; portanto, o FK converge.
O gráfico a seguir compara o valor verdadeiro, os valores medidos e as estimativas. O intervalo de confiança é de 95%.
Você pode encontrar as diretrizes para o cálculo de um intervalo de confiança aqui.
Como pode ver, o valor estimado converge para o valor verdadeiro. As incertezas das estimativas do FK são muito altas para o nível de confiança de 95%.
Medimos a temperatura de um líquido usando o Filtro de Kalman unidimensional. Embora a dinâmica do sistema inclua um ruído de processo aleatório, o Filtro de Kalman fornece uma boa estimativa.
Assim como no exemplo anterior, nesse exemplo vamos medir a temperatura de um líquido em um tanque. A dinâmica do sistema não é constante, o líquido está aquecendo a uma taxa de 0.1\( ^{o}C \) por segundo.
Os parâmetros do Filtro de Kalman são similares ao exemplo anterior:
Preste atenção, embora a dinâmica do sistema real não seja constante (uma vez que o líquido está aquecendo), vamos tratar o sistema como um com dinâmica constante (a temperatura não varia).
O gráfico a seguir compara a temperatura real do líquido e as medições.
A iteração zero é similiar ao exemplo anterior.
Antes da primeira iteração, precisamos inicializar o Filtro de Kalman e prever o próximo estado (que é o primeiro estado).
Nós não sabemos qual a temperatura do líquido no tanque e nosso palpite é \( ^{o}C \).
\[ \hat{x}_{0,0}=10^{o}C \]
Nosso palpite é bem impreciso, nós configuramos nosso erro de estimativa de inicialização ( \( \sigma \) ) em 100. A Incerteza de Estimativa da inicialização é o erro de variância \( \left( \sigma ^{2} \right) \):
\[ p_{0,0}=100^{2}=10,000^{\circ}C^{2} \]
Essa variância é muito alta. Se nós inicializarmos com um valor mais significativo, vamos conseguir uma convergência do Filtro de Kalman mais rápida.
Agora, devemos prever o próximo estado baseado nos valores iniciais.
Uma vez que nosso modelo tem dinâmica constante, a estimativa prevista é igual à estimativa atual:
\[ \hat{x}_{1,0}=10^{o}C \]
A extrapolação da incerteza de estimativa (variância):
\[ p_{1,0}= p_{0,0}+q=10000+ 0.0001=10000.0001^{\circ}C^{2} \]
Os cálculos para as próximas iterações estão resumidos na tabela a seguir:
| \( n \) | \( z_{n} \) | Estimativa dos estados atuais( \( K_{n} \) , \( \hat{x}_{n,n} \) , \( p_{n,n} \) ) | Predição ( \( \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} \] |
O gráfico a seguir compara o valor verdadeiro, os valores medidos e as estimativas.
Como pode ver, o Filtro de Kalman não conseguiu fornecer uma estimativa confiável. Há um erro de defasagem na estimativa do Filtro de Kalman. Já encontramos o erro de defasagem no Exemplo 3, onde estimamos a posição de uma aeronave em aceleração usando o filtro \( \alpha - \beta \), que assume velocidade constante. Eliminamos esse erro no Exemplo 4, onde substituímos o filtro \( \alpha - \beta \) pelo filtro \( \alpha - \beta - \gamma \), que assume aceleração.
Há duas razões para o erro de defasagem em nosso exemplo com o Filtro de Kalman:
Há duas possíveis maneiras de corrigir o erro de defasagem:
Outro problema é a baixa incerteza da estimativa. O FK não conseguiu fornecer estimativas precisas e ainda está excessivamente confiante nelas. Este é um exemplo de um mau design de FK.
Neste exemplo, medimos a temperatura de um líquido aquecido usando um Filtro de Kalman unidimensional com um modelo dinâmico constante. Observamos o erro de defasagem na estimativa do Filtro de Kalman. O erro de defasagem ocorre devido à definição incorreta do modelo dinâmico e do modelo de processo.
Uma definição adequada do modelo dinâmico ou do modelo de processo pode corrigir o erro de defasagem.
Esse exemplo é semelhante ao exemplo anterior com apenas uma mudança. Uma vez que nosso processo não está bem definido, vamos aumentar a incerteza do processo \( \left( q \right) \) de 0.0001 para 0.15.
Antes da primeira iteração, precisamos incializar o Filtro de Kalman e prever o próximo estado (que é o primeiro estado).
A inicialização zero é similar ao exemplo anterior.
Nós não sabemos qual é a temperatura do líquido no tanque e nosso palpite é 10\( ^{o}C \).
\[ \hat{x}_{0,0}=10^{o}C \]
Nosso palpite é bem impreciso, configuramos o erro de estimativa de inicialização ( \( \sigma \) ) com valor 100. A Incerteza de Estimativa da inicialização é o erro de variância \( \left( \sigma ^{2} \right) \):
\[ p_{0,0}=100^{2}=10,000^{\circ}C^{2} \]
Essa variância é muito alta. Se nós inicializarmos com um valor mais significativo, vamos conseguir uma convergência do Filtro de Kalman mais rápida.
Agora, devemos prever o próximo estado baseado nos valores de inicialização.
Uma vez que nosso modelo tem dinâmica constante, a estimativa prevista é igual a estimativa atual:
\[ \hat{x}_{1,0}=10^{o}C \]
A extrapolação da incerteza de estimativa (variância):
\[ p_{1,0}= p_{0,0}+q=10000+ 0.15=10000.15^{\circ}C^{2} \]
Os cálculos para as próximas iterações estão resumidos na tabela a seguir:
| \( n \) | \( z_{n} \) | Estimativa dos estados atuais( \( K_{n} \) , \( \hat{x}_{n,n} \) , \( p_{n,n} \) ) | Predição ( \( \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} \] |
O gráfico a seguir comaprar o valor real, os valores medidos e os valores estimados.
Como você pode ver, as estimativas estão seguindo as medições. Não há erro de atraso.
O próximo gráfico mostra o Ganho de Kalman.
Devido à alta incerteza do processo, o peso de medição é muito maior que o peso de estimativa, logo o Ganho de Kalman é alto, e converge em 0.94.
Nós podemos nos livrar do erro de atraso configurando a alta incerteza do processo. Entretanto, uma vez que nosso modelo não está bem definido, nós obtemos estimativas ruidosas que são quase iguais às medições, e perdemos o objetivo do Filtro de Kalman.
A melhor implementação do Filtro de Kalman deve envolver o modelo que é bem próximo da realidade deixando um espaço pequeno para o ruído do processo. Entretanto, o modelo preciso nem sempre está disponível. Por exemplo, o piloto de um avião pode decidir realizar subitamente uma manobra que vai mudar a trajetória prevista da aeronave. Nesse caso, o ruído do processo deve ser aumentado.