Obrigado a todos que postaram comentários / respostas à minha consulta ontem ( Implementando um filtro Kalman para posição, velocidade, aceleração ). Eu estive analisando o que foi recomendado e, em particular, (a) o exemplo da Wikipedia em uma posição dimensional e velocidade e também em outro site que considera algo semelhante .
Atualização 26-abr-2013 : a pergunta original aqui continha alguns erros, relacionados ao fato de eu não ter entendido corretamente o exemplo da Wikipedia em uma posição e velocidade unidimensionais . Com minha compreensão aprimorada do que está acontecendo, agora reformulei a questão e a concentrei mais.
Os dois exemplos a que me refiro no parágrafo introdutório acima assumem que é apenas a posição que é medida. No entanto, nenhum dos exemplos possui nenhum tipo de cálculo para velocidade. Por exemplo, o exemplo da Wikipedia especifica a matriz H como H = [ 1 0 ] , o que significa que apenas a posição é inserida. Focando no exemplo da Wikipedia, o vetor de estado x k do filtro Kalman contém a posição x k e a velocidade ˙ x k , ou seja,
Suponhamos que a medição da posição no momento é x k . Em seguida, se a posição e velocidade no momento k - 1 eram x k - 1 e ˙ x k - 1 , e, se uma é uma aceleração constante que aplica-se no intervalo de tempo k - 1 a k , a partir da medição de x é possível deduzir um valor para a usando a fórmula
Isto implica que, no tempo , uma medição ˙ x k da velocidade é dado pela
Todas as quantidades do lado direito da equação que x k , x k - 1 e ˙ x k - 1 ) são normalmente distribuídos variáveis aleatórias com meios conhecidos e os desvios padrão, de modo que o R matriz para o vector de medição
pode ser calculado. Essa é uma maneira válida de introduzir estimativas de velocidade no processo?
fonte
Respostas:
Se você escolher seu estado adequadamente, as estimativas de velocidade serão "gratuitas". Veja a derivação do modelo de sinal abaixo (para o caso 1-D simples que estamos vendo).
Modelo de Sinal, Take 2
Se eu implementar isso em
scilab
(desculpe, sem acesso ao matlab), ele se parece com:Os gráficos seguintes mostram o resultado.
Gráfico 2 : uma visão ampliada das primeiras amostras:
Gráfico 3 : Algo que você nunca consegue na vida real, a posição verdadeira versus a estimativa de estado da posição.
Gráfico 4 : Algo que você também nunca obtém na vida real, a velocidade verdadeira versus a estimativa de estado da velocidade.
Gráfico 5 : A norma da matriz de covariância do estado (algo que você deve sempre monitorar na vida real!). Observe que ele passa rapidamente de seu valor inicial muito grande para algo muito pequeno, então eu mostrei apenas as primeiras amostras.
Gráfico 6 : gráficos do erro entre a verdadeira posição e velocidade e suas estimativas.
Isso significa que o procedimento de atualização do Kalman produz
fonte