Kalman-filteret er en algoritme som brukes til å beregne tilstanden til et dynamisk system fra støyende målinger. Det brukes mye i sanntidssporingssystemer som navigasjon, robotikk og romfart. Denne artikkelen utforsker matematiske prinsipper bak Kalman-filteret og dens praktiske implementeringer.

Matematiske stiftelser

Kalmanfilteret opererer på et system som er modellert av lineære ligninger. Tilstanden til systemet til tiden ]k] er representert av en vektor x]k]. Systemdynamikken er beskrevet av:

xk = A x]k-1] + B u]]k-1] + w]k-1]

hvor A] er tilstandsovergangsmatrisen, B] er kontrollinngangsmatrisen, u]k-1]] er kontrollvektoren, og w]] er prosessstøy. Målingene er modellert som:

zk] = H x]k + v]k]]]

hvor H] er målematrisen og v] k] er målestøy. Filteret anslår tilstanden ved å forutsi og oppdatere basert på nye målinger.

Praktisk implementasjon

Kalman-filteret innebærer to hovedtrinn: forutsigelse og rettelse. Under forutsigelsen anslår filteret neste tilstand og usikkerheten. I rettelsestrinnet oppdaterer det estimatet basert på den nye målingen.

Nøkkellikningene er:

  • Forutsetning:
    x ⁇ ]kąk-1] = A x ⁇ ]k-1 ⁇ k-1] + B u]]k-1]]

  • x ⁇ ]k]k ] (]k] - H x ]k] (]]

hvor K]k] er Kalman-gevinsten, beregnet for å minimere estimeringsfeilkovariansen. Korrekt tuning av prosess- og målestøykovarianser er avgjørende for optimal ytelse.

Søknader

Kalman-filteret brukes i ulike sanntidssporingsprogrammer, inkludert:

  • Navigasjonssystemer for autonome kjøretøy
  • Objektsporing i radar- og sonarsystemer
  • Robotikk for lokalisering og kartlegging
  • Finansmarkedsanalyse