Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> CACSD > lqe

lqe

線形二次推定器 (カルマンフィルタ)

呼出し手順

[K,X]=lqe(P21)

パラメータ

P21

syslin リスト

K, X

実数行列

説明

lqe は, 連続または離散時間系のフィルタ問題に関する カルマンゲインを返します.

P21 は システム P21=[A,B1,C2,D21] P21=syslin('c',A,B1,C2,D21) または P21=syslin('d',A,B1,C2,D21) を表す syslinリストです.

P21 への入力は, 白色ノイズで分散は以下となります:

[B1 ]               [Q  S]
BigV=[   ] [ B1' D21'] = [    ]
[D21]               [S' R]

X は安定化リカッチ方程式の解, A+K*C2 は安定となります.

連続時間系において:

(A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S'=0
K=-(X*C2'+S)*inv(R)

離散時間系において:

X=A*X*A'-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')*(C2*X*A'+D21*B1')+B1*B1'

K=-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21')

xhat(t+1)= E(x(t+1)| y(0),...,y(t)) (1ステップ予測した x) は以下の再帰的関係を満たします:

xhat(t+1)=(A+K*C2)*xhat(t) - K*y(t).

//Assume the equations
//.
//x = Ax + Ge
//y = Cx + v
//with
//E ee' = Q_e,    Evv' = R,    Eev' = N 
//
//This is equivalent to
//.
//x = Ax  + B1 w
//y = C2x + D21 w
//with E { [Ge ]  [Ge v]' } = E { [B1w ] [B1w D21w]' } = bigR =
//         [ v ]                  [D21w]    
//
//[B1*B1'  B1*D21';
// D21*B1'  D21*D21']  
//=
//[G*Q_e*G' G*N;
// N*G' R]

//To find (B1,D21) given (G,Q_e,R,N) form bigR =[G*Q_e*G' G*N;N'*G' R].
//Then [W,Wt]=fullrf(bigR);  B1=W(1:size(G,1),:);
//D21=W(($+1-size(C2,1)):$,:)
//
//P21=syslin('c',A,B1,C2,D21);
//[K,X]=lqe(P21);

//Example:
nx=5;ne=2;ny=3;
A=-diag(1:nx);G=ones(nx,ne);
C=ones(ny,nx); Q_e(ne,ne)=1; R=diag(1:ny); N=zeros(ne,ny);
bigR =[G*Q_e*G' G*N;N'*G' R];
[W,Wt]=fullrf(bigR);B1=W(1:size(G,1),:);
D21=W(($+1-size(C,1)):$,:);
C2=C;
P21=syslin('c',A,B1,C2,D21);
[K,X]=lqe(P21);
//Riccati check:
S=G*N;Q=B1*B1';
(A-S*inv(R)*C2)*X+X*(A-S*inv(R)*C2)'-X*C2'*inv(R)*C2*X+Q-S*inv(R)*S'

//Stability check:
spec(A+K*C)

参照

  • lqr — LQ補償器 (全状態)
  • observer — オブザーバの設計
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:40:28 CEST 2012