找回密码
 注册
关于网站域名变更的通知
查看: 513|回复: 1
打印 上一主题 下一主题

卡尔曼滤波基本方程

[复制链接]
  • TA的每日心情
    难过
    2019-11-19 16:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-1-15 13:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    %Title卡尔曼滤波基本方程: o/ F; F7 o5 e. x% \5 @# o, f% c
    %A1初始化8 ?$ z0 E/ ~3 m$ ]# W  i
    2 f- `  k5 c$ ~- X  v
    %A1.1参数初始化, v; N2 [! B6 j( F
    N=200;/ ~$ t& f0 A$ q0 |, ~/ d

    - s: l% g. M2 F6 x  X9 k  WXa=zeros(N,1);%预估值5 ~0 Y1 [: a2 Y
    X=zeros(N,1);%当前时刻最优估计值
    * M8 [' z1 R- J& f( TPa=zeros(N,1);%Xa的方差矩阵! n3 @2 }2 u5 n. }% f+ G# X+ A
    P=zeros(N,1);%X的方差矩阵7 Z) ^: n. o; g% {; k
    Kg=ones(N,1);%卡尔曼增益3 {( n6 M% }3 I3 y6 o# B

    4 o9 `# L' X+ y/ B# U5 {, NZ=zeros(N,1);%观测值9 D* U4 K  _9 O
    ( {9 S1 o- c4 h$ v
    W=randn(N,1);%过程噪声% z, B2 d- n" v2 v
    stdW=std(W);%标准差8 O2 h) |- n' n& W
    varW=stdW.^2;%方差. q% O/ T; Y8 A$ \2 o! I2 k
    V=0.5*randn(N,1);%观测噪声: U+ a0 x; x# P
    stdV=std(V);%标准差5 k6 L. W. H, |
    varV=stdV.^2;%方差2 H+ a; ?$ J9 Y0 E

    # B: q! I3 w: n$ }* _3 \A=1;, n5 j0 `! t! \& b+ Y% C5 w! t$ Y
    H=1;
    $ S$ W8 h% }9 H, `$ A# Y) \
    $ i! k5 T% a  w%A1.2状态初始化. @' C0 H  H- [% H' o$ H
    X(1)=23;%初始估计温度! D0 C' W5 {7 ~# \+ b5 |- W
    P(1)=10;%初始估计方差7 j5 z1 S2 k6 W
    Z(1)=25+V(1);  d) e9 Y  k0 C2 {! k( x2 c- C
    Xa(1)=23+W(1);. t5 B2 ]3 @' N
    9 e* i1 m; _7 o+ G. c- W4 ]
    %卡尔曼滤波
    4 l1 ^, Y1 }( Gfor k=2:N
    8 }! p/ }# ^0 y, m+ x. I7 b8 k( J    %预估
      f, q( ^/ W1 v! R    Xa(k)=A*X(k-1);. t3 T$ r6 h. _% N( z
        Pa(k)=A*P(k-1)*A'+varW;! E  {  l# ?; J2 C) u# R

    ( Y7 B: \! O# R- X& x    %校正
    ' L7 u" ~$ f- f/ ~( o( F, k    Kg(k)=Pa(k)*H'/(H*Pa(k)*H'+varV);" o( u" v" _( X2 C# q) D
        Z(k)=25+V(k);%25是真实温度值
    6 K4 @4 M/ S% R, c" W6 W    X(k)=Xa(k)+Kg(k)*(Z(k)-H*Xa(k));
    8 w8 e: n, J. q( o; j$ ^5 ?    P(k)=(1-Kg(k)*H)*Pa(k);, W( H0 X5 m3 N0 D; S; f4 q
    end- {: d6 c6 X! i5 c" f% O

    ( ?" W2 R- }$ B' u' Pt=1:N;
      R2 ~2 u* F; |realVal=25*ones(N,1);( }2 C( }1 o  _% r# e, K8 a
    ' H7 G* j0 q" B: n; Z' O- i/ F+ U: _
    plot(t,realVal,'y',t,Z,'c',t,Xa,'b',t,X,'r');, l0 e+ x& D9 b, C, T
    axis([0 N 20 30]);" ?' t; C! V6 r
    legend('真实值','观测值','预估值','估计值');! I* k8 [1 ?" C: k5 `
    grid on;
    9 @* C# c9 S' U8 X% ^$ y" X" ^) R& L( |: V' e1 d$ i
    title('Kalman Filter');& V  E8 T) V" ]# I8 ]
    + g; Z8 p3 t+ S& J, z
    %realVal真实值;Z观测值;Xa预估值;X最优估计值;W过程噪声;V观测噪声
    * N5 [. K5 G  m; v- P3 L3 b6 D% p) C; w. z3 a$ p
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-4 11:07 , Processed in 0.156250 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表