Kalmanfilter

Från Wikipedia
Hoppa till: navigering, sök

Kalmanfilter är ett effektivt rekursivt filter eller algoritm, som utifrån en mängd inkompletta och brusiga mätningar uppskattar tillståndet hos ett dynamiskt system. Ett exempel på tillämpning kan vara att ta fram korrekt och kontinuerligt uppdaterad information om ett objekts position och hastighet utifrån en serie imperfekta observationer av objektets position vid tröghetsnavigering. Metoden används i många och vitt skilda tekniska tillämpningar från radar till datorseende. Kalmanfiltrering är ett viktigt ämne i reglerteknik och utveckling av reglersystem.

Matematisk beskrivning av Kalmanfiltrets rekursiva algoritm med prediktion och korrektion.

Historik[redigera | redigera wikitext]

Filtret har uppkallats efter sin skapare, Rudolf E. Kalman, trots att Peter Swerling redan tidigare utvecklat en liknande metod. Stanley Schmidt anses allmänt vara den som först implementerade ett Kalmanfilter. Vid ett besök Kalman gjorde vid NASA Ames Research Center insåg han att hans idéer kunde tillämpas för att beräkna banor i Apolloprogrammet, och metoden integrerades i Apollos navigeringsdator. Själva filtret utvecklades i publikationer av Swerling (1958)[1], Kalman (1960) och Kalman & Bucy (1961)[2].

Matematisk grund[redigera | redigera wikitext]

Linjärt system i tillståndsrummet[redigera | redigera wikitext]

Vid diskret tid:

Betrakta ett system representerat i tillståndsrummet:

 \quad x_k=A_{k-1} x_{k-1}+B_{k-1} u_{k-1}+w_{k-1}

 \quad z_k=H_k x_k+v_k

där: \quad w_k representerar en processtörning och är vitt brus med medelvärde lika med noll och med variansen \quad Q_k vid tillfället k.

\quad v_k > representerar en mätstörning och är vitt brus med medelvärde lika med noll och med variansen \quad R_k vid ögonblicket k.

Kalmanfiltret tillåter att estimering av tillstånder \quad x_k utifrån tidigare mätningar av \quad u_{k-i}, \quad z_{k-i}, \quad Q_{k-i}, \quad R_{k-i} och de föregående uppskattningar av \quad x_{k-i}.

Kontinuerlig tid:

Betrakta ett system representerat i tillståndsrummet:

\quad \frac{d}{dt}x(t)=A(t) x(t)+B(t) u(t)+w(t)

\quad z(t)=C(t) x(t)+v(t)

där: \quad w(t) representerar en processtörning och är vitt brus med medelvärde lika med noll och med variansen \quad Q(t) i tidsintervallet t.

\quad v(t) representerar en mätstörning och är vitt brus med medelvärde lika med noll och med variansen \quad R(t) i tidsintervallet t.

Kalmanfiltret medger uppskattning av tillståndet \quad x(t+dt) utifrån de tidigare mätningar av \quad u(t), \quad z(t), \quad Q(t), \quad R(t) och de föregående uppskattningarna av \quad x(t).

Algoritm för det diskreta Kalmanfiltret[redigera | redigera wikitext]

Kalmanfilter är en rekursiv algoritm där tillståndet \quad x_k anses vara en Gaussisk slumpvariabel. Kalmanfiltret beskrivs i allmänhet i två steg: Prediktion och Korrektion.

Senare varianter[redigera | redigera wikitext]

En uppsjö av Kalmanfilter har nu utvecklats, från Kalmans ursprungliga modell, som nu kallas enkelt Kalmanfilter, till Schmidts utökade filter, informationsfiltret, och ett antal kvadratrotfilter som utvecklats av bland andra Bierman, Thornton.[3][4] Masreliez' teorem är ett exempel med robustifiering för att få fram ett mer tillförlitligt filter.[5]

Här finns ett samband med rekursiv Bayesisk uppskattning, där det sanna tillståndet antas vara en icke observerad Markovprocess och mätningarna är de observerade tillstånden i en dold Markovmodell. Kalmanfiltret kan anses vara ett av de enklaste fallen av ett dynamiskt Bayesiskt nätverk. Kalmanfiltret beräknar uppskattningar av de sanna mätvärdena rekursivt i tiden från inkommande data med hjälp av en matematisk modell. På samma sätt beräknar en "rekursiv Bayesisk uppskattning" utfallsuppskattningar hos en okänd sannolikhetsfördelning.[6]

Tillämpningar[redigera | redigera wikitext]

Den vanligast förekommande typen av Kalmanfilter idag är förmodligen den faslåsta slingan (PLL) som nu förekommer i allehanda radioapparater, datorer och nästan alla andra sorters video- och kommunikationsutrustning. Bland andra tillämpningar kan nämnas:

Se även[redigera | redigera wikitext]

Referenser[redigera | redigera wikitext]

Noter[redigera | redigera wikitext]

  1. ^ Kalman, R. E. A New Approach to Linear Filtering and Prediction Problems, Transactions of the ASME - Journal of Basic Engineering Vol. 82: sid. 35-45 (1960).
  2. ^ Kalman, R. E., Bucy R. S., New Results in Linear Filtering and Prediction Theory, Transactions of the ASME - Journal of Basic Engineering Vol. 83: sid. 95-107 (1961)
  3. ^ Catherine L. Thornton; Triangular Covariance Factorizations for Kalman Filtering, (PhD avhandling 1976-10-15), NASA Technical Memorandum 33-798.
  4. ^ Bierman, G.J.; Factorization Methods for Discrete Sequential Estimation, Academic Press (1977).
  5. ^ Bernhard Spangl et al.;Approximate Conditional-mean Type Filtering for State-space Models, Universität für Bodenkultur, Wien (2008).
  6. ^ C. Johan Masreliez, R D Martin; Robust Bayesian estimation for the linear model and robustifying the Kalman filter, IEEE Trans. Automatic Control (1977)

Källor[redigera | redigera wikitext]

  • [JU97] Julier, Simon J. and Jeffery K. Uhlmann. A New Extension of the Kalman Filter to nonlinear Systems. In The Proceedings of AeroSense: The 11th International Symposium on Aerospace/Defense Sensing,Simulation and Controls, Multi Sensor Fusion, Tracking and Resource Management II, SPIE, 1997.

Externa länkar[redigera | redigera wikitext]