OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5227|回复: 2

[转载]我对卡尔曼滤波的认识

[复制链接]

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1863
金钱
1863
注册时间
2011-3-29
在线时间
139 小时
发表于 2015-7-2 12:11:31 | 显示全部楼层 |阅读模式
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=15257&highlight=%CE%D2%B6%D4%BF%A8%B6%FB%C2%FC

kalman filter
kf是一种时域滤波器,在使用陀螺仪、加速度计的很多场合都需要用到(四轴、自平衡等,还有什么阿波罗飞船,导弹之类的,是不是貌似很高端啊,别怕其实就那么回事),资料介绍的比较多,但是复杂的数学令人生畏,用图表的方式总结下来龙去脉,利人利己吧!(其实是某某准备让本人去他们那讲讲,自己说不清楚不好吧,所以下了点功夫,^_^)
1、问题描述:针对线性动态系统,参见矩阵A,明显典型的一阶Markov Chain(这个不懂自己去查资料)
u:控制量;z:观测量;x:状态量;方框:矩阵,作用是左乘;圆:变量;星形:高斯白噪声,右下角为其方差;
1.jpg 
状态转移过程:
2.png 
观测计算过程:
3.png 
另一种图描述得更好一些,蓝色是已知量,需要获得状态量或者它的好的估计,中间的lz-1表示一个延时:4.png 
2、解决方案:
2.1 构建一个同结构的模型,粉红色表示估计量
5.png 
虽然结构相同,但是无噪声,问题:1、缺初值x0的准确值的话无法工作;2、无噪声,计算有误差
2.2将上述结构改进,将观测量利用起来,(^_^废话,不用就靠猜了),设计一个反馈参与到估计过程中去,设法使得后验误差的协方差最小。带-的粉红变量表示先验估计(priori estimate),指根据以往经验和分析得到,常表示为x(k|k-1);不带的表示后验估计(posteriori estimate),指利用观测量修正后的估计,常表示为x(k|k);
6.png 
关键在于K(卡尔曼增益,kalman gain)应该如何设置。详细推导过程见参考文献[1](无非是求导,然后一堆简单的概率计算)。
因此,kf算法的详细过程包括两部分,也即是它的5个公式:
预测阶段:计算先验估计(P(k|k-1)是X(k|k-1)对应的covariance)
X(k|k-1)=A X(k-1|k-1)+B U(k) ……….. (1)
P(k|k-1)=A P(k-1|k-1) A’+Q ……… (2)
修正阶段:计算后验估计并更新先验估计的协方差
X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1)) ……… (3)
Kg(k)= P(k|k-1) H’ / (H P(k|k-1) H’ + R) ……… (4)
P(k|k)=(I-Kg(k) H)P(k|k-1) ……… (5)
其实,(3)和(4)本来应该倒过来的,没有Kg怎么计算(3)?大家都这么写就约定俗成了!
就这么简单,别想复杂了!
明显,算法过程中需要R和Q,观测噪声协方差R可以通过离线统计获得,而过程激励噪声协方差Q没有好办法获得(原因是无法之间观测到过程量xk)
参考文献:
1. 标量卡尔曼滤波  http://www.swarthmore.edu/NatSci/echeeve1/Ref/Kalman/ScalarKalman.html#Alternate
里面有详细的推导过程
2. http://www.cs.unc.edu/~welch/kalman/
2. Xuchen Yao, Ph.D. Johns Hopkins University "An Introduction to the Kalman Filter" 翻译成中文了的,强烈推荐

kalman_intro_chinese.pdf

539.84 KB, 下载次数: 599

业余程序玩家。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-7-2 21:25:06 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2016-1-18
在线时间
7 小时
发表于 2016-1-19 11:23:14 | 显示全部楼层
楼主,可否解释下 Uk是什么? 状态变量么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 13:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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