Ich habe die Beschreibung des Kalman-Filters gelesen, bin mir aber nicht sicher, wie es in der Praxis zusammenkommt. Es scheint in erster Linie auf mechanische oder elektrische Systeme ausgerichtet zu sein, da es lineare Zustandsübergänge wünscht und aus demselben Grund für die Erkennung von Anomalien oder die Lokalisierung von Zustandsübergängen nicht nützlich ist (es will lineare Zustandsübergänge). Ist das richtig? Wie findet man in der Praxis normalerweise die Komponenten, von denen erwartet wird, dass sie im Voraus bekannt sind, um einen Kalman-Filter zu verwenden? Ich habe die Komponenten aufgelistet. Bitte korrigieren Sie mich, wenn ich nicht richtig verstanden habe, was im Voraus bekannt sein muss.
Ich glaube, diese müssen nicht "im Voraus" bekannt sein:
- Prozessgeräusch
- Beobachtungsrauschen
- Ist-Zustand (das versucht der Kalman-Filter zu schätzen)
Ich glaube, diese müssen "im Voraus" bekannt sein, um einen Kalman-Filter verwenden zu können:
- Das lineare Zustandsübergangsmodell, das wir auf anwenden (dies müssen wir im Voraus wissen, daher müssen unsere Zustände bekannten Gesetzen unterliegen, dh das Kalman-Filter ist nützlich, um Messungen zu korrigieren, wenn der Übergang von einem Zustand in einen anderen gut verstanden ist und deterministisch bis auf ein bisschen Rauschen - es ist kein Anomaliesucher oder Werkzeug, um zufällige Zustandsänderungen zu finden)
- Kontrollvektor
- Steuereingabemodell, das auf den Steuervektor angewendet wird (dies muss im Voraus bekannt sein. Um einen Kalman - Filter verwenden zu können, muss im Voraus bekannt sein, wie sich unsere Steuerwerte auf das Modell auswirken, höchstens bis zu einem gewissen Gaußschen Rauschen, und Effekt muss linear sein)
- Kovarianz des Prozessrauschens (die im Wikipedia-Artikel zeitabhängig zu sein scheint, dh von der Zeit k abhängt ) - es scheint, dass wir dies im Voraus wissen müssen, und im Laufe der Zeit gehe ich davon aus, dass sie in der Praxis als konstant angenommen wird ?
- Ein (lineares) Beobachtungsmodell
- Kovarianz (die im Wikipedia-Artikel auch zeitabhängig zu sein scheint) - ähnliche Probleme wie bei Q
PS Und ja, ich weiß, dass viele davon von der Zeit abhängen. Sie können sich auch den kleinen Buchstaben rechts und unten von jedem Variablennamen vorstellen, wenn Sie möchten.
quelle
Antworten:
Kehren wir für einige Zusammenhänge zu den Kalman-Filter-Gleichungen zurück:
.x (k + 1 ) = F ( k ) x ( k ) + G ( k ) u ( k ) + w ( k )z (k)= H (k) x (k)+ v (k)
Kurz gesagt, für eine einfache Vanille KF:
muss vollständig definiert sein. Dies ergibt sich direkt aus den Differentialgleichungen des Systems. Wenn nicht, haben Sie einProblem mit doppelter Schätzung(dh Sie schätzen sowohl den Zustand als auch das Systemmodell). Wenn Sie keine Differentialgleichungen des Systems haben, dann ist ein KF nichts für Sie!F (k)
ist definitionsgemäß nicht bekannt. Wenn Sie es wüssten, wäre es schließlich kein Schätzungsproblem!x (k)
Es gibt eine Vielzahl von "Tricks", mit denen die Einschränkungen in einer einfachen Vanille-KF umgangen werden können, aber diese gehen weit über den Rahmen dieser Frage hinaus.
Nachgedacht:
Während das googeln nach "Kalman Filter" zu einer Million Hits führt, gibt es ein paar Dinge, die meiner Meinung nach einen Blick wert sind. Die Wikipedia-Seite ist zu unübersichtlich, um effektiv daraus zu lernen :(
Auf AVR Freaks gibt es ein "gleichungsfreies" Intro zum Kalman-Filter, das ich vor einiger Zeit geschrieben habe, um einzuführen, wo es für Real verwendet wird.
Wenn Sie keine Angst vor Mathematik haben, gibt es mehrere Bücher, die es wert sind, gelesen zu werden. Versuchen Sie es mit Brown und Hwang, die alle theoretischen und viele Beispielsysteme enthalten. Die andere, die sehr zu empfehlen ist, aber ich habe sie nicht gelesen, ist Gelb , das den entscheidenden Vorteil hat, billig zu sein!
quelle