Kalmano filtras

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką
 Noia 64 apps xeyes.png  Šį straipsnį gali būti gana sunku suprasti be papildomų informacijos šaltinių.
Galite perrašyti dėstomus teiginius plačiau ir suteikiant daugiau konteksto.

Kalmano filtras - rekursinis filtras, kuris nuspėja tiesinio dinaminio proceso būseną pagal matavimus, kurie gaunami su triukšmu. Jis pavadintas garbei Rudolfo E. Kalmano, kuris 1960 m. paskelbė straipsnį apie šį filtrą.

Kalmano filtro veikimas[taisyti | redaguoti kodą]

Kalmano filtro darbą kiekviename žingsnyje galima suskirstyti į dvi fazes: prognozavimo ir korekcijos.

Prognozavimas[taisyti | redaguoti kodą]

Prognozuojama būsena nustatoma kaip ankstesnės būsenų kaitą nusakančios matricos ir ankstesnės pakoreguotos prognozuojamos būsenos sandauga, pridedant reakciją į įėjimus nusakančios matricos ir įėjimo sandaugą:

\hat{\textbf{x}}_{k|k-1} = \textbf{F}_{k}\hat{\textbf{x}}_{k-1|k-1} + \textbf{B}_{k-1} \textbf{u}_{k-1}.

Prognozuojama būsenos kovariacija nustatoma iš ankstesnės pakoreguotos prognozuojamos kovariacijos, ankstesnės būsenų kaitą nusakančios matricos ir triukšmo kovariacijos:

\textbf{P}_{k|k-1} =  \textbf{F}_{k} \textbf{P}_{k-1|k-1} \textbf{F}_{k}^{\text{T}} + \textbf{Q}_{k-1}.

Korekcija[taisyti | redaguoti kodą]

Matavimo paklaida randama kaip skirtumas tarp faktinės matavimo reikšmės ir numatytos matavimo reikšmės (matricos, nusakančios matavimo modelį, ir prognozuojamos būsenos sandaugos):

\tilde{\textbf{y}}_k = \textbf{z}_k - \textbf{H}_k\hat{\textbf{x}}_{k|k-1}.

Paklaidos kovariacija gaunama iš matavimo modelį nusakančios matricos, prognozuojamos būsenos kovariacijos ir triukšmo kovariacijos:

\textbf{S}_k = \textbf{H}_k \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} + \textbf{R}_k.

Optimalus stiprinimo koeficientas nustatomas iš prognozuojamos būsenos, matavimo modelio ir paklaidos kovariacijos:

\textbf{K}_k = \textbf{P}_{k|k-1}\textbf{H}_k^\text{T}\textbf{S}_k^{-1}.

Pakoreguota prognozuojama būsena apskaičiuojama pridedant prie prognozuojamos būsenos optimaliai sustiprintą paklaidą:

\hat{\textbf{x}}_{k|k} = \hat{\textbf{x}}_{k|k-1} + \textbf{K}_k\tilde{\textbf{y}}_k.

Pakoreguota prognozuojama kovariacija gaunama iš atitinkamų matmenų vienetinės matricos, optimalaus stiprinimo, matavimo modelio ir prognozuojamos kovariacijos:

\textbf{P}_{k|k} = (I - \textbf{K}_k \textbf{H}_k) \textbf{P}_{k|k-1}.

Papildomam skaitymui[taisyti | redaguoti kodą]

  • Rudolph Emil Kalman, „A New Approach to Linear Filtering and Prediction Problems“ // „Transactions of the ASME--Journal of Basic Engineering“, 1960, t. 82, Series D, 35-45 psl. [1]
  • Greg Welch, Gary Bishop, „An Introduction to the Kalman Filter“, Šiaurės Karolinos universitetas, Kompiuterių mokslo katedra, techninė ataskaita TR 95-041 [2]