particleFilter
オンライン状態推定のための粒子フィルター オブジェクト
説明
粒子フィルターは、離散粒子を使用して推定状態の事後分布を近似する再帰的なベイズ状態推定器です。測定値および、モデルの状態を測定値に関係付けるシステム モデルが利用可能な場合のオンライン状態推定に役立ちます。粒子フィルター アルゴリズムは、状態推定値を再帰的に計算するものであり、初期化、予測、補正のステップを含みます。
particleFilter
は、離散時間粒子フィルター アルゴリズムを使用する離散時間非線形システムのオンライン状態推定用オブジェクトを作成します。
状態 x、入力 u、出力 m、プロセス ノイズ w および測定値 y をもつプラントについて考えます。プラントを非線形システムとして表現できると仮定します。
アルゴリズムは、指定した状態遷移関数と測定尤度関数を使用して非線形システムの状態推定 を計算します。
ソフトウェアは、任意のプロセスおよび測定ノイズ分布をもつ、任意の非線形状態遷移および測定モデルをサポートします。
オンライン状態推定を実行するには、非線形の状態遷移関数と測定尤度関数を作成します。その後、これらの非線形関数を使用して particleFilter
オブジェクトを作成します。オブジェクトを作成したら、以下を行います。
initialize
コマンドを使用して粒子を初期化します。predict
コマンドを使用して次のステップでの状態推定値を予測します。correct
コマンドを使用して状態推定値を修正します。
予測ステップでは、最新の状態を使用し、指定した状態遷移モデルに基づいて次の状態を予測します。修正ステップでは、現在のセンサー測定値を使用して状態推定値を修正します。アルゴリズムは必要に応じて状態空間内の粒子を推定状態の事後分布に一致するよう再分布、つまりリサンプリングします。各粒子は、これらの状態変数の離散状態仮説を表します。状態推定値の判定にはすべての粒子のセットが使用されます。
作成
オブジェクトの説明
は、離散時間非線形システムのオンライン状態推定のための粒子フィルター オブジェクトを作成します。pf
= particleFilter(StateTransitionFcn
,MeasurementLikelihoodFcn
)StateTransitionFcn
は、与えられたタイム ステップの状態ベクトルで、次のタイム ステップでの粒子 (状態仮説) を計算する関数です。MeasurementLikelihoodFcn
は、センサー測定値に基づいて各粒子の尤度を計算する関数です。
オブジェクトの作成後、initialize
コマンドを使用して、既知の平均と共分散または定義された範囲内で一様分布する粒子により、粒子を初期化します。その後、correct
コマンドと predict
コマンドを使用して、センサー測定値で粒子 (状態推定値) を更新します。
入力引数
プロパティ
オブジェクト関数
initialize | 粒子フィルターの状態を初期化 |
predict | 拡張カルマン フィルター、アンセンテッド カルマン フィルター、または粒子フィルターを使用した次のタイム ステップにおける状態および状態推定誤差の共分散の予測 |
correct | 拡張カルマン フィルター、アンセンテッド カルマン フィルター、または粒子フィルターと測定値を使用して、状態および状態推定誤差の共分散を修正します。 |
getStateEstimate | 粒子から最良の状態推定値と共分散を抽出 |
clone | オンライン状態推定オブジェクトをコピー |
例
参照
[1] T. Li, M. Bolic, P.M. Djuric, "Resampling Methods for Particle Filtering: Classification, implementation, and strategies," IEEE Signal Processing Magazine, vol. 32, no. 3, pp. 70-86, May 2015.
拡張機能
バージョン履歴
R2017b で導入