找回密码
 注册
查看: 467|回复: 1
打印 上一主题 下一主题

卡尔曼滤波基本方程

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    %Title卡尔曼滤波基本方程$ m& {4 B3 `0 F/ c5 v7 m
    %A1初始化
    ; z. o; m% a) Y, E- ~' L, ~, C, d
    9 h7 H! I4 V8 h2 R8 w9 j%A1.1参数初始化
    . _  ^" x, i2 ~2 q6 U# TN=200;
    # x/ R. |5 d5 q9 U! {9 A( p) u# ]5 A' @
    Xa=zeros(N,1);%预估值" g. |& `9 D% o( [  x0 M; l
    X=zeros(N,1);%当前时刻最优估计值
    " w% Q6 \! ]1 v+ q8 t6 H; TPa=zeros(N,1);%Xa的方差矩阵
    * \0 e' i( C! c, q6 t: i! QP=zeros(N,1);%X的方差矩阵
    ( _7 ~+ d( D) k  P, h, bKg=ones(N,1);%卡尔曼增益
    $ t- e; C# ?% U; \4 |; j6 B6 E7 F
    0 t' B& P- Y  Q1 N& u* jZ=zeros(N,1);%观测值
    - l  H6 G. }4 `' S% _4 S9 o" S
    , d9 G) j$ {7 n3 RW=randn(N,1);%过程噪声
    1 i$ \) X. w8 \* BstdW=std(W);%标准差4 Y9 U5 Z* X- d* N& a
    varW=stdW.^2;%方差
    & ]$ ^4 d# t: w" w$ X* yV=0.5*randn(N,1);%观测噪声
    9 G) ?# ?( S% Z; @) qstdV=std(V);%标准差
    . ^/ {. y7 ^# ]+ p' PvarV=stdV.^2;%方差
    , I+ B% g# C4 w( }  w* P% x
    $ g& C- K. `3 e$ j$ I" iA=1;
    / }" ?$ z$ ]. q8 A- K4 SH=1;7 I2 v; a2 g( n0 l, V) f: C
    3 z' |% U/ R% f$ I7 }2 j0 N
    %A1.2状态初始化: U$ c! j; N/ R' h4 N; S% {
    X(1)=23;%初始估计温度. n- S- |3 Y5 D) I7 e. e$ I
    P(1)=10;%初始估计方差, B; N" a( R9 f* J+ e7 h
    Z(1)=25+V(1);
    0 D+ M/ g4 q0 [, L/ j! dXa(1)=23+W(1);4 [: g# o4 ?& o0 d  S' {( X
    , N4 {) j1 \, ]% N1 c
    %卡尔曼滤波' w+ r8 u  f8 F' k3 T% I3 \* H* e
    for k=2:N2 a+ N' n! q1 b3 Y# `
        %预估
    5 V0 s/ o9 D9 _    Xa(k)=A*X(k-1);/ @% t, u- ^& P5 ~3 A
        Pa(k)=A*P(k-1)*A'+varW;( S9 n% u$ [  |- i( {1 i

    " \/ {' p  j; p% Z8 q* R    %校正6 n8 |8 @' y$ i' F8 Z8 L( T
        Kg(k)=Pa(k)*H'/(H*Pa(k)*H'+varV);
    0 C* j0 r, q; s' P    Z(k)=25+V(k);%25是真实温度值
    3 G9 E' p- C8 B5 \1 _6 _' S9 x1 G    X(k)=Xa(k)+Kg(k)*(Z(k)-H*Xa(k));
    3 [( K4 c9 G7 I3 f* F/ Q4 X    P(k)=(1-Kg(k)*H)*Pa(k);8 y2 Z; m. k) d( P1 |
    end. Z. {  ~' M( ]

    , c' p, j) ~+ W' F* R# B5 C4 c2 V' N/ Dt=1:N;/ W. P8 ^. u, C* f( y! x. s
    realVal=25*ones(N,1);) c/ x- E4 G) B% z1 `, Q  L+ m. X
    0 G$ p6 r' I  S
    plot(t,realVal,'y',t,Z,'c',t,Xa,'b',t,X,'r');
    4 q1 D( d5 m3 {2 d# z, J# Vaxis([0 N 20 30]);, r3 I( e5 m. y- B
    legend('真实值','观测值','预估值','估计值');- A, W* o- \- v9 W
    grid on;
    0 t1 d8 Z, u0 H6 X- T
    5 o& H1 l# Y& }: |/ R; Ctitle('Kalman Filter');8 h% l9 }/ Y/ p( ^" c6 I7 u

    3 j# [8 N2 S$ D# a. H/ S( c: h%realVal真实值;Z观测值;Xa预估值;X最优估计值;W过程噪声;V观测噪声 - a) I, }4 Y$ G# R1 d2 X6 y
    7 A  M9 |+ c' K! I! `
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-5-25 03:13 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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