Filtro Kalman - maneira ideal de lidar com medições "derivadas"?

13

Ou seja, se você tem como variáveis ​​de estado posição ( p ) e velocidade ( v ), e eu faço medições de baixa frequência de p , isso também me fornece indiretamente informações sobre v (já que é a derivada de p ). Qual é a melhor maneira de lidar com esse relacionamento?

A) Na etapa de atualização, devo dizer apenas que medi p e confio no processo de filtragem e na minha matriz de covariância de estado acumulada ( P ) para corrigir v ?

B) Devo criar uma etapa de previsão "extra", antes ou antes da minha etapa de atualização para a medição de p , que usa meu pe medido e tempo delta (relativamente grande) para fazer uma previsão de alta variação de v ?

C) Na minha atualização passo / medição, devo dizer que fiz uma medição de ambos p e v , e em seguida, de alguma forma informações de codificação sobre a sua interdependência na matriz de co-variância de medição ( R )?


Para um pouco mais de fundo, eis a situação específica em que me deparei com o problema:

Estou trabalhando com um sistema em que quero estimar a posição ( p ) de um objeto e faço medições freqüentes da aceleração ( a ) e medições pouco frequentes e com alto ruído de p .

Atualmente, estou trabalhando com uma base de código que faz isso com um filtro Kalman estendido, onde ele mantém como variáveis ​​de estado p e v . Corre-se um passo "previsão" depois de cada medição de aceleração, em que se utiliza a medida um e delta-tempo para integrar e prever nova p e v . Em seguida, ele executa uma etapa de "atualização" / "medição" para cada medição p (pouco frequente) .

O problema é este - recebo medições ocasionais de alto erro de a , que resultam em v altamente errôneo . Obviamente, medidas adicionais de a nunca corrigirão isso, mas medidas de p devem se livrar disso. E, de fato, isso parece acontecer ... mas muito devagar.

Eu estava pensando que isso pode ser parcialmente porque a única maneira pela qual p afeta v nesse sistema é através da matriz de covariância P - isto é, método A) de cima - que parece bastante indireta. Fiquei pensando se haveria uma maneira melhor de incorporar nosso conhecimento dessa relação entre p e v no modelo, para que as medidas de p corrigissem v mais rapidamente.

Obrigado!

Paul Molodowitch
fonte
1
uma
2
pvpk+1=pk+vkΔt

Respostas:

3

No mundo ideal, você teria o modelo correto e o usaria.
No seu caso, o modelo não é perfeito.
No entanto, as etapas sugeridas são baseadas no conhecimento que você tem sobre o processo - que você deve incorporar à sua equação do processo usando sua matriz de modelo dinâmico:

  1. A maneira clássica e correta dada a matriz F é construída corretamente de acordo com o seu conhecimento.

  2. FEuk=FEujFjkQR

  3. Se você não medir V, deverá "estimar" de alguma forma. No entanto, por definição, se o seu caso se encaixar nas suposições de Kalman, usando o filtro de Kalman produziria melhores resultados.

Em suma, fique com o "Clássico".

Royi
fonte