Kalman-suodatin on algoritmi, jota käytetään arvioitaessa dynaamisen järjestelmän tilaa meluisilta mittauksilta. Sitä käytetään laajasti reaaliaikaisissa seurantajärjestelmissä, kuten navigointi-, robotiikka- ja ilmailu-alalla. Tässä artikkelissa tarkastellaan Kalman-suodattimen taustalla olevia matemaattisia periaatteita ja sen käytännön toteutusta.

Matematiikan perusteet

Kalman-suodatin toimii järjestelmämallinnuksella lineaarisella yhtälöllä. Järjestelmän tilaa k edustaa vektori x[]][[]]. Järjestelmän dynamiikka kuvataan seuraavasti:

]x[]k[] = A x[k[ + B uk-1[ + wk-1[[]]]]

jossa A on tilan siirtymämatriisi, B[ on ohjaussyötematriisi, u[]k-1[][[[]]] on ohjausvektori ja [[]w[[]k-1[[] on prosessimelu.

]z[k] = H x[]k[ + vk[[[]]]

jossa H on mittausmatriisi ja v[] [[] on mittausmelu. Suodatin arvioi tilan ennustamalla ja päivittämällä uusiin mittauksiin perustuvia mittauksia.

Käytännön toteutus

Kalman-suodatin sisältää kaksi päävaihetta: ennustuksen ja korjauksen. Ennustuksen aikana suodatin arvioi seuraavan tilan ja epävarmuuden. Korjausvaiheessa se päivittää uuteen mittaukseen perustuvan arvion.

Tärkeimmät yhtälöt ovat:

  • Ennuste:
    x.[k.k.-1 = A x...k-1. + B u[k-1[[[]]
  • Päivitys:
    []k.k[] = x.[[k.[] + K[] [k[[]] [ z[[]] [[[[] - H x.[[]]]k.[[[]]]]

jossa Kk[ on Kalman-voitto, joka on laskettu estimointivirheen minimoimiseksi. Prosessin ja mittausmelun munasarjojen asianmukainen virittäminen on välttämätöntä optimaalisen suorituskyvyn kannalta.

Hakemukset

Kalman-suodatinta käytetään erilaisissa reaaliaikaisissa seurantasovelluksissa, kuten:

  • Autonomisten ajoneuvojen navigointijärjestelmät
  • Objektin seuranta tutka- ja luotainjärjestelmissä
  • Robotiikka lokalisointia ja kartoitusta varten
  • Rahoitusmarkkinoiden analyysi