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

卡尔曼滤波基本方程

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    %Title卡尔曼滤波基本方程
    2 Z' g; S" O2 i7 q%A1初始化1 r/ g$ h. X' b6 k* r
    ( s3 ^2 c' K0 ]7 b8 `/ [4 @' |: c
    %A1.1参数初始化
    4 G/ Q& l" c* X# }+ z% B; BN=200;$ V* B  S  Z% p+ d: r
    ( j- }. `$ v$ p% t4 j3 A  J" t9 l# B
    Xa=zeros(N,1);%预估值
    , ]8 p7 B; G* O8 N7 IX=zeros(N,1);%当前时刻最优估计值
    ) p% h+ G+ c( W3 jPa=zeros(N,1);%Xa的方差矩阵
    ' D- ~# Y7 e# H9 `4 rP=zeros(N,1);%X的方差矩阵
    ! R- r: i8 z& BKg=ones(N,1);%卡尔曼增益8 _$ Y2 F' h( E: C
    ! U0 ]3 J/ I% o* x3 Y: E. p: q
    Z=zeros(N,1);%观测值' o9 ~+ K. _4 L! |% j, g$ g; n
    - k7 u) q9 ~" A2 O/ Q
    W=randn(N,1);%过程噪声
    ! @1 z8 n4 r9 L1 ~( e% y( s% wstdW=std(W);%标准差
      d! D7 m: r! [  F3 D; t( h) v' DvarW=stdW.^2;%方差
    0 W) c8 q8 ?+ c  w4 FV=0.5*randn(N,1);%观测噪声
    : B+ b2 ~# a  O, e3 L' D8 PstdV=std(V);%标准差
    3 g! A" {7 A: o) R6 f& YvarV=stdV.^2;%方差/ J+ a# @# l+ \& @5 B4 e& o
    + ^  [+ c/ ?! A: X( X
    A=1;
    - i  Z/ B' m' {) M4 eH=1;
    8 C; ^2 Q) P/ E- k, J7 }* L( ?% W3 o+ F7 g
    %A1.2状态初始化8 u7 s+ ^# q0 k& A. D/ `% v7 `
    X(1)=23;%初始估计温度
    0 v/ f6 l" k# s" P4 I+ NP(1)=10;%初始估计方差' V: [2 x* U1 H: G5 J, i% k# }# ^
    Z(1)=25+V(1);; c8 |; l  q& a. _% w" m0 b5 }
    Xa(1)=23+W(1);# X! a* U& g2 R2 ~5 v7 M
    8 ]6 ^! ~4 `; L! L, }7 Z$ w/ o
    %卡尔曼滤波! }2 [/ f: [* F0 f; v& _
    for k=2:N
    , X2 A5 u+ Z* F3 J4 t    %预估
    4 u0 I( H) _, ?    Xa(k)=A*X(k-1);! I" @$ s! ]% o7 B2 g, L% I
        Pa(k)=A*P(k-1)*A'+varW;
    * ]& \4 w2 B- R. I+ d2 `# i9 R- X% x7 S# E: p
        %校正* E4 b( ~/ V/ }# e# _9 m
        Kg(k)=Pa(k)*H'/(H*Pa(k)*H'+varV);' F# v3 h! ]) H# j% e5 u' F* I
        Z(k)=25+V(k);%25是真实温度值
      p! J5 N- q! s7 L3 G    X(k)=Xa(k)+Kg(k)*(Z(k)-H*Xa(k));5 f( O% Q, j# C" g! U( x
        P(k)=(1-Kg(k)*H)*Pa(k);: m( d3 Q; o0 |1 e
    end
    % l, E+ _, \- t2 P- G: s9 r0 a
    t=1:N;
    2 {* @9 a/ V) m0 ?  J6 i- zrealVal=25*ones(N,1);$ E* t2 W3 j% _/ D) I% S
    , h! ^* ]6 C8 u" G8 I
    plot(t,realVal,'y',t,Z,'c',t,Xa,'b',t,X,'r');4 D; x( f6 e! o' w$ q# `
    axis([0 N 20 30]);; `/ o/ l. l! H
    legend('真实值','观测值','预估值','估计值');3 o+ |* f+ o; H0 d: k7 O3 M
    grid on;
    ) t3 r, `7 n+ w$ H" ?! |
    ' W6 M3 }: G1 ititle('Kalman Filter');' P- H$ h* N# z1 a  q% p
    - [3 b8 F8 G; u5 J3 d
    %realVal真实值;Z观测值;Xa预估值;X最优估计值;W过程噪声;V观测噪声 8 ?+ m1 d# t+ ]5 |5 i
    ) _0 w2 O- a% _* _) U
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-11 21:15 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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