Control System Toolbox関数リファレンス | ![]() ![]() |
表示
[kest,L,P] = kalman(sys,Qn,Rn,Nn) [kest,L,P,M,Z] = kalman(sys,Qn,Rn,Nn) % 離散時間のみ [kest,L,P] = kalman(sys,Qn,Rn,Nn,sensors,known)
詳細
kalman
は、プラントの状態空間モデルおよびプロセス、測定ノイズ共分散データを与えて、Kalman状態推定器を設計します。Kalman推定器は、つぎの連続系または離散系推定問題に対する最適解です。
を満足するものとします。この連続プラントは、定常状態偏差の共分散
をもつKalmanフィルタです。この場合、フィルタゲインは、代数Riccati方程式を解くことによって決定されます。この推定器は、既知の入力
と観測値
を使って、出力推定
および状態推定
を作成します。
は、真のプラント出力
をもち、を含む利用可能なすべての観測値を使って、最適の"現在の"出力
および、状態推定値
を作成します。ゲイン行列
および
は、離散系Riccati方程式を解くことによって導かれます。イノベーションゲイン
は、つぎの新しい観測値
を使って、予測値
を更新するために使用します。
使用方法
[kest,L,P] = kalman(sys,Qn,Rn,Nn)
は、プラントモデルsys
およびノイズ共分散データQn
、Rn
、Nn
(上の行列)が与えられた場合、Kalman推定器の状態空間モデル
kest
を出力します。sys
は、行列をもつ状態空間モデルでなければなりません。
結果として得られる推定器kest
は、入力として、および出力(あるいは、それらの離散系の相当値)として
をもっています。
の場合、最後の引数
Nn
は省略できます。
関数kalman
は、連続系、離散系いずれの問題も取り扱い、sys
が連続系であれば連続系推定器を作成し、他の場合、離散系推定器を作成します。連続系では、kalman
は、KalmanゲインL
と定常状態偏差の共分散行列P
も出力します。P
は、関連するRiccati方程式の解であることに注意してください。離散系では構文
[kest,L,P,M,Z] = kalman(sys,Qn,Rn,Nn)
は、フィルタゲインとイノベーションゲイン
および定常状態偏差の共分散
を出力します。 最終的に、より一般的なプラントsys
に対して、構文
[kest,L,P] = kalman(sys,Qn,Rn,Nn,sensors,known) [kest,L,P,M,Z] = kalman(sys,Qn,Rn,Nn,sensors,known)
を用います。この場合は、既知の入力と確率的入力
が混在し、すべての出力が観測されるわけではありません。その時点で、既知のインデックスベクトル
sensors
とknown
は、sys
のどの出力が観測され、どの入力
が既知であるかを設定します。他のすべての入力は、確率的であると見なされます。
例題
マニュアルの"制御設計ツール"、"x-軸に対するLQG設計"、"カルマンフィルタ"を参照してください。
制限
プラントおよびノイズデータは、以下を満足する必要があります。
参考
care
連続時間Riccati方程式の解
dare
離散系Riccati方程式の解
estim
推定器のゲインを与えて、推定器を作成
kalmd
連続系プロントに対する離散Kalman推定器
lqgreg
LQGレギュレータの設計
lqr
状態フィードバックLQレギュレータの設計
参考文献
[1] Franklin, G.F., J.D. Powell, and M.L. Workman, Digital Control of Dynamic Systems, Second Edition, Addison-Wesley, 1990.
![]() | issiso | kalmd | ![]() |