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

卡尔曼滤波基本方程

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    %Title卡尔曼滤波基本方程
    + z$ Z7 P8 D- V. W# Z( U%A1初始化
    ! j7 g1 O( t( D/ y# J. T5 M0 ?" [" G  b; ~4 H3 z7 V
    %A1.1参数初始化  W5 x  ]) a% `* a
    N=200;
    & V! h  d% e# Z4 ]
    - I7 z) S. U- M2 K* dXa=zeros(N,1);%预估值2 o/ n7 [; B/ w5 W
    X=zeros(N,1);%当前时刻最优估计值
    3 n% b0 }5 l% L4 {+ ^1 i5 a7 N$ xPa=zeros(N,1);%Xa的方差矩阵
    . V8 K0 {. I3 m8 D1 E& HP=zeros(N,1);%X的方差矩阵
    - d, o5 Y. ^  W& W4 }  uKg=ones(N,1);%卡尔曼增益* |* T! a/ W% b. P

      m, k. c' p+ o! dZ=zeros(N,1);%观测值
    & K: C. P. T! h0 k5 w" N  d
    8 {5 v! b* W; l- u9 M5 BW=randn(N,1);%过程噪声  T. H4 I, B, j3 T
    stdW=std(W);%标准差' ~* ~3 e- q$ |! D! L; s, u
    varW=stdW.^2;%方差0 A0 r6 f5 g' c
    V=0.5*randn(N,1);%观测噪声1 M' g$ n3 J$ M% O
    stdV=std(V);%标准差
    9 i5 T) p$ _4 e$ I$ w% s! |. u$ \varV=stdV.^2;%方差
    : A, ~: @! M2 v
    9 V- v; [1 b- I# mA=1;
    ) o8 Z% T* O- nH=1;
    8 P8 y# o0 _' K7 u/ [7 F- n7 C1 U. l' Z6 R
    %A1.2状态初始化9 f) B9 d! b. P0 S7 C2 }7 X
    X(1)=23;%初始估计温度9 Z3 I7 }1 l' P
    P(1)=10;%初始估计方差* f: P2 ~6 ~# M' q2 a
    Z(1)=25+V(1);
    * d8 U& m3 O5 m2 G1 [Xa(1)=23+W(1);
    9 y/ Q* ~, @, J! X9 k7 T) j; X
    * V. J$ o' ?* k- Y1 d%卡尔曼滤波
    2 b: x7 [6 Z4 ifor k=2:N$ c' O+ Q$ J( A  c- U4 Q
        %预估
    % N  ?2 g, t2 }2 K" F! o' ]& n3 x    Xa(k)=A*X(k-1);4 U8 i; w2 [5 ]: q0 U1 y. U- z! I
        Pa(k)=A*P(k-1)*A'+varW;
    + x$ x- F; s; ^* U3 Q# {' J7 G) V- A3 l$ I- s3 R
        %校正
    ) Y5 s6 a& e9 F! A2 s/ W    Kg(k)=Pa(k)*H'/(H*Pa(k)*H'+varV);% s5 n; B. G8 z, R) l- ?
        Z(k)=25+V(k);%25是真实温度值
    3 @9 i2 m4 B5 J& B) u    X(k)=Xa(k)+Kg(k)*(Z(k)-H*Xa(k));
    * z& {/ W1 r2 f3 r& h0 I    P(k)=(1-Kg(k)*H)*Pa(k);! i7 g/ _. ~. r8 Q& M7 j* {2 K5 z
    end. K8 o, X( a! V5 f4 V

    , u% q/ r) p, Z( D& ]; s) o9 H' c# bt=1:N;. A7 p* [- L3 t5 c4 e
    realVal=25*ones(N,1);8 L9 m3 }" U, ]9 d
    % n# o0 t, }8 Q: x+ Y
    plot(t,realVal,'y',t,Z,'c',t,Xa,'b',t,X,'r');7 z! a4 D  [' ]. j% ~+ s, \, ]  }
    axis([0 N 20 30]);
    6 b& k- G; j* q& Y5 @$ F! V/ Zlegend('真实值','观测值','预估值','估计值');8 Q8 I. `; W! m- V( O) u3 k+ E+ S* V
    grid on;9 {3 @' B6 i9 l: y; }

    ! k5 G! f" M; Q1 Btitle('Kalman Filter');$ o8 D! i, K: v# w. J2 i
    # o) K% m6 ?  A( x7 ~
    %realVal真实值;Z观测值;Xa预估值;X最优估计值;W过程噪声;V观测噪声
    # k9 I+ R% F/ k9 \. Y" Z$ m8 |" A% S/ V8 @& \" U1 t
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-18 22:58 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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