このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
unscentedKalmanFilter
オンライン状態推定に対するアンセンテッド カルマン フィルター オブジェクトの作成
説明
unscentedKalmanFilter
は、離散時間アンセンテッド カルマン フィルター アルゴリズムを使用する離散時間非線形システムのオンライン状態推定用オブジェクトを作成します。
オンライン状態推定を実行する場合、最初に非線形の状態遷移関数 f と測定関数 h を作成します。次に、これらの非線形関数を使用して unscentedKalmanFilter
オブジェクトを構築し、ノイズ項が加法性であるか非加法性であるかを指定します。
オブジェクトを作成した後、predict
コマンドを使用して次のタイム ステップでの状態推定を予測し、correct
でアンセンテッド カルマン フィルター アルゴリズムとリアルタイム データを使用して状態推定を修正します。アルゴリズムの詳細については、アルゴリズムを参照してください。
作成
構文
説明
は、離散時間非線形システムのオンライン状態推定用のアンセンテッド カルマン フィルター オブジェクトを作成します。obj
= unscentedKalmanFilter(stateTransitionFcn
,measurementFcn
,initialState
)
stateTransitionFcn
は、時間 k-1 における状態ベクトルが与えられた場合の時間 k におけるシステムの状態を計算する関数です。この関数は、オブジェクトのStateTransitionFcn
プロパティに格納されます。measurementFcn
は、時間 k における状態が与えられた場合の時間 k におけるシステムの出力測定を計算する関数です。この関数は、オブジェクトのMeasurementFcn
プロパティに格納されます。initialState
は、状態推定の初期値を指定します。この値は、オブジェクトのState
プロパティに格納されます。
オブジェクトを作成した後に、関数 correct
と predict
で離散時間アンセンテッド カルマン フィルター アルゴリズムとリアルタイム データを使用して状態推定値と状態推定誤差の共分散値を更新します。
predict
は、タイム ステップ k-1 における状態値を使用して、タイム ステップ k の予測値でobj.State
とobj.StateCovariance
を更新します。correct
は、タイム ステップ k における測定データを使用して、タイム ステップ k の推定値でobj.State
とobj.StateCovariance
を更新します。
プロパティ
オブジェクト関数
例
アルゴリズム
離散時間アンセンテッド カルマン フィルター アルゴリズムで、離散時間非線形システムのオンライン状態推定を実行します。
状態 x、入力 u、出力 y、プロセス ノイズ w および測定ノイズ v をもつプラントについて考えます。プラントを非線形システムとして表現できると仮定します。
アルゴリズムは指定した状態遷移関数と測定関数を使用して非線形システムの状態推定 を計算します。ソフトウェアを使用して、これらの関数にノイズを加法性または非加法性として指定することができます。
加法性ノイズ項 — 状態遷移方程式と測定方程式は次の形式で表されます。
ここで f は、タイム ステップ間の状態
x
の変化を記述する非線形の状態遷移関数です。非線形の測定関数 h は、x
をタイム ステップk
での測定値y
に関連付けます。w
とv
はそれぞれ、ゼロ平均の無相関プロセス ノイズと測定ノイズです。これらの関数は、方程式のus
とum
で表される追加の入力引数をもつこともできます。たとえば、追加引数はタイム ステップk
または非線形システムに対する入力u
にすることもできます。このような引数は複数存在する可能性があります。両方の方程式において、ノイズ項は加法性であることに注意してください。つまり、
x(k)
はプロセス ノイズw(k-1)
に線形に関連し、y(k)
は測定ノイズv(k)
に線形に関連します。非加法性ノイズ項 — ソフトウェアでは、状態 x[k] と測定値 y[k] がそれぞれプロセス ノイズと測定ノイズの非線形関数である、より複雑な状態遷移関数と測定関数もサポートされます。ノイズ項が非加法性な場合、状態遷移方程式と測定方程式は次の形式で表されます。
オンライン状態推定を実行する場合、最初に非線形の状態遷移関数 f と測定関数 h を作成します。次に、これらの非線形関数を使用して unscentedKalmanFilter
オブジェクトを構築し、ノイズ項が加法性であるか非加法性であるかを指定します。
オブジェクトを作成した後、predict
コマンドを使用して次のタイム ステップでの状態推定を予測し、correct
でアンセンテッド カルマン フィルター アルゴリズムとリアルタイム データを使用して状態推定を修正します。アルゴリズムの詳細については、オンライン状態推定のための拡張カルマン フィルター アルゴリズムおよびアンセンテッド カルマン フィルター アルゴリズムを参照してください。