Kálmán-szűrő
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 is. 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]
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]- Kovariancia
- Bayes-féle modell
- Normális eloszlás
- Skálaparaméter
- Alakparaméter
- Algoritmus
- Gumbel-eloszlás
- Eloszlásfüggvény
- Valószínűségszámítás
- Statisztika
- Matematikai statisztika
További információk
[szerkesztés]- http://apmonitor.com/wiki/index.php/Main/Background
- https://web.archive.org/web/20140226174212/http://www.data-assimilation.net/Tools/AssimDemo/?method=KF
- https://web.archive.org/web/20120913190139/http://www.academicearth.org/lectures/dynamic-estimation-kalman-filter-and-square-root-filter
Jegyzetek
[szerkesztés]- ↑ Archivált másolat. [2013. május 12-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. január 18.)
- ↑ . 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.
- ↑ 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.
- ↑ Kalman filters used in Weather models, SIAM News, Volume 36, Number 8, October 2003.
- ↑ 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.
- ↑ 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]
- ↑ Wan, Eric A. and van der Merwe, Rudolph "The Unscented Kalman Filter for Nonlinear Estimation"
- ↑ 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