Jak intuicyjnie rozumieć zysk Kalmana?

30

Algorytm filtru Kalmana działa następująco

Zainicjuj i .x^0|0P0|0

Przy każdej iteracjik=1,,n

Przepowiadać, wywróżyć

Przewidywany (a priori) stan oszacowania Przewidywana (a priori) szacunkowa kowariancja Aktualizacja

x^k|k1=Fkx^k1|k1+Bkuk
Pk|k1=FkPk1|k1FkT+Qk

Innowacja lub pomiar resztkowy Innowacja (lub resztkowa) kowariancji Optymalne Kalmana przyrost Zaktualizowano oszacowanie stanu (a posteriori) Zaktualizowano (a posteriori) oszacuj kowariancję

y~k=zkHkx^k|k1
Sk=HkPk|k1HkT+Rk
Kk=Pk|k1HkTSk1
x^k|k=x^k|k1+Kky~k
Pk|k=(IKkHk)Pk|k1

Wzmocnienie Kalmana reprezentuje względną wagę błędu w odniesieniu do wcześniejszego oszacowania .Kky~kx^k|k1

Zastanawiam się, jak intuicyjnie zrozumieć wzór Kalmana na zysk ? Rozważ przypadek, gdy stany i wyniki są skalarne, dlaczego zysk jest większy, kiedyKk

  • Pk|k1 jest większy

  • Hk jest większy

  • Sk jest mniejszy?

Dziękuję i pozdrawiam!

Tim
źródło
To trudne pytanie, aby odpowiedzieć poprawnie. Próbowałem, ale nie przekonałem się własną odpowiedzią. Zasadniczo wzmocnienie określa, w jakim stopniu ufasz pomiarom w stosunku do oszacowania, ale nie mogę wyjaśnić, w jaki sposób to wzmocnienie jest zgodne.
Jav_Rock

Odpowiedzi:

18

Znalazłem dobry sposób myślenia intuicyjnie wzmocnienia Kalmana . Jeśli napiszesz ten sposóbKK

 Kk=PkHkT(HkPkHkT+Rk)1=PkHkTHkPkHkT+Rk

uświadomisz sobie, że względne wielkości macierzy ( ) i ( ) kontrolują zależność między zastosowaniem przez filtr szacunkowego stanu oszacowanego ( ) a pomiarem ( ).RkPkxkk

 limRk0PkHkT HkPkHkT+Rk =Hk1

 limPk0PkHkT HkPkHkT+Rk =0

Podstawienie pierwszego limitu do równania aktualizacji pomiaru

 x^k=xk+Kk(y~kHkxk)

sugeruje, że gdy wielkość jest niewielka, co oznacza, że ​​pomiary są dokładne, oszacowanie stanu zależy głównie od pomiarów.R

Kiedy stan jest dokładnie znany, to jest małe w porównaniu do , a filtr najczęściej ignoruje pomiary oparte na prognozie wyprowadzonej z poprzedniego stanu ( ).HPHTRxk

Jav_Rock
źródło
2
Dzięki! Jeśli mam rację, nie jest monotoniczny w stosunku do . KkHk
Tim
12

Wzmocnienie Kalmana mówi ci, jak bardzo chcę zmienić swoje oszacowanie na podstawie danego pomiaru.

Sk to szacunkowa macierz kowariancji pomiarów . To mówi nam o „zmienności” w naszych pomiarach. Jeśli jest duży, oznacza to, że pomiary bardzo się „zmieniają”. Twoje zaufanie do tych pomiarów jest niskie. Z drugiej strony, jeśli jest mała , zmienność jest niska, nasze zaufanie do pomiaru rośnie. Gdy jesteśmy pewni naszych pomiarów, byliśmy pewni, że uzyskane informacje są wystarczająco dobre, abyśmy mogli zaktualizować / zmienić nasze prognozy stanu. Tak więc zysk Kalmana jest wyższy.zkSk

Pk to macierz szacowanej kowariancji stanu. To mówi nam o „zmienności” stanu, . Jeśli jest duży , oznacza to, że szacuje się, że stan bardzo się zmieni. Musisz więc mieć możliwość zmiany swoich szacunków za pomocą nowych pomiarów. W rezultacie zysk Kalmana jest wyższy.xkPk

I odwrotnie, jeśli jest mały, to wiesz, że twój stan nie zmienia się tak bardzo, więc nie chcesz za bardzo zmieniać swoich oszacowań za każdym razem. @ Odpowiedź Jav_Rocka mówi, że jeśli , to . Innymi słowy, zasugerował, że jeśli uważasz, że twój stan już się nie zmienia, nie próbuj już zmieniać swojego oszacowania.PkPk0K0

ssk08
źródło
2

Jav_Rock ma rację. Właściwie jeśli napiszesz ten sposóbKk

 Kk=PkHkT(HkPkHkT+Rk)1=HkHkPkHkTHkPkHkT+Rk

licznik ułamka oznacza niepewność propagowaną z modelu, podczas gdy oznacza niepewność z pomiaru. Tak więc wartość ułamka oznacza, jak bardzo powinniśmy ufać pomiarowi, jak wyjaśnił Jav_Rock.Rk

Jeśli chodzi o , po prostu przekształca on obserwację z powrotem do stanu, ponieważ to jest stan, który chcemy zaktualizować, a nie obserwację.Hk

Podsumowując, wzmocnienie oblicza, ile korekty powinniśmy wziąć z obserwacji i przekształcić korektę obserwacji z powrotem w korektę stanu, co prowadzi do aktualizacji oszacowania stanu:Kk

 x^k=xk+Kk(y~kHkxk)

Zichao Zhang
źródło
-1

Pracuję nad algorytmem filtru Kalmana (KF). Zauważyłem, że zysk Kalmana zajmuje się zbieżnością algorytmu z czasem, to znaczy, jak szybko algorytm koryguje i minimalizuje resztki.

Przechodząc do równania wybierz początkową wartość wzmocnienia Kalmana i zmieniaj ją od niskiej do wysokiej, co może dać ci przybliżoną wartość.

Harsha
źródło