Reklama
Dzisiaj jest 10 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama
Reklama
Reklama

Filtr Kalmana

Filtr Kalmana

Filtr Kalmana to algorytm służący do rekurencyjnego wyznaczania estymaty stanu modelu liniowego dyskretnego układu dynamicznego, bazujący na pomiarach wyjścia i wejścia tego układu. Algorytm zakłada, że pomiary i procesy przetwarzania są obarczone błędem o rozkładzie gaussowskim.

Reklama

Wstęp

Teoretycznie filtr Kalmana jest optymalnym estymatorem dla problemu liniowo-kwadratowego, co oznacza, że wykorzystuje pomiary liniowo związane ze stanem układu, zakłócone przez biały szum. Jego równania zachowują swoją formę nawet w przypadku niestacjonarnych układów, co jest jedną z jego kluczowych zalet w porównaniu do filtru Wienera.

Równania modelu stanu

Filtr Kalmana modeluje stan układu za pomocą równań:

Reklama
  • \mathbf{x}(t+1) = \mathbf{A}\mathbf{x}(t) + \mathbf{B}\mathbf{u}(t) + \mathbf{v}(t)
  • \mathbf{y}(t) = \mathbf{C}\mathbf{x}(t) + \mathbf{w}(t)

gdzie \mathbf{x}(t) to wektor stanu, \mathbf{A}, \mathbf{B}, \mathbf{C} to odpowiednie macierze systemowe, a \mathbf{v}(t) i \mathbf{w}(t) to wektory szumu.

Równania filtru

Równania filtru Kalmana dzielą się na dwie kategorie: aktualizacja czasu i aktualizacja pomiarów.

Aktualizacja czasu

Równania te predykują stan układu na chwilę t na podstawie estymaty stanu na chwilę t-1:

  • \hat{\mathbf{x}}(t|t-1) = \mathbf{A}\hat{\mathbf{x}}(t-1|t-1) + \mathbf{B}\hat{\mathbf{u}}(t-1)
  • \mathbf{P}(t|t-1) = \mathbf{AP}(t-1|t-1)\mathbf{A}^T + \mathbf{Q}

Wektory te określają estymaty a priori i a posteriori.

Aktualizacja pomiarów

Równania te aktualizują predykcję stanu na podstawie pomiarów:

  • \hat{\mathbf{x}}(t|t) = \hat{\mathbf{x}}(t|t-1) + \mathbf{K}(t)\mathbf{e}(t)
  • \mathbf{e}(t) = \mathbf{y}(t) – \mathbf{C}\hat{\mathbf{x}}(t|t-1)
  • \mathbf{K}(t) = \mathbf{P}(t|t-1)\mathbf{C}^T\mathbf{S}^{-1}(t)
  • \mathbf{S}(t) = \mathbf{C}\mathbf{P}(t|t-1)\mathbf{C}^T + \mathbf{R}
  • \mathbf{P}(t|t) = \mathbf{P}(t|t-1) – \mathbf{K}(t)\mathbf{S}(t)\mathbf{K}^T(t)

Macierz \mathbf{K}(t) nazywana jest wzmocnieniem Kalmana i decyduje o zaufaniu do estymaty stanu w porównaniu do pomiarów.

Zastosowania

Filtr Kalmana znajduje zastosowanie w wielu dziedzinach, w tym:

  • Automatyka
  • Robotyka
  • Elektronika
  • Przetwarzanie sygnałów

Przykłady zastosowań to śledzenie obiektów, autopiloty oraz usuwanie szumów z pomiarów.

Rys historyczny

Algorytm został opracowany przez Rudolfa Kalmana w 1960 roku. Jego prace doprowadziły do rozwoju teorii filtracji, która nie wymagała stacjonarności sygnałów, co było rewolucyjne w kontekście ówczesnych metod. Filtr Kalmana stał się kluczowym narzędziem w inżynierii, zwłaszcza w kontekście lotów kosmicznych i nawigacji.

Reklama

Bibliografia

  • Mohinder S. Grewal, Angus P. Andrews, Kalman Filtering: Theory and Practice Using Matlab, John Wiley and Sons, 2001.
Reklama