Wie kann man Kalman Gain intuitiv verstehen?

30

Der Kalman-Filteralgorithmus funktioniert wie folgt

Initialisiere und .x^0|0P0|0

Bei jeder Iteration ist k=1,,n

Vorhersagen

Vorausgesagte (a priori) Zustandsschätzung Vorhergesagte (a priori) geschätzte Kovarianz Aktualisieren

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

Innovations- oder Messrest Innovation (oder Rest) Kovarianz Optimaler Kalman-Gewinn Statusschätzung (a posteriori) aktualisiert Aktualisiert (a posteriori) Schätze die Kovarianz

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

Die Kalman-Verstärkung repräsentiert die relative Wichtigkeit des Fehlers in Bezug auf die vorherige Schätzung .Kky~kx^k|k1

Ich frage mich, wie ich die Formel für den Kalman-Gewinn intuitiv verstehen kann . Betrachten Sie den Fall, wenn die Zustände und Ausgänge skalar sind, warum ist die Verstärkung größer, wennKk

  • Pk|k1 ist größer

  • Hk ist größer

  • Sk ist kleiner?

Danke und Grüße!

Tim
quelle
Dies ist eine schwer zu beantwortende Frage. Ich habe es versucht, aber nicht mit meiner eigenen Antwort überzeugt. Grundsätzlich regelt die Verstärkung, wie sehr Sie den Messungen über die Schätzung vertrauen, aber ich kann nicht erklären, wie diese Verstärkung angepasst wird.
Jav_Rock

Antworten:

18

Ich fand eine gute Art, intuitiv an Kalman Gain denken . Wenn Sie schreiben auf diese WeiseKK

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

Sie werden feststellen, dass die relativen Größen der Matrizen ( ) und ( ) eine Beziehung zwischen der Verwendung der vorhergesagten Zustandsschätzung ( ) und der Messung ( ) durch den Filter .RkPkxkk

 limRk0PkHkT HkPkHkT+Rk =Hk1

 limPk0PkHkT HkPkHkT+Rk =0

Einsetzen der ersten Grenze in die Messungsaktualisierungsgleichung

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

Wenn die Größe von klein ist, was bedeutet, dass die Messungen genau sind, hängt die Zustandsschätzung hauptsächlich von den Messungen ab.R

Wenn der Zustand genau bekannt ist, ist im Vergleich zu klein , und der Filter ignoriert meist die Messungen, die sich stattdessen auf die aus dem vorherigen Zustand abgeleitete Vorhersage ( ).HPHTRxk

Jav_Rock
quelle
2
Vielen Dank! Wenn ich richtig ist Bezug auf nicht monoton . KkHk
Tim,
12

Die Kalman-Verstärkung gibt an, um wie viel ich meine Schätzung bei einer Messung ändern möchte.

Sk ist die geschätzte Kovarianzmatrix der Messungen . Dies sagt uns die "Variabilität" in unseren Messungen. Wenn es groß ist, bedeutet dies, dass sich die Maße stark "ändern". Ihr Vertrauen in diese Messungen ist also gering. Wenn andererseits klein ist , ist die Variabilität gering, und unser Vertrauen in die Messung steigt. Wenn wir mit unseren Messungen zufrieden sind, waren wir zuversichtlich, dass die Informationen, die wir erhalten, gut genug sind, um unsere Zustandsschätzungen zu aktualisieren / zu ändern. Der Kalman-Gewinn ist also höher.zkSk

Pk ist die geschätzte Zustandskovarianzmatrix. Dies sagt uns die "Variabilität" des Staates, . Wenn groß ist , bedeutet dies, dass sich der Zustand voraussichtlich stark ändert. Sie müssen also in der Lage sein, Ihre Schätzungen durch neue Messungen zu ändern. Infolgedessen ist die Kalman-Verstärkung höher.xkPk

Umgekehrt, wenn klein ist, dann wissen Sie, dass sich Ihr Zustand nicht so stark ändert, sodass Sie Ihre Schätzungen nicht zu sehr zu jedem Zeitpunkt ändern möchten. @ Jav_Rocks Antwort besagt, dass wenn , dann der . Mit anderen Worten, er implizierte, dass Sie nicht mehr versuchen, Ihre Schätzung zu ändern, wenn Sie glauben, dass sich Ihr Zustand nicht mehr ändert.PkPk0K0

ssk08
quelle
2

Jav_Rock hat es verstanden. Eigentlich , wenn Sie schreiben wie folgt ausKk

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

Der Zähler des Bruchs steht für die vom Modell ausgehende Unsicherheit, während für die Unsicherheit aus der Messung steht. Der Wert des Bruchs gibt also an, wie sehr wir der Messung vertrauen sollten, wie von Jav_Rock erklärt.Rk

Was , wird die Beobachtung nur in den Zustand zurückverwandelt, da es sich um den Zustand handelt, den wir aktualisieren möchten, nicht um die Beobachtung.Hk

Zum Abschluss berechnet die Verstärkung wie viel Korrektur wir von der Beobachtung nehmen und die Korrektur der Beobachtung zurück in die Zustandskorrektur transformieren sollten, was zur Aktualisierung der Zustandsschätzung führt:Kk

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

Zichao Zhang
quelle
-1

Ich arbeite am Kalman Filter (KF) -Algorithmus. Ich beobachtete, dass sich die Kalman-Verstärkung mit der Konvergenz des Algorithmus mit der Zeit befasst, das heißt, wie schnell der Algorithmus die Residuen korrigiert und minimiert.

Wenn Sie zur Gleichung kommen, wählen Sie einen anfänglichen Kalman-Verstärkungswert und variieren Sie ihn von niedrig nach hoch, so dass Sie einen angenäherten erhalten.

Harsha
quelle