卡尔曼滤波两例题含matlab程序

发布时间 : 星期一 文章卡尔曼滤波两例题含matlab程序更新完毕开始阅读

一. 已知一物体作自由落体运动,对其高度进行了20次测量,测量值如下表: 时间[s] 高度[km] 时间[s] 高度[km] 时间[s] 高度[km] 1 1.9945 8 1.6867 15 0.8980 2 1.9794 9 1.6036 16 0.7455 3 1.9554 10 1.5092 17 0.5850 4 1.9214 11 1.4076 18 0.4125 5 1.8777 12 1.2944 19 0.2318 6 1.8250 13 1.1724 20 0.0399 7 1.7598 14 1.0399 设高度的测量误差是均值为0、方差为1的高斯白噪声随机序列,该物体的初始高度h0和速度V0也是高斯分布的随机变量,且??Eh0??1900m??h0??1000?。试求该物体高度?,P?var??0???????EV0??10m/s??V0??02?和速度随时间变化的最优估计。(g?9.80m/s2) 解:

1. 令X(k)???h(k)? t=1 R(k)=1 Q(k)=0 ??v(k)?根据离散时间卡尔曼滤波公式,则有: X(k?1)??(k?1,k)X(k)?U(k) Y(k?1)?H(k?1)X(k?1)?V(k?1)

??0.5gt2??1?t?k=) ? ?(k?1, U(k)= ?=?10? ? H(k?1)?1??gt???1900?滤波初值:X(0|0)?EX(0)???

10??^ P(0|0)?var[X(0)]?P0???100?? ?2?一步预测:X(k?1|k)??(k?1,k)X(k|k)?U(k) P(k?1|k)??(k?1,k)P(k|k)?(k?1,k)

滤波增益:K(k?1)?P(k?1|k)H(k?1)[H(k?1)P(k?1|k)H(k?1)?R(k?1)] 滤波计算:X(k?1|k?1)?X(k?1|k)?K(k?1)[Y(k?1)?H(k?1)X(k?1|k)] P(k?1|k?1)?[I?K(k?1)H(k?1)]P(k?1|k) 2. 实验结果

^^^^^TTT?1

高度随时间变化估计

速度随时间变化的最优估计

高度协方差

速度协方差

从以上的结果,可以得到高度和速度的估计值,再通过所得到的高度协方差和速度协方差,可见用卡尔曼滤波法,虽然刚开始的初始高度协方差很大为100,但通过2步之后减小到不超过1,逐渐接近于0, 同样的速度协方差刚开始的时候也比较大,为2,但是通过5步之后迅速减小,到10步之后接近于0。

3. 有关参数的影响(例如初始条件、噪声统计特性对滤波结果的影响等);

?Eh0??2300m?1)初始条件改变时,改变初始高度值,和速度值 ????30m/s?

EV??0??

联系合同范文客服:xxxxx#qq.com(#替换为@)