Kalman-Filter

Das Kalman-Filter (auch: Kalman-Bucy-Filter, Stratonovich-Kalman-Bucy-Filter oder Kalman-Bucy-Stratonovich-Filter) ist ein mathematisches Verfahren. Benannt ist das Filter nach seinen Entdeckern Rudolf E. Kálmán, Richard S. Bucy und Ruslan L. Stratonovich, die das Verfahren unabhängig voneinander entdeckt bzw. wesentliche Beiträge dazu geliefert haben.

Das Kalman-Filter dient dazu, Fehler in realen Messwerten zu reduzieren und Schätzungen für nicht messbare Systemgrößen zu liefern. Voraussetzung dabei ist, dass die interessierenden Werte durch ein mathematisches Modell beispielsweise in Form von Bewegungsgleichungen beschrieben werden können. Die Besonderheit des 1960 von Kálmán vorgestellten Filters bildet dabei seine spezielle mathematische Struktur, die den Einsatz in Echtzeitsystemen verschiedener technischer Bereiche ermöglicht. Dazu zählen u.a. die Auswertung von Radarsignalen oder GPS-Daten zur Positionsbestimmung sich bewegender Objekte (Tracking), aber auch der Einsatz in elektronischen Regelkreisen allgegenwärtiger Kommunikationssysteme wie etwa Radio und Computer.

Im Rahmen der mathematischen Schätztheorie spricht man auch von einem bayesschen Minimum-Varianz-Schätzer für lineare stochastische Systeme in Zustandsraumdarstellung. In der Ingenieurstechnik wird das Kalman-Filter auch als Optimalfilter für lineare stochastische Systeme bezeichnet.

Historisches

Obwohl zuvor nahezu identische Verfahren durch Thorvald N. Thiele und Peter Swerling veröffentlicht worden waren, wurde das Filter nach Rudolf E. Kálmán benannt. Auch existierten damals bereits allgemeinere, nichtlineare Filter von Ruslan L. Stratonovich, die das Kalman-Filter und weitere lineare Filter als Spezialfälle enthalten. Ebenso erwähnenswert sind Vorarbeiten und gemeinsame Publikationen von Kálmán mit Richard S. Bucy, insbesondere für den Fall zeitkontinuierlicher dynamischer Systeme. Daher wird häufig die Bezeichnung Kalman-Bucy-Filter und gelegentlich auch Stratonovich-Kalman-Bucy-Filter in der Fachliteratur benutzt.

Der erste nennenswerte und erfolgreiche Einsatz des Filters erfolgte in Echtzeitnavigations- und Leitsystemen, die im Rahmen des Apollo-Programms der NASA unter Federführung von Stanley F. Schmidt entwickelt wurden.

Mittlerweile existiert eine große Bandbreite von Kalman-Filtern für die unterschiedlichsten Anwendungsgebiete. Neben der ursprünglichen Formulierung sind dies das Erweiterte Kalman-Filter, das Unscented Kalman-Filter, das Informationsfilter und eine Vielzahl von numerisch stabilen Varianten wie beispielsweise die Wurzel-Implementierung oder der Bierman-Thornton-UD-Algorithmus. Die meistgenutzte Variante jedoch ist die der Kontrolltheorie entstammende Phasenregelungsschleife, ein wesentlicher Bestandteil der meisten modernen Kommunikationsmittel.

Grundlagen

Im Gegensatz zu den klassischen FIR- und IIR-Filtern der Signal- und Zeitreihenanalyse basiert das Kalman-Filter auf einer Zustandsraummodellierung, bei der explizit zwischen der Dynamik des Systemzustands und dem Prozess seiner Messung unterschieden wird.

Zustandsraummodellierung

Als Zustand eines Systems wird dabei häufig der kleinste, das System vollständig beschreibende Satz von Bestimmungsstücken verstanden. Dieser wird im Rahmen der Modellbildung in Form eines mehrdimensionalen Vektors X mit entsprechender Bewegungsgleichung, der sogenannten Zustandsgleichung, dargestellt. Diese Gleichung ist häufig eine Differenzengleichung, da in vielen Fällen die Zustände nur zu bestimmten, durch feste Zeitintervalle Δt voneinander getrennten Zeitpunkten tk = t0 + k·Δt mit k als natürlicher Zahl von Interesse sind. Es hat sich eingebürgert, die diskreten Zeitpunkte tk einer einfachen Notation halber in Gleichungen verkürzt als Index k der betreffenden Größe zu notieren, tk-1 als Index k-1 usw. usf. Mit dieser Schreibweise und für den von Kálmán betrachteten Sonderfall einer lediglich linearen Abhängigkeit der Zustände untereinander vereinfacht sich die Zustandsgleichung zur linearen Differenzengleichung

{\textbf  {X}}_{{k}}={\textbf  {F}}_{{k-1}}{\textbf  {X}}_{{k-1}}+{\textbf  {B}}_{{k-1}}{\textbf  {u}}_{{k-1}}+{\textbf  {w}}_{{k-1}}.

Die Matrix Fk-1 beschreibt die Übergänge zwischen zeitlich aufeinanderfolgenden Zuständen Xk-1 und Xk. Neben der durch die Übergangsmatrix Fk-1 ausgedrückten eigentlichen Dynamik modelliert die Zustandsgleichung zudem weitere äußere Einflüsse auf das System. Dabei wird zwischen deterministischen, also vollständig bestimmbaren Einflüssen, sowie solchen zufälliger Natur unterschieden. Der deterministische Anteil wird durch die wirkende Störung uk-1 und deren Dynamik in Form einer Matrix Bk-1 dargestellt; die zufälligen, nicht erfassbaren Komponenten durch einen Rauschterm, der stochastischen Größe wk-1. Das zeitlich unkorrelierte Rauschen wk-1 folgt dabei einer mehrdimensionalen Normalverteilung mit Erwartungswertvektor 0 und Kovarianzmatrix Qk-1, in üblicher Kurznotation:

{\textbf  {w}}_{{k-1}}\sim {\mathcal  {WN}}({\textbf  {0}},{\textbf  {Q}}_{{k-1}}).

Aufgrund der Unvorhersagbarkeit des Rauschterms enthält auch der Zustandsvektor einen gewissen Anteil an „Zufall“ und ist somit selbst eine stochastische Größe, also eine Zufallsvariable. Die Menge aller Zustandsvektoren bilden einen speziellen stochastischen Prozess, eine Markow-Kette bzw. ein Markow-Modell erster Ordnung, d.h. der Zustand zu einem Zeitpunkt k hängt lediglich vom unmittelbaren zeitlichen Vorgänger an k-1 ab.

Der Prozess der Beobachtung der wahren Systemzustände Xk, Xk-1, … muss die Eigenschaften des Beobachters bzw. der Messapparatur widerspiegeln. Dies umfasst modellierbare Verzerrungen und das unvorhersagbare Messrauschen. Für den Fall des Kalman-Filters wird die Verzerrung als linear und das Rauschen als zeitlich unkorreliert und normalverteilt angenommen. Die entsprechende Modellierung des Messprozesses, die Beobachtungsgleichung, lautet

{\textbf  {Z}}_{{k}}={\textbf  {H}}_{{k}}{\textbf  {X}}_{{k}}+{\textbf  {v}}_{{k}}

mit der Beobachtungsmatrix Hk und dem Messrauschen

{\textbf  {v}}_{{k}}\sim {\mathcal  {WN}}({\textbf  {0}},{\textbf  {R}}_{{k}}).

Dynamisches Rauschen w und Messrauschen v sollen zu allen Zeiten voneinander unabhängig sein.

Die Gesamtheit von Zustandsgleichung und Beobachtungsgleichung nennt man Zustandsraummodell[A 1]. Wegen des „versteckten“ bzw. durch einen zweiten stochastischen Prozess, der Messung, überdeckten Markow-Modells spricht man beim Zustandsraummodell auch häufig von einem Verborgenen Markow-Modell (engl. Hidden Markov Model).

Das Filterproblem

Eine in der Praxis ausgeführte Messung ergibt pro Zeitpunkt häufig lediglich eine einzelne Realisierung zk der normalverteilten Zufallsgröße Zk. Nun stellt sich das inverse Problem, nämlich anhand der Informationen einer Messreihe mit den Werten z1, z2, z3, z4, … auf die entsprechenden X1, X2, X3, X4 … rückschließen zu können. Da die gesuchten Zustände aufgrund der Linearität des Modells und der gemachten Voraussetzungen für die Rauschterme w und v für alle Zeiten normalverteilt bleiben und eine Normalverteilung durch ihren Mittelwert und Kovarianz vollständig beschrieben wird, beschränkt sich das Filterproblem auf die Schätzung dieser beiden Bestimmungsstücke. Eine mögliche exakte Lösung dieses inversen Problems ist das zeitdiskrete Kalman-Filter, ein Satz von Gleichungen also, der Schätzungen für den Mittelwert {\hat  {{\textbf  {x}}}}_{{k}} und die Kovarianz {\hat  {{\textbf  {P}}}}_{{k}} des Zustands

{\hat  {{\textbf  {X}}}}_{{k}}\sim {\mathcal  N}({\hat  {{\textbf  {x}}}}_{{k}},{\hat  {{\textbf  {P}}}}_{{k}})

anhand der aus der Messreihe zk, zk-1, zk-2z1 extrahierten Informationen liefert.

Häufig stellt sich die Aufgabe, das Filterproblem auch für zeitkontinuierliche Systeme zu lösen. Dabei gehen die Differenzengleichungen des Zustandsraummodells durch eine mathematische Grenzwertbildung in Differentialgleichungen über. Die Gleichungen des zeitkontinuierlichen Kalman-Filters ergeben sich entsprechend aus dem zeitdiskreten Filter durch Anwendung derselben Grenzwertbildung. Aus diesem Grund und im Sinne einer verständlichen Darstellung soll im Folgenden lediglich auf die Gleichungen des zeitdiskreten Filters eingegangen werden.

Gleichungen

Die Schätzung des Zustands sollte möglichst auf der Kenntnis aller früheren Beobachtungen beruhen. Dabei ist ein minimaler Schätzfehler zu fordern, der durch die bereits gemachten Beobachtungen nicht zu verbessern sein soll. Für lange Messreihen wird das entsprechende mathematische Minimierungsproblem schnell unhandlich, da für jede Schätzung die gesamte Messreihe ausgewertet werden muss. Die Idee, die dem Kalman-Filter zugrunde liegt, ist nun, die Schätzung zum Zeitpunkt k als lineare Kombination der vorangegangenen Schätzung mit dem neuen Messwert zk zu formulieren. Dies ist möglich, da die Schätzung zum Zeitpunkt k-1 die Informationen der Messreihe zk-1, zk-2z1 enthält. Diese rekursive Formulierung des Schätzproblems erlaubt eine effiziente rechentechnische Umsetzung.

Das Kalman-Filter hat neben seiner handhabbaren rekursiven zudem eine Prädiktor-Korrektor-Struktur.

Prädiktion

Beim ersten Schritt des Filtervorgangs wird die zeitlich vorangegangene Schätzung der Zustandsdynamik unterworfen, um eine Voraussage für den aktuellen Zeitpunkt zu erhalten. Für den Mittelwert ergibt sich

{\hat  {{\textbf  {x}}}}_{{k|k-1}}={\textbf  {F}}_{{k-1}}{\hat  {{\textbf  {x}}}}_{{k-1}}+{\textbf  {B}}_{{k-1}}{\textbf  {u}}_{{k-1}}

und für die Kovarianz

{\hat  {{\textbf  {P}}}}_{{k|k-1}}={\textbf  {F}}_{{k-1}}{\hat  {{\textbf  {P}}}}_{{k-1}}{\textbf  {F}}_{{k-1}}^{{{\text{T}}}}+{\textbf  {Q}}_{{k-1}}.

Die Indizierungsschreibweise k|k-1 drückt die Bedingtheit der Schätzungen zu den Zeitpunkten k und k-1 voneinander aus. Das hochgestellte T bezeichnet die Transponierte der entsprechend gekennzeichneten Matrix.

Korrektur

Die Vorhersagen werden schließlich mit den neuen Informationen des aktuellen Messwerts korrigiert und ergeben die gesuchten Schätzungen

{\hat  {{\textbf  {x}}}}_{{k}}={\hat  {{\textbf  {x}}}}_{{k|k-1}}+{\hat  {{\textbf  {K}}}}_{k}{\tilde  {{\textbf  {y}}}}_{k}

sowie

{\hat  {{\textbf  {P}}}}_{{k}}={\hat  {{\textbf  {P}}}}_{{k|k-1}}-{\hat  {{\textbf  {K}}}}_{k}{\textbf  {S}}_{k}{\hat  {{\textbf  {K}}}}_{k}^{{\text{T}}}

mit den Hilfsgrößen Innovation

{\tilde  {{\textbf  {y}}}}_{k}={\textbf  {z}}_{k}-{\textbf  {H}}_{k}{\hat  {{\textbf  {x}}}}_{{k|k-1}},

Residualkovarianz

{\textbf  {S}}_{k}={\textbf  {H}}_{k}{\hat  {{\textbf  {P}}}}_{{k|k-1}}{\textbf  {H}}_{k}^{{\text{T}}}+{\textbf  {R}}_{k}

und der zugehörigen Kalman-Matrix

{\hat  {{\textbf  {K}}}}_{k}={\hat  {{\textbf  {P}}}}_{{k|k-1}}{\textbf  {H}}_{k}^{{\text{T}}}{\textbf  {S}}_{k}^{{-1}}.

Die Hilfsgröße Innovation beschreibt, wie genau der vorhergesagte Mittelwert den aktuellen Messwert mittels der Beobachtungsgleichung beschreiben kann. Für eine schlechte Vorhersage wird die dazugehörige Innovation groß, für eine genaue Vorhersage dagegen klein sein. Entsprechende Korrekturen müssen dann groß bzw. nur gering ausfallen. Die durchzuführende Korrektur kann demnach als zur Größe der Innovation proportional angesehen werden. Zudem sollen Innovationen von Messwerten, die mit größerer Unsicherheit als ihre Schätzungen behaftet sind, mit weniger Gewicht in die Korrektur eingehen als solche, bei denen das Gegenteil der Fall ist. Diese zu fordernden Eigenschaften werden gerade von der Kalman-Matrix als dem gesuchten Proportionalitätsfaktor erfüllt. Dies wird aus der äquivalenten Formulierung

{\hat  {{\textbf  {K}}}}_{k}={\hat  {{\textbf  {P}}}}_{{k}}{\textbf  {H}}_{k}^{{\text{T}}}{\textbf  {R}}_{k}^{{-1}}

ersichtlich, die, im Rahmen dieses eher intuitiven Zugangs und damit stark vereinfachend gesprochen, als das geforderte Verhältnis der Unsicherheiten der Vorhersagen Pk zu den zugehörigen Messunsicherheiten Rk angesehen werden kann.[A 2] Die Elemente der Kalman-Matrix können in vielen Fällen analytisch, also vor Beginn des Schätzvorgangs berechnet oder wenigstens näherungsweise bestimmt werden. In weniger zeitkritischen Anwendungen wird die Kalman-Matrix mitgeschätzt, d.h. während des Schätzvorgangs immer wieder neu aus der aktuellen Vorhersage der Kovarianz berechnet.

Die exakte Herleitung und Begründung der Vorhersage- und Korrekturgleichungen erfolgt üblicherweise im Rahmen wahrscheinlichkeitstheoretischer Betrachtungen unter Benutzung des Bayes-Theorems.

Anmerkungen zum zeitkontinuierlichen Kalman-Filter

Im zeitkontinuierlichen Fall spricht man nicht mehr von einer rekursiven Formulierung und auch nicht von einer Prädiktor-Korrektur-Struktur. Vielmehr hat man es mit einem Satz von Differentialgleichungen, die die Schätzungen von Mittelwert und Kovarianz beschreiben, zu tun. Um Aussagen über die Schätzung zu einem bestimmten Zeitpunkt machen zu können, müssen die genannten Differentialgleichungen gelöst werden. Aufgrund eines nichtlinearen Terms in der Kovarianzgleichung, der sogenannten Matrix-Riccati-Gleichung, ist eine exakte Lösung und damit optimale Schätzung nur in wenigen Fällen möglich.

Initialisierung

Für die Startschätzung verwendet man häufig

{\hat  {{\textbf  {X}}}}_{{0}}\sim {\mathcal  N}({\textbf  {0}},c\cdot {\textbf  {I}})

mit der Identitätsmatrix I und einer geeigneten Konstanten c.

Eigenschaften

Wie aus der Korrekturgleichung ersichtlich ist, hängt die Schätzung des Mittelwertes in linearer Weise von der Beobachtung ab, das Kalman-Filter ist demnach ein lineares Filter. Mit zunehmender Länge der Messreihe nähern sich die Schätzungen für Mittelwert und Varianz den tatsächlichen Werten beliebig genau an. Man spricht daher im statistischen Jargon von einem erwartungstreuen und konsistenten Schätzer mit minimaler Varianz. Aufgrund dieser Schätzeigenschaften, die hier einer Minimierung des mittleren quadratischen Fehlers entsprechen, ist das Kalman-Filter ein optimales lineares Filter. Selbst verallgemeinerte nichtlineare Filter liefern für das hier betrachtete lineare Zustandsraummodell mit normalverteilten Variablen keine besseren Ergebnisse. Im Gegensatz zu anderen (rekursiven) linearen Schätzern, die ebenso Fehlerquadrate minimieren, erlaubt das Kalman-Filter auch die Behandlung von Problemen mit korrelierten Rauschkomponenten, wie sie in der Praxis häufig anzutreffen sind.

Anwendbarkeit und Erweiterungen

Die bei der Herleitung des Kalman-Filters gemachten Voraussetzungen können in der Praxis oft nur näherungsweise erfüllt werden. So ist in vielen Fällen die exakte Struktur der linearen Zustands- und Beobachtungsgleichung unbekannt oder zu umfangreich, als dass sie im Rahmen des Kalman-Filters rechentechnisch handhabbar wäre. Der Anwender muss demnach eine Einschränkung der zu verwendenden Modellklassen vornehmen. Die damit verbundenen Ungenauigkeiten führen häufig zu einem vom Optimalen abweichendem, divergenten Verhalten des Filters. Daher sind vor dem Einsatz Untersuchungen zur Abhängigkeit der Schätzergebnisse von den Modellierungsfehlern (und deren Kompensation) im Rahmen einer Sensitivitätsanalyse notwendig.

Zu einer weiteren Einschränkung der Schätzgüte führen die durch den Einsatz digitaler Rechentechnik verursachten Rundungsfehler. Analog zu den Modellungenauigkeiten können diese zu einer drastischen Divergenz des Kalman-Filters führen. Abhilfe schaffen hier algebraische Umformulierungen (Faktorisierungen) der Kovarianzmatrizen, jedoch um den Preis erhöhten rechentechnischen Aufwandes. Die bekanntesten numerisch stabilen Varianten des Kalman-Filters sind die Wurzelimplementierung nach Potter et al. und deren Verfeinerung in Form des Bierman-Thornton-UD-Algorithmus.

Neben diesen Problemen ist das Kalman-Filter in vielen Fällen nicht einsetzbar, da es auf lineare Zustandsraummodelle beschränkt ist. Selbst einfache Aufgabenstellungen der Navigationstechnik oder das wichtige Themengebiet der Parameterschätzung führen jedoch immer auf nichtlineare Zustands- oder Beobachtungsgleichungen. Abhilfe schaffen hier beispielsweise nichtlineare Erweiterungen des Kalman-Filters wie das bereits in den 60er Jahren entwickelte Erweiterte Kalman-Filter (Abk. EKF) oder auch das neuere Unscented Kalman-Filter (Abk. UKF). Diese Kalman-Filter-Varianten nähern das nichtlineare Problem durch ein lineares, wobei entweder analytische (EKF) oder statistische Techniken (UKF) zum Einsatz kommen. Im Sinne eines unkomplizierten Sprachgebrauchs werden diese Erweiterungen häufig abkürzend ebenfalls als Kalman-Filter bezeichnet, da sie ebenso eine rekursive sowie eine Prädiktor-Korrektor-Struktur haben. Im Gegensatz zum einfachen Kalman-Filter ist die Kalman-Matrix nun eine Zufallsvariable und muss während des gesamten Filtereinsatzes mitgeschätzt werden, was wiederum die Anforderungen an die Technik erhöht.

Seit dem Aufkommen leistungsfähiger digitaler Rechentechnik ist man dazu übergegangen, die meisten anspruchsvollen nichtlinearen Filterprobleme durch Simulationen (sequentielle Monte-Carlo-Methoden) oder anderweitige Näherungsverfahren (Quadratur-Filter, Gaußsummenfilter, Projektionsfilter) zu behandeln.

Beispielanwendungen

Das Kalman-Filter ist heute der wohl am weitesten verbreitete Algorithmus zur Zustandsschätzung linearer und nichtlinearer Systeme.

Anmerkungen

  1. Der Sprachgebrauch für den Begriff Zustandsraummodell ist in der Literatur nicht einheitlich. In der Regelungstechnik versteht man darunter die bloße Modellierung der Zustandsdynamik, in der Zeitreihenanalyse dagegen bezeichnet man die Gesamtheit von Zustands- und Beobachtungsgleichung als Zustandsraummodell.
  2. Eine exakte Formulierung mittels einer expliziten Betrachtung der Matrixelemente soll aus Platz- und Übersichtlichkeitsgründen ausgelassen werden. Genaueres findet sich bei Gelb et al.: Applied Optimal Estimation.Gelb et al., „Applied Optimal Estimation“, The M.I.T. Press, 2001, S. 119 ff.
Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung:  Jena, den: 02.09. 2021