Kalman フィルターは、ノイズ測定から動的システムの状態を推定するために使用されるアルゴリズムです。 これは、ナビゲーション、ロボティクス、航空宇宙などのリアルタイム追跡システムで広く適用されます。 この記事では、Kalman filterの背後にある数学的原則とその実用的な実装を探索します。

数学基礎

Kalman フィルターは、線形式でモデル化されたシステムで動作します。 ]k] の時にシステムの状態がベクトル xk[ で表されます。 システム ダイナミクスは、以下で説明しています。

xk[]] = A xk-1 + B uk-1[] + w[[k-1 ]]

[]A]は状態遷移行行列]Bは制御入力行列、[uk-1[[は制御ベクトルであり、]wk-1[]]]k-1[[[FLT:[[FLT:]]]]]k-1[[[[[[FLT:[[[FLT:]]]]]]]]]]]][[[[[[[[[[[[[[FLT:[[[[[[[[[[FLT:]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][[[[[[[[[[[[[[[[[[[[[[[[[

zk[]] = H xk] + vk

H]は測定行列でvkは測定ノイズです。 フィルタは、新しい測定に基づいて予測および更新することにより、状態を推定します。

実践的な実装

カルマンフィルタは、予測と補正の2つの主要なステップを含みます。予測中に、フィルタは次の状態とその不確実性を推定します。補正ステップでは、新しい測定に基づいて見積もりを更新します。

主要な式は次のとおりです:

  • 予測:
    ]x の[]kの[ = A x k-1] + B uk-1 ]]]
  • 更新: [
    ]x の[]k] = x のk|k + K[[k[]]k[]] - [H x K[K[K]K[K[K]K[FLT]]][FLT:[FLT:[FLT]]]][FLT:[FLT]]K[[FLT:[FLT:[FLT:[[FLT]]K]K]K]K[[[[FLT]K]K]K]K[[[[[[[[[[FLT]K]K]K]K]K]K[[[[[[[[[[[[[[[[[[[[[[[[[FLT]]]]]]]]]K[[[

Kk[]は、推定エラー共鳴を最小限に抑えるために計算されたカルマンゲインです。 プロセスと測定ノイズの適切な調整は、最適なパフォーマンスに不可欠です。

用途例

Kalman フィルターはさまざまな実時間追跡の適用で、下記のものを含んでいます:

  • 自律車両用ナビゲーションシステム
  • レーダーおよびソーナー システムで追跡するオブジェクト
  • ロボティクスのローカライズとマッピング
  • 金融市場分析