Algorithm that estimates unknowns from a series of measurements over time
カルマンフィルタは、システムの推定状態と、その推定値の 分散 または不確実性を追跡します。推定値は、 状態遷移 モデルと測定値を用いて更新されます。は、 k 番目の測定値 y k が考慮される 前の、時間ステップ k におけるシステム状態の推定値を表します。は、 対応する不確実性です。 x ^ k ∣ k − 1 {\displaystyle {\hat {x}}_{k\mid k-1}} P k ∣ k − 1 {\displaystyle P_{k\mid k-1}} 統計学 と 制御理論 において 、 カルマンフィルタリング( 線形二次推定 とも呼ばれる )は、 統計的ノイズ やその他の不正確さを含む時間の経過に伴って観測される一連の測定値を用いて 、各時間ステップにおける変数の 結合確率分布 を推定することにより、単一の測定値に基づく推定値よりも正確になる傾向がある未知の変数の推定値を生成するアルゴリズム である。このフィルタは平均二乗誤差最小化器として構築されるが、フィルタが最大尤度統計とどのように関係するかを示すフィルタの代替導出も提供される。 [1] このフィルタは ルドルフ・E・カルマン にちなんで名付けられている。
カルマンフィルタリング [2] には数多くの技術的応用がある。一般的な応用は 、特に航空機、宇宙船、船舶など の動的に位置決めされる車両の 誘導、航行、制御で ある。 [3] さらに、カルマンフィルタリングは 信号処理 や 計量経済学 などの 時系列解析タスクに広く適用されている。カルマンフィルタリングはロボットの 動作計画 と制御にも重要であり 、 [4] [5] 軌道最適化 に使用できる 。 [6] カルマンフィルタリングは 中枢神経系の運動制御のモデル化にも役立つ。運動コマンドの発行と 感覚フィードバックの 受信の間には時間遅延があるため 、カルマンフィルタ [7] を使用すると、運動システムの現在の状態を推定し、更新されたコマンドを発行するための現実的なモデルが提供される。 [8]
このアルゴリズムは、予測フェーズ と 更新フェーズ という2段階のプロセスで動作します 。予測フェーズでは、カルマンフィルタが現在の 状態変数 の推定値(その不確実性を含む)を生成します。次の測定結果(ランダムノイズなどの何らかの誤差によって必然的に損なわれている)が観測されると、これらの推定値は 加重平均 を使用して更新され、より確実な推定値に重みが付けられます。このアルゴリズムは 再帰的です。現在の入力測定値と以前に計算された状態、およびその不確実性行列のみを使用して、 リアルタイム で動作できます 。過去の追加情報は必要ありません。
カルマンフィルタの最適性は、誤差が 正規分布(ガウス分布)に従うことを前提としています。 ルドルフ・E・カルマン の言葉を借りれば 、「ランダムプロセスについて以下の仮定が成り立つ。物理的なランダム現象は、動的システムを励起する一次ランダムソースに起因すると考えられる。一次ソースは、平均ゼロの独立したガウスランダムプロセスであると仮定する。動的システムは線形となる。」 [9] しかし、ガウス分布であるかどうかに関わらず、プロセスと測定の共分散が既知であれば、カルマンフィルタは 最小平均二乗誤差の意味 で最良の 線形 推定量である[10] 。 ただし、より優れた非線形推定量が存在する可能性もある。すべてのノイズプロセスがガウス分布であると仮定しない限り、カルマンフィルタを厳密に適用することはできないという誤解(文献に根強く残っている)がある [11] 。
この手法の拡張や 一般化 も開発されており、例えば 非線形システムで動作する 拡張カルマンフィルタ やアンセンテッドカルマンフィルタなどが 挙げられます。その基礎は 隠れマルコフモデル であり、 潜在変数 の 状態空間は 連続的 であり、すべての潜在変数と観測変数はガウス分布に従います。カルマンフィルタリングは、 マルチセンサーフュージョン [12] や分散 センサーネットワーク において、分散型または コンセンサス カルマンフィルタリングの 開発に 効果的に利用されてきました。 [13]
歴史 このフィルタリング手法は、ハンガリー出身の 亡命者 ルドルフ・E・カルマン にちなんで名付けられましたが、 トーヴァル・ニコライ・ティーレ [14] [15] と ピーター・スワーリングが以前に同様のアルゴリズムを開発していました。 ジョンズ・ホプキンス応用物理学研究所 のリチャード・S・ビューシーがこの理論に貢献したため、カルマン・ビューシー・フィルタリングと呼ばれることもあります。カルマンは 、ウィーナーフィルタリング問題 に状態変数を適用することでカルマンフィルタを導き出しました 。 [16]カルマンフィルタの最初の実装を開発した人物として、一般的に スタンレー・F・シュミットの 名が付けられています。彼は、フィルタを2つの異なる部分に分割できることに気付きました。1つはセンサ出力間の時間間隔用、もう1つは測定値を組み込むための部分です。 [17]カルマンが NASAエイムズ研究センター を訪問した際に、シュミットはカルマンのアイデアが アポロ計画 の軌道推定の非線形問題に適用できることに気づき、その結果、 アポロ航法コンピュータ にそのアイデアが組み込まれることになった 。 [18] : 16
このデジタルフィルタは、 ソ連の 数学者 ルスラン・ストラトノビッチ が開発した、より一般的な非線形フィルタの特殊なケースであるため、 ストラトノビッチ・カルマン・ビューシーフィルタ と呼ばれることもあります。 [19] [20] [21] [22] 実際、特殊なケースの線形フィルタの方程式のいくつかは、1961 年の夏、モスクワでの会議中にカルマンがストラトノビッチと会う前に発表されたストラトノビッチの論文に登場しました。 [23]
このカルマン フィルタリングは、Swerling (1958)、Kalman (1960)、Kalman と Bucy (1961) による技術論文で初めて説明され、部分的に開発されました。
アポロ・コンピュータは2KBの磁気コアRAMと36KBのワイヤーロープを使用していました[...]。CPUはICで構築されていました[...]。クロック速度は100kHz未満でした[...]。MITのエンジニアたちが、これほど優れたソフトウェア(カルマンフィルタの初期の応用例の一つ)をこれほど小型のコンピュータに詰め込んだという事実は、実に驚くべきものです。
— ジャック・クレンショーへのインタビュー、マシュー・リード、TRS-80.org (2009) [1]
カルマンフィルタは、 米海軍 の核 弾道ミサイル搭載潜水艦 の航法システムや、米海軍の トマホークミサイル や 米空軍 の 空中発射巡航ミサイルなどの巡航ミサイルの誘導航法システムの実装において不可欠な役割を果たしてきた。また、 再使用型打ち上げロケット の誘導航法システム や、 国際宇宙ステーションにドッキングする宇宙船の 姿勢制御 航法システムにも使用されている 。 [24]
計算の概要 カルマンフィルタリングは、システムの動的モデル(例:物理法則)、そのシステムへの既知の制御入力、および複数の連続した測定値(センサーなどからの測定値)を用いて、システムの変動量(状態 ) の推定値を生成します。この推定値は、単一の測定値のみを用いた場合よりも精度が高くなります。そのため、カルマンフィルタリングは一般的な センサーフュージョン および データフュージョン アルゴリズムです。
ノイズの多いセンサーデータ、システムの進化を記述する方程式の近似値、そして考慮されていない外的要因はすべて、システムの状態を正確に判定できる可能性を制限します。カルマンフィルタは、ノイズの多いセンサーデータに起因する不確実性、そしてある程度はランダムな外的要因にも効果的に対処します。カルマンフィルタは、 加重平均 を用いて、システムの予測状態と新しい測定値の平均として、システムの状態の推定値を生成します。重みの目的は、より良い(つまり、より小さい)推定不確実性を持つ値がより「信頼」されることです。重みは、システムの状態予測の推定不確実性の尺度である 共分散 から計算されます。加重平均の結果は、予測状態と測定状態の間に位置し、どちらか一方だけの場合よりもより良い推定不確実性を持つ新しい状態推定値です。このプロセスは各タイムステップで繰り返され、新しい推定値とその共分散が、次の反復で使用される予測に反映されます。つまり、カルマン フィルタは 再帰的に 動作し、新しい状態を計算するために、システムの状態の全履歴ではなく、最後の「最良の推測」のみを必要とします。
測定値の確実性の等級分けと現在の状態の推定は重要な考慮事項です。フィルタの応答は、カルマンフィルタの ゲイン の観点から議論されるのが一般的です。カルマンゲインとは、測定値と現在の状態の推定に与えられる重みであり、特定のパフォーマンスを達成するために「調整」することができます。ゲインが高いほど、フィルタは最新の測定値に重点を置くため、より応答性が向上します。ゲインが低いほど、フィルタはモデルの予測により厳密に従います。極端な例として、ゲインが高い(1に近い)と推定軌道はより不安定になり、ゲインが低い(0に近い)とノイズは平滑化されますが、応答性は低下します。
フィルタの実際の計算(後述)では、単一の計算セットに複数の次元が含まれるため、状態推定値と共分散は 行列 にコード化されます。これにより、任意の遷移モデルまたは共分散において、異なる状態変数(位置、速度、加速度など)間の線形関係を表現できます。
アプリケーション例 応用例として、トラックの正確な位置を特定する問題を考えてみましょう。トラックには GPS ユニットが搭載されており、数メートル以内の位置を推定できます。GPS による推定値はノイズが多く、実際の位置から数メートル以内の誤差はありますが、測定値が急激に変動する可能性があります。また、トラックは物理法則に従うと予想されるため、車輪の回転数とハンドルの角度を追跡することで速度を時間とともに積分することで、トラックの位置を推定することもできます。これは デッド レコニングと呼ばれる手法です。通常、デッドレコニングではトラックの位置を非常にスムーズに推定できますが、 小さな誤差が蓄積されるにつれて、時間の経過とともに 位置がずれていきます。
この例では、カルマンフィルタは予測と更新という2つの異なるフェーズで動作すると考えることができます。予測フェーズでは、トラックの以前の位置は物理的な 運動法則 (動的モデル、つまり「状態遷移」モデル)に従って修正されます。新しい位置推定値が計算されるだけでなく、新しい共分散も計算されます。おそらく共分散はトラックの速度に比例するでしょう。なぜなら、高速走行時には推測航法による位置推定値の精度はより不確実ですが、低速走行時には位置推定値は非常に確実だからです。次に、更新フェーズでは、GPSユニットからトラックの位置の測定値が取得されます。この測定値にはある程度の不確実性が伴い、前のフェーズの予測値に対する共分散によって、新しい測定値が更新された予測値にどの程度影響するかが決まります。理想的には、推測航法による推定値は実際の位置からずれる傾向があるため、GPS測定値は位置推定値を実際の位置に引き戻す一方で、ノイズが多くなり急激に変動するほどには乱さないことが求められます。
技術的な説明と背景 カルマンフィルタは、 ノイズを 含む一連の計測値から 線形動的システム の内部状態 を推定する効率的な 再帰フィルタである。 レーダー や コンピュータビジョン から 構造マクロ経済モデルの推定に至るまで、 幅広い 工学 ・ 計量経済学の分野で用いられており [25] [26] 、 制御理論 および 制御システム 工学における重要なトピックである。 カルマンフィルタは、 線形二次レギュレータ (LQR)とともに、 線形二次ガウス制御 問題(LQG)を解く。カルマンフィルタ、線形二次レギュレータ、そして線形二次ガウスコントローラは、制御理論における最も基本的な問題に対する解法と言える。
ほとんどのアプリケーションでは、測定される少数の「観測可能な」パラメータよりも内部状態の方がはるかに大きく(自由度が 高く )、測定されます。しかし、一連の測定値を組み合わせることで、カルマンフィルタは内部状態全体を推定することができます。
デンプスター・シェーファー理論 では、各状態方程式または観測値は 線形確信関数 の特殊なケースとみなされ 、カルマンフィルタリングは結合木または マルコフ木 上で線形確信関数を結合する特殊なケースとみなされます。その他の手法としては、 ベイズ推定や状態方程式の証拠更新を用いた 確信フィルタリングなどがあります。
現在までに、カルマンフィルタには様々な種類が存在します。カルマンのオリジナルの定式(現在では「単純」カルマンフィルタと呼ばれています)、 カルマン・ビューシーフィルタ 、シュミットの「拡張」フィルタ、情報フィルタ、そしてビアマン、ソーントン、その他多くの人々によって開発された様々な「平方根」フィルタなどです。おそらく最も一般的に使用されている非常に単純なカルマンフィルタは 位相同期回路(PLL )で、これは現在、無線、特に 周波数変調 (FM)ラジオ、テレビ、 衛星通信 受信機、宇宙通信システム、そしてほぼすべての 電子 通信機器に広く使用されています。
基礎となる動的システムモデル カルマンフィルタは、 時間領域で離散化された 線形動的システムに基づいています。これらのシステムは、 ガウス ノイズ を含む可能性のある誤差によって摂動を受けた 線形演算子 に基づく マルコフ連鎖 をモデル化しています。 対象システムの 状態 は、実数 ベクトルとして表される 、真の(しかし隠れた)システム構成を指します。 離散時間の 各 増分において、線形演算子が状態に適用され、新しい状態が生成されます。このとき、ノイズが混入され、システムの制御情報が既知であれば、それらの情報も任意に混入されます。次に、さらにノイズが混入された別の線形演算子によって、真の(「隠れた」)状態から測定可能な出力(すなわち、観測値)が生成されます。カルマンフィルタは隠れマルコフモデルに類似していると考えられますが、隠れ状態変数が離散状態空間ではなく連続空間に値を持つという違いがあります。カルマンフィルタの方程式と隠れマルコフモデルの方程式には強い類似性があります。このモデルと他のモデルのレビューは、Roweisと Ghahramani (1999) [27] とHamilton(1994)の第13章 [28]に掲載されています。
カルマンフィルタを用いて、ノイズを含む観測値の系列のみからプロセスの内部状態を推定するには、以下の枠組みに従ってプロセスをモデル化する必要がある。これは、各時間ステップについて 、以下の行列を指定することを意味する。 k {\displaystyle k}
F k {\displaystyle \mathbf {F} _{k}} 、状態遷移モデル。 H k {\displaystyle \mathbf {H} _{k}} 、観測モデル。 Q k {\displaystyle \mathbf {Q} _{k}} 、 プロセスノイズの 共分散。 R k {\displaystyle \mathbf {R} _{k}} 、 観測ノイズの 共分散。 時には 、以下に説明する制御入力モデルが含ま れる。 が含まれる場合は、 B k {\displaystyle \mathbf {B} _{k}} B k {\displaystyle \mathbf {B} _{k}} u k {\displaystyle \mathbf {u} _{k}} 制御入力モデルへの制御入力を表す制御ベクトル。 以下に示すように、多くのアプリケーションでは、行列 、 、 、 が 時間の経過に伴って一定であることが一般的であり、その場合、それらの インデックスは削除されることがあります。 F {\displaystyle \mathbf {F} } H {\displaystyle \mathbf {H} } Q {\displaystyle \mathbf {Q} } R {\displaystyle \mathbf {R} } B {\displaystyle \mathbf {B} } k {\displaystyle k}
カルマンフィルタの基礎となるモデル。四角は行列を表します。楕円は 多変量正規分布 を表します(平均行列と共分散行列が囲まれています)。囲まれていない値は ベクトル です。単純なケースでは、様々な行列は時間に対して一定であるため、添え字は使用されませんが、カルマンフィルタでは、各時間ステップごとにいずれかの行列が変化する可能性があります。 カルマンフィルタモデルは、時刻tにおける真の状態 が時刻tにおける状態から次の式に従って発展すること を
仮定している。 k {\displaystyle k} k − 1 {\displaystyle k-1}
x k = F k x k − 1 + B k u k + w k {\displaystyle \mathbf {x} _{k}=\mathbf {F} _{k}\mathbf {x} _{k-1}+\mathbf {B} _{k}\mathbf {u} _{k}+\mathbf {w} _{k}} どこ
F k {\displaystyle \mathbf {F} _{k}} は、前の状態x k −1 に適用される状態遷移モデルである 。 B k {\displaystyle \mathbf {B} _{k}} は制御ベクトルに適用される制御入力モデルである 。 u k {\displaystyle \mathbf {u} _{k}} w k {\displaystyle \mathbf {w} _{k}} はプロセスノイズであり、 共分散 、 : を持つゼロ平均 多変量正規分布 、から抽出されたものと仮定されます 。 N {\displaystyle {\mathcal {N}}} Q k {\displaystyle \mathbf {Q} _{k}} w k ∼ N ( 0 , Q k ) {\displaystyle \mathbf {w} _{k}\sim {\mathcal {N}}\left(0,\mathbf {Q} _{k}\right)} が時間と独立である場合 、RoweisとGhahramani [27] :307 に従って、代わりにと 書いて、 ノイズには時間に関する明示的な知識がないことを強調することができます。 Q {\displaystyle \mathbf {Q} } w ∙ {\displaystyle \mathbf {w} _{\bullet }} w k {\displaystyle \mathbf {w} _{k}}
真の状態の 観察(または測定) は 、 k {\displaystyle k} z k {\displaystyle \mathbf {z} _{k}} x k {\displaystyle \mathbf {x} _{k}}
z k = H k x k + v k {\displaystyle \mathbf {z} _{k}=\mathbf {H} _{k}\mathbf {x} _{k}+\mathbf {v} _{k}} どこ
H k {\displaystyle \mathbf {H} _{k}} 観測モデルは真の状態空間を観測空間にマッピングし、 v k {\displaystyle \mathbf {v} _{k}} は観測ノイズであり、 共分散が であるゼロ平均のガウス 白色ノイズ であると仮定されます 。 R k {\displaystyle \mathbf {R} _{k}} v k ∼ N ( 0 , R k ) {\displaystyle \mathbf {v} _{k}\sim {\mathcal {N}}\left(0,\mathbf {R} _{k}\right)} の場合と同様に、 が時間に依存しない 場合は、 の代わりに と 書くことができます 。 w k {\displaystyle \mathbf {w} _{k}} v ∙ {\displaystyle \mathbf {v} _{\bullet }} v k {\displaystyle \mathbf {v} _{k}} R {\displaystyle \mathbf {R} }
初期状態と各ステップのノイズベクトル はすべて相互に 独立して いると仮定されます。 { x 0 , w 1 , … , w k , v 1 , … , v k } {\displaystyle \{\mathbf {x} _{0},\mathbf {w} _{1},\dots ,\mathbf {w} _{k},\mathbf {v} _{1},\dots ,\mathbf {v} _{k}\}}
多くのリアルタイム動的システムは、このモデルに厳密には従いません。実際、モデル化されていないダイナミクスは、たとえ未知の確率的信号を入力として扱うことを想定していたとしても、フィルタの性能を著しく低下させる可能性があります。これは、モデル化されていないダイナミクスの影響が入力に依存し、推定アルゴリズムを不安定化(発散)させる可能性があるためです。一方、独立した白色ノイズ信号はアルゴリズムを発散させません。測定ノイズとモデル化されていないダイナミクスを区別する問題は難しく、 ロバスト制御 を用いた制御理論の問題として扱われます。 [29] [30]
詳細 カルマンフィルタは 再帰 推定器です。つまり、現在の状態の推定値を計算するには、前の時間ステップで推定された状態と現在の測定値のみが必要です。バッチ推定手法とは異なり、観測値や推定値の履歴は必要ありません。以下では、表記は、 時刻 m ≤ n までの観測値に基づく、時刻 n におけるの推定値を表します 。 x ^ n ∣ m {\displaystyle {\hat {\mathbf {x} }}_{n\mid m}} x {\displaystyle \mathbf {x} }
フィルタの状態は次の 2 つの変数で表されます。
x ^ k ∣ k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}} 、時刻 k までの観測値に基づく時刻 kにおける 事後 状態推定値の平均 。 P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} 、 事後 推定共分散行列(状態推定の推定 精度 の尺度)。 カルマンフィルタのアルゴリズム構造は、 アルファベータフィルタ のそれに似ています。カルマンフィルタは単一の方程式で記述できますが、通常は「予測」と「更新」という2つの異なるフェーズとして概念化されます。予測フェーズでは、前のタイムステップの状態推定値を使用して、現在のタイムステップの状態推定値を生成します。この予測された状態推定値は、現在のタイムステップの状態 推定 値であるにもかかわらず、現在のタイムステップからの観測情報を含まないため、事前状態推定値とも呼ばれます。更新フェーズでは、 イノベーション (事前適合残差)、つまり現在の 事前 予測値と現在の観測情報との差に最適なカルマンゲインを乗算し、前の状態推定値と組み合わせて状態推定値を改良します。現在の観測値に基づくこの改良された推定値は、 事後 状態推定値と呼ばれます。
通常、2つのフェーズは交互に実行され、予測は次に予定されている観測まで状態を進め、更新は観測を反映する。しかし、これは必ずしも必要ではない。何らかの理由で観測が利用できない場合は、更新をスキップし、複数の予測手順を実行することができる。同様に、複数の独立した観測が同時に利用可能な場合、複数の更新手順を実行することができる(通常は異なる観測行列 H k を用いる)。 [31] [32]
予測する 予測された( 事前の )状態推定 x ^ k ∣ k − 1 = F k x ^ k − 1 ∣ k − 1 + B k u k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}=\mathbf {F} _{k}{\hat {\mathbf {x} }}_{k-1\mid k-1}+\mathbf {B} _{k}\mathbf {u} _{k}} 予測された( 事前 )推定共分散 P k ∣ k − 1 = F k P k − 1 ∣ k − 1 F k T + Q k {\displaystyle {\mathbf {P} }_{k\mid k-1}=\mathbf {F} _{k}\mathbf {P} _{k-1\mid k-1}\mathbf {F} _{k}^{\textsf {T}}+\mathbf {Q} _{k}}
アップデート イノベーション または測定事前適合残差 y ~ k = z k − H k x ^ k ∣ k − 1 {\displaystyle {\tilde {\mathbf {y} }}_{k}=\mathbf {z} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}} イノベーション(または適合前残差)共分散 S k = H k P k ∣ k − 1 H k T + R k {\displaystyle \mathbf {S} _{k}=\mathbf {H} _{k}{\mathbf {P} }_{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k}} 最適 カルマンゲイン K k = P k ∣ k − 1 H k T S k − 1 {\displaystyle \mathbf {K} _{k}={\mathbf {P} }_{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}} 更新された( 事後的な )状態推定 x ^ k ∣ k = x ^ k ∣ k − 1 + K k y ~ k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}={\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}{\tilde {\mathbf {y} }}_{k}} 更新された( 事後 )推定共分散(通常の形式) P k ∣ k = ( I − K k H k ) P k | k − 1 {\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k|k-1}} 更新された( 事後 )推定共分散(ジョセフ形式) P k ∣ k = ( I − K k H k ) P k ∣ k − 1 ( I − K k H k ) T + K k R k K k T {\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}\mathbf {K} _{k}^{\textsf {T}}} 測定後フィッティング 残差 y ~ k ∣ k = z k − H k x ^ k ∣ k {\displaystyle {\tilde {\mathbf {y} }}_{k\mid k}=\mathbf {z} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k}}
上記の更新された(事後 )共分散推定値の2番目の式は 「ジョセフ型」として知られており、応用分野でよく用いられます(より単純な通常の定式よりも数値的に安定しています)。これらの式の証明は 導出の 節に記載されており、任意のK k に対して有効な式 も示されています。
更新された状態推定値( )を より直感的に表現する方法は次のとおりです。 x ^ k ∣ k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}
x ^ k ∣ k = ( I − K k H k ) x ^ k ∣ k − 1 + K k z k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}=(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}){\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\mathbf {z} _{k}} この式は、[0,1]間の 線形補間を想起させます 。この場合、 x = ( 1 − t ) ( a ) + t ( b ) {\displaystyle x=(1-t)(a)+t(b)} t {\displaystyle t}
t {\displaystyle t} は、(センサーの高誤差) からの値 、または投影(低誤差)を取得する 行列です。 K k H k {\displaystyle \mathbf {K} _{k}\mathbf {H} _{k}} 0 {\displaystyle 0} I {\displaystyle I} a {\displaystyle a} モデルから推定された 内部状態です。 x ^ k ∣ k − 1 {\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}} b {\displaystyle b} は、特異でないと仮定して測定から推定された 内部状態です (多くのアプリケーションでは、状態の次元が観測の次元よりも大きい場合など、これは合理的な仮定ではありません)。 H k − 1 z k {\displaystyle \mathbf {H} _{k}^{-1}\mathbf {z} _{k}} H k {\displaystyle \mathbf {H} _{k}} この式は、 アルファ ベータ フィルタの 更新ステップにも似ています。
不変量 モデルが正確で、 およびの値 が初期状態値の分布を正確に反映している場合、次の不変量が保持されます。 x ^ 0 ∣ 0 {\displaystyle {\hat {\mathbf {x} }}_{0\mid 0}} P 0 ∣ 0 {\displaystyle \mathbf {P} _{0\mid 0}}
E [ x k − x ^ k ∣ k ] = E [ x k − x ^ k ∣ k − 1 ] = 0 E [ y ~ k ] = 0 {\displaystyle {\begin{aligned}\operatorname {E} [\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}]&=\operatorname {E} [\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}]=0\\\operatorname {E} [{\tilde {\mathbf {y} }}_{k}]&=0\end{aligned}}} ここでは の 期待値 です 。つまり、すべての推定値の平均誤差はゼロになります。 E [ ξ ] {\displaystyle \operatorname {E} [\xi ]} ξ {\displaystyle \xi }
また:
P k ∣ k = cov ( x k − x ^ k ∣ k ) P k ∣ k − 1 = cov ( x k − x ^ k ∣ k − 1 ) S k = cov ( y ~ k ) {\displaystyle {\begin{aligned}\mathbf {P} _{k\mid k}&=\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)\\\mathbf {P} _{k\mid k-1}&=\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\\\mathbf {S} _{k}&=\operatorname {cov} \left({\tilde {\mathbf {y} }}_{k}\right)\end{aligned}}} したがって、共分散行列は推定値の共分散を正確に反映します。
ノイズ共分散Qの推定 け とR け カルマンフィルタの実際の実装は、ノイズ共分散行列 Q k と R k の適切な推定値を得るのが難しいため、しばしば困難です。データからこれらの共分散を推定するための広範な研究が行われてきました。これを行う実際的な方法の1つは、 共分散を推定するために日常的な動作データの 時間遅れの自己 共分散を使用する 自己共分散最小二乗法(ALS)です。 [33] [34] ALS法を使用してノイズ共分散行列を計算するために使用されるGNU OctaveおよびMatlabコードは、GNU General Public Licenseを使用してオンラインで入手できます 。 [ 35 ] 状態 、 パラメータ 、およびノイズ共分散を同時に推定できるベイズアルゴリズムであるフィールドカルマンフィルタ(FKF)が提案されています。 [36] FKFアルゴリズムは再帰的な定式化、良好な収束が観測され、比較的複雑ではないため、FKFアルゴリズムは自己共分散最小二乗法の価値ある代替手段になる可能性があります。もう一つのアプローチは 最適化カルマンフィルタ ( OKF )であり、共分散行列をノイズの代表としてではなく、最も正確な状態推定を達成するためのパラメータとして扱う。 [37] これら2つの考え方はKFの仮定の下では一致するが、実際のシステムではしばしば矛盾する。したがって、OKFの状態推定はモデルの不正確さに対してより堅牢である。
カルマンフィルタは、次の場合に最適な状態推定を提供します。a) モデルが実際のシステムに完全に一致する場合、b) 入力ノイズが「ホワイト」(無相関)である場合、c) ノイズの共分散が正確にわかっている場合。相関ノイズもカルマンフィルタで処理できます。 [38]
過去数十年間に、ノイズ共分散推定のためのいくつかの手法が提案されてきました。その中には、上記のセクションで述べたALS法も含まれます。より一般的には、モデルの仮定が実際のシステムに完全に一致しない場合、 Q k と R k を ノイズの共分散に設定することによって最適な状態推定が必ずしも得られるわけではありません。その代わりに、その場合、パラメータ Q k と R k は、 状態推定を明示的に最適化するように設定できます。 [37] 例えば、標準的な 教師あり学習 を使用します。
共分散が設定された後、フィルタの性能、すなわち状態推定品質の向上が可能かどうかを評価することが有用である。カルマンフィルタが最適に機能する場合、イノベーション系列(出力予測誤差)は白色ノイズとなるため、 イノベーション の白色性特性がフィルタの性能を測る指標となる。この目的のためには、いくつかの異なる手法が利用可能である。 [39] ノイズ項が非ガウス分布する場合、確率不等式や大規模サンプル理論を用いたフィルタ推定値の性能評価手法が文献で知られている。 [40] [41]
アプリケーション例、技術 真実
フィルタリングされたプロセス
観察
摩擦のない直線レール上を走るトラックを考えてみましょう。トラックは最初、位置0で静止していますが、制御不能なランダムな力によって左右に揺さぶられます。トラックの位置はΔt秒ごとに測定します が、これらの測定値は不正確です。そこで、トラックの位置と 速度 のモデルを維持したいと考えています 。ここでは、カルマンフィルタを作成するためのモデルをどのように導出するかを示します。
は定数なので 、時間インデックスは削除されます。 F , H , R , Q {\displaystyle \mathbf {F} ,\mathbf {H} ,\mathbf {R} ,\mathbf {Q} }
トラックの位置と速度は線形状態空間で記述される。
x k = [ x x ˙ ] {\displaystyle \mathbf {x} _{k}={\begin{bmatrix}x\\{\dot {x}}\end{bmatrix}}} ここで 、 は速度、つまり時間に対する位置の微分です。 x ˙ {\displaystyle {\dot {x}}}
( k − 1)から k までの時間ステップにおいて、制御されていない力によって平均0、標準偏差 σ a の正規分布 に従う 一定の加速度 a k が生じると仮定する 。 ニュートンの運動の法則 から、次の式が成り立つ
。
x k = F x k − 1 + G a k {\displaystyle \mathbf {x} _{k}=\mathbf {F} \mathbf {x} _{k-1}+\mathbf {G} a_{k}} (既知の制御入力がないので項は ありません。代わりに、 kは 未知 の入力の効果であり、 その効果を状態ベクトルに適用します)ここで B u {\displaystyle \mathbf {B} u} G {\displaystyle \mathbf {G} }
F = [ 1 Δ t 0 1 ] G = [ 1 2 Δ t 2 Δ t ] {\displaystyle {\begin{aligned}\mathbf {F} &={\begin{bmatrix}1&\Delta t\\0&1\end{bmatrix}}\\[4pt]\mathbf {G} &={\begin{bmatrix}{\frac {1}{2}}{\Delta t}^{2}\\[6pt]\Delta t\end{bmatrix}}\end{aligned}}} となることによって
x k = F x k − 1 + w k {\displaystyle \mathbf {x} _{k}=\mathbf {F} \mathbf {x} _{k-1}+\mathbf {w} _{k}} どこ
w k ∼ N ( 0 , Q ) Q = G G T σ a 2 = [ 1 4 Δ t 4 1 2 Δ t 3 1 2 Δ t 3 Δ t 2 ] σ a 2 . {\displaystyle {\begin{aligned}\mathbf {w} _{k}&\sim N(0,\mathbf {Q} )\\\mathbf {Q} &=\mathbf {G} \mathbf {G} ^{\textsf {T}}\sigma _{a}^{2}={\begin{bmatrix}{\frac {1}{4}}{\Delta t}^{4}&{\frac {1}{2}}{\Delta t}^{3}\\[6pt]{\frac {1}{2}}{\Delta t}^{3}&{\Delta t}^{2}\end{bmatrix}}\sigma _{a}^{2}.\end{aligned}}} 行列は フルランクではない( ならばランク1である )。したがって、分布は 絶対連続ではなく、 確率密度関数を持たない 。これを、明示的に退化した分布を避けて表現する別の方法は、次のように表される。 Q {\displaystyle \mathbf {Q} } Δ t ≠ 0 {\displaystyle \Delta t\neq 0} N ( 0 , Q ) {\displaystyle N(0,\mathbf {Q} )}
w k ∼ G ⋅ N ( 0 , σ a 2 ) . {\displaystyle \mathbf {w} _{k}\sim \mathbf {G} \cdot N\left(0,\sigma _{a}^{2}\right).} 各時間位相において、トラックの真の位置のノイズを含む測定が行われます。測定ノイズ v k も平均0、標準偏差σ z の正規分布に従うと仮定します 。
z k = H x k + v k {\displaystyle \mathbf {z} _{k}=\mathbf {Hx} _{k}+\mathbf {v} _{k}} どこ
H = [ 1 0 ] {\displaystyle \mathbf {H} ={\begin{bmatrix}1&0\end{bmatrix}}} そして
R = E [ v k v k T ] = [ σ z 2 ] {\displaystyle \mathbf {R} =\mathrm {E} \left[\mathbf {v} _{k}\mathbf {v} _{k}^{\textsf {T}}\right]={\begin{bmatrix}\sigma _{z}^{2}\end{bmatrix}}} トラックの初期始動状態は完全に正確にわかっているので、初期化します
x ^ 0 ∣ 0 = [ 0 0 ] {\displaystyle {\hat {\mathbf {x} }}_{0\mid 0}={\begin{bmatrix}0\\0\end{bmatrix}}} フィルタに正確な位置と速度がわかっていることを伝えるために、ゼロ共分散行列を与えます。
P 0 ∣ 0 = [ 0 0 0 0 ] {\displaystyle \mathbf {P} _{0\mid 0}={\begin{bmatrix}0&0\\0&0\end{bmatrix}}} 初期位置と速度が完全にわかっていない場合、共分散行列は対角線上に適切な分散で初期化する必要があります。
P 0 ∣ 0 = [ σ x 2 0 0 σ x ˙ 2 ] {\displaystyle \mathbf {P} _{0\mid 0}={\begin{bmatrix}\sigma _{x}^{2}&0\\0&\sigma _{\dot {x}}^{2}\end{bmatrix}}} すると、フィルターはモデル内にすでに存在する情報よりも、最初の測定値からの情報を優先するようになります。
簡単のため、制御入力を と仮定します 。すると、カルマンフィルタは次のように記述できます。 u k = 0 {\displaystyle \mathbf {u} _{k}=\mathbf {0} }
x ^ k ∣ k = F k x ^ k − 1 ∣ k − 1 + K k [ z k − H k F k x ^ k − 1 ∣ k − 1 ] . {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}=\mathbf {F} _{k}{\hat {\mathbf {x} }}_{k-1\mid k-1}+\mathbf {K} _{k}[\mathbf {z} _{k}-\mathbf {H} _{k}\mathbf {F} _{k}{\hat {\mathbf {x} }}_{k-1\mid k-1}].} 非ゼロの制御入力を含めた場合にも、同様の式が成り立ちます。ゲイン行列 と共分散行列は、 測定値とは独立して変化します 。以上から、行列を更新するために必要な4つの式は以下のとおりです。 K k {\displaystyle \mathbf {K} _{k}} P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} z k {\displaystyle \mathbf {z} _{k}}
P k ∣ k − 1 = F k P k − 1 ∣ k − 1 F k T + Q k , S k = H k P k ∣ k − 1 H k T + R k , K k = P k ∣ k − 1 H k T S k − 1 , P k | k = ( I − K k H k ) P k | k − 1 . {\displaystyle {\begin{aligned}\mathbf {P} _{k\mid k-1}&=\mathbf {F} _{k}\mathbf {P} _{k-1\mid k-1}\mathbf {F} _{k}^{\textsf {T}}+\mathbf {Q} _{k},\\\mathbf {S} _{k}&=\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k},\\\mathbf {K} _{k}&=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1},\\\mathbf {P} _{k|k}&=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k|k-1}.\end{aligned}}} これらはモデルのみに依存し、測定値には依存しないため、オフラインで計算できます。 ゲイン行列の漸近 行列への収束は、 Walrand と Dimakis で確立された条件に適用されます。 [42] 級数が収束する場合、 プラントのノイズがゼロでないと仮定すると、 漸近 に指数的に収束します。 [43] 最近の解析では、この収束の 速度と性質 には、 で評価された上記のリカッチ写像のヤコビアンの固有構造に応じて、振動成分を含む複数の等しいモードが含まれる可能性があることが示されています 。 [44] および の条件で、 上記の移動中のトラックの例では 、シミュレーションは 反復で収束を示します。 K k {\displaystyle \mathbf {K} _{k}} K ∞ {\displaystyle \mathbf {K} _{\infty }} P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} P ∞ {\displaystyle \mathbf {P} _{\infty }} P ∞ {\displaystyle \mathbf {P} _{\infty }} Δ t = 1 {\displaystyle \Delta t=1} σ a 2 = σ z 2 = σ x 2 = σ x ˙ 2 = 1 {\displaystyle \sigma _{a}^{2}=\sigma _{z}^{2}=\sigma _{x}^{2}=\sigma _{\dot {x}}^{2}=1} 10 {\displaystyle 10}
漸近ゲインを使用し、および が から独立している と仮定すると 、カルマンフィルタは 線形時間不変 フィルタになります。 H k {\displaystyle \mathbf {H} _{k}} F k {\displaystyle \mathbf {F} _{k}} k {\displaystyle k}
x ^ k = F x ^ k − 1 + K ∞ [ z k − H F x ^ k − 1 ] . {\displaystyle {\hat {\mathbf {x} }}_{k}=\mathbf {F} {\hat {\mathbf {x} }}_{k-1}+\mathbf {K} _{\infty }[\mathbf {z} _{k}-\mathbf {H} \mathbf {F} {\hat {\mathbf {x} }}_{k-1}].} 漸近的ゲイン が存在する場合、 漸近的状態共分散に対する次の離散 リカッチ方程式を 解くことによって計算できます。 [42] K ∞ {\displaystyle \mathbf {K} _{\infty }} P ∞ {\displaystyle \mathbf {P} _{\infty }}
P ∞ = F ( P ∞ − P ∞ H T ( H P ∞ H T + R ) − 1 H P ∞ ) F T + Q . {\displaystyle \mathbf {P} _{\infty }=\mathbf {F} \left(\mathbf {P} _{\infty }-\mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\left(\mathbf {H} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}+\mathbf {R} \right)^{-1}\mathbf {H} \mathbf {P} _{\infty }\right)\mathbf {F} ^{\textsf {T}}+\mathbf {Q} .} その後、漸近ゲインは前と同じように計算されます。
K ∞ = P ∞ H T ( R + H P ∞ H T ) − 1 . {\displaystyle \mathbf {K} _{\infty }=\mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\left(\mathbf {R} +\mathbf {H} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\right)^{-1}.} さらに、制御理論でより一般的に使用される漸近カルマンフィルタの形式は次のように与えられる。
x ^ k + 1 = F x ^ k + B u k + K ¯ ∞ [ z k − H x ^ k ] , {\displaystyle {\displaystyle {\hat {\mathbf {x} }}_{k+1}=\mathbf {F} {\hat {\mathbf {x} }}_{k}+\mathbf {B} \mathbf {u} _{k}+\mathbf {\overline {K}} _{\infty }[\mathbf {z} _{k}-\mathbf {H} {\hat {\mathbf {x} }}_{k}],}} どこ
K ¯ ∞ = F P ∞ H T ( R + H P ∞ H T ) − 1 . {\displaystyle {\overline {\mathbf {K} }}_{\infty }=\mathbf {F} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\left(\mathbf {R} +\mathbf {H} \mathbf {P} _{\infty }\mathbf {H} ^{\textsf {T}}\right)^{-1}.} これにより、次のような推定値が得られる。
x ^ k + 1 = ( F − K ¯ ∞ H ) x ^ k + B u k + K ¯ ∞ z k , {\displaystyle {\displaystyle {\hat {\mathbf {x} }}_{k+1}=(\mathbf {F} -{\overline {\mathbf {K} }}_{\infty }\mathbf {H} ){\hat {\mathbf {x} }}_{k}+\mathbf {B} \mathbf {u} _{k}+\mathbf {\overline {K}} _{\infty }\mathbf {z} _{k},}}
派生 カルマンフィルタは、過去のデータに基づいて 一般化された最小二乗 法として導出することができる。 [45]
導出 事後的に 共分散行列を推定する 誤差共分散 P k | k の不変量を上記のように
して始めると、
P k ∣ k = cov ( x k − x ^ k ∣ k ) {\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)} の定義に代用する x ^ k ∣ k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}}
P k ∣ k = cov [ x k − ( x ^ k ∣ k − 1 + K k y ~ k ) ] {\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left[\mathbf {x} _{k}-\left({\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}{\tilde {\mathbf {y} }}_{k}\right)\right]} 代替 y ~ k {\displaystyle {\tilde {\mathbf {y} }}_{k}}
P k ∣ k = cov ( x k − [ x ^ k ∣ k − 1 + K k ( z k − H k x ^ k ∣ k − 1 ) ] ) {\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left(\mathbf {x} _{k}-\left[{\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\left(\mathbf {z} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}\right)\right]\right)} そして z k {\displaystyle \mathbf {z} _{k}}
P k ∣ k = cov ( x k − [ x ^ k ∣ k − 1 + K k ( H k x k + v k − H k x ^ k ∣ k − 1 ) ] ) {\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left(\mathbf {x} _{k}-\left[{\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\left(\mathbf {H} _{k}\mathbf {x} _{k}+\mathbf {v} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}\right)\right]\right)} そして、誤差ベクトルを集めると、
P k ∣ k = cov [ ( I − K k H k ) ( x k − x ^ k ∣ k − 1 ) − K k v k ] {\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left[\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)-\mathbf {K} _{k}\mathbf {v} _{k}\right]} 測定誤差 v k は他の項と相関がないので、これは
P k ∣ k = cov [ ( I − K k H k ) ( x k − x ^ k ∣ k − 1 ) ] + cov [ K k v k ] {\displaystyle \mathbf {P} _{k\mid k}=\operatorname {cov} \left[\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\right]+\operatorname {cov} \left[\mathbf {K} _{k}\mathbf {v} _{k}\right]} ベクトル共分散 の性質により、 これは
P k ∣ k = ( I − K k H k ) cov ( x k − x ^ k ∣ k − 1 ) ( I − K k H k ) T + K k cov ( v k ) K k T {\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\operatorname {cov} \left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\operatorname {cov} \left(\mathbf {v} _{k}\right)\mathbf {K} _{k}^{\textsf {T}}} これはP k | k −1 の不変量と R k の定義を用いる と次のようになる。
P k ∣ k = ( I − K k H k ) P k ∣ k − 1 ( I − K k H k ) T + K k R k K k T {\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}\mathbf {K} _{k}^{\textsf {T}}} この式(共分散更新方程式のジョセフ型 とも呼ばれる)は、 K k の任意の値に対して有効です 。K k が最適なカルマンゲインである場合 、 この 式は以下のようにさらに簡略化できます。
カルマンゲイン導出 カルマンフィルタは 最小平均二乗誤差(MMSE)推定器である。 事後 状態推定 における誤差は
x k − x ^ k ∣ k {\displaystyle \mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}} このベクトルの大きさの二乗の期待値を最小化することを目指します。これは、 事後 推定 共分散 行列の トレースを 最小化することと等価です 。上の式の項を展開してまとめると、次の式が得られます。 E [ ‖ x k − x ^ k | k ‖ 2 ] {\displaystyle \operatorname {E} \left[\left\|\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k|k}\right\|^{2}\right]} P k | k {\displaystyle \mathbf {P} _{k|k}}
P k ∣ k = P k ∣ k − 1 − K k H k P k ∣ k − 1 − P k ∣ k − 1 H k T K k T + K k ( H k P k ∣ k − 1 H k T + R k ) K k T = P k ∣ k − 1 − K k H k P k ∣ k − 1 − P k ∣ k − 1 H k T K k T + K k S k K k T {\displaystyle {\begin{aligned}\mathbf {P} _{k\mid k}&=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}+\mathbf {K} _{k}\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k}\right)\mathbf {K} _{k}^{\textsf {T}}\\[6pt]&=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}+\mathbf {K} _{k}\mathbf {S} _{k}\mathbf {K} _{k}^{\textsf {T}}\end{aligned}}} トレースは、 ゲイン行列に対するその 行列微分がゼロのときに最小となる。 勾配行列の規則 と関係する行列の対称性を用いると、次の式が得られる。
∂ tr ( P k ∣ k ) ∂ K k = − 2 ( H k P k ∣ k − 1 ) T + 2 K k S k = 0. {\displaystyle {\frac {\partial \;\operatorname {tr} (\mathbf {P} _{k\mid k})}{\partial \;\mathbf {K} _{k}}}=-2\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\right)^{\textsf {T}}+2\mathbf {K} _{k}\mathbf {S} _{k}=0.} これをK k について解くと、 カルマンゲインが得られます。
K k S k = ( H k P k ∣ k − 1 ) T = P k ∣ k − 1 H k T ⇒ K k = P k ∣ k − 1 H k T S k − 1 {\displaystyle {\begin{aligned}\mathbf {K} _{k}\mathbf {S} _{k}&=\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\right)^{\textsf {T}}=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\\\Rightarrow \mathbf {K} _{k}&=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}\end{aligned}}} このゲインは最適カルマン ゲイン と呼ばれ 、使用すると MMSE 推定値が得られるゲインです。
の簡素化 事後的に 誤差共分散式 事後 誤差共分散を計算する式は、 カルマンゲインが上記で導出した最適値と等しい場合に簡略化できます。右辺のカルマンゲイン式の両辺に S k K k T を乗じると、次の式が
得られます。
K k S k K k T = P k ∣ k − 1 H k T K k T {\displaystyle \mathbf {K} _{k}\mathbf {S} _{k}\mathbf {K} _{k}^{\textsf {T}}=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}} 事後 誤差共分散の拡張式に戻ると 、
P k ∣ k = P k ∣ k − 1 − K k H k P k ∣ k − 1 − P k ∣ k − 1 H k T K k T + K k S k K k T {\displaystyle \mathbf {P} _{k\mid k}=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\mathbf {K} _{k}^{\textsf {T}}+\mathbf {K} _{k}\mathbf {S} _{k}\mathbf {K} _{k}^{\textsf {T}}} 最後の2つの項は打ち消されて、
P k ∣ k = P k ∣ k − 1 − K k H k P k ∣ k − 1 = ( I − K k H k ) P k ∣ k − 1 {\displaystyle \mathbf {P} _{k\mid k}=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}=(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k})\mathbf {P} _{k\mid k-1}} この式は計算コストが低いため、実際にはほぼ常に使用されていますが、最適ゲインの場合のみ有効です。演算精度が異常に低く 数値安定性 に問題がある場合、または意図的に最適ではないカルマンゲインが使用される場合は、この簡略化は適用できません。その場合は、上記で導出した 事後 誤差共分散式(ジョセフ型)を使用する必要があります。
感度分析 カルマンフィルタ方程式は、状態 とその誤差共分散の推定値を 再帰的に与える。推定値とその品質は、推定器への入力として与えられるシステムパラメータとノイズ統計量に依存する。本節では、フィルタへの統計入力における不確実性の影響を解析する。 [46] 信頼できる統計量やノイズ共分散行列と 真の値がない場合 、式 x ^ k ∣ k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}} P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} Q k {\displaystyle \mathbf {Q} _{k}} R k {\displaystyle \mathbf {R} _{k}}
P k ∣ k = ( I − K k H k ) P k ∣ k − 1 ( I − K k H k ) T + K k R k K k T {\displaystyle \mathbf {P} _{k\mid k}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}\mathbf {K} _{k}^{\textsf {T}}} は実際の誤差共分散を提供しなくなります。言い換えれば、 。ほとんどのリアルタイムアプリケーションでは、カルマンフィルタの設計に使用される共分散行列は、実際の(真の)ノイズ共分散行列とは異なります。 [ 要出典 ] この感度分析は、フィルタへの入力として供給されるノイズ共分散と システム行列が誤っている場合の推定誤差共分散の挙動を記述します 。したがって、感度分析は、推定量への誤った統計的およびパラメトリック入力に対する推定量の堅牢性(または感度)を記述します。 P k ∣ k ≠ E [ ( x k − x ^ k ∣ k ) ( x k − x ^ k ∣ k ) T ] {\displaystyle \mathbf {P} _{k\mid k}\neq E\left[\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)^{\textsf {T}}\right]} F k {\displaystyle \mathbf {F} _{k}} H k {\displaystyle \mathbf {H} _{k}}
この議論は、統計的不確実性がある場合の誤差感度分析に限定されます。ここで、実際のノイズ共分散はそれぞれ および で表され 、 推定値で使用される設計値は それぞれ および です。実際の誤差共分散は および で表され 、 カルマンフィルタによって計算される値はリカッチ変数と呼ばれます。 および のとき 、 これは を意味します 。 を用いて実際の誤差共分散を計算する際に 、 を および に代入し、 および という事実を用いて 、 について以下の再帰方程式が得られます 。 Q k a {\displaystyle \mathbf {Q} _{k}^{a}} R k a {\displaystyle \mathbf {R} _{k}^{a}} Q k {\displaystyle \mathbf {Q} _{k}} R k {\displaystyle \mathbf {R} _{k}} P k ∣ k a {\displaystyle \mathbf {P} _{k\mid k}^{a}} P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} Q k ≡ Q k a {\displaystyle \mathbf {Q} _{k}\equiv \mathbf {Q} _{k}^{a}} R k ≡ R k a {\displaystyle \mathbf {R} _{k}\equiv \mathbf {R} _{k}^{a}} P k ∣ k = P k ∣ k a {\displaystyle \mathbf {P} _{k\mid k}=\mathbf {P} _{k\mid k}^{a}} P k ∣ k a = E [ ( x k − x ^ k ∣ k ) ( x k − x ^ k ∣ k ) T ] {\displaystyle \mathbf {P} _{k\mid k}^{a}=E\left[\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)\left(\mathbf {x} _{k}-{\hat {\mathbf {x} }}_{k\mid k}\right)^{\textsf {T}}\right]} x ^ k ∣ k {\displaystyle {\widehat {\mathbf {x} }}_{k\mid k}} E [ w k w k T ] = Q k a {\displaystyle E\left[\mathbf {w} _{k}\mathbf {w} _{k}^{\textsf {T}}\right]=\mathbf {Q} _{k}^{a}} E [ v k v k T ] = R k a {\displaystyle E\left[\mathbf {v} _{k}\mathbf {v} _{k}^{\textsf {T}}\right]=\mathbf {R} _{k}^{a}} P k ∣ k a {\displaystyle \mathbf {P} _{k\mid k}^{a}}
P k ∣ k − 1 a = F k P k − 1 ∣ k − 1 a F k T + Q k a {\displaystyle \mathbf {P} _{k\mid k-1}^{a}=\mathbf {F} _{k}\mathbf {P} _{k-1\mid k-1}^{a}\mathbf {F} _{k}^{\textsf {T}}+\mathbf {Q} _{k}^{a}} そして
P k ∣ k a = ( I − K k H k ) P k ∣ k − 1 a ( I − K k H k ) T + K k R k a K k T {\displaystyle \mathbf {P} _{k\mid k}^{a}=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}^{a}\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)^{\textsf {T}}+\mathbf {K} _{k}\mathbf {R} _{k}^{a}\mathbf {K} _{k}^{\textsf {T}}} を計算する際 、フィルタは設計上、暗黙的におよびを仮定します 。 およびの 再帰式は、それぞれ 設計値 およびの代わりに および が存在する点を除いて同一です 。カルマンフィルタシステムの堅牢性を分析するための研究が行われています。 [47] P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} E [ w k w k T ] = Q k {\displaystyle E\left[\mathbf {w} _{k}\mathbf {w} _{k}^{\textsf {T}}\right]=\mathbf {Q} _{k}} E [ v k v k T ] = R k {\displaystyle E\left[\mathbf {v} _{k}\mathbf {v} _{k}^{\textsf {T}}\right]=\mathbf {R} _{k}} P k ∣ k a {\displaystyle \mathbf {P} _{k\mid k}^{a}} P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}} Q k a {\displaystyle \mathbf {Q} _{k}^{a}} R k a {\displaystyle \mathbf {R} _{k}^{a}} Q k {\displaystyle \mathbf {Q} _{k}} R k {\displaystyle \mathbf {R} _{k}}
カルマンフィルタの問題の一つは、 数値安定性 です。プロセスノイズ共分散 Q k が小さい場合、丸め誤差により、状態共分散行列 Pの小さな正の固有値が負の数として計算されることがよくあります。これにより、 Pの真の形は 正定値 であるにもかかわらず、 数値表現は 不定 値になります。
正定値行列は、特異でない 下 三角行列 S とその 転置行列 の積に因数分解できるという特性があります : P = S · S T 。因数 Sは 、コレスキー分解 アルゴリズムを使用して効率的に計算できます 。共分散行列 P のこの積形式は対称であることが保証されており、すべての 1 <= k <= n に対して、 k 番目の対角要素 P kkは、 S の k 番目の行の ユークリッド ノルム の 2乗に等しく 、これは必ず正になります。 コレスキー分解 アルゴリズムに含まれる 平方根 演算の多くを回避し、望ましい数値特性を保持する同等の形式は、UD 分解形式 P = U · D · U T です。ここで、 U は 単位三角行列 (対角要素が単位)、 D は対角行列です。
UD分解と三角分解では、UD分解の方がストレージ使用量は同じで、計算量はやや少なく、最も一般的に使用されている。(相対的な効率性に関する初期の文献はやや誤解を招くもので、平方根は除算よりもはるかに時間がかかると想定されていたが [48] : 69、21 世紀のコンピュータでは、平方根と除算のコストはわずかに高くなるだけである。)
因数分解された形式でのカルマン予測と更新ステップのための効率的なアルゴリズムは、GJ BiermanとCL Thorntonによって開発された。 [48] [49]
イノベーション共分散行列 S kの L · D · LT 分解 は 、 別の種類の数値的に効率的で堅牢な平方根フィルタの基礎となります。 [50] アルゴリズムは、線形代数パッケージ ( LAPACK ) に実装されている LU 分解から始まります。これらの結果は 、 対称非特異行列に対して Golub と Van Loan (アルゴリズム 4.1.2) によって示された方法を使用して、 L · D · LT 構造にさらに因数分解されます。 [51] 特異共分散行列はどれも、 最初の対角パーティションが 非特異 で 条件が整った になるように ピボットされます。ピボット アルゴリズムでは、 y k の補助観測に関連付けられている
観測状態変数 H k · x k|k-1 に直接対応するイノベーション共分散行列の部分を保持する必要があります 。 l · d · l t 平方根フィルタでは、 観測ベクトルの 直交化が必要です。 [49] [50] これは、ハイアム(2002、p.263)の方法2を使用して、補助変数の共分散行列の逆平方根で行うことができます。 [52]
カルマンフィルタは、 中央処理装置 (CPU)上の逐次データ処理には効率的ですが、元の形式では グラフィックス処理装置 (GPU)などの並列アーキテクチャでは非効率的です。しかし、SärkkäとGarcía-Fernández(2021)の定式化を用いて、フィルタ更新ルーチンを結合演算子で表現することが可能です。 [53] そして、フィルタ解はGPU上で効率的に実装できる プレフィックスサム アルゴリズムを用いて取得できます。 [54] これにより、 計算複雑度は 時間ステップ数で から に削減されます 。 O ( N ) {\displaystyle O(N)} O ( log ( N ) ) {\displaystyle O(\log(N))}
再帰ベイズ推定との関係 カルマンフィルタは、最も単純な 動的ベイジアンネットワークの 一つとして表現することができます。カルマンフィルタは、入力される測定値と数学的プロセスモデルを用いて、時間の経過に伴って再帰的に状態の真の値の推定値を計算し、それに基づいてベイジアンネットワークを構築します。同様に、再帰的ベイジアン推定は、入力される測定値と数学的プロセスモデルを用いて、時間の経過に伴って再帰的に未知の 確率密度関数 (PDF)の 推定値を 計算し、それに基づいて ベイジアンネットワークを 構築します。 [55]
再帰ベイズ推定では、真の状態は観測されない マルコフ過程 であると想定され、測定値は隠れマルコフモデル (HMM) の観測された状態となります。
隠れマルコフモデル マルコフ仮定により、真の状態は、直前の状態が与えられれば、それ以前のすべての状態から条件付きで独立しています。
p ( x k ∣ x 0 , … , x k − 1 ) = p ( x k ∣ x k − 1 ) {\displaystyle p(\mathbf {x} _{k}\mid \mathbf {x} _{0},\dots ,\mathbf {x} _{k-1})=p(\mathbf {x} _{k}\mid \mathbf {x} _{k-1})} 同様に、 k 番目のタイムステップでの測定は 現在の状態のみに依存し、現在の状態が与えられた場合、他のすべての状態からは条件付きで独立しています。
p ( z k ∣ x 0 , … , x k ) = p ( z k ∣ x k ) {\displaystyle p(\mathbf {z} _{k}\mid \mathbf {x} _{0},\dots ,\mathbf {x} _{k})=p(\mathbf {z} _{k}\mid \mathbf {x} _{k})} これらの仮定を使用すると、隠れマルコフモデルのすべての状態にわたる確率分布は次のように簡単に記述できます。
p ( x 0 , … , x k , z 1 , … , z k ) = p ( x 0 ) ∏ i = 1 k p ( z i ∣ x i ) p ( x i ∣ x i − 1 ) {\displaystyle p\left(\mathbf {x} _{0},\dots ,\mathbf {x} _{k},\mathbf {z} _{1},\dots ,\mathbf {z} _{k}\right)=p\left(\mathbf {x} _{0}\right)\prod _{i=1}^{k}p\left(\mathbf {z} _{i}\mid \mathbf {x} _{i}\right)p\left(\mathbf {x} _{i}\mid \mathbf {x} _{i-1}\right)} しかし、カルマンフィルタを用いて状態 x を推定する場合、対象となる確率分布は、現在のタイムステップまでの測定結果に基づいて、現在の状態に関連付けられた分布となります。これは、以前の状態を周辺化して除外し、測定セットの確率で割ることによって実現されます。
これにより、 カルマンフィルタの 予測 フェーズと 更新フェーズは確率論的に記述されます。予測状態に関連付けられた確率分布は、( k − 1) 番目のタイムステップから k 番目のタイムステップへの遷移に関連付けられた確率分布と、前の状態に関連付けられた確率分布の積を、すべての可能な範囲にわたって和( 積分)したものになります 。 x k − 1 {\displaystyle x_{k-1}}
p ( x k ∣ Z k − 1 ) = ∫ p ( x k ∣ x k − 1 ) p ( x k − 1 ∣ Z k − 1 ) d x k − 1 {\displaystyle p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k-1}\right)=\int p\left(\mathbf {x} _{k}\mid \mathbf {x} _{k-1}\right)p\left(\mathbf {x} _{k-1}\mid \mathbf {Z} _{k-1}\right)\,d\mathbf {x} _{k-1}} 時刻t までの測定セットアップ は
Z t = { z 1 , … , z t } {\displaystyle \mathbf {Z} _{t}=\left\{\mathbf {z} _{1},\dots ,\mathbf {z} _{t}\right\}} 更新の確率分布は、測定尤度と予測状態の積に比例します。
p ( x k ∣ Z k ) = p ( z k ∣ x k ) p ( x k ∣ Z k − 1 ) p ( z k ∣ Z k − 1 ) {\displaystyle p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k}\right)={\frac {p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k-1}\right)}{p\left(\mathbf {z} _{k}\mid \mathbf {Z} _{k-1}\right)}}} 分母
p ( z k ∣ Z k − 1 ) = ∫ p ( z k ∣ x k ) p ( x k ∣ Z k − 1 ) d x k {\displaystyle p\left(\mathbf {z} _{k}\mid \mathbf {Z} _{k-1}\right)=\int p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)p\left(\mathbf {x} _{k}\mid \mathbf {Z} _{k-1}\right)\,d\mathbf {x} _{k}} 正規化項です。
残りの確率密度関数は
p ( x k ∣ x k − 1 ) = N ( F k x k − 1 , Q k ) p ( z k ∣ x k ) = N ( H k x k , R k ) p ( x k − 1 ∣ Z k − 1 ) = N ( x ^ k − 1 , P k − 1 ) {\displaystyle {\begin{aligned}p\left(\mathbf {x} _{k}\mid \mathbf {x} _{k-1}\right)&={\mathcal {N}}\left(\mathbf {F} _{k}\mathbf {x} _{k-1},\mathbf {Q} _{k}\right)\\p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)&={\mathcal {N}}\left(\mathbf {H} _{k}\mathbf {x} _{k},\mathbf {R} _{k}\right)\\p\left(\mathbf {x} _{k-1}\mid \mathbf {Z} _{k-1}\right)&={\mathcal {N}}\left({\hat {\mathbf {x} }}_{k-1},\mathbf {P} _{k-1}\right)\end{aligned}}} 前のタイムステップにおけるPDFは、推定された状態と共分散であると帰納的に仮定されます。これは、最適な推定器であるカルマンフィルタが測定値を最大限に活用するため、 測定値が与えられた場合のPDFが カルマンフィルタの推定値となるため、正当化されます。 x k {\displaystyle \mathbf {x} _{k}} Z k {\displaystyle \mathbf {Z} _{k}}
周辺尤度 上述の再帰的ベイズ解釈に関連して、カルマンフィルタは 生成モデル 、すなわちランダムな観測値のストリーム z = ( z 0 , z 1 , z 2 , ...)を 生成する プロセスとして捉えることができる 。具体的には、このプロセスは
ガウス事前分布から 隠れ状態をサンプリングします 。 x 0 {\displaystyle \mathbf {x} _{0}} p ( x 0 ) = N ( x ^ 0 ∣ 0 , P 0 ∣ 0 ) {\displaystyle p\left(\mathbf {x} _{0}\right)={\mathcal {N}}\left({\hat {\mathbf {x} }}_{0\mid 0},\mathbf {P} _{0\mid 0}\right)} 観測モデルから 観測をサンプリングします 。 z 0 {\displaystyle \mathbf {z} _{0}} p ( z 0 ∣ x 0 ) = N ( H 0 x 0 , R 0 ) {\displaystyle p\left(\mathbf {z} _{0}\mid \mathbf {x} _{0}\right)={\mathcal {N}}\left(\mathbf {H} _{0}\mathbf {x} _{0},\mathbf {R} _{0}\right)} については 、 k = 1 , 2 , 3 , … {\displaystyle k=1,2,3,\ldots } 遷移モデルから 次の隠れ状態をサンプリングする x k {\displaystyle \mathbf {x} _{k}} p ( x k ∣ x k − 1 ) = N ( F k x k − 1 + B k u k , Q k ) . {\displaystyle p\left(\mathbf {x} _{k}\mid \mathbf {x} _{k-1}\right)={\mathcal {N}}\left(\mathbf {F} _{k}\mathbf {x} _{k-1}+\mathbf {B} _{k}\mathbf {u} _{k},\mathbf {Q} _{k}\right).} 観測モデルから 観測をサンプリングする z k {\displaystyle \mathbf {z} _{k}} p ( z k ∣ x k ) = N ( H k x k , R k ) . {\displaystyle p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)={\mathcal {N}}\left(\mathbf {H} _{k}\mathbf {x} _{k},\mathbf {R} _{k}\right).} このプロセスは、 離散状態と観測値がガウス分布からサンプリングされた連続変数に置き換えられることを除いて、 隠れマルコフモデルと同一の構造を持ちます。
一部のアプリケーションでは、 特定のパラメータセット(事前分布、遷移モデルと観測モデル、制御入力)を持つカルマンフィルタが特定の観測信号を生成する 確率を計算することが有用です。この確率は、隠れ状態変数の値を積分(周辺化)するため、観測信号のみを用いて計算できるため、 周辺尤度と呼ばれます。周辺尤度は、異なるパラメータの選択を評価したり、 ベイズモデル比較 を用いてカルマンフィルタを他のモデルと比較したりする際に有用です 。
再帰フィルタリング計算の副作用として周辺尤度を計算するのは簡単です。 連鎖律 により、尤度は各観測値の確率と過去の観測値の積として因数分解できます。
p ( z ) = ∏ k = 0 T p ( z k ∣ z k − 1 , … , z 0 ) {\displaystyle p(\mathbf {z} )=\prod _{k=0}^{T}p\left(\mathbf {z} _{k}\mid \mathbf {z} _{k-1},\ldots ,\mathbf {z} _{0}\right)} 、 カルマンフィルタはマルコフ過程を記述するため、過去の観測からのすべての関連情報は現在の状態推定値に含まれる。 したがって、周辺尤度は次のように与えられる。 x ^ k ∣ k − 1 , P k ∣ k − 1 . {\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {P} _{k\mid k-1}.}
p ( z ) = ∏ k = 0 T ∫ p ( z k ∣ x k ) p ( x k ∣ z k − 1 , … , z 0 ) d x k = ∏ k = 0 T ∫ N ( z k ; H k x k , R k ) N ( x k ; x ^ k ∣ k − 1 , P k ∣ k − 1 ) d x k = ∏ k = 0 T N ( z k ; H k x ^ k ∣ k − 1 , R k + H k P k ∣ k − 1 H k T ) = ∏ k = 0 T N ( z k ; H k x ^ k ∣ k − 1 , S k ) , {\displaystyle {\begin{aligned}p(\mathbf {z} )&=\prod _{k=0}^{T}\int p\left(\mathbf {z} _{k}\mid \mathbf {x} _{k}\right)p\left(\mathbf {x} _{k}\mid \mathbf {z} _{k-1},\ldots ,\mathbf {z} _{0}\right)d\mathbf {x} _{k}\\&=\prod _{k=0}^{T}\int {\mathcal {N}}\left(\mathbf {z} _{k};\mathbf {H} _{k}\mathbf {x} _{k},\mathbf {R} _{k}\right){\mathcal {N}}\left(\mathbf {x} _{k};{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {P} _{k\mid k-1}\right)d\mathbf {x} _{k}\\&=\prod _{k=0}^{T}{\mathcal {N}}\left(\mathbf {z} _{k};\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {R} _{k}+\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\right)\\&=\prod _{k=0}^{T}{\mathcal {N}}\left(\mathbf {z} _{k};\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {S} _{k}\right),\end{aligned}}} すなわち、ガウス分布の積であり、各ガウス分布は、 現在のフィルタリング分布における1つの観測値 z k の密度に対応する。これは単純な再帰更新として容易に計算できるが、 数値アンダーフローを回避するために、実際の実装では通常、代わりに 対数 周辺尤度 を計算することが望ましい 。慣例を採用すれば 、これは再帰更新規則によって実行できる。 H k x ^ k ∣ k − 1 , S k {\displaystyle \mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1},\mathbf {S} _{k}} ℓ = log p ( z ) {\displaystyle \ell =\log p(\mathbf {z} )} ℓ ( − 1 ) = 0 {\displaystyle \ell ^{(-1)}=0}
ℓ ( k ) = ℓ ( k − 1 ) − 1 2 ( y ~ k T S k − 1 y ~ k + log | S k | + d y log 2 π ) , {\displaystyle \ell ^{(k)}=\ell ^{(k-1)}-{\frac {1}{2}}\left({\tilde {\mathbf {y} }}_{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}{\tilde {\mathbf {y} }}_{k}+\log \left|\mathbf {S} _{k}\right|+d_{y}\log 2\pi \right),} ここで 、測定ベクトルの次元である。 [56] d y {\displaystyle d_{y}}
このような観測の (対数) 尤度 (フィルター パラメーターが与えられた場合) が使用される重要なアプリケーションは、マルチターゲット トラッキングです。たとえば、観測のストリームが入力であるが、シーン内にいくつのオブジェクトがあるかが不明である (または、オブジェクトの数はわかっているが 1 つより大きい) オブジェクト追跡シナリオを考えてみましょう。このようなシナリオでは、どの観測/測定値がどのオブジェクトによって生成されたかが事前に不明である可能性があります。複数仮説トラッカー (MHT) は通常、異なるトラック関連付け仮説を形成します。ここで、各仮説は、仮説対象オブジェクトに関連付けられた特定のパラメーター セットを持つカルマン フィルター (線形ガウスの場合) と見なすことができます。したがって、検討中のさまざまな仮説の観測の尤度を計算して、最も可能性の高い仮説を見つけることが重要です。
観測ベクトルyの次元が状態空間ベクトル x の次元よりも大きい 場合 、情報フィルタは、予測ステップでより小さな行列を反転する代わりに、カルマンゲイン計算でより大きな行列の反転を回避することができるため、計算時間を節約できます。さらに、情報フィルタは、 通常のカルマンフィルタでは不可能な、に従ってシステム情報を初期化することを可能にします。 [57]情報フィルタ、または逆共分散フィルタでは、推定共分散と推定状態は、それぞれ 情報行列 と 情報 ベクトルに置き換えられます 。これらは次のように定義されます。 I 1 | 0 = P 1 | 0 − 1 = 0 {\displaystyle {I_{1|0}=P_{1|0}^{-1}=0}}
Y k ∣ k = P k ∣ k − 1 y ^ k ∣ k = P k ∣ k − 1 x ^ k ∣ k {\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k}&=\mathbf {P} _{k\mid k}^{-1}\\{\hat {\mathbf {y} }}_{k\mid k}&=\mathbf {P} _{k\mid k}^{-1}{\hat {\mathbf {x} }}_{k\mid k}\end{aligned}}} 同様に、予測共分散と状態には、次のように定義される同等の情報形式があります。
Y k ∣ k − 1 = P k ∣ k − 1 − 1 y ^ k ∣ k − 1 = P k ∣ k − 1 − 1 x ^ k ∣ k − 1 {\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k-1}&=\mathbf {P} _{k\mid k-1}^{-1}\\{\hat {\mathbf {y} }}_{k\mid k-1}&=\mathbf {P} _{k\mid k-1}^{-1}{\hat {\mathbf {x} }}_{k\mid k-1}\end{aligned}}} 測定共分散と測定ベクトルは次のように定義されます。
I k = H k T R k − 1 H k i k = H k T R k − 1 z k {\displaystyle {\begin{aligned}\mathbf {I} _{k}&=\mathbf {H} _{k}^{\textsf {T}}\mathbf {R} _{k}^{-1}\mathbf {H} _{k}\\\mathbf {i} _{k}&=\mathbf {H} _{k}^{\textsf {T}}\mathbf {R} _{k}^{-1}\mathbf {z} _{k}\end{aligned}}} 情報更新にかかる費用は今やわずかなものとなった。 [58]
Y k ∣ k = Y k ∣ k − 1 + I k y ^ k ∣ k = y ^ k ∣ k − 1 + i k {\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k}&=\mathbf {Y} _{k\mid k-1}+\mathbf {I} _{k}\\{\hat {\mathbf {y} }}_{k\mid k}&={\hat {\mathbf {y} }}_{k\mid k-1}+\mathbf {i} _{k}\end{aligned}}} 情報フィルタの主な利点は、情報行列とベクトルを合計するだけで、 N 個の測定値を各時間ステップでフィルタ処理できることです。
Y k ∣ k = Y k ∣ k − 1 + ∑ j = 1 N I k , j y ^ k ∣ k = y ^ k ∣ k − 1 + ∑ j = 1 N i k , j {\displaystyle {\begin{aligned}\mathbf {Y} _{k\mid k}&=\mathbf {Y} _{k\mid k-1}+\sum _{j=1}^{N}\mathbf {I} _{k,j}\\{\hat {\mathbf {y} }}_{k\mid k}&={\hat {\mathbf {y} }}_{k\mid k-1}+\sum _{j=1}^{N}\mathbf {i} _{k,j}\end{aligned}}} 情報フィルタを予測するために、情報行列と情報ベクトルをそれらの状態空間の同等のものに戻すか、あるいは情報空間予測を使用することができる。 [58]
M k = [ F k − 1 ] T Y k − 1 ∣ k − 1 F k − 1 C k = M k [ M k + Q k − 1 ] − 1 L k = I − C k Y k ∣ k − 1 = L k M k + C k Q k − 1 C k T y ^ k ∣ k − 1 = L k [ F k − 1 ] T y ^ k − 1 ∣ k − 1 {\displaystyle {\begin{aligned}\mathbf {M} _{k}&=\left[\mathbf {F} _{k}^{-1}\right]^{\textsf {T}}\mathbf {Y} _{k-1\mid k-1}\mathbf {F} _{k}^{-1}\\\mathbf {C} _{k}&=\mathbf {M} _{k}\left[\mathbf {M} _{k}+\mathbf {Q} _{k}^{-1}\right]^{-1}\\\mathbf {L} _{k}&=\mathbf {I} -\mathbf {C} _{k}\\\mathbf {Y} _{k\mid k-1}&=\mathbf {L} _{k}\mathbf {M} _{k}+\mathbf {C} _{k}\mathbf {Q} _{k}^{-1}\mathbf {C} _{k}^{\textsf {T}}\\{\hat {\mathbf {y} }}_{k\mid k-1}&=\mathbf {L} _{k}\left[\mathbf {F} _{k}^{-1}\right]^{\textsf {T}}{\hat {\mathbf {y} }}_{k-1\mid k-1}\end{aligned}}}
固定ラグスムーザー 最適な固定ラグスムーザは、から まで の測定値を使用して、 与えられた固定ラグに対するの最適推定値を提供します 。 [59] これは、以前の理論を使用して拡張状態を介して導出することができ、フィルタの主な方程式は次のとおりです。 x ^ k − N ∣ k {\displaystyle {\hat {\mathbf {x} }}_{k-N\mid k}} N {\displaystyle N} z 1 {\displaystyle \mathbf {z} _{1}} z k {\displaystyle \mathbf {z} _{k}}
[ x ^ t ∣ t x ^ t − 1 ∣ t ⋮ x ^ t − N + 1 ∣ t ] = [ I 0 ⋮ 0 ] x ^ t ∣ t − 1 + [ 0 … 0 I 0 ⋮ ⋮ ⋱ ⋮ 0 … I ] [ x ^ t − 1 ∣ t − 1 x ^ t − 2 ∣ t − 1 ⋮ x ^ t − N + 1 ∣ t − 1 ] + [ K ( 0 ) K ( 1 ) ⋮ K ( N − 1 ) ] y t ∣ t − 1 {\displaystyle {\begin{bmatrix}{\hat {\mathbf {x} }}_{t\mid t}\\{\hat {\mathbf {x} }}_{t-1\mid t}\\\vdots \\{\hat {\mathbf {x} }}_{t-N+1\mid t}\\\end{bmatrix}}={\begin{bmatrix}\mathbf {I} \\0\\\vdots \\0\\\end{bmatrix}}{\hat {\mathbf {x} }}_{t\mid t-1}+{\begin{bmatrix}0&\ldots &0\\\mathbf {I} &0&\vdots \\\vdots &\ddots &\vdots \\0&\ldots &\mathbf {I} \\\end{bmatrix}}{\begin{bmatrix}{\hat {\mathbf {x} }}_{t-1\mid t-1}\\{\hat {\mathbf {x} }}_{t-2\mid t-1}\\\vdots \\{\hat {\mathbf {x} }}_{t-N+1\mid t-1}\\\end{bmatrix}}+{\begin{bmatrix}\mathbf {K} ^{(0)}\\\mathbf {K} ^{(1)}\\\vdots \\\mathbf {K} ^{(N-1)}\\\end{bmatrix}}\mathbf {y} _{t\mid t-1}} どこ:
x ^ t ∣ t − 1 {\displaystyle {\hat {\mathbf {x} }}_{t\mid t-1}} 標準的なカルマンフィルタによって推定されます。 y t ∣ t − 1 = z t − H x ^ t ∣ t − 1 {\displaystyle \mathbf {y} _{t\mid t-1}=\mathbf {z} _{t}-\mathbf {H} {\hat {\mathbf {x} }}_{t\mid t-1}} 標準カルマンフィルタの推定を考慮して生成されたイノベーションです。 さまざまな は 新しい変数です。つまり、標準のカルマン フィルタには表示されません。 x ^ t − i ∣ t {\displaystyle {\hat {\mathbf {x} }}_{t-i\mid t}} i = 1 , … , N − 1 {\displaystyle i=1,\ldots ,N-1} ゲインは次の方式で計算されます。 K ( i + 1 ) = P ( i ) H T [ H P H T + R ] − 1 {\displaystyle \mathbf {K} ^{(i+1)}=\mathbf {P} ^{(i)}\mathbf {H} ^{\textsf {T}}\left[\mathbf {H} \mathbf {P} \mathbf {H} ^{\textsf {T}}+\mathbf {R} \right]^{-1}} そして P ( i ) = P [ ( F − K H ) T ] i {\displaystyle \mathbf {P} ^{(i)}=\mathbf {P} \left[\left(\mathbf {F} -\mathbf {K} \mathbf {H} \right)^{\textsf {T}}\right]^{i}} ここで 、および は予測誤差共分散と標準カルマンフィルタのゲイン(すなわち、 )です。 P {\displaystyle \mathbf {P} } K {\displaystyle \mathbf {K} } P t ∣ t − 1 {\displaystyle \mathbf {P} _{t\mid t-1}} 推定誤差共分散が次のように定義されるならば
P i := E [ ( x t − i − x ^ t − i ∣ t ) ∗ ( x t − i − x ^ t − i ∣ t ) ∣ z 1 … z t ] , {\displaystyle \mathbf {P} _{i}:=E\left[\left(\mathbf {x} _{t-i}-{\hat {\mathbf {x} }}_{t-i\mid t}\right)^{*}\left(\mathbf {x} _{t-i}-{\hat {\mathbf {x} }}_{t-i\mid t}\right)\mid z_{1}\ldots z_{t}\right],} の推定値の改善は次 のように表されることがわかります。 x t − i {\displaystyle \mathbf {x} _{t-i}}
P − P i = ∑ j = 0 i [ P ( j ) H T ( H P H T + R ) − 1 H ( P ( i ) ) T ] {\displaystyle \mathbf {P} -\mathbf {P} _{i}=\sum _{j=0}^{i}\left[\mathbf {P} ^{(j)}\mathbf {H} ^{\textsf {T}}\left(\mathbf {H} \mathbf {P} \mathbf {H} ^{\textsf {T}}+\mathbf {R} \right)^{-1}\mathbf {H} \left(\mathbf {P} ^{(i)}\right)^{\textsf {T}}\right]}
固定間隔スムージング 最適固定区間平滑化器は、 固定区間から までの測定値を用いて、 ( ) の最適推定値を提供します 。これは「カルマン平滑化」とも呼ばれます。一般的に使用されている平滑化アルゴリズムはいくつかあります。 x ^ k ∣ n {\displaystyle {\hat {\mathbf {x} }}_{k\mid n}} k < n {\displaystyle k<n} z 1 {\displaystyle \mathbf {z} _{1}} z n {\displaystyle \mathbf {z} _{n}}
ラウフ・トゥング・シュトリーベル ラウフ・トゥング・ストリーベル(RTS)スムージングは、固定間隔スムージングのための効率的な2パスアルゴリズムです。 [60]
フォワードパスは通常のカルマンフィルタアルゴリズムと同じです。これらの フィルタリングされた 事前および事後状態推定値 、 および共分散は 、 バックワードパス( 遡及予測 )で使用するために保存されます。 x ^ k ∣ k − 1 {\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}} x ^ k ∣ k {\displaystyle {\hat {\mathbf {x} }}_{k\mid k}} P k ∣ k − 1 {\displaystyle \mathbf {P} _{k\mid k-1}} P k ∣ k {\displaystyle \mathbf {P} _{k\mid k}}
逆方向パスでは、 平滑化された 状態推定値 と共分散を計算します 。最後の時間ステップから開始し、以下の再帰方程式を用いて時間を遡っていきます。 x ^ k ∣ n {\displaystyle {\hat {\mathbf {x} }}_{k\mid n}} P k ∣ n {\displaystyle \mathbf {P} _{k\mid n}}
x ^ k ∣ n = x ^ k ∣ k + C k ( x ^ k + 1 ∣ n − x ^ k + 1 ∣ k ) P k ∣ n = P k ∣ k + C k ( P k + 1 ∣ n − P k + 1 ∣ k ) C k T {\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k\mid n}&={\hat {\mathbf {x} }}_{k\mid k}+\mathbf {C} _{k}\left({\hat {\mathbf {x} }}_{k+1\mid n}-{\hat {\mathbf {x} }}_{k+1\mid k}\right)\\\mathbf {P} _{k\mid n}&=\mathbf {P} _{k\mid k}+\mathbf {C} _{k}\left(\mathbf {P} _{k+1\mid n}-\mathbf {P} _{k+1\mid k}\right)\mathbf {C} _{k}^{\textsf {T}}\end{aligned}}} どこ
C k = P k ∣ k F k + 1 T P k + 1 ∣ k − 1 . {\displaystyle \mathbf {C} _{k}=\mathbf {P} _{k\mid k}\mathbf {F} _{k+1}^{\textsf {T}}\mathbf {P} _{k+1\mid k}^{-1}.} x k ∣ k {\displaystyle \mathbf {x} _{k\mid k}} はタイムステップの事後状態推定値であり 、 はタイムステップの事前状態推定値です 。共分散にも同じ表記法が適用されます。 k {\displaystyle k} x k + 1 ∣ k {\displaystyle \mathbf {x} _{k+1\mid k}} k + 1 {\displaystyle k+1}
修正ブライソン・フレイジャースムーザー RTSアルゴリズムの代替として、Biermanによって開発された修正Bryson-Frazier(MBF)固定区間平滑化器があります。 [49] この平滑化器も、カルマンフィルタのフォワードパスから保存されたデータを処理するバックワードパスを使用します。バックワードパスの式は、各観測時刻において平滑化された状態と共分散を計算するために使用されるデータの再帰計算を含みます。
再帰方程式は
Λ ~ k = H k T S k − 1 H k + C ^ k T Λ ^ k C ^ k Λ ^ k − 1 = F k T Λ ~ k F k Λ ^ n = 0 λ ~ k = − H k T S k − 1 y k + C ^ k T λ ^ k λ ^ k − 1 = F k T λ ~ k λ ^ n = 0 {\displaystyle {\begin{aligned}{\tilde {\Lambda }}_{k}&=\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}\mathbf {H} _{k}+{\hat {\mathbf {C} }}_{k}^{\textsf {T}}{\hat {\Lambda }}_{k}{\hat {\mathbf {C} }}_{k}\\{\hat {\Lambda }}_{k-1}&=\mathbf {F} _{k}^{\textsf {T}}{\tilde {\Lambda }}_{k}\mathbf {F} _{k}\\{\hat {\Lambda }}_{n}&=0\\{\tilde {\lambda }}_{k}&=-\mathbf {H} _{k}^{\textsf {T}}\mathbf {S} _{k}^{-1}\mathbf {y} _{k}+{\hat {\mathbf {C} }}_{k}^{\textsf {T}}{\hat {\lambda }}_{k}\\{\hat {\lambda }}_{k-1}&=\mathbf {F} _{k}^{\textsf {T}}{\tilde {\lambda }}_{k}\\{\hat {\lambda }}_{n}&=0\end{aligned}}} ここで 、残差共分散は残差共分散であり、 平滑化された状態と共分散は、以下の式に代入することで求められる。 S k {\displaystyle \mathbf {S} _{k}} C ^ k = I − K k H k {\displaystyle {\hat {\mathbf {C} }}_{k}=\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}}
P k ∣ n = P k ∣ k − P k ∣ k Λ ^ k P k ∣ k x k ∣ n = x k ∣ k − P k ∣ k λ ^ k {\displaystyle {\begin{aligned}\mathbf {P} _{k\mid n}&=\mathbf {P} _{k\mid k}-\mathbf {P} _{k\mid k}{\hat {\Lambda }}_{k}\mathbf {P} _{k\mid k}\\\mathbf {x} _{k\mid n}&=\mathbf {x} _{k\mid k}-\mathbf {P} _{k\mid k}{\hat {\lambda }}_{k}\end{aligned}}} または
P k ∣ n = P k ∣ k − 1 − P k ∣ k − 1 Λ ~ k P k ∣ k − 1 x k ∣ n = x k ∣ k − 1 − P k ∣ k − 1 λ ~ k . {\displaystyle {\begin{aligned}\mathbf {P} _{k\mid n}&=\mathbf {P} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}{\tilde {\Lambda }}_{k}\mathbf {P} _{k\mid k-1}\\\mathbf {x} _{k\mid n}&=\mathbf {x} _{k\mid k-1}-\mathbf {P} _{k\mid k-1}{\tilde {\lambda }}_{k}.\end{aligned}}} MBFの重要な利点は、共分散行列の逆行列を求める必要がないことです。Biermanの導出は、基礎分布がガウス分布であると仮定するRTSスムーザーに基づいています。しかし、ガウス分布の仮定を必要としない固定点スムーザーの概念に基づくMBFの導出は、Gibbsによって示されています。 [61]
MBFは、フィルタ残差と、更新後のフィルタ状態の値と平滑化された状態の値との差の整合性チェックにも使用できる 。 [62] x k ∣ k − x k ∣ n {\displaystyle \mathbf {x} _{k\mid k}-\mathbf {x} _{k\mid n}}
最小分散スムージング 最小分散スムーザーは、モデルが線形であり、そのパラメータとノイズ統計が正確にわかっている場合、可能な限り最高の誤差性能を達成することができる。 [63]このスムーザーは、最適な非因果 ウィーナーフィルタ の時間変動状態空間一般化である 。
平滑化計算は2つのパスで行われる。順方向計算は1ステップ先の予測器を必要とし、次のように表される。
x ^ k + 1 ∣ k = ( F k − K k H k ) x ^ k ∣ k − 1 + K k z k α k = − S k − 1 2 H k x ^ k ∣ k − 1 + S k − 1 2 z k {\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k+1\mid k}&=(\mathbf {F} _{k}-\mathbf {K} _{k}\mathbf {H} _{k}){\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\mathbf {z} _{k}\\\alpha _{k}&=-\mathbf {S} _{k}^{-{\frac {1}{2}}}\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {S} _{k}^{-{\frac {1}{2}}}\mathbf {z} _{k}\end{aligned}}} 上記のシステムは逆ウィーナー・ホップ因子として知られています。後方回帰は上記の順方向システムの随伴関数です。後方パスの結果は、 順方向方程式を時間反転したものに作用させ、その結果を時間反転させることで計算できます 。出力推定の場合、平滑化された推定値は次のように与えられます。 β k {\displaystyle \beta _{k}} α k {\displaystyle \alpha _{k}}
y ^ k ∣ N = z k − R k β k {\displaystyle {\hat {\mathbf {y} }}_{k\mid N}=\mathbf {z} _{k}-\mathbf {R} _{k}\beta _{k}} この最小分散平滑化の因果部分を取ると、次の式が得られる。
y ^ k ∣ k = z k − R k S k − 1 2 α k {\displaystyle {\hat {\mathbf {y} }}_{k\mid k}=\mathbf {z} _{k}-\mathbf {R} _{k}\mathbf {S} _{k}^{-{\frac {1}{2}}}\alpha _{k}} これは最小分散カルマンフィルタと同一です。上記の解は、出力推定誤差の分散を最小化します。Rauch–Tung–Striebel平滑化器の導出では、基礎分布がガウス分布であると仮定していますが、最小分散解ではそうではないことに注意してください。状態推定と入力推定のための最適な平滑化器も同様に構築できます。
上記のスムージング装置の連続時間バージョンについては [64] [65]で説明されている。
最小分散フィルタや平滑化器において、未知の状態空間パラメータの近似最大尤度推定値を計算するには、 期待最大化アルゴリズムが 用いられることがある 。問題の仮定には不確実性が残ることが多い。不確実性を考慮した平滑化器は、リカッチ方程式に正定値項を追加することで設計できる。 [66]
モデルが非線形の場合、段階的な線形化は、最小分散フィルターとより滑らかな再帰( 拡張カルマンフィルタリング )の範囲内で行われる可能性があります。
周波数加重カルマンフィルタ 異なる周波数における音の知覚に関する先駆的な研究は、1930年代にフレッチャーとマンソンによって行われました。彼らの研究は、産業騒音と難聴の調査において、測定された音響レベルに重み付けを行う標準的な方法につながりました。周波数重み付けはその後、フィルタやコントローラの設計において、対象帯域内の性能管理に利用されてきました。
通常、周波数整形関数は、特定の周波数帯域における誤差スペクトル密度の平均パワーに重み付けするために使用されます。 は、 従来のカルマンフィルタの出力推定誤差を表します。また、 は 因果周波数重み付け伝達関数を表します。 の分散を最小化する最適解は、 を 単純に構築することによって得られます 。 y − y ^ {\displaystyle \mathbf {y} -{\hat {\mathbf {y} }}} W {\displaystyle \mathbf {W} } W ( y − y ^ ) {\displaystyle \mathbf {W} \left(\mathbf {y} -{\hat {\mathbf {y} }}\right)} W − 1 y ^ {\displaystyle \mathbf {W} ^{-1}{\hat {\mathbf {y} }}}
の設計は 未解決の問題である。一つの方法としては、推定誤差を生成するシステムを特定し、 そのシステムの逆関数を設定することである。 [67] この手順は、フィルタ次数の増加を犠牲にして平均二乗誤差の改善を得るために反復することができる。同じ手法は平滑化器にも適用できる。 W {\displaystyle \mathbf {W} } W {\displaystyle \mathbf {W} }
非線形フィルタ 基本的なカルマンフィルタは線形仮定に限定されます。しかし、より複雑なシステムでは 非線形と なる場合があります。非線形性は、プロセスモデル、観測モデル、あるいはその両方に関係する場合があります。
非線形システムにおけるカルマンフィルタの最も一般的なバリエーションは、拡張カルマンフィルタとアンセンテッドカルマンフィルタです。どちらのフィルタを使用するのが適切かは、プロセスと観測モデルの非線形性指標によって異なります。 [68]
拡張カルマンフィルタ 拡張カルマンフィルタ(EKF)では、状態遷移モデルと観測モデルは状態の線形関数である必要はなく、非線形関数でも良い。これらの関数は 微分可能な 型である。
x k = f ( x k − 1 , u k ) + w k z k = h ( x k ) + v k {\displaystyle {\begin{aligned}\mathbf {x} _{k}&=f(\mathbf {x} _{k-1},\mathbf {u} _{k})+\mathbf {w} _{k}\\\mathbf {z} _{k}&=h(\mathbf {x} _{k})+\mathbf {v} _{k}\end{aligned}}} 関数 f は、前回の推定値から予測状態を計算するために使用でき、同様に関数 h は、予測状態から予測測定値を計算するために使用できます。ただし、 f と h を 共分散に直接適用することはできません。代わりに、偏微分行列( ヤコビアン )が計算されます。
各タイムステップにおいて、ヤコビ行列は現在の予測状態を用いて評価されます。これらの行列はカルマンフィルタ方程式で使用できます。このプロセスは、基本的に非線形関数を現在の推定値を中心に線形化します。
無香料カルマンフィルタ 状態遷移モデルと観測モデル、つまり予測関数と更新関数が高度に非線形である場合 、 拡張カルマンフィルタの パフォーマンスは 特に低下する可能性があります。 [69] [70]これは、基礎となる非線形モデルの線形化によって共分散が伝播されるためです。アンセンテッド カルマンフィルタ (UKF) [69]は 、アンセンテッド変換 (UT) と呼ばれる決定論的サンプリング手法を使用して 、平均値の周りのサンプルポイント (シグマポイントと呼ばれる) の最小セットを選択します。次に、シグマポイントは非線形関数を介して伝播され、そこから新しい平均値と共分散の推定値が形成されます。結果として得られるフィルタは、UT の変換された統計量がどのように計算されるか、およびどのシグマポイントのセットが使用されるかによって異なります。常に一貫した方法で新しい UKF を構築できることに留意する必要があります。 [71] 特定のシステムでは、結果として得られる UKF の方が真の平均と共分散をより正確に推定します。 [72]これは、 モンテカルロサンプリング や事後統計 量 のテイラー級数展開 によって検証できる 。さらに、この手法はヤコビアンを明示的に計算する必要性を排除する。ヤコビアンは複雑な関数の場合、それ自体が困難な作業(つまり、解析的に行う場合は複雑な微分を必要とし、数値的に行う場合は計算コストが高くなる)となる可能性があり、場合によっては不可能となる(これらの関数が微分可能でない場合は)。 f {\displaystyle f} h {\displaystyle h}
シグマポイント ランダム ベクトル の場合 、シグマ点は任意のベクトルの集合である。 x = ( x 1 , … , x L ) {\displaystyle \mathbf {x} =(x_{1},\dots ,x_{L})}
{ s 0 , … , s N } = { ( s 0 , 1 s 0 , 2 … s 0 , L ) , … , ( s N , 1 s N , 2 … s N , L ) } {\displaystyle \{\mathbf {s} _{0},\dots ,\mathbf {s} _{N}\}={\bigl \{}{\begin{pmatrix}s_{0,1}&s_{0,2}&\ldots &s_{0,L}\end{pmatrix}},\dots ,{\begin{pmatrix}s_{N,1}&s_{N,2}&\ldots &s_{N,L}\end{pmatrix}}{\bigr \}}} に起因する
を満たす 一次重み W 0 a , … , W N a {\displaystyle W_{0}^{a},\dots ,W_{N}^{a}} ∑ j = 0 N W j a = 1 {\displaystyle \sum _{j=0}^{N}W_{j}^{a}=1} すべての人のために : i = 1 , … , L {\displaystyle i=1,\dots ,L} E [ x i ] = ∑ j = 0 N W j a s j , i {\displaystyle E[x_{i}]=\sum _{j=0}^{N}W_{j}^{a}s_{j,i}} 2次の重み を満たす W 0 c , … , W N c {\displaystyle W_{0}^{c},\dots ,W_{N}^{c}} ∑ j = 0 N W j c = 1 {\displaystyle \sum _{j=0}^{N}W_{j}^{c}=1} すべてのペアに対して 。 ( i , l ) ∈ { 1 , … , L } 2 : E [ x i x l ] = ∑ j = 0 N W j c s j , i s j , l {\displaystyle (i,l)\in \{1,\dots ,L\}^{2}:E[x_{i}x_{l}]=\sum _{j=0}^{N}W_{j}^{c}s_{j,i}s_{j,l}} UKFアルゴリズムにおける シグマポイントと重みの簡単な選択は、 x k − 1 ∣ k − 1 {\displaystyle \mathbf {x} _{k-1\mid k-1}}
s 0 = x ^ k − 1 ∣ k − 1 − 1 < W 0 a = W 0 c < 1 s j = x ^ k − 1 ∣ k − 1 + L 1 − W 0 A j , j = 1 , … , L s L + j = x ^ k − 1 ∣ k − 1 − L 1 − W 0 A j , j = 1 , … , L W j a = W j c = 1 − W 0 2 L , j = 1 , … , 2 L {\displaystyle {\begin{aligned}\mathbf {s} _{0}&={\hat {\mathbf {x} }}_{k-1\mid k-1}\\-1&<W_{0}^{a}=W_{0}^{c}<1\\\mathbf {s} _{j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}+{\sqrt {\frac {L}{1-W_{0}}}}\mathbf {A} _{j},\quad j=1,\dots ,L\\\mathbf {s} _{L+j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}-{\sqrt {\frac {L}{1-W_{0}}}}\mathbf {A} _{j},\quad j=1,\dots ,L\\W_{j}^{a}&=W_{j}^{c}={\frac {1-W_{0}}{2L}},\quad j=1,\dots ,2L\end{aligned}}} ここで は の平均推定値です 。ベクトル はの j 番目の列 で、 です 。通常、 は の コレスキー分解 によって得られます。注意すれば、フィルタ方程式は の中間計算なしに直接評価される ように表現できます。これは 平方根アンセンテッドカルマンフィルタ と呼ばれます 。 [73] x ^ k − 1 ∣ k − 1 {\displaystyle {\hat {\mathbf {x} }}_{k-1\mid k-1}} x k − 1 ∣ k − 1 {\displaystyle \mathbf {x} _{k-1\mid k-1}} A j {\displaystyle \mathbf {A} _{j}} A {\displaystyle \mathbf {A} } P k − 1 ∣ k − 1 = A A T {\displaystyle \mathbf {P} _{k-1\mid k-1}=\mathbf {AA} ^{\textsf {T}}} A {\displaystyle \mathbf {A} } P k − 1 ∣ k − 1 {\displaystyle \mathbf {P} _{k-1\mid k-1}} A {\displaystyle \mathbf {A} } P k − 1 ∣ k − 1 {\displaystyle \mathbf {P} _{k-1\mid k-1}}
平均値の重みは 任意に選択できます。 W 0 {\displaystyle W_{0}}
もう一つの一般的なパラメータ化(上記を一般化する)は
s 0 = x ^ k − 1 ∣ k − 1 W 0 a = α 2 κ − L α 2 κ W 0 c = W 0 a + 1 − α 2 + β s j = x ^ k − 1 ∣ k − 1 + α κ A j , j = 1 , … , L s L + j = x ^ k − 1 ∣ k − 1 − α κ A j , j = 1 , … , L W j a = W j c = 1 2 α 2 κ , j = 1 , … , 2 L . {\displaystyle {\begin{aligned}\mathbf {s} _{0}&={\hat {\mathbf {x} }}_{k-1\mid k-1}\\W_{0}^{a}&={\frac {\alpha ^{2}\kappa -L}{\alpha ^{2}\kappa }}\\W_{0}^{c}&=W_{0}^{a}+1-\alpha ^{2}+\beta \\\mathbf {s} _{j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}+\alpha {\sqrt {\kappa }}\mathbf {A} _{j},\quad j=1,\dots ,L\\\mathbf {s} _{L+j}&={\hat {\mathbf {x} }}_{k-1\mid k-1}-\alpha {\sqrt {\kappa }}\mathbf {A} _{j},\quad j=1,\dots ,L\\W_{j}^{a}&=W_{j}^{c}={\frac {1}{2\alpha ^{2}\kappa }},\quad j=1,\dots ,2L.\end{aligned}}} α {\displaystyle \alpha } シグマポイントの広がりを制御します。 は の分布と関連しています。これは 、、、のいずれか1つを 任意に選択できる という意味で、過剰パラメータ化であることに注意してください 。 κ {\displaystyle \kappa } β {\displaystyle \beta } x {\displaystyle x} α {\displaystyle \alpha } β {\displaystyle \beta } κ {\displaystyle \kappa }
適切な値は問題によって異なりますが、通常は 、、、 が推奨されます 。 [ 引用が必要 ] の真の分布が ガウス分布である場合、 が最適です。 [74] α = 1 {\displaystyle \alpha =1} β = 0 {\displaystyle \beta =0} κ ≈ 3 L / 2 {\displaystyle \kappa \approx 3L/2} x {\displaystyle x} β = 2 {\displaystyle \beta =2}
予測する EKF と同様に、UKF 予測は UKF 更新とは独立して使用することも、線形 (または EKF) 更新と組み合わせて使用することも、その逆も可能です。
平均と共分散の推定値、 およびが与えられれば、 上記のセクションで説明したようにシグマポイント が得られます。シグマポイントは遷移関数 f を通じて伝播します。 x ^ k − 1 ∣ k − 1 {\displaystyle {\hat {\mathbf {x} }}_{k-1\mid k-1}} P k − 1 ∣ k − 1 {\displaystyle \mathbf {P} _{k-1\mid k-1}} N = 2 L + 1 {\displaystyle N=2L+1}
x j = f ( s j ) j = 0 , … , 2 L {\displaystyle \mathbf {x} _{j}=f\left(\mathbf {s} _{j}\right)\quad j=0,\dots ,2L} 。 伝播されたシグマ ポイントは重み付けされ、予測される平均と共分散が生成されます。
x ^ k ∣ k − 1 = ∑ j = 0 2 L W j a x j P k ∣ k − 1 = ∑ j = 0 2 L W j c ( x j − x ^ k ∣ k − 1 ) ( x j − x ^ k ∣ k − 1 ) T + Q k {\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k\mid k-1}&=\sum _{j=0}^{2L}W_{j}^{a}\mathbf {x} _{j}\\\mathbf {P} _{k\mid k-1}&=\sum _{j=0}^{2L}W_{j}^{c}\left(\mathbf {x} _{j}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)\left(\mathbf {x} _{j}-{\hat {\mathbf {x} }}_{k\mid k-1}\right)^{\textsf {T}}+\mathbf {Q} _{k}\end{aligned}}} ここで 、 は元のシグマポイントの1次重み、 は 2次重みです。行列 は 遷移ノイズの共分散です 。 W j a {\displaystyle W_{j}^{a}} W j c {\displaystyle W_{j}^{c}} Q k {\displaystyle \mathbf {Q} _{k}} w k {\displaystyle \mathbf {w} _{k}}
アップデート 予測推定値とが与えられると 、 対応する1次重み と2次重みを持つ新しい シグマポイント の集合 が計算される。 [75] これらのシグマポイントは測定関数を通じて変換される 。 x ^ k ∣ k − 1 {\displaystyle {\hat {\mathbf {x} }}_{k\mid k-1}} P k ∣ k − 1 {\displaystyle \mathbf {P} _{k\mid k-1}} N = 2 L + 1 {\displaystyle N=2L+1} s 0 , … , s 2 L {\displaystyle \mathbf {s} _{0},\dots ,\mathbf {s} _{2L}} W 0 a , … W 2 L a {\displaystyle W_{0}^{a},\dots W_{2L}^{a}} W 0 c , … , W 2 L c {\displaystyle W_{0}^{c},\dots ,W_{2L}^{c}} h {\displaystyle h}
z j = h ( s j ) , j = 0 , 1 , … , 2 L {\displaystyle \mathbf {z} _{j}=h(\mathbf {s} _{j}),\,\,j=0,1,\dots ,2L} 。 次に、変換されたポイントの経験平均と共分散が計算されます。
z ^ = ∑ j = 0 2 L W j a z j S ^ k = ∑ j = 0 2 L W j c ( z j − z ^ ) ( z j − z ^ ) T + R k {\displaystyle {\begin{aligned}{\hat {\mathbf {z} }}&=\sum _{j=0}^{2L}W_{j}^{a}\mathbf {z} _{j}\\[6pt]{\hat {\mathbf {S} }}_{k}&=\sum _{j=0}^{2L}W_{j}^{c}(\mathbf {z} _{j}-{\hat {\mathbf {z} }})(\mathbf {z} _{j}-{\hat {\mathbf {z} }})^{\textsf {T}}+\mathbf {R_{k}} \end{aligned}}} ここで 、は観測ノイズの共分散行列である 。さらに、相互共分散行列も必要となる。 R k {\displaystyle \mathbf {R} _{k}} v k {\displaystyle \mathbf {v} _{k}}
C x z = ∑ j = 0 2 L W j c ( x j − x ^ k | k − 1 ) ( z j − z ^ ) T . {\displaystyle {\begin{aligned}\mathbf {C_{xz}} &=\sum _{j=0}^{2L}W_{j}^{c}(\mathbf {x} _{j}-{\hat {\mathbf {x} }}_{k|k-1})(\mathbf {z} _{j}-{\hat {\mathbf {z} }})^{\textsf {T}}.\end{aligned}}} カルマンゲインは
K k = C x z S ^ k − 1 . {\displaystyle {\begin{aligned}\mathbf {K} _{k}=\mathbf {C_{xz}} {\hat {\mathbf {S} }}_{k}^{-1}.\end{aligned}}} 更新された平均と共分散の推定値は
x ^ k ∣ k = x ^ k | k − 1 + K k ( z k − z ^ ) P k ∣ k = P k ∣ k − 1 − K k S ^ k K k T . {\displaystyle {\begin{aligned}{\hat {\mathbf {x} }}_{k\mid k}&={\hat {\mathbf {x} }}_{k|k-1}+\mathbf {K} _{k}(\mathbf {z} _{k}-{\hat {\mathbf {z} }})\\\mathbf {P} _{k\mid k}&=\mathbf {P} _{k\mid k-1}-\mathbf {K} _{k}{\hat {\mathbf {S} }}_{k}\mathbf {K} _{k}^{\textsf {T}}.\end{aligned}}}
識別カルマンフィルタ 観測モデルが 高度に非線形かつ非ガウス分布である場合、 ベイズの定理 を
適用して推定することが有利となる可能性がある。 p ( z k ∣ x k ) {\displaystyle p(\mathbf {z} _{k}\mid \mathbf {x} _{k})}
p ( z k ∣ x k ) ≈ p ( x k ∣ z k ) p ( x k ) {\displaystyle p(\mathbf {z} _{k}\mid \mathbf {x} _{k})\approx {\frac {p(\mathbf {x} _{k}\mid \mathbf {z} _{k})}{p(\mathbf {x} _{k})}}} ここで 、非線形関数は です 。これは、標準的なカルマンフィルタの生成仕様を、 観測値が与えられた潜在状態の 識別モデルに置き換えます。 p ( x k ∣ z k ) ≈ N ( g ( z k ) , Q ( z k ) ) {\displaystyle p(\mathbf {x} _{k}\mid \mathbf {z} _{k})\approx {\mathcal {N}}(g(\mathbf {z} _{k}),Q(\mathbf {z} _{k}))} g , Q {\displaystyle g,Q}
定常 状態モデル では
p ( x 1 ) = N ( 0 , T ) , p ( x k ∣ x k − 1 ) = N ( F x k − 1 , C ) , {\displaystyle {\begin{aligned}p(\mathbf {x} _{1})&={\mathcal {N}}(0,\mathbf {T} ),\\p(\mathbf {x} _{k}\mid \mathbf {x} _{k-1})&={\mathcal {N}}(\mathbf {F} \mathbf {x} _{k-1},\mathbf {C} ),\end{aligned}}} ここで 、もし T = F T F ⊺ + C {\displaystyle \mathbf {T} =\mathbf {F} \mathbf {T} \mathbf {F} ^{\intercal }+\mathbf {C} }
p ( x k ∣ z 1 : k ) ≈ N ( x ^ k | k − 1 , P k | k − 1 ) , {\displaystyle p(\mathbf {x} _{k}\mid \mathbf {z} _{1:k})\approx {\mathcal {N}}({\hat {\mathbf {x} }}_{k|k-1},\mathbf {P} _{k|k-1}),} 新たな観察結果から 、次のことが導かれる [76]。 z k {\displaystyle \mathbf {z} _{k}}
p ( x k + 1 ∣ z 1 : k + 1 ) ≈ N ( x ^ k + 1 | k , P k + 1 | k ) {\displaystyle p(\mathbf {x} _{k+1}\mid \mathbf {z} _{1:k+1})\approx {\mathcal {N}}({\hat {\mathbf {x} }}_{k+1|k},\mathbf {P} _{k+1|k})} どこ
M k + 1 = F P k | k − 1 F ⊺ + C , P k + 1 | k = ( M k + 1 − 1 + Q ( z k ) − 1 − T − 1 ) − 1 , x ^ k + 1 | k = P k + 1 | k ( M k + 1 − 1 F x ^ k | k − 1 + P k + 1 | k − 1 g ( z k ) ) . {\displaystyle {\begin{aligned}\mathbf {M} _{k+1}&=\mathbf {F} \mathbf {P} _{k|k-1}\mathbf {F} ^{\intercal }+\mathbf {C} ,\\\mathbf {P} _{k+1|k}&=(\mathbf {M} _{k+1}^{-1}+Q(\mathbf {z} _{k})^{-1}-\mathbf {T} ^{-1})^{-1},\\{\hat {\mathbf {x} }}_{k+1|k}&=\mathbf {P} _{k+1|k}(\mathbf {M} _{k+1}^{-1}\mathbf {F} {\hat {\mathbf {x} }}_{k|k-1}+\mathbf {P} _{k+1|k}^{-1}g(\mathbf {z} _{k})).\end{aligned}}} この近似は 正定値であることが必要であることに注意する。そうでない場合は、 Q ( z k ) − 1 − T − 1 {\displaystyle Q(\mathbf {z} _{k})^{-1}-\mathbf {T} ^{-1}}
P k + 1 | k = ( M k + 1 − 1 + Q ( z k ) − 1 ) − 1 {\displaystyle \mathbf {P} _{k+1|k}=(\mathbf {M} _{k+1}^{-1}+Q(\mathbf {z} _{k})^{-1})^{-1}} 代わりに使用される。このようなアプローチは、観測値の次元が潜在状態の次元よりもはるかに大きい場合に特に有用であることが証明されており [77] 、観測モデルの非定常性に対して特に堅牢なフィルタを構築するために使用できる。 [78]
適応カルマンフィルタ 適応カルマンフィルタは、プロセスモデルでモデル化されていないプロセスダイナミクスに適応することを可能にする 。これは、例えば、一定速度(低次元)カルマンフィルタが追跡に使用される場合の操縦ターゲットのコンテキストで発生する。 [79] F ( t ) {\displaystyle \mathbf {F} (t)}
カルマン・ビューシーフィルタ カルマン・ビューシーフィルタリング(リチャード・スノーデン・ビューシーにちなんで名付けられた)は、カルマンフィルタリングの連続時間バージョンである。 [80] [81]
これは状態空間モデルに基づいている
d d t x ( t ) = F ( t ) x ( t ) + B ( t ) u ( t ) + w ( t ) z ( t ) = H ( t ) x ( t ) + v ( t ) {\displaystyle {\begin{aligned}{\frac {d}{dt}}\mathbf {x} (t)&=\mathbf {F} (t)\mathbf {x} (t)+\mathbf {B} (t)\mathbf {u} (t)+\mathbf {w} (t)\\\mathbf {z} (t)&=\mathbf {H} (t)\mathbf {x} (t)+\mathbf {v} (t)\end{aligned}}} ここで 、 と はそれぞれ 2 つのホワイトノイズ項 と の強度を表します 。 Q ( t ) {\displaystyle \mathbf {Q} (t)} R ( t ) {\displaystyle \mathbf {R} (t)} w ( t ) {\displaystyle \mathbf {w} (t)} v ( t ) {\displaystyle \mathbf {v} (t)}
フィルタは、状態推定用と共分散用の 2 つの微分方程式で構成されます。
d d t x ^ ( t ) = F ( t ) x ^ ( t ) + B ( t ) u ( t ) + K ( t ) ( z ( t ) − H ( t ) x ^ ( t ) ) d d t P ( t ) = F ( t ) P ( t ) + P ( t ) F T ( t ) + Q ( t ) − K ( t ) R ( t ) K T ( t ) {\displaystyle {\begin{aligned}{\frac {d}{dt}}{\hat {\mathbf {x} }}(t)&=\mathbf {F} (t){\hat {\mathbf {x} }}(t)+\mathbf {B} (t)\mathbf {u} (t)+\mathbf {K} (t)\left(\mathbf {z} (t)-\mathbf {H} (t){\hat {\mathbf {x} }}(t)\right)\\{\frac {d}{dt}}\mathbf {P} (t)&=\mathbf {F} (t)\mathbf {P} (t)+\mathbf {P} (t)\mathbf {F} ^{\textsf {T}}(t)+\mathbf {Q} (t)-\mathbf {K} (t)\mathbf {R} (t)\mathbf {K} ^{\textsf {T}}(t)\end{aligned}}} ここでカルマンゲインは次のように与えられる。
K ( t ) = P ( t ) H T ( t ) R − 1 ( t ) {\displaystyle \mathbf {K} (t)=\mathbf {P} (t)\mathbf {H} ^{\textsf {T}}(t)\mathbf {R} ^{-1}(t)} この式では 観測ノイズの共分散は 同時に予測誤差(または イノベーション )の共分散も表していることに注意する 。これらの共分散は連続時間の場合にのみ等しい。 [82] K ( t ) {\displaystyle \mathbf {K} (t)} R ( t ) {\displaystyle \mathbf {R} (t)} y ~ ( t ) = z ( t ) − H ( t ) x ^ ( t ) {\displaystyle {\tilde {\mathbf {y} }}(t)=\mathbf {z} (t)-\mathbf {H} (t){\hat {\mathbf {x} }}(t)}
離散時間カルマンフィルタリングの予測ステップと更新ステップの区別は、連続時間では存在しません。
共分散を求める第2微分方程式は、 リカッチ方程式 の一例である。カルマン・ビューシーフィルタの非線形一般化には、連続時間拡張カルマンフィルタが含まれる。
ハイブリッドカルマンフィルタ ほとんどの物理システムは連続時間モデルとして表現されるが、離散時間測定はデジタルプロセッサによる状態推定のために頻繁に行われる。したがって、システムモデルと測定モデルは次のように表される。
x ˙ ( t ) = F ( t ) x ( t ) + B ( t ) u ( t ) + w ( t ) , w ( t ) ∼ N ( 0 , Q ( t ) ) z k = H k x k + v k , v k ∼ N ( 0 , R k ) {\displaystyle {\begin{aligned}{\dot {\mathbf {x} }}(t)&=\mathbf {F} (t)\mathbf {x} (t)+\mathbf {B} (t)\mathbf {u} (t)+\mathbf {w} (t),&\mathbf {w} (t)&\sim N\left(\mathbf {0} ,\mathbf {Q} (t)\right)\\\mathbf {z} _{k}&=\mathbf {H} _{k}\mathbf {x} _{k}+\mathbf {v} _{k},&\mathbf {v} _{k}&\sim N(\mathbf {0} ,\mathbf {R} _{k})\end{aligned}}} どこ
x k = x ( t k ) {\displaystyle \mathbf {x} _{k}=\mathbf {x} (t_{k})} 。
初期化 x ^ 0 ∣ 0 = E [ x ( t 0 ) ] , P 0 ∣ 0 = Var [ x ( t 0 ) ] {\displaystyle {\hat {\mathbf {x} }}_{0\mid 0}=E\left[\mathbf {x} (t_{0})\right],\mathbf {P} _{0\mid 0}=\operatorname {Var} \left[\mathbf {x} \left(t_{0}\right)\right]}
予測する x ^ ˙ ( t ) = F ( t ) x ^ ( t ) + B ( t ) u ( t ) , with x ^ ( t k − 1 ) = x ^ k − 1 ∣ k − 1 ⇒ x ^ k ∣ k − 1 = x ^ ( t k ) P ˙ ( t ) = F ( t ) P ( t ) + P ( t ) F ( t ) T + Q ( t ) , with P ( t k − 1 ) = P k − 1 ∣ k − 1 ⇒ P k ∣ k − 1 = P ( t k ) {\displaystyle {\begin{aligned}{\dot {\hat {\mathbf {x} }}}(t)&=\mathbf {F} (t){\hat {\mathbf {x} }}(t)+\mathbf {B} (t)\mathbf {u} (t){\text{, with }}{\hat {\mathbf {x} }}\left(t_{k-1}\right)={\hat {\mathbf {x} }}_{k-1\mid k-1}\\\Rightarrow {\hat {\mathbf {x} }}_{k\mid k-1}&={\hat {\mathbf {x} }}\left(t_{k}\right)\\{\dot {\mathbf {P} }}(t)&=\mathbf {F} (t)\mathbf {P} (t)+\mathbf {P} (t)\mathbf {F} (t)^{\textsf {T}}+\mathbf {Q} (t){\text{, with }}\mathbf {P} \left(t_{k-1}\right)=\mathbf {P} _{k-1\mid k-1}\\\Rightarrow \mathbf {P} _{k\mid k-1}&=\mathbf {P} \left(t_{k}\right)\end{aligned}}} 予測方程式は、測定からの更新を行わない連続時間カルマンフィルタの方程式から導出されます。すなわち、 です 。予測状態と共分散は、それぞれ、前ステップの推定値に等しい初期値を持つ微分方程式を解くことによって計算されます。 K ( t ) = 0 {\displaystyle \mathbf {K} (t)=0}
線形時間不変 システムの場合 、連続時間ダイナミクスは、 行列指数 を使用して離散時間システムに正確に 離散化 できます。
アップデート K k = P k ∣ k − 1 H k T ( H k P k ∣ k − 1 H k T + R k ) − 1 x ^ k ∣ k = x ^ k ∣ k − 1 + K k ( z k − H k x ^ k ∣ k − 1 ) P k ∣ k = ( I − K k H k ) P k ∣ k − 1 {\displaystyle {\begin{aligned}\mathbf {K} _{k}&=\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}\left(\mathbf {H} _{k}\mathbf {P} _{k\mid k-1}\mathbf {H} _{k}^{\textsf {T}}+\mathbf {R} _{k}\right)^{-1}\\{\hat {\mathbf {x} }}_{k\mid k}&={\hat {\mathbf {x} }}_{k\mid k-1}+\mathbf {K} _{k}\left(\mathbf {z} _{k}-\mathbf {H} _{k}{\hat {\mathbf {x} }}_{k\mid k-1}\right)\\\mathbf {P} _{k\mid k}&=\left(\mathbf {I} -\mathbf {K} _{k}\mathbf {H} _{k}\right)\mathbf {P} _{k\mid k-1}\end{aligned}}} 更新方程式は離散時間カルマン フィルタの方程式と同一です。
疎な信号の回復のための変種 従来のカルマンフィルタは、ノイズの多い観測から スパースな 、場合によっては動的な信号を復元するためにも用いられてきた。最近の研究 [83] [84] [85]では、 圧縮センシング /サンプリング理論の概念 、例えば制限付き等長性や関連する確率的復元論などを用いて、本質的に低次元のシステムにおけるスパース状態を逐次推定している。
ガウス過程との関係 線形ガウス状態空間モデルはガウス過程につながるため、カルマンフィルタは ガウス過程回帰 の逐次ソルバーとして見ることができる。 [86]
アプリケーション
参照
参考文献 ^ Lacey, Tony. 「第11章 チュートリアル: カルマンフィルタ」 (PDF) . ^ ファウジ、ヒルマン;ウズマ州バツール(2019年7月15日)。 「単一ソリューションのシミュレートされたカルマン フィルター オプティマイザーを使用した 3 バー トラス設計」。 メカトロニカ 。 1 (2): 98–102 。 土井 : 10.15282/mekatronika.v1i2.4991 。 S2CID 222355496。 ^ ポール・ザーチャン、ハワード・ムソフ (2000). 『カルマンフィルタリングの基礎:実践的アプローチ』 アメリカ航空宇宙学会. ISBN 978-1-56347-455-2 。 ^ Lora-Millan, Julio S.; Hidalgo, Andres F.; Rocon, Eduardo (2021). 「ウェアラブルロボットデバイスの制御のための歩行下肢矢状面運動学を推定するIMUベースの拡張カルマンフィルタ」. IEEE Access . 9 : 144540–144554 . Bibcode :2021IEEEA...9n4540L. doi : 10.1109/ACCESS.2021.3122160 . hdl : 10261/254265 . ISSN 2169-3536. S2CID 239938971. ^ Kalita, Diana; Lyakhov, Pavel (2022年12月). 「カルマンフィルタとメディアンフィルタリングの組み合わせに基づく移動物体検出」. ビッグデータとコグニティブコンピューティング . 6 (4): 142. doi : 10.3390/bdcc6040142 . ISSN 2504-2289. ^ Ghysels, Eric; Marcellino, Massimiliano (2018). 時系列手法を用いた応用経済予測 . ニューヨーク: オックスフォード大学出版局. p. 419. ISBN 978-0-19-062201-5 . OCLC 1010658777. ^ アッザム、M. アブドラ;ウズマ州バツール。ファウジ、ヒルマン(2019年7月15日)。 「単一解シミュレーション カルマン フィルター オプティマイザーを使用したらせんバネの設計」。 メカトロニカ 。 1 (2): 93–97 。 土井 : 10.15282/mekatronika.v1i2.4990 。 S2CID 221855079。 ^ Wolpert, Daniel; Ghahramani, Zoubin (2000). 「運動神経科学の計算原理」. Nature Neuroscience . 3 : 1212–7 . doi :10.1038/81497. PMID 11127840. S2CID 736756. ^ Kalman, RE (1960). 「線形フィルタリングと予測問題への新しいアプローチ」. Journal of Basic Engineering . 82 : 35–45 . doi :10.1115/1.3662552. S2CID 1242324. ^ Humpherys, Jeffrey (2012). 「カルマンフィルタの新たな視点」 SIAM Review . 54 (4): 801– 823. doi :10.1137/100799666. ^ Uhlmann, Jeffrey; Julier, Simon (2022). 「ガウス性とカルマンフィルタ:シンプルでありながら複雑な関係」 (PDF) . Journal de Ciencia e Ingeniería . 14 (1): 21– 26. doi :10.46571/JCI.2022.1.2. S2CID 251143915. 文献にはこの誤解の例が 12 件ほど記載されていますが、Uhlmann と Julier を参照してください。 ^ Li, Wangyan; Wang, Zidong; Wei, Guoliang; Ma, Lifeng; Hu, Jun; Ding, Derui (2015). 「センサーネットワークにおけるマルチセンサー融合とコンセンサスフィルタリングに関する調査」. 『自然と社会における離散ダイナミクス 』 2015 年 : 1–12 . doi : 10.1155/2015/683701 . ISSN 1026-0226. ^ Li, Wangyan; Wang, Zidong; Ho, Daniel WC; Wei, Guoliang (2019). 「カルマンコンセンサスフィルタリング問題における誤差共分散の有界性について」. IEEE Transactions on Automatic Control . 65 (6): 2654– 2661. doi :10.1109/TAC.2019.2942826. ISSN 0018-9286. S2CID 204196474. ^ Lauritzen, S. L. (1981年12月). 「1880年の時系列分析:TN Thieleの貢献に関する考察」. International Statistical Review . 49 (3): 319– 331. doi :10.2307/1402616. JSTOR 1402616. 彼は回帰成分を推定し、ブラウン運動を予測するための再帰的手順を導出した。この手順は現在、カルマンフィルタリングとして知られている。 ^ Lauritzen, S. L. (2002). Thiele: Pioneer in Statistics. ニューヨーク: Oxford University Press . p. 41. ISBN 978-0-19-850972-1 彼は回帰係数の推定とブラウン運動の値を最小二乗法によって予測する問題を解き、計算を実行するための洗練された再帰的手順を提示した。この手順は現在、カルマンフィルタリングとして知られ て いる 。 ^ Grewal, Mohinder S.; Andrews, Angus P. (2015). "1". カルマンフィルタリング:MATLABを用いた理論と実践 (第4版). ホーボーケン、ニュージャージー州: Wiley. pp. 16– 18. ISBN 978-1-118-98498-7 。 ^ “Mohinder S. Grewal and Angus P. Andrews” (PDF) . 2016年3月7日時点の オリジナル (PDF)からアーカイブ。 2015年4月23日 閲覧 。 ^ ジェロルド・H・サダス、ロバート・H・キッド、アーノルド・G・ラインホールド(1967年8月)。アポロ月着陸船搭載の主要航法システムの線形誤差解析、NASA TN D-4027 (PDF) (NASA技術ノート)。アメリカ航空宇宙局(NASA)。 ^ Stratonovich, RL (1959). 定数パラメータを持つ信号とノイズの分離を実現する最適非線形システム . Radiofizika, 2:6, pp. 892–901. ^ Stratonovich, RL (1959). ランダム関数の最適非線形フィルタリング理論について . 確率理論とその応用, 4, pp. 223–225. ^ Stratonovich, RL (1960) 「マルコフ過程理論の最適フィルタリングへの応用」 無線工学と電子物理学、5:11、pp.1–19。 ^ Stratonovich, RL (1960). 条件付きマルコフ過程 . 確率理論とその応用, 5, pp. 156–178. ^ Stepanov, OA (2011年5月15日). 「カルマンフィルタリング:過去と現在。ロシアからの展望。(ルドルフ・エミール・カルマン生誕80周年を記念して)」. ジャイロスコピーとナビゲーション . 2 (2): 105. Bibcode :2011GyNav...2...99S. doi :10.1134/S2075108711020076. S2CID 53120402. ^ ゲイラー、デイビッド、ライトシー、E. グレン (2003). 「国際宇宙ステーション近傍で運用される宇宙船のためのGPS/INSカルマンフィルタ設計」 AIAA 誘導・航法・制御会議・展示会 . doi :10.2514/6.2003-5445. ISBN 978-1-62410-090-1 。 ^ Ingvar Strid; Karl Walentin (2009年4月). 「大規模DSGEモデルのためのブロックカルマンフィルタリング」. 計算経済学 . 33 (3): 277– 304. CiteSeerX 10.1.1.232.3790 . doi :10.1007/s10614-008-9160-4. hdl :10419/81929. S2CID 3042206. ^ Martin Møller Andreasen (2008). 「非線形DSGEモデル、中心差分カルマンフィルタ、および平均シフト粒子フィルタ」 ^ ab Roweis, S; Ghahramani, Z (1999). 「線形ガウスモデルの統一的レビュー」 (PDF) . Neural Computation . 11 (2): 305– 45. doi :10.1162/089976699300016674. PMID 9950734. S2CID 2590898. ^ Hamilton, J. (1994), 時系列分析 , プリンストン大学出版局. 第13章「カルマンフィルタ」 ^ Ishihara, JY; Terra, MH; Campos, JCT (2006). 「ディスクリプタシステムのためのロバストなカルマンフィルタ」. IEEE Transactions on Automatic Control . 51 (8): 1354. Bibcode :2006ITAC...51.1354I. doi :10.1109/TAC.2006.878741. S2CID 12741796. ^ Terra, Marco H.; Cerri, Joao P.; Ishihara, Joao Y. (2014). 「不確実性を伴うシステムのための最適ロバスト線形二次レギュレータ」. IEEE Transactions on Automatic Control . 59 (9): 2586– 2591. Bibcode :2014ITAC...59.2586T. doi :10.1109/TAC.2014.2309282. S2CID 8810105. ^ Kelly, Alonzo (1994). 「自律走行車向けナビゲーション・カルマンフィルタの3次元状態空間定式化」 (PDF) . DTIC文書 : 13. 2014年12月30日時点のオリジナルよりアーカイブ (PDF) 。 2006年修正版 2017年1月10日 Wayback Machineにアーカイブ ^ イアン・リード、ヒラリー・ターム「推定II」 (PDF) www.robots.ox.ac.uk オックスフォード大学 2014 年 8月6日 閲覧 。 ^ Rajamani, Murali (2007年10月). モデル予測制御における状態推定を改善するためのデータに基づく手法 (PDF) (博士論文). ウィスコンシン大学マディソン校. オリジナル (PDF) から2016年3月4日にアーカイブ。 2011年4月4日 閲覧 。 ^ Rajamani, Murali R.; Rawlings, James B. (2009). 「半正定値計画法と最適重み付けを用いたデータからの擾乱構造の推定」. Automatica . 45 (1): 142– 148. doi :10.1016/j.automatica.2008.05.032. S2CID 5699674. ^ 「自己共分散最小二乗法ツールボックス」Jbrwww.che.wisc.edu . 2021年8月18日 閲覧 。 ^ Bania, P.; Baranowski, J. (2016年12月12日). フィールドカルマンフィルタとその近似. IEEE 55th Conference on Decision and Control (CDC). ラスベガス, ネバダ州, 米国: IEEE. pp. 2875– 2880. ^ ab Greenberg, Ido; Yannay, Netanel; Mannor, Shie (2023-12-15). 「最適化かアーキテクチャか:カルマンフィルタリングをハックする方法」. ニューラル情報処理システムの進歩 . 36 : 50482–50505 . arXiv : 2310.00675 . ^ Bar-Shalom, Yaakov; Li, X.-Rong; Kirubarajan, Thiagalingam (2001). 推定とその追跡・航法への応用 . ニューヨーク, USA: John Wiley & Sons, Inc. pp. 319 ff. doi :10.1002/0471221279. ISBN 0-471-41655-X 。 ^ 数値例を用いた3つの最適性検定については、 Peter, Matisko (2012). "Optimality Tests and Adaptive Kalman Filter". 16th IFAC Symposium on System Identification . IFAC Proceedings Volumes. Vol. 45. pp. 1523– 1528. doi :10.3182/20120711-3-BE-2027.00011. ISBN ... 978-3-902823-06-9 。 ^ Spall, James C. (1995). 「未知のノイズ分布を持つカルマンフィルタの誤差解析のためのカントロビッチ不等式」. Automatica . 31 (10): 1513– 1517. doi :10.1016/0005-1098(95)00069-9. ^ Maryak, JL; Spall, JC; Heydon, BD (2004). 「未知のノイズ分布を持つ状態空間モデルにおける推論のためのカルマンフィルタの使用」 IEEE Transactions on Automatic Control . 49 (1): 87– 90. Bibcode :2004ITAC...49...87M. doi :10.1109/TAC.2003.821415. S2CID 21143516. ^ ab Walrand, Jean; Dimakis, Antonis (2006年8月). システムにおけるランダムプロセス -- 講義ノート (PDF) . pp. 69– 70. 2019年5月7日時点の オリジナル (PDF)からのアーカイブ。 2019年5月7日 閲覧 。 ^ カルマン、ルドルフ・エミール、T.S.エングラー、リチャード・S.バシー著。 適応制御システムの基礎研究 。クリアリングハウス、米国商務省、1962年。 ^ ハーブスト, ダニエル C. (2024). 「漸近的カルマンフィルタ共分散の指数収束率と振動モード」. IEEE Access . 12 : 188137–188153 . Bibcode :2024IEEEA..12r8137H. doi :10.1109/ACCESS.2024.3508578. ISSN 2169-3536. ^ サント、ドナルド・T.「時間変動パラメータモデルへの一般化最小二乗法の適用」Annals of Economic and Social Measurement、第6巻、第3号。NBER、1977年。301-314ページ。オンラインPDF ^ アンダーソン, ブライアン・D.O.; ムーア, ジョン・B. (1979). 最適フィルタリング . ニューヨーク: プレンティス・ホール . pp. 129– 133. ISBN 978-0-13-638122-8 。 ^ Jingyang Lu. 「マルチセンサーシステムにおける動的状態推定に対する偽情報注入攻撃」Fusion 2014 ^ ab Thornton, Catherine L. (1976年10月15日). カルマンフィルタリングのための三角共分散分解 (PhD). NASA . NASA技術覚書33-798. ^ abc Bierman, GJ (1977). 「離散逐次推定のための因数分解法」 離散逐次推定のための因数分解法 . 書誌コード :1977fmds.book.....B. ^ ab Bar-Shalom, Yaakov ; Li, X. Rong; Kirubarajan, Thiagalingam (2001年7月). 推定とその追跡・航法への応用 . ニューヨーク: John Wiley & Sons . pp. 308– 317. ISBN 978-0-471-41655-5 。 ^ Golub, Gene H.; Van Loan, Charles F. (1996). 行列計算 . ジョンズ・ホプキンス数学科学研究(第3版). メリーランド州ボルチモア: ジョンズ・ホプキンス大学 . p. 139. ISBN 978-0-8018-5414-9 。 ^ Higham, Nicholas J. (2002). 『数値アルゴリズムの精度と安定性 (第2版)』フィラデルフィア、ペンシルバニア州: Society for Industrial and Applied Mathematics . p. 680. ISBN 978-0-89871-521-7 。 ^ Särkkä, S.; Ángel F. García-Fernández (2021). 「ベイズスムーザーの時系列並列化」. IEEE Transactions on Automatic Control . 66 (1): 299– 306. arXiv : 1905.13002 . Bibcode :2021ITAC...66..299S. doi :10.1109/TAC.2020.2976316. S2CID 213695560. ^ 「CUDAによる並列プレフィックスサム(スキャン)」。 developer.nvidia.com/。2020年 2月21日 閲覧 。 スキャン演算は、幅広い用途を持つシンプルかつ強力な並列プリミティブです。本章では、CUDAを用いたスキャンの効率的な実装について説明しました。この実装は、高速CPUでのシーケンシャル実装や、同じGPU上のOpenGLによる並列実装と比較して、大幅な高速化を実現します。GPUなどの汎用並列プロセッサの性能向上に伴い、今後数年間でスキャンのようなデータ並列アルゴリズムの重要性が高まると予想されます。 ^ Masreliez, C. Johan; Martin, RD (1977). 「線形モデルのためのロバストなベイズ推定とカルマンフィルタのロバスト化」. IEEE Transactions on Automatic Control . 22 (3): 361– 371. doi :10.1109/TAC.1977.1101538. ^ Lütkepohl, Helmut (1991). 多重時系列分析入門 . ハイデルベルク: Springer-Verlag Berlin. p. 435. ^ フレドリック・グスタフソン (2018). 統計センサーフュージョン (第 3 版)。ルンド: 学生文学者。 160 ~ 162 ページ 。ISBN 978-91-44-12724-8 。 ^ ab Gabriel T. Terejanu (2012年8月4日). 「離散カルマンフィルタチュートリアル」 (PDF) . 2020年8月17日時点の オリジナル (PDF)からのアーカイブ。 2016年4月13日 閲覧 。 ^ アンダーソン, ブライアン・DO; ムーア, ジョン・B. (1979). 最適フィルタリング . イングルウッド・クリフス, ニュージャージー: プレンティス・ホール社 pp. 176– 190. ISBN 978-0-13-638122-8 。 ^ Rauch, HE; Tung, F.; Striebel, CT (1965年8月). 「線形動的システムの最大尤度推定」. AIAA Journal . 3 (8): 1445– 1450. Bibcode :1965AIAAJ...3.1445R. doi :10.2514/3.3166. ^ Gibbs, Richard G. (2011年2月). 「平方根修正ブライソン・フレイジャースムーザー」. IEEE Transactions on Automatic Control . 56 (2): 452– 456. Bibcode :2011ITAC...56..452G. doi :10.1109/TAC.2010.2089753. ^ Gibbs, Richard G. (2013). 「新しいカルマンフィルタとより滑らかな一貫性テスト」. Automatica . 49 (10): 3141– 3144. doi :10.1016/j.automatica.2013.07.013. ^ Einicke, GA (2006年3月). 「最適かつ堅牢な非因果的フィルタ定式化」. IEEE Transactions on Signal Processing . 54 (3): 1069– 1077. Bibcode :2006ITSP...54.1069E. doi :10.1109/TSP.2005.863042. S2CID 15376718. ^ Einicke, GA (2007年4月). 「最小分散固定間隔スムーザーの漸近最適性」. IEEE Transactions on Signal Processing . 55 (4): 1543– 1547. Bibcode :2007ITSP...55.1543E. doi :10.1109/TSP.2006.889402. S2CID 16218530. ^ Einicke, GA; Ralston, JC; Hargrave, CO; Reid, DC; Hainsworth, DW (2008年12月). 「長壁採掘自動化.最小分散平滑化の応用」. IEEE Control Systems Magazine . 28 (6): 28– 37. Bibcode :2008ICSys..28f..28E. doi :10.1109/MCS.2008.929281. S2CID 36072082. ^ Einicke, GA (2009年12月). 「最小分散固定間隔スムーザーの漸近最適性」. IEEE Transactions on Automatic Control . 54 (12): 2904– 2908. Bibcode :2007ITSP...55.1543E. doi :10.1109/TSP.2006.889402. S2CID 16218530. ^ Einicke, GA (2014年12月). 「反復周波数重み付けフィルタリングおよびスムージング手順」. IEEE Signal Processing Letters . 21 (12): 1467– 1470. Bibcode :2014ISPL...21.1467E. doi :10.1109/LSP.2014.2341641. S2CID 13569109. ^ Biswas, Sanat K.; Qiao, Li; Dempster, Andrew G. (2020-12-01). 「非線形アプリケーションにおけるアンセンテッド・カルマンフィルタの使用適性を予測する定量的アプローチ」. Automatica . 122 109241. doi :10.1016/j.automatica.2020.109241. ISSN 0005-1098. S2CID 225028760. ^ ab Julier, Simon J.; Uhlmann, Jeffrey K. (2004). 「アンセンテッドフィルタリングと非線形推定」. Proceedings of the IEEE . 92 (3): 401– 422. Bibcode :2004IEEEP..92..401J. doi :10.1109/JPROC.2003.823141. S2CID 9614092. ^ Julier, Simon J.; Uhlmann, Jeffrey K. (1997). 「カルマンフィルタの非線形システムへの新たな拡張」 (PDF) . Kadar, Ivan (編). 信号処理、センサーフュージョン、ターゲット認識VI . Proceedings of SPIE. Vol. 3. pp. 182– 193. Bibcode :1997SPIE.3068..182J. CiteSeerX 10.1.1.5.2891 . doi :10.1117/12.280797. S2CID 7937456. 2008年5 月3日閲覧 . ^ Menegaz, HMT; Ishihara, JY; Borges, GA; Vargas, AN (2015年10月). 「アンセンテッド・カルマンフィルタ理論の体系化」. IEEE Transactions on Automatic Control . 60 (10): 2583– 2598. Bibcode :2015ITAC...60.2583M. doi :10.1109/tac.2015.2404511. hdl : 20.500.11824/251 . ISSN 0018-9286. S2CID 12606055. ^ Gustafsson, Fredrik; Hendeby, Gustaf (2012). 「拡張カルマンフィルタとアンセンテッドカルマンフィルタの関係」. IEEE Transactions on Signal Processing . 60 (2): 545– 555. Bibcode :2012ITSP...60..545G. doi :10.1109/tsp.2011.2172431. S2CID 17876531. ^ Van der Merwe, R.; Wan, EA (2001). 「状態推定およびパラメータ推定のための平方根無香料カルマンフィルタ」. 2001 IEEE 国際音響・音声・信号処理会議. Proceedings (Cat. No.01CH37221) . 第6巻. pp. 3461– 3464. doi :10.1109/ICASSP.2001.940586. ISBN 0-7803-7041-4 . S2CID 7290857。 ^ Wan, EA; Van Der Merwe, R. (2000). 「非線形推定のためのアンセンテッド・カルマンフィルタ」 (PDF) . IEEE 2000 信号処理、通信、制御のための適応システムシンポジウム (カタログ番号00EX373) . p. 153. CiteSeerX 10.1.1.361.9373 . doi :10.1109/ASSPCC.2000.882463. ISBN 978-0-7803-5800-3 . S2CID 13992571. オリジナル (PDF) から2012年3月3日にアーカイブ 。 2010年1月31日 閲覧。 ^ Sarkka, Simo (2007年9月). 「連続時間非線形システムの状態推定のためのアンセンテッド・カルマンフィルタリングについて」. IEEE Transactions on Automatic Control . 52 (9): 1631– 1641. Bibcode :2007ITAC...52.1631S. doi :10.1109/TAC.2007.904453. ^ ab Burkhart, Michael C.; Brandman, David M.; Franco, Brian; Hochberg, Leigh; Harrison, Matthew T. (2020). 「非線形および非ガウス観測モデルによるベイズフィルタリングのための識別カルマンフィルタ」. Neural Computation . 32 (5): 969– 1017. doi :10.1162/neco_a_01275. PMC 8259355. PMID 32187000. S2CID 212748230. 2021 年 3月26日 閲覧 。 ^ ab Burkhart, Michael C. (2019). ベイズフィルタリングへの識別的アプローチと人間の神経デコーディングへの応用 (学位論文). 米国ロードアイランド州プロビデンス: ブラウン大学. doi :10.26300/nhfp-xv22. ^ ab Brandman, David M.; Burkhart, Michael C.; Kelemen, Jessica; Franco, Brian; Harrison, Matthew T.; Hochberg, Leigh R. (2018). 「ガウス過程回帰を用いた四肢麻痺患者のカーソルのロバストな閉ループ制御」. Neural Computation . 30 (11): 2986– 3008. doi :10.1162/neco_a_01129. PMC 6685768. PMID 30216140. 2021 年 3月26日 閲覧 . ^ Bar-Shalom, Yaakov; Li, X.-Rong; Kirubarajan, Thiagalingam (2001). 推定とその追跡・航法への応用 . ニューヨーク, USA: John Wiley & Sons, Inc. pp. 421 ff. doi :10.1002/0471221279. ISBN 0-471-41655-X 。 ^ Bucy, RSおよびJoseph, PD, 確率過程のフィルタリングとガイダンスへの応用, John Wiley & Sons, 1968; 第2版, AMS Chelsea Publ., 2005. ISBN 0-8218-3782-6 ^ ジャズウィンスキー、アンドリュー・H.、 確率過程とフィルタリング理論、 アカデミック・プレス、ニューヨーク、1970年 。ISBN 0-12-381550-9 ^ Kailath, T. (1968). 「最小二乗推定への革新的なアプローチ - パートI:加法性白色ノイズにおける線形フィルタリング」 IEEE Transactions on Automatic Control . 13 (6): 646– 655. doi :10.1109/TAC.1968.1099025. ^ Vaswani, Namrata (2008). 「カルマンフィルタを用いた圧縮センシング」. 2008 第15回 IEEE 国際画像処理会議 . pp. 893– 896. arXiv : 0804.0819 . doi :10.1109/ICIP.2008.4711899. ISBN 978-1-4244-1765-0 . S2CID 9282476。 ^ Carmi, Avishy; Gurfil, Pini ; Kanevsky, Dimitri (2010). 「埋め込み擬似測定ノルムおよび準ノルムを用いたカルマンフィルタリングによるスパース信号回復法」 IEEE Transactions on Signal Processing . 58 (4): 2405– 2409. Bibcode :2010ITSP...58.2405C. doi :10.1109/TSP.2009.2038959. S2CID 10569233. ^ ザカリア, デイブ; チャタジー, サイカット; ヤンソン, マグナス (2012). 「動的反復追跡」. IEEE Transactions on Signal Processing . 60 (9): 4967– 4972. arXiv : 1206.2496 . Bibcode :2012ITSP...60.4967Z. doi :10.1109/TSP.2012.2203813. S2CID 18467024. ^ サルッカ、シモ;ハルティカイネン、ジョウニ。スヴェンソン、レナート。サンドブロム、フレドリック (2015-04-22)。 「ガウス過程求積法とシグマポイント法の関係について」。 arXiv : 1504.05994 [stat.ME]。 ^ Vasebi, Amir; Partovibakhsh, Maral; Bathaee, S. Mohammad Taghi (2007). 「ハイブリッド電気自動車向け拡張カルマンフィルタに基づく鉛蓄電池の充電状態推定のための新規複合電池モデル」 Journal of Power Sources . 174 (1): 30– 40. Bibcode :2007JPS...174...30V. doi :10.1016/j.jpowsour.2007.04.011. ^ Vasebi, A.; Bathaee, SMT; Partovibakhsh, M. (2008). 「拡張カルマンフィルタによるハイブリッド電気自動車用鉛蓄電池の充電状態予測」. エネルギー変換と管理 . 49 (1): 75– 82. Bibcode :2008ECM....49...75V. doi :10.1016/j.enconman.2007.05.017. ^ Fruhwirth, R. (1987). 「カルマンフィルタのトラックフィッティングと頂点フィッティングへの応用」. 核物理学研究における計測と手法 A セクション . 262 ( 2–3 ): 444–450 . Bibcode :1987NIMPA.262..444F. doi :10.1016/0168-9002(87)90887-4. ^ Harvey, Andrew C. (1994). 「計量経済学におけるカルマンフィルタの応用」. Bewley, Truman (編). 『計量経済学の進歩』 . ニューヨーク: Cambridge University Press. pp. 285f. ISBN 978-0-521-46726-1 。 ^ Boulfelfel, D.; Rangayyan, RM; Hahn, LJ; Kloiber, R.; Kuduvalli, GR (1994). 「カルマンフィルタを用いた単一光子放出コンピュータ断層撮影画像の2次元復元」. IEEE Transactions on Medical Imaging . 13 (1): 102– 109. doi :10.1109/42.276148. PMID 18218487. ^ Bock, Y.; Crowell, B.; Webb, F.; Kedar, S.; Clayton, R.; Miyahara, B. (2008). 「高速GPSと地震データの融合:地質災害軽減のための早期警報システムへの応用」 AGU秋季会議抄録 43 : G43B–01. 書誌コード :2008AGUFM.G43B..01B. ^ Wolpert, DM; Miall, RC (1996). 「生理学的運動制御のための順方向モデル」. ニューラルネットワーク . 9 (8): 1265– 1279. doi :10.1016/S0893-6080(96)00035-4. PMID 12662535.
さらに読む Bar-Shalom, Yaakov ; Li, X. Rong ; Kirubarajan, Thiagalingam (2004). 推定とその追跡・航行への応用:理論、アルゴリズム、ソフトウェア . Wiley. ビアマン, GJ (1977). 離散逐次推定のための因数分解法 . 科学と工学における数学. 第128巻. ミネオラ, ニューヨーク州: Dover Publications. ISBN 978-0-486-44981-4 。 Bozic, SM (1994). デジタルフィルタリングとカルマンフィルタリング . Butterworth–Heinemann. Chui, Charles K.; Chen, Guanrong (2009). カルマンフィルタリングとリアルタイムアプリケーション . Springer Series in Information Sciences. 第17巻(第4版). ニューヨーク: Springer . p. 229. ISBN 978-3-540-87848-3 。 ゲルブ, A. (1974). 応用最適推定 . MITプレス. ハーヴェイ, AC (1990). 予測、構造時系列モデル、そしてカルマンフィルタ. ケンブリッジ大学出版局. ISBN 978-0-521-40573-7 。 ヘイキン、S. (2002). 適応フィルタ理論. プレンティス・ホール. ISBN 978-0-13-090126-2 。 ジャズウィンスキー、アンドリュー・H. (1970). 確率過程とフィルタリング . 科学と工学における数学. ニューヨーク: アカデミック・プレス . p. 376. ISBN 978-0-12-381550-7 。 カイラス、トーマス 、 サイード、アリ・H 、 ハシビ、ババク (2000). 線形推定 . ニュージャージー州: プレンティス・ホール. ISBN 978-0-13-022464-4 。 Kalman, RE (1960). 「線形フィルタリングと予測問題への新しいアプローチ」 (PDF) . Journal of Basic Engineering . 82 (1): 35– 45. doi :10.1115/1.3662552. S2CID 1242324. 2008年5月29日時点の オリジナル (PDF)からアーカイブ。 2008年5月3日 閲覧 。 Kalman, RE; Bucy, RS (1961). 「線形フィルタリングと予測理論における新たな成果」. Journal of Basic Engineering . 83 : 95–108 . CiteSeerX 10.1.1.361.6851 . doi :10.1115/1.3658902. S2CID 8141345. Liu, W.; Principe, JC; Haykin, S. (2010). カーネル適応フィルタリング:包括的入門 . John Wiley. Maybeck, Peter S. (1979). 「第1章」 (PDF) . 確率モデル、推定、および制御 . 科学技術における数学. 第 141-1 巻.ニューヨーク: Academic Press . ISBN 978-0-12-480701-3 。 Manolakis, DG (1999). 統計的および適応的信号処理 . Artech House. Simon, D. (2006). 最適状態推定:カルマン、H無限大、非線形アプローチ. Wiley-Interscience. 2010年12月30日時点のオリジナルよりアーカイブ。 2006年7月5日 閲覧 。 Sayed, Ali H. (2008). 適応フィルタ . NJ: Wiley. ISBN 978-0-470-25388-5 。 Roweis, S.; Ghahramani, Z. (1999). 「線形ガウスモデルの統一的レビュー」 (PDF) . ニューラル・コンピュテーション . 11 (2): 305– 345. doi :10.1162/089976699300016674. PMID 9950734. S2CID 2590898. ワーウィック、ケビン (1987). 「ARMAモデルのための最適オブザーバー」. 国際制御ジャーナル . 46 (5): 1493– 1503. doi :10.1080/00207178708933989.
外部リンク ウィキメディア コモンズには、カルマン フィルタに関連するメディアがあります。
線形フィルタリングと予測問題への新しいアプローチ、REカルマン著、1960年 Pythonで学ぶカルマンフィルタとベイジアンフィルタ。オープンソースのカルマンフィルタの教科書。 カルマンフィルタの仕組みを図解で解説。カルマンフィルタを画像と色彩でわかりやすく解説します。
支店 システム プロパティ デジタル 制御 高度な 技術 コントローラー 制御 アプリケーション