Das (regional auch der) Kalman-Filter (auch Kalman-Bucy-Filter, Stratonovich-Kalman-Bucy-Filter oder Kalman-Bucy-Stratonovich-Filter) ist ein mathematisches iteratives Schätzverfahren, das aus verrauschten und unvollständigen Beobachtungen den wahrscheinlichsten Zustand eines dynamischen Systems berechnet. 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, nicht direkt messbare Systemgrößen zu schätzen, während die Fehler der Messungen optimal reduziert werden. Bei dynamischen Größen kann dem Filter ein mathematisches Modell als Nebenbedingung hinzugefügt werden, um dynamische Beziehungen zwischen den Systemgrößen zu berücksichtigen. So können beispielsweise Bewegungsgleichungen helfen, veränderliche Positionen und Geschwindigkeiten gemeinsam präzise zu schätzen. 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 Radar-Signalen oder GNSS-Daten zur Positionsbestimmung sich bewegender Objekte (Tracking), aber auch der Einsatz in allgegenwärtigen elektronischen Regelkreisen in Kommunikationssystemen wie etwa Rundfunk oder Mobilfunk oder in der Steuerung von Elektrofahrrädern.
Historisches Obwohl zuvor nahezu identische Verfahren durch Thorvald N. ThieleSteffen L. Lauritzen: Oxford University Press, 2002, ISBN 0-19-850972-3. 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,R. L. Stratonovich: Optimum nonlinear systems which bring about a separation of a signal with constant parameters from noise. Radiofizika, 1959, 2:6, Seiten 892–901.R. L. Stratonovich: Application of the Markov processes theory to optimal filtering. Radio Engineering and Electronic Physics, 1960, 5:11, Seiten 1–19. 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,Simon J. Julier, Jeffrey K. Uhlmann und H. F. Durant-Whyte: A new approach for filtering nonlinear systems. Proceedings of the 1995 American Control Conference, 1995, Seiten 1628–1632.Simon J. Julier und Jeffrey K. Uhlmann: A new extension of the Kalman filter to nonlinear systems. In: Int. Symp. Aerospace/Defense Sensing, Simul. and Controls. 1997. das Informationsfilter und eine Vielzahl von numerisch stabilen Varianten wie beispielsweise die Wurzel-ImplementierungJ. E. Potter und R. G. Stern: Statistical filtering of space navigation measurements. Proc. of AIAA, Guidance and Control Conf, 1963. oder der Bierman-Thornton-UD-Algorithmus.G. J. Bierman und C. L. Thornton: Numerical Comparison of Kalman Filter Algorithms: Orbit Determination Case Study. Automatica 13, 23, 1977. Die meistgenutzte Variante jedoch ist die der Kontrolltheorie entstammende Phasenregelungsschleife,A. Patapoutian: On phase-locked loops and Kalman filters. IEEE Transactions on Communications, Volume 47, Issue 5, May 1999, Seiten 670–672. die in vielen Geräten zur Telekommunikation zum Einsatz kommt.
Anwendungen Das Kalman-Filter ist heute ein weit verbreiteter Algorithmus zur Zustandsschätzung linearer und nichtlinearer Systeme.
Weite Verbreitung gefunden hat das Kalman-Filter in der Inertialnavigation beispielsweise von Flugzeugen: Während des Flugs werden Beschleunigungen und Drehraten des Flugzeugs von einer inertialen Messeinheit mit hohen Frequenzen gemessen, um eine Kurzzeit-Navigation zu ermöglichen. Weitere Sensoren, insbesondere satellitengestützte Positionsbestimmung (z. B. GPS), liefern Stützdaten. Diese verschiedenen Messungen müssen verknüpft („fusioniert“) werden, um eine möglichst optimale Schätzung der aktuellen Position und Orientierung zu gewährleisten. Zunehmend spielen Trackingverfahren und somit das Kalman-Filter als typischer Vertreter eines Trackingfilters eine Rolle im Automobilbereich. Sicherheits- oder Komfortanwendungen, die auf umfelderkennenden Systemen basieren, sind auf verlässliche Informationen (z. B. Position, Geschwindigkeit) bezüglich der Objekte in ihrem Umfeld angewiesen. Bei autonomen Landfahrzeugen werden Kalman-Filter zur Reduzierung des Rauschens von Lidar- und Radargeräten eingesetzt. Eine ebenfalls oft verwendete Art eines Kalman-Filters, das PLL-Filter, hat heute weite Verbreitung gefunden in Radios, Funkgeräten, Computern und in fast allen anderen Arten von Video- und Kommunikationsgeräten. In der Makroökonomik werden Kalman-Filter zur Schätzung von dynamisch-stochastischen Allgemeinen Gleichgewichtsmodellen (DSGE-Modelle) eingesetzt. In der Meteorologie setzt man sie zur Datenassimilation bei der Bestimmung des Ausgangszustandes bei der numerischen Wettervorhersage ein.
Grundlagen Mathematische Grundidee Die Besonderheit, die das Kalmanfilter von einfachen Filtern wie etwa dem gleitenden Mittelwert unterscheidet und deutlich leistungsfähiger macht, ist die Beschreibung des Schätzwertes durch mehrdimensionale Normalverteilungen. Diese repräsentieren nicht nur Wahrscheinlichkeitsverteilungen möglicher Fehler um jeden Schätzwert, sondern auch Korrelationen zwischen Schätzfehlern unterschiedlicher Variablen. Mit dieser Information werden in jedem Zeitschritt die bisherigen Schätzwerte mit den neuen Messungen auf optimale Weise kombiniert, so dass verbleibende Fehler des Filterzustands schnellstmöglich minimiert werden.
Der momentane Filterzustand aus Schätzwerten, Fehlerschätzungen und Korrelationen bildet dabei eine Art Gedächtnis für die gesamte bisher gewonnene Information aus vergangenen Messwerten. Nach jeder neuen Messung verbessert das Kalmanfilter die bisherigen Schätzwerte und aktualisiert die zugehörigen Fehlerschätzungen und Korrelationen.
In dynamischen Systemen, in denen neben den eigentlichen Werten auch die differenzierten Werte (z. B. Geschwindigkeiten oder Beschleunigungen bei zeitabhängigen Positionen) geschätzt werden, schätzt das Kalmanfilter entsprechend auch Korrelationen zwischen den Fehlern dieser Größen und nutzt dieses Wissen in Kombination mit den bekannten dynamischen Zusammenhängen für eine optimale Fehlerunterdrückung.
Theoretische Einordnung Im Rahmen der mathematischen Schätztheorie spricht man beim Kalman-Filter 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. Siehe auch Bayessches Filter.
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. In seinem Zeitverhalten ist es ein IIR-Filter mit einer Verzögerungsstufe.
Zustandsraummodellierung
Als Zustand eines Systems wird 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. 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
.
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:
.
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 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
mit der Beobachtungsmatrix Hk und dem weißen Messrauschen
.
Dynamisches Rauschen w und Messrauschen v sollen zu allen Zeiten voneinander unabhängig sein.
Die Gesamtheit von Zustandsgleichung und Beobachtungsgleichung nennt man Zustandsraummodell.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. Wegen des „versteckten“ bzw. durch einen zweiten stochastischen Prozess, der Messung, überdeckten Markow-Modells spricht man beim Zustandsraummodell auch häufig von einem verborgenen Markowmodell (englisch Hidden Markov Model).
Das Filterproblem