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

卡尔曼滤波基本方程

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    %Title卡尔曼滤波基本方程; _) A$ {8 G- }& p
    %A1初始化
    - j# T. t5 ^+ j! H: M, c- K8 L0 A* b
    %A1.1参数初始化, I1 @& e7 p2 r0 h% S3 I" v2 A: g
    N=200;
    + \9 o2 a6 g( u3 j! J* V$ z. H9 h  F/ @2 ?* h. ~4 `
    Xa=zeros(N,1);%预估值- x5 d0 |! q& _. X8 F7 t! b- n
    X=zeros(N,1);%当前时刻最优估计值
    7 H# T3 @/ Z! q- V! ~( gPa=zeros(N,1);%Xa的方差矩阵
    2 K# ~( l4 v4 ?" z# d& JP=zeros(N,1);%X的方差矩阵
    7 V* S& C! [) o" ?2 {Kg=ones(N,1);%卡尔曼增益
    : j% U% |( T- {0 E8 e2 \* l3 z% T1 z1 O7 F' h
    Z=zeros(N,1);%观测值
    $ l* p! O0 m$ b4 A3 B6 e) y" K! U; R$ M/ @
    W=randn(N,1);%过程噪声
    / o$ D+ j) ^9 [/ tstdW=std(W);%标准差
    . S, @% [, q" x. ?( {varW=stdW.^2;%方差
    " r2 K8 `* k9 o( |; J2 S' VV=0.5*randn(N,1);%观测噪声9 ~, Q, v1 @( y; m
    stdV=std(V);%标准差2 ]# }9 X* |! a8 B1 e: b! v- l
    varV=stdV.^2;%方差: c3 `, T$ ^. l
    6 n% e) r; d; f, k/ _) I
    A=1;5 W# _8 Y% }  d$ h4 V! B
    H=1;, v; i* N$ k' i' h5 v2 g
    ! q7 h0 a, l, t4 C& j! B6 a
    %A1.2状态初始化
    2 `5 z" i6 I% {. DX(1)=23;%初始估计温度
    8 f3 \! V! ~+ M) }" ^( w# RP(1)=10;%初始估计方差  s4 x- R2 c5 N( P: u: R8 A
    Z(1)=25+V(1);
    ; Z  ^; L& g5 u, C7 k' NXa(1)=23+W(1);( v; U0 v5 ]7 b% d2 T7 _% b6 O

    ( l9 V, f8 `6 U. K+ I  d%卡尔曼滤波! j& x! ]. A3 I
    for k=2:N
    % K! T. ]) E1 L. f7 y' |    %预估
    . x" }8 l8 L. p+ ~    Xa(k)=A*X(k-1);
    + Y$ ?+ F9 S( w8 y" {    Pa(k)=A*P(k-1)*A'+varW;
    " E$ }3 u6 I0 ~% {( D5 ?9 s% x* j( Z( Q
        %校正: e9 _- [6 t! c9 O5 K+ P: e7 q
        Kg(k)=Pa(k)*H'/(H*Pa(k)*H'+varV);4 E5 d# b0 ^# @! u0 M$ Y' Y
        Z(k)=25+V(k);%25是真实温度值2 [2 s5 U, f6 R
        X(k)=Xa(k)+Kg(k)*(Z(k)-H*Xa(k));
    % ?$ p& V6 M  Q" E! h- r    P(k)=(1-Kg(k)*H)*Pa(k);& m$ h1 d/ {$ S; j7 x4 I
    end
    ' m2 c! U/ n1 c+ D9 c) c, `# }* X2 i' n0 n9 K- X$ v8 R% Q6 m
    t=1:N;
      B9 Q0 \% N9 ~0 u$ s& C, zrealVal=25*ones(N,1);
    / n  [' X2 q- W1 d; B) v5 |) L; N
    plot(t,realVal,'y',t,Z,'c',t,Xa,'b',t,X,'r');/ Z+ [8 q& B$ ]
    axis([0 N 20 30]);2 I6 \( y/ d% g* }1 I& G# c: }
    legend('真实值','观测值','预估值','估计值');! _5 o) N8 w4 T; I/ X2 ?6 G
    grid on;$ t& a# A. q9 ~" O( y. E) W

    + [; X; ]! `! p# Ttitle('Kalman Filter');
    & E" r6 `' \# }/ g+ L1 l4 ~& e! p% Z5 t4 E- h3 f& |
    %realVal真实值;Z观测值;Xa预估值;X最优估计值;W过程噪声;V观测噪声 5 Z8 n" _  B) v" n6 R1 z3 F

    ) X6 x" @. A7 _9 O) o
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-7 03:47 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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