Obserwowalność za pomocą Discrete Extended Kalman Filter (EKF)

11

Zbudowałem (kilka) dyskretnych rozszerzonych filtrów Kalmana (EKF). Model systemu, który buduję, ma 9 stanów i 10 obserwacji. Widzę, że większość stanów zbiega się z wyjątkiem jednego. Wszystkie z wyjątkiem 1-2 oszacowania stanu EKF wydają się dryfować. Ponieważ EKF zależy od zbieżności wszystkich stanów, pozostałe stany są bardzo błędne po rozbieżności.

Jak sprawdzić obserwowalność EKF? Czy po prostu sprawdzam rangę pomiaru jakobińskiego i sprawdzam, czy jest ona mniejsza niż maksymalna ranga pomiaru jakobińskiego?

Po dodaniu kolejnych pomiarów w mojej symulacji udało mi się doprowadzić do zbieżności. Jednak moje pytanie dotyczące obserwowalności wciąż pozostaje!

Kwestia:

Podstawowe informacje o prawdzie i wykresy szacunkowe EKF można znaleźć tutaj lub zobaczyć poniżej.

Uwagi:

  • Model jest dość nieliniowy między przedziałami czasowymi 400–600, stąd pewne rozbieżności niektórych stanów
  • Rycina / stan 6 wydaje się rozbieżna
  • Proszę zignorować wykresy „odczytów czujników” dla rysunków 8/9

Rzeczy, których próbowałem:

  • Wiem, że w przypadku liniowych systemów przestrzeni stanów można użyć twierdzenia Cayleya Hamiltona do sprawdzenia obserwowalności.
  • Próbowałem sprawdzić resztkową wartość innowacji / pomiaru ei wszystkie innowacje są zbieżne do zera
  • Testowałem również różne dane wejściowe i wydaje się, że nie wpływają one na zbieżność stanów rozbieżnych
  • Dostroiłem EKF bez żadnych oznak zbieżności dla stanów rozbieżnych
  • Wykresy dla innego sygnału wejściowego: lub patrz poniżej
  • Po rozmowie z kolegą zasugerował, żebym zbadał inną kwestię, która może polegać na obserwacji, która jest liniowo zależna od 2 stanów, np y = x1 + x2. Istnieje nieskończona liczba wartości, które mogłyby spełnić to samo y, ale czy obserwowalność nie powinna również uchwycić tego problemu?

Daj mi znać, jeśli mogę coś jeszcze dostarczyć.


Podstawowe wykresy szacunków i EKF:
Kliknij obraz, aby powiększyć

obraz a obraz b obraz c obraz d obraz e obraz f obraz g obraz h obraz i


Dodatkowy sygnał wejściowy:
Kliknij na zdjęcie, aby powiększyć

obraz m obraz n obraz o obraz p obraz q obraz r obrazy obraz t obraz u

krisdestruction
źródło
Widzę, że ta strona odwołuje się rank(O) = [H; HA...] = n. Jedynym problemem jest to, że mam coś w rodzaju sin( x(3) )stanu sinus 3. Czy linearyzuję to x(3)i traktuję jako część macierzy A? Zrobię to rano i zdam raport. cwrucutter.wordpress.com/2012/11/12/…
krisdestruction
@ChrisMuller tak, myślałem o osadzeniu obrazów w pytaniu, ale nie sądzę, aby działało z wieloma obrazami (albumami). Dzięki za aktualizację tagu. Sprawdziłem powyższy link i nie wiem, czy powinienem go linearyzować.
krisdestruction
1
Jestem pewien, że tak nie jest. Możesz to zrobić, tworząc gif, ale może to być duży ból głowy w zależności od tego, jak pierwotnie wygenerowałeś wykresy.
Chris Mueller
@ChrisMueller Wszystko z Matlaba, po prostu zrobiłem zrzuty ekranu z wykresów w OS X.
krisdestruction
1
Możliwe jest umieszczenie obrazów w linii, ale zajmuje to trochę pracy. Dokonałem edycji, aby oddzielić zdjęcia od linku imgur i ustawiłem je, aby można było klikać i zobaczyć większy obraz.

Odpowiedzi:

1

Wykorzystując to odniesienie w liniowych dyskretnych filtrach Kalmana , wygląda na to, że można zastosować standardowy model obserwowalności. Mianowicie, dla liniowego systemu filtrów Kalmana zdefiniowanego jako

xk+1=Axk+Bukyk=Cxk+Duk,

MobsMobs

Mobs=[CCACAn1]

i

[dodoZAdoZAn-1]x0=[y0y1yn-1].

ZAbdore

jeleń
źródło
@grfrazee nie zdawał sobie sprawy, że mogę użyć lateksu wbudowanego - dzięki za edycję!
Deeroh,
Nie ma problemu. To fajna funkcja Engineering.SE.
grfrazee,
Właśnie zaktualizowałem formatowanie, aby usunąć obrazy lateksowe. Dzięki jeszcze raz!
Deeroh,