residual
拡張カルマン フィルターまたはアンセンテッド カルマン フィルターを使用するとき、測定残差と残差共分散を返す
構文
説明
residual コマンドは、extendedKalmanFilter オブジェクトと unscentedKalmanFilter オブジェクトについて実際の測定値と予測された測定値の差を返します。残差を確認することは、フィルターの性能を検証する 1 つの方法です。残差は、"イノベーション" とも呼ばれ、予測誤差を定量化し、拡張カルマン フィルターおよびアンセンテッド カルマン フィルターの更新シーケンスの補正ステップを制御します。correct および predict (System Identification Toolbox) を使用して推定されたカルマン フィルターの状態を更新するときは、correct コマンドを使用する直前に residual コマンドを使用します。
[ は、測定値 Residual,ResidualCovariance] = residual(obj,y)y とカルマン フィルター obj によって生成された予測測定値の間の残差 Residual を返します。この関数は、残差の共分散 ResidualCovariance も返します。
extendedKalmanFilter コマンドまたは unscentedKalmanFilter コマンドを使用して obj を作成します。非線形システムの状態遷移関数 f と測定関数 h を obj に指定します。オブジェクトの State プロパティには最新の推定状態値が格納されます。各タイム ステップで、correct および predict を一緒に使用して、状態 x を更新します。残差 s は、そのタイム ステップにおける実際の測定値と予測された測定値の差であり、s = y - h(x) と表現されます。残差の共分散 S は、R + RP の和です。ここで、R はフィルターの MeasurementNoise プロパティによって設定された測定ノイズの行列で、RP は測定空間に投影された状態共分散の行列です。
obj.MeasurementFcn で指定した測定関数 h に次のいずれかの形式が含まれている場合、この構文を使用します。
y(k) = h(x(k))(加法性の測定ノイズ向け)y(k) = h(x(k),v(k))(非加法性の測定ノイズ向け)
ここで、y(k)、x(k)、および v(k) はタイム ステップ k におけるシステムの測定出力、状態、そして測定ノイズです。h への入力のみが状態および測定ノイズです。
システムの測定関数がこれらの入力を必要とする場合、[ は追加の入力引数を指定します。複数の引数を指定できます。Residual,ResidualCovariance] = residual(obj,y,Um1,...,Umn)
測定関数 h に次のいずれかの形式がある場合は、この構文を使用します。
y(k) = h(x(k),Um1,...,Umn)(加法性の測定ノイズ向け)y(k) = h(x(k),v(k),Um1,...,Umn)(非加法性の測定ノイズ向け)
例
入力引数
出力引数
バージョン履歴
R2019b で導入

