注:本文非科普向,会涉及一些一些数学推导,对于具体的算法,也附带了MATLAB代码编程.
亲爱的知友们,你们好啊,欢迎来到我的滤波专栏系列鸭~
我这也是鸽了好久了,最近状态也不太好,各种烦心事儿,十分抱歉啊.
相信大家绝大部分都已经开学了吧,貌似有些学校还是封闭式管理呢,而且部分高校国庆节也才调休3天,打算寒假提前放假.
不管怎么样,相信大家重新回到学校里面,一定是很开心的吧,我的话,返校的感觉就是学校食堂涨价了,但是量却没涨多少.每顿饭量也挺多的,按照这个趋势下去,我不胖不行啊,嘻嘻(●'◡'●)
而且我也很感谢大家的支持啊,知乎小白粉丝突破了3K,以后我也会更加频繁地更新相关内容的,大家敬请期待,爱你们哟~(^U^)ノ~YO
今天我们要讲的内容是非线性卡尔曼滤波的第一种,也是很常见的一种,跟往常一样,我们优先介绍理论,会在接下来的文章中进行数值仿真~
若大家想了解之前写过的卡尔曼滤波以及仿真,传送通道在这里了:
Rainsley:贝叶斯滤波(Bayesian filtering)zhuanlan.zhihu.com我们就开始今天的内容吧!我们对于卡尔曼滤波,说它其实就是一个线性高斯系统,这里的线性性主要是指运动模型与观测模型均是线性的。
当然,我们大家一定具备这样的数学思维:数学中的线性的大部分都是,易于处理的,而比较困难的大头的东西是非线性的,往往可以在局部对它进行线性展开近似处理,我们今天要讲的扩展卡尔曼滤波(EKF)就是如此:
EKF的主要思想——泰勒展开
我们已经知道非线性滤波主要体现在运动模型以及观测模型都是非线性的,比如:
emmmm,刚刚去刷了一会儿微博,因为今夜凌晨有Apple的发布会,哈哈哈,我们继续鸭~
主要思路呢,其实就是对非线性这部分进行近似线性处理,这里我们考虑最一般的泰勒展开:
到了这里呢,还不够,我们大家要明确一个知识点,就是关于正态分布,我们要得到边缘密度,条件密度,必须已知联合分布,这个是关键的~
大部分情况下,我们的一个正态随机变量经过非线性变换以后,大概率得到的随机变量不服从正态分布,但是我们进行了一阶线性近似,所以就考虑假设变换后的随机变量仍旧是正态分布.
过程推导
有了上面的内容,意味着我们可以对一个随机变量进行非线性变换,然后接着可以得到变换后的随机变量的期望和方差。然后我们就可以直接利用前面的卡尔曼滤波方程,直接进行替代即可.
所以形式上我们可以看到,卡尔曼滤波之所以够经典,就是因为其他有些滤波完全借助它的框架而进行展开,从EKF的主要思想上我们也不难看出,由于只采用了一阶近似,在后续的迭代中,误差可能会越来越大.这也算是它的缺点了.
好的,各位小伙伴们!本期滤波内容就到这里了,我们下期再见!
☆⌒(*^-゜)v THX!!
如果觉得我的文章还有用的话,还烦请各位阿娜答三联支持一波哦!
主要参考资料:《Bayesian Filtering and Smoothing》,Simo Sarkka著。