TA的每日心情 | 难过 2019-11-19 16:03 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
%Title卡尔曼滤波基本方程9 c W8 T H( ^5 t' W# U5 }1 E4 N( |7 R
%A1初始化' g+ I% e# i( |
& ? ~" `4 p3 r' Y- t& g# f3 D" |
%A1.1参数初始化
# U# d0 x$ d( P2 O! g- }N=200;
) P+ Y5 j' G2 h; N! |) S5 R5 V" b6 B4 p5 o h [/ j+ e
Xa=zeros(N,1);%预估值9 S' Z6 ?8 L: M7 q0 _: F+ D) P6 w
X=zeros(N,1);%当前时刻最优估计值9 }- |+ Y/ V" `- m8 Z0 p% s( n
Pa=zeros(N,1);%Xa的方差矩阵
+ \; L: V7 Y2 G9 a0 ZP=zeros(N,1);%X的方差矩阵; B9 O9 ]0 b x) b0 R0 `; W
Kg=ones(N,1);%卡尔曼增益
- {$ |7 t5 k3 u' f' y A& \) I# c
1 u0 j" v8 M! ?* U8 CZ=zeros(N,1);%观测值( }' W8 x6 v+ d( C2 A) F% H
S t; T1 s; @8 N: q
W=randn(N,1);%过程噪声
- t3 }0 \4 J' w dstdW=std(W);%标准差
2 u2 _( L7 H2 h/ @& ]0 t. v' p1 evarW=stdW.^2;%方差$ o. @$ z7 V; ~0 z
V=0.5*randn(N,1);%观测噪声
+ Q/ F4 _6 k( p6 A- V/ ?stdV=std(V);%标准差
5 x" P$ e( M y5 ` xvarV=stdV.^2;%方差5 V u: }$ z& u
' J% H* W$ V; P# h0 P! H8 Z* z
A=1;) F9 l% I& }& [3 f) I' ?7 Z+ K% _7 e
H=1;9 b4 w5 ]( f: i6 R7 ]3 m* R- O
/ D( R t7 F) y& l, B4 @* ~
%A1.2状态初始化
7 S( L6 T. D0 E @3 rX(1)=23;%初始估计温度. b4 X" e" p. ? L4 ]; s9 u8 K
P(1)=10;%初始估计方差
6 l% y8 k4 R9 }) B, ?Z(1)=25+V(1);
* D/ G* s9 J, X! \Xa(1)=23+W(1);5 B, L! ^+ V3 n/ a& E9 O
; Q0 M# z% k( A. V% |( u9 c
%卡尔曼滤波: H4 c/ m3 @& M4 z1 I U
for k=2:N
$ y, ]. Q" D/ k8 J/ V( [2 a %预估
5 H r1 B- t+ L7 i" A9 j Xa(k)=A*X(k-1);
& \( m0 {( X1 U' c7 E Pa(k)=A*P(k-1)*A'+varW;
# ^/ ~. C# y& U; L8 G$ n$ u& h+ [+ G8 Y7 F5 X* w& I' I
%校正
7 u! l7 v, R' ?2 O3 S% i/ ] Kg(k)=Pa(k)*H'/(H*Pa(k)*H'+varV);( z5 u# Y' b4 ?1 x3 l
Z(k)=25+V(k);%25是真实温度值3 U7 ]6 m4 e' M" j
X(k)=Xa(k)+Kg(k)*(Z(k)-H*Xa(k));9 |3 X, T5 L. h, b- m; \
P(k)=(1-Kg(k)*H)*Pa(k);) Q) B4 _( d, n& a
end
+ w' p n) B \
9 l @% o( A7 M* L0 d4 E) R. |8 m: h- rt=1:N;/ H7 T) A+ s7 S) \' x1 N
realVal=25*ones(N,1); k$ h, z# C- I1 g
4 {7 u8 G" x& s. N4 wplot(t,realVal,'y',t,Z,'c',t,Xa,'b',t,X,'r');
% m. D7 K, R' P& ?" maxis([0 N 20 30]);1 q# I$ N0 ]# R$ a& w6 u
legend('真实值','观测值','预估值','估计值');
- E' k7 O U3 i2 n1 _/ Ugrid on;
' Q# w: X! r4 B6 {+ d3 R) r# r- V" C+ d" i: ?$ @6 M- z y/ {; m" t
title('Kalman Filter');3 u" _1 s2 C7 Z3 l" `! G8 m3 t
- T7 n9 V& s8 c
%realVal真实值;Z观测值;Xa预估值;X最优估计值;W过程噪声;V观测噪声
7 L3 T6 x0 Q9 T9 D' t* H8 h4 O0 q2 C* Y j' N/ u
|
|