Kalman szűrő
Kalman szűrő
A Kalman-szűrő egy végtelen impulzus-válasz szűrő, amely hiányos vagy zajos mérések sorozatából becsüli meg a dinamikus rendszer állapotát. A szűrőt a magyar származású amerikai matematikus és informatikus Rudolf Kalman nevéről kapta .
Példák alkalmazásokra
A Kalman szűrőt számos technológiai területen használják (radar, elektronikus látás, kommunikáció stb.). Ez az automatizálás és a jelfeldolgozás egyik fő témája . A felhasználásra példa lehet olyan információk folyamatos rendelkezésre bocsátása, mint például az objektum helyzete vagy sebessége, a helyzetére vonatkozó megfigyelések sorozatából, beleértve a mérési hibákat is.
Például olyan radarok esetében, ahol célt kívánunk követni, a helyzetére, sebességére és gyorsulására vonatkozó adatokat folyamatosan mérjük, de a zaj vagy a mérési hibák miatti nagy zavarással. A Kalman-szűrő a cél dinamikáját használja, amely meghatározza annak időbeli fejlődését, hogy jobb adatokhoz jusson, kiküszöbölve ezzel a zaj hatását. Ezek az adatok kiszámíthatók a jelen pillanatra ( szűrés ), a múltra (simítás) vagy egy jövőbeli horizontra (előrejelzés).
A Kalman-szűrést az elektronika területén kívül is egyre gyakrabban használják, például a meteorológiában és az okeanográfiában , az adatok asszimilációjához numerikus modellben, pénzügyekben vagy navigációban , sőt irányítás esetén a közúti közlekedési viszonyok becslésére is használják. hozzáférési rámpával, ahol az úton nem elegendő a mágneses hurkok száma .
Apaság
A Kalman-szűrő Rudolf Kalman nevéhez fűződik, bár Thorvald Nicolai Thiele és Peter Swerling hasonló algoritmust fejlesztett ki előtte. A szűrő szerzősége egy kis vita tárgyát képezi a tudományos közösségben. A szűrőt különféle publikációkban írták le Swerling (1958), Kalman (1960) és Kalman-Bucy (1961).
Stanley Schmidt elismerten elvégezte a szűrő első megvalósítását. Rudolf Kalman látogatása során a NASA Ames Kutatóközpontjában látta meg a szűrő lehetőségeit az Apollo program pályájának becslésére . Ez a szűrő használatához vezetett a navigációs számítógépben.
Azóta a Kalman-szűrők széles választékát fejlesztették ki az egyszerű Kalman-szűrőként ismert eredeti készítményből . Schmidt kifejlesztette a kibővített Kalman-szűrőt , Bierman, Thornton és még sokan mások egy négyzetgyökű szűrők egész sorát . A legszélesebb körben használt szűrő valószínűleg a fáziszárt hurok , amelyet széles körben használnak rádiókban, számítógépekben, kommunikációs berendezésekben stb.
A Kalman-szűrő diszkrét összefüggésben
A diszkrét összefüggésben lévő Kalman-szűrő rekurzív becslő . Ez azt jelenti, hogy a jelenlegi állapot becsléséhez csak az előző állapot és az aktuális mérések becslésére van szükség. Történelmi megfigyelésekre és becslésekre tehát nincs szükség.
A szűrő állapotát 2 változó képviseli:
-
x^k|k{\ displaystyle {\ hat {\ textbf {x}}} _ {k | k}}, a k időpont állapotának becslése ;
-
Pk|k{\ displaystyle {\ textbf {P}} _ {k | k}}, A hibakovariancia mátrix (a becsült állapot pontosságának mértéke).
A Kalman-szűrőnek két külön fázisa van: Jóslás és Frissítés . Az előrejelzési fázis az előző pillanat becsült állapotát használja az aktuális állapot becsléséhez. A frissítési lépésben az aktuális idő megfigyeléseit használják az előrejelzett állapot korrigálására a pontosabb becslés érdekében.
Jóslás
x^k|k-1=Fkx^k-1|k-1+Bkuk{\ displaystyle {\ hat {\ textbf {x}}} _ {k | k-1} = {\ textbf {F}} _ {k} {\ hat {\ textbf {x}}} _ {k-1 | k-1} + {\ textbf {B}} _ {k} {\ textbf {u}} _ {k}} (előrejelzett állapot)
Pk|k-1=FkPk-1|k-1FkT+Qk{\ displaystyle {\ textbf {P}} _ {k | k-1} = {\ textbf {F}} _ {k} {\ textbf {P}} _ {k-1 | k-1} {\ textbf {F}} _ {k} ^ {T} + {\ textbf {Q}} _ {k}} (a kovariancia becsült becslése)
val vel:
-
Fk{\ displaystyle {\ textbf {F}} _ {k}} : mátrix, amely az előző k-1 állapotot az aktuális k állapothoz kapcsolja
-
uk{\ displaystyle {\ textbf {u}} _ {k}} : parancs bejegyzés
-
Bk{\ displaystyle {\ textbf {B}} _ {k}} : mátrix, amely összekapcsolja az u parancs bejegyzést az x állapottal
-
Pk|k-1{\ displaystyle {\ textbf {P}} _ {k | k-1}} : mátrix a hiba kovarianciájának a priori becsléséhez
-
Qk{\ displaystyle {\ textbf {Q}} _ {k}} : A folyamat zajának kovarianciamátrixa (angolul: Process zaj )
Frissítés
y~k=zk-Hkx^k|k-1{\ displaystyle {\ tilde {\ textbf {y}}} _ {k} = {\ textbf {z}} _ {k} - {\ textbf {H}} _ {k} {\ hat {\ textbf {x }}} _ {k | k-1}} (innováció)
Sk=HkPk|k-1HkT+Rk{\ displaystyle {\ textbf {S}} _ {k} = {\ textbf {H}} _ {k} {\ textbf {P}} _ {k | k-1} {\ textbf {H}} _ { k} ^ {T} + {\ textbf {R}} _ {k}} (innovációs kovariancia)
Kk=Pk|k-1HkTSk-1{\ displaystyle {\ textbf {K}} _ {k} = {\ textbf {P}} _ {k | k-1} {\ textbf {H}} _ {k} ^ {T} {\ textbf {S }} _ {k} ^ {- 1}}( optimális Kalman-nyereség )
x^k|k=x^k|k-1+Kky~k{\ displaystyle {\ hat {\ textbf {x}}} _ {k | k} = {\ hat {\ textbf {x}}} _ {k | k-1} + {\ textbf {K}} _ { k} {\ tilde {\ textbf {y}}} _ {k}} (frissített állapot)
Pk|k=(én-KkHk)Pk|k-1{\ displaystyle {\ textbf {P}} _ {k | k} = (I - {\ textbf {K}} _ {k} {\ textbf {H}} _ {k}) {\ textbf {P}} _ {k | k-1}} (frissített kovariancia)
val vel:
-
zk{\ displaystyle {\ textbf {z}} _ {k}} : a folyamat megfigyelése vagy mérése a k időpontban
-
Hk{\ displaystyle {\ textbf {H}} _ {k}} : mátrix, amely összekapcsolja az állapotot a mérésselxk{\ displaystyle {\ textbf {x}} _ {k}}zk{\ displaystyle {\ textbf {z}} _ {k}}
-
Pk|k{\ displaystyle {\ textbf {P}} _ {k | k}} : a hiba kovarianciájának utólagos becslési mátrixa
-
Rk{\ displaystyle {\ textbf {R}} _ {k}} : mérési zaj kovariancia mátrix
-
én{\ displaystyle {I}} : megfelelő dimenziójú identitásmátrix
A kovariancia frissítési képlet csak az optimális Kalman-erősítésre érvényes. Más erősítési értékek használata összetettebb képleteket igényel.
Az információ szűrő
Durrant Whyte jól kezelte az információs szűrőt és megmutatta annak előnyeit a Kalman-szűrővel szemben, elsősorban annak decentralizált aspektusával foglalkozott. Decentralizált esetben nincs szükség központi adatfeldolgozó egységre, ami nagymértékben lerövidíti a végrehajtási időt.
Az információszűrőben a becsült kovariancia és állapot helyébe az információmátrix és az információvektor lép. Ezeket a következők határozzák meg:
Yk|k≡Pk|k-1{\ displaystyle {\ textbf {Y}} _ {k | k} \ equiv {\ textbf {P}} _ {k | k} ^ {- 1}}
y^k|k≡Pk|k-1x^k|k{\ displaystyle {\ hat {\ textbf {y}}} _ {k | k} \ equiv {\ textbf {P}} _ {k | k} ^ {- 1} {\ hat {\ textbf {x}} } _ {k | k}}
Hasonlóképpen, az előre jelzett kovariancia és állapot egyenértékű információs formákkal rendelkezik, amelyeket a következők határoznak meg:
Yk|k-1=Pk|k-1-1{\ displaystyle {\ textbf {Y}} _ {k | k-1} = {\ textbf {P}} _ {k | k-1} ^ {- 1}}
y^k|k-1=Pk|k-1-1x^k|k-1{\ displaystyle {\ hat {\ textbf {y}}} _ {k | k-1} = {\ textbf {P}} _ {k | k-1} ^ {- 1} {\ hat {\ textbf { x}}} _ {k | k-1}}
A kovarianciát és a mérési vektort a következők határozzák meg:
énk=HkTRk-1Hk{\ displaystyle {\ textbf {I}} _ {k} = {\ textbf {H}} _ {k} ^ {T} {\ textbf {R}} _ {k} ^ {- 1} {\ textbf { H}} _ {k}}
énk=HkTRk-1zk{\ displaystyle {\ textbf {i}} _ {k} = {\ textbf {H}} _ {k} ^ {T} {\ textbf {R}} _ {k} ^ {- 1} {\ textbf { z}} _ {k}}
Az információk frissítése most triviális összeggé válik:
Yk|k=Yk|k-1+énk{\ displaystyle {\ textbf {Y}} _ {k | k} = {\ textbf {Y}} _ {k | k-1} + {\ textbf {I}} _ {k}}
y^k|k=y^k|k-1+énk{\ displaystyle {\ hat {\ textbf {y}}} _ {k | k} = {\ hat {\ textbf {y}}} _ {k | k-1} + {\ textbf {i}} _ { k}}
Az információszűrő fő előnye, hogy N mérés bármikor szűrhető egyszerűen mátrixaik és információvektoraik összeadásával, ha az R mátrix átlós mátrix.
Yk|k=Yk|k-1+∑j=1NEMénk,j{\ displaystyle {\ textbf {Y}} _ {k | k} = {\ textbf {Y}} _ {k | k-1} + \ sum _ {j = 1} ^ {N} {\ textbf {I }} _ {KJ}}
y^k|k=y^k|k-1+∑j=1NEMénk,j{\ displaystyle {\ hat {\ textbf {y}}} _ {k | k} = {\ hat {\ textbf {y}}} _ {k | k-1} + \ sum _ {j = 1} ^ {N} {\ textbf {i}} _ {k, j}}
Az információszűrő megjóslásához a mátrix és az információs vektor visszaállítható állapottérbeli egyenértékeikre, vagy alternatív megoldásként információs előrejelzés használható.
Mk=[Fk-1]TYk-1∣k-1Fk-1{\ displaystyle {\ textbf {M}} _ {k} = [{\ textbf {F}} _ {k} ^ {- 1}] ^ {\ text {T}} {\ textbf {Y}} _ { k-1 \ közepes k-1} {\ textbf {F}} _ {k} ^ {- 1}}
VSk=Mk[Mk+Qk-1]-1{\ displaystyle {\ textbf {C}} _ {k} = {\ textbf {M}} _ {k} [{\ textbf {M}} _ {k} + {\ textbf {Q}} _ { k} ^ {- 1}] ^ {- 1}}
Lk=én-VSk{\ displaystyle {\ textbf {L}} _ {k} = I - {\ textbf {C}} _ {k}}
Yk|k-1=LkMkLkT+VSkQk-1VSkT{\ displaystyle {\ textbf {Y}} _ {k | k-1} = {\ textbf {L}} _ {k} {\ textbf {M}} _ {k} {\ textbf {L}} _ { k} ^ {T} + {\ textbf {C}} _ {k} {\ textbf {Q}} _ {k} ^ {- 1} {\ textbf {C}} _ {k} ^ {T}}
y^k|k-1=Lk[Fk-1]Ty^k|k{\ displaystyle {\ hat {\ textbf {y}}} _ {k | k-1} = {\ textbf {L}} _ {k} [{\ textbf {F}} _ {k} ^ {- 1 }] ^ {T} {\ hat {\ textbf {y}}} _ {k | k}}Vegye figyelembe azt is, hogy F-nek és Q- nak invertálhatónak kell lennie.
Az információs szűrő fő előnye annak javítási lépésében jelenik meg, amely sokkal egyszerűbb, mint a Kalman-szűrőé. Ez számos előnnyel jár a diagnózis problémájában és különösen több egyidejű hiba észlelése esetén.
Nemlineáris szűrők
A Kalman-szűrő lineáris rendszerekre korlátozódik. A legtöbb fizikai rendszer azonban nemlineáris. A szűrő ezért csak a valós jelenségek kis lineáris oszculációs tartományában optimális, amelyet a fizikai egyenlet linearizálása figyelembe vesz. A nemlinearitás társítható a folyamatmodellhez, a megfigyelési modellhez vagy mindkettőhöz.
Kiterjesztett Kalman-szűrő
A kiterjesztett Kalman-szűrőben (FKE) az evolúciós és megfigyelési modelleknek nem kell az állapot lineáris függvényeinek lenniük, hanem ( differenciálható ) függvények lehetnek.
xk=f(xk-1,uk,wk){\ displaystyle {\ textbf {x}} _ {k} = f ({\ textbf {x}} _ {k-1}, {\ textbf {u}} _ {k}, {\ textbf {w}} _ {k})}zk=h(xk,vk){\ displaystyle {\ textbf {z}} _ {k} = h ({\ textbf {x}} _ {k}, {\ textbf {v}} _ {k})}Az f függvény felhasználható az előrejelzett állapot kiszámításához az előző becsült állapotból, és hasonlóképpen a h függvénnyel kiszámítható az előrejelzett állapot előrejelzett megfigyelése. Azonban f és h nem alkalmazható közvetlenül a kovariancia kiszámítására: egy részleges származtatott mátrixot, a jakobit számolnak.
Minden pillanatban kiértékelik a jakobit a jelenlegi becsült állapotokkal. Ezek a mátrixok felhasználhatók a Kalman-szűrőegyenletekben. Ez a folyamat lényegében linearizálja a nemlineáris függvényt a jelenlegi becslés körül.
Ez a következő kiterjesztett Kalman-szűrőegyenleteket adja:
Jóslás
x^k|k-1=f(x^k-1|k-1,uk,0){\ displaystyle {\ hat {\ textbf {x}}} _ {k | k-1} = f ({\ hat {\ textbf {x}}} _ {k-1 | k-1}, {\ textbf {u}} _ {k}, 0)}Pk|k-1=FkPk-1|k-1FkT+Qk{\ displaystyle {\ textbf {P}} _ {k | k-1} = {\ textbf {F}} _ {k} {\ textbf {P}} _ {k-1 | k-1} {\ textbf {F}} _ {k} ^ {T} + {\ textbf {Q}} _ {k}}Frissítés
y~k=zk-h(x^k|k-1,0){\ displaystyle {\ tilde {\ textbf {y}}} _ {k} = {\ textbf {z}} _ {k} -h ({\ hat {\ textbf {x}}} _ {k | k- 1}, 0)}Sk=HkPk|k-1HkT+Rk{\ displaystyle {\ textbf {S}} _ {k} = {\ textbf {H}} _ {k} {\ textbf {P}} _ {k | k-1} {\ textbf {H}} _ { k} ^ {T} + {\ textbf {R}} _ {k}}Kk=Pk|k-1HkTSk-1{\ displaystyle {\ textbf {K}} _ {k} = {\ textbf {P}} _ {k | k-1} {\ textbf {H}} _ {k} ^ {T} {\ textbf {S }} _ {k} ^ {- 1}}x^k|k=x^k|k-1+Kky~k{\ displaystyle {\ hat {\ textbf {x}}} _ {k | k} = {\ hat {\ textbf {x}}} _ {k | k-1} + {\ textbf {K}} _ { k} {\ tilde {\ textbf {y}}} _ {k}}Pk|k=(én-KkHk)Pk|k-1{\ displaystyle {\ textbf {P}} _ {k | k} = (I - {\ textbf {K}} _ {k} {\ textbf {H}} _ {k}) {\ textbf {P}} _ {k | k-1}}Ahol az átmeneti és megfigyelési mátrixokat a következő jakobiak határozzák meg :
Fk=∂f∂x|x^k-1|k-1,uk{\ displaystyle {\ textbf {F}} _ {k} = \ balra. {\ frac {\ részben f} {\ részleges {\ textbf {x}}}} \ jobbra \ vert _ {{\ hat {\ textbf {x}}} _ {k-1 | k-1}, {\ textbf {u}} _ {k}}}Hk=∂h∂x|x^k|k-1{\ displaystyle {\ textbf {H}} _ {k} = \ balra. {\ frac {\ részben h} {\ részleges {\ textbf {x}}}} \ jobbra \ vert _ {{\ hat {\ textbf {x}}} _ {k | k-1}}}Megjegyzés: Ennek a szűrőnek a konvergenciája semmiképpen sem garantált, mert ez egy helyi konvergencia. Valójában számos példa van arra, hogy a szűrő konvergenciája az állapot kezdeti inicializálásától függ.
Alkalmazások
Lásd is
Hivatkozások
Megjegyzések
-
www.springerlink.com/index/M87W5148L57H0L46.pdf
-
Steffen L. Lauritzen , Thiele: Pioneer in Statistics , Oxford University Press , 2002. ( ISBN 0-19-850972-3 ) .
-
Kalman, RE "A lineáris szűrési és előrejelzési problémák új megközelítése" , az ASME tranzakciói - Journal of Basic Engineering Vol. 82. o. 35–45 (1960)
-
Kalman, RE, Bucy RS, "Új eredmények a lineáris szűrés és előrejelzés elméletében", Az ASME tranzakciói - Journal of Basic Engineering Vol. 83. o. 95-107 (1961).
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">