A Kálmán-szűrő egy algoritmus, mely mozgó, változó rendszerek állapotáról ad optimális becslést sorozatos mérésekkel, figyelembe véve az állapotméréseket és a zavaró tényezőket (zajok, bizonytalanságok, pontatlanságok). Ezzel az algoritmussal jóval pontosabb információ kapható a vizsgált tárgyról, mintha csak egy mérést végeznének el. Más szóval a Kálmán-szűrő a zajos bemenő adatok rekurzív mérésével egy optimális becslést ad a mérés tárgyának állapotáról.[1]

A Kálmán-szűrőt Rudolf E. Kálmán (1930–2016) magyar származású amerikai villamosmérnökről nevezték el. Kálmán Rudolf szülei 1943-ban emigráltak Magyarországról az Amerikai Egyesült Államokba.

A Kálmán-szűrőnek számos felhasználási területe van, általánosan használják navigációs, irányításvezérléseknél, különösen repülőgépeknél, űrhajóknál, robotrepülőgépeknél. A Kálmán-szűrőt széles körben alkalmazzák jelfeldolgozó rendszerekben és az ökonometria területén.

Az algoritmus két lépésben működik. Az első becslési lépésben a Kálmán–szűrő kiszámolja az aktuális állapotváltozókat, a bizonytalanságokkal együtt. A következő mérés eredményeit súlyozott átlagolással veszi figyelembe. A sorozatos valós idejű mérések során az átlagolás eredményeként egyre jobb értékek adódnak, ahol a zajok és egyéb zavaró tényezők kiesnek. Az algoritmus rekurzív jellegű, csak az aktuális kalkulált állapotot, és az aktuális mérési eredményeket veszi figyelembe, korábban mért adatokat nem használ fel. Elméletileg, a Kálmán-szűrő alapfeltevése az, hogy a vizsgált rendszer egy lineáris dinamikus rendszer, és minden hibafüggvénynek és -mérésnek is normális eloszlása van (gyakran többváltozós a normális eloszlás).

A Kálmán-szűrőnek számos kiterjesztése és általánosítása létezik, ilyenek például a bővített Kálmán-szűrő, vagy a nemlineáris rendszerekre kiterjesztett változat. Az alapul szolgáló modell a Bayes-féle modell.

Története szerkesztés

A szűrőt Kálmán Rudolf Emilről nevezték el, aki 1960–1961-ben fejlesztette ki az algoritmust. Thorwald Nicolai és Peter Swerling is fejlesztett hasonló algoritmust kissé korábban (1958). Richard S. Bucy is hozzájárult az algoritmus fejlesztéséhez, ezért szokták az algoritmust Kálmán–Bucy-szűrőnek is hívni. Első jelentős alkalmazása a NASA kutatóközpontjában történt, ahol az Apollo-programban alkalmazták az eljárást, az űrhajók navigációs rendszerének optimalizálására.

A Kálmán-szűrőnek jelentős szerepe van az US Navy (USA haditengerészete) nukleáris tengeralattjárók ballisztikus rakétái irányításában, valamint a cirkáló rakétáinak vezérlésénél. Az US Air Force (USA légierő) minden rakétájában Kálmán-szűrő stabilizálja az irányítást. Az űrsikló is Kálmán-szűrővel működik, továbbá a Nemzetközi Űrállomás. A szűrő egy változatát Stratonovich–Kalman–Bucy szűrőnek is hívják, ez egy speciális változat, mely nemlineáris rendszerek stabilizálására alkalmas, a szovjet matematikus, Ruszlan L. Sztratonovics fejlesztette[2][3][3]

Működése szerkesztés

A Kálmán-szűrő a szóban forgó rendszer vezérlési bemenő adataiból indul ki, és sorozatos méréseket végez, ebből becslést szintetizál a kimenő adatokra, mely jobb eredményt ad, mintha egy mérést végeztek volna. Ez hasonló az érzékelőfúziós és az adatfúziós algoritmusokhoz. A Kálmán-szűrő átlagolja a rendszer állapotainak becsült adatait, és új méréssel súlyozott átlagolást végez. A súlyozást a kovarianciából számolja, mely a rendszer állapotainak becsléséből származó becsült bizonytalanságokból származik. A súlyozott átlag eredménye egy új állapotbecslés, mely a becsült és mért állapot között van. A folyamat lépésenként ismétlődik egy iterációs eljárással. A Kálmán-szűrő rekurzív módon működik és csak az utolsó legjobb eredményt veszi figyelembe, nem a rendszer teljes történetét.

Mivel gyakran nehéz a mérést precízen elvégezni, a Kálmán-nyereséget figyelembe kell venni. A Kálmán-nyereség a mérések relatív bizonyosságának függvénye, és „hangolható” partikuláris teljesítményre. Magas fokú nyereség esetén több súlyozást alkalmaz, és így szorosabban követi a mérést. Alacsonyabb súlyozáskor a modellbecslés szorosabb, kisimítva a zajokat. Szélső esetben az egyes nyereségnél nem veszi figyelembe az állapotbecslést, míg zéró nyereségnél a mérést eldobja. Az aktuális számításkor a szűrő az állapotbecsléseket és a kovarianciákat egy mátrixban kódolja. Ezzel lehetővé válik a különböző állapotváltozók (pozíció, sebesség, gyorsulás) közötti lineáris kölcsönhatás, és az átmenetek kezelése.

Példa szerkesztés

Tekintsük azt a problémát, amikor egy gépjármű precíz helyzetét kell meghatározni. A gépjárművön lehet egy GPS-készülék, mely néhány méter szórással meghatározza a pozíciót. A GPS eredménye zajos lehet, de az abból származó bizonytalanság mindig néhány méteren belül marad. Mivel a jármű a fizika törvényei szerint működik, kiszámítható a sebesség és a gyorsulás a kerekek fordulatszámából. Ezek elég jó becslést adnak, de idővel a csúszások miatt kis hibák adódhatnak. Itt a Kálmán-szűrő két külön fázisban működhet: becslés és frissítés. A becslési fázisban a jármű régi pozíciója változik a fizika mozgástörvényeinek megfelelően, a gázpedál és a kormány változásait figyelembe véve. Nem csak egy új pozíciót számolunk ki, hanem egy új kovariancia is keletkezik. Bizonytalanságok lehetnek a „dead reckoning” becsléssel kapcsolatban nagyobb sebességeknél, de biztosabbak lassúbb sebességnél. (A dead reckoning az a folyamat, amikor valaminek a pozícióját az előző helyzetéből számoljuk ki.)

A frissítőfázisban a jármű pozícióját a GPS-egységből származtatjuk. Ezzel a méréssel is bejön némi bizonytalanság, a kovarianciája relatív ahhoz a becsléshez, mely a megelőző fázisméréséből ered és mennyiből befolyásolja az új mérés a frissített becslést. Ideálisan, ha a „dead reckoning” becslés eltérést mutat a valós pozíciótól, a GPS-mérési eredmény pozícióbecslését vissza kell húzni a valós pozícióhoz, de nem annyira, hogy az gyorsan változó, vagy zajos legyen.

Kiegészítések szerkesztés

Az évek során számos új módszert fejlesztettek ki a Kálmán-szűrő működésének további optimalizálására. Ilyenek például a Kálmán–Bucy-módszer, a kiterjesztett Kálmán-szűrő, a minimális szórásnégyzetű modell, vagy a hibrid Kálmán-szűrő stb.[4][5][6][7][8]

Kapcsolódó szócikkek szerkesztés

További információk szerkesztés

Jegyzetek szerkesztés

  1. Archivált másolat. [2013. május 12-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. január 18.)
  2. . Stratonovich, R.L. (1959). Optimum nonlinear systems which bring about a separation of a signal with constant parameters from noise. Radiofizika, 2:6, pp. 892–901.
  3. a b Stratonovich, R.L. (1959). On the theory of optimal non-linear filtering of random functions. Theory of Probability and its Applications, 4, pp. 223–225.
  4. Kalman filters used in Weather models, SIAM News, Volume 36, Number 8, October 2003.
  5. Julier, S.J.; Uhlmann, J.K. (1997). "A new extension of the Kalman filter to nonlinear systems". Int. Symp. Aerospace/Defense Sensing, Simul. and Controls 3.
  6. Martin Møller Andreasen (2008). "Non-linear DSGE Models, The Central Difference Kalman Filter, and The Mean Shifted Particle Filter". ftp://ftp.econ.au.dk/creates/rp/08/rp08_33.pdf[halott link]
  7. Wan, Eric A. and van der Merwe, Rudolph "The Unscented Kalman Filter for Nonlinear Estimation"
  8. Julier, S.J.; Uhlmann, J.K. (1997). "A new extension of the Kalman filter to nonlinear systems". Int. Symp. Aerospace/Defense Sensing, Simul. and Controls