卡尔曼增益是卡尔曼滤波理论中的一个核心概念。一般教材里面是这么给出它的公式的:

图1  卡尔曼增益

直觉上容易理解,所谓的增益是指每次融合数据后不确定性的变化程度。如果融合了新的数据后不确定性降低了,那么这个增益就是正面的,有助于提高预测的准确度。如果不确定性反而升高了,那么这个增益就是负面的,对于系统预测的准确性反而起了反面作用。

注意这里的“不确定性”,是用每次估计的随机变量的协方差来量化表示的。每次迭代融合时协方差都会变化,卡尔曼增益也随之变化。因此迭代计算协方差,进而计算卡尔曼增益是整个滤波计算过程中的重要环节。

有了增益计算的公式,接下来就是卡尔曼更新公式,常见的是以下形式:

图2  更新公式

一般教材里并没有给出这个公式是怎么来的,而是把这个公式当作自明,直接用定义的形式给出;

其中Kn是卡尔曼增益。(Zn − Xn,n−1) 被定义为innovation(Innovation有的译作”新息“,有的译作”残差“。”新息“翻译得还算能理解,”残差“这个词译得就有点晦涩)。直觉上这个公式也的确好理解,就是我们每次做新的估计时,把新的测量数据对上次估计值的增量部分,以卡尔曼增益为比例融入新的估计值。

然而这毕竟只是直觉上的感性认识,一般教材这么写是因为便于学生理解,并不是严格的数学推导。那为什么更新公式可以写成这种形式呢?

证明有若干种。其中一种较为简单而又不失严谨的是从概率密度函数乘积的思路着手给出的。这个证明以贝叶斯估计的结论为基础作为出发点:

图3 贝叶斯估计

其中,

图4

图5

则有:

图6

在卡尔曼滤波的语境下,

图7

都服从高斯分布,这样实际上我们在计算两个高斯分布的乘积,所得新分布的期望和方差为:

图8

继续对图9中第一个等式进行变换,

我们得到

图9

其中:

图10

图9就是图2中的更新公式的形式,图10就是用协方差形式表达的卡尔曼增益。

卡尔曼滤波理论小释之卡尔曼增益相关推荐

  1. 卡尔曼滤波滤波方程_了解卡尔曼滤波器及其方程

    卡尔曼滤波滤波方程 Before getting into what a Kalman filter is or what it does, let's first do an exercise. O ...

  2. 关于卡尔曼及卡尔曼增益的理解【精】

    提到卡尔曼,不得不说一个故事: 片绿油油的草地上有一条曲折的小径,通向一棵大树.一个要求被提出:从起点沿着小径走到树下. "很简单." A说,于是他丝毫不差地沿着小径走到了树下. ...

  3. 卡尔曼滤波原理(二):扩展卡尔曼

    1.理论部分 上一篇介绍了线性卡尔曼滤波器,当系统为线性高斯模型时,滤波器能给出最优的估计,但是实际系统总是存在不同程度的非线性,如平方.三角关系.开方等.对于非线性系统,可以采用的一种方法是通过线性 ...

  4. 卡尔曼滤波原理二:扩展卡尔曼

    1.理论部分 上一篇介绍了线性卡尔曼滤波器,当系统为线性高斯模型时,滤波器能给出最优的估计,但是实际系统总是存在不同程度的非线性,如平方.三角关系.开方等.对于非线性系统,可以采用的一种方法是通过线性 ...

  5. 卡尔曼滤波系列——(六)卡尔曼平滑

    更新日志: 2020.11.23:修改了2.4节中前向递推的公式书写错误 目录 1 简介 2 原理 2.1 概率状态空间模型 2.2 贝叶斯平滑公式 2.3 两个引理 2.4 RTS平滑 3 推导 3 ...

  6. NSLog的常用格式说明小释

    NSLog的格式如下所示: %@ 对象 %d, %i整数 %u 无符整形 %f  浮点/双字 %.nf 带有n小数点的浮点/双字 %x, %X二进制整数 %o 八进制整数 %zu size_t %p ...

  7. [node.js]小释

    不知道是社会发展太快,还是我反应太慢,Node.js已经在使用的热火朝天了,我今天才发现这个很不错的东东.听说在微软合作后,在windows下发展的也不错,熟悉Javascript的人现如今也可以转向 ...

  8. 理论小知识:集合之scard

    SCARD key 返回集合 key 的基数(集合中元素的数量). 返回集合的元素个数. 当 key 不存在时,返回 0 .

  9. 理论小知识:集合之srem

    SREM key member [member -] 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略 返回值:被成功移除的元素的数量,不包括被忽略的元素 注 ...

最新文章

  1. html图片跟随鼠标,跟随鼠标的图片 - 网页特效代码|网页特效观止 - 让你的网页靓起来!...
  2. 遇见BUG(2)去掉你的增量编译使能!
  3. 获取程序代码块资源消耗
  4. html文字跳转备注,界面跳转备注.html
  5. s3c2416开发板 linux,S3C2416移植内核Linux3.1的wm9713声卡过程
  6. 【JEECG技术博文】简单实例讲解JEECG ONLINE表单权限控制(jeecg3.6)
  7. vue的边距怎么设置_vue 拖动调整左右两侧div的宽度
  8. [已解决] org.hibernate.AnnotationException:未为实体类指定标识符
  9. 机器学习-西瓜书、南瓜书第四章
  10. Phone Bills【PAT 1016题】--- 电话账单结算
  11. linux ubuntu18.04下载,正确下载Ubuntu 18.04.2 ISO的方法
  12. 加拿大卡尔加里推出数字货币以促进当地经济发展
  13. 智慧树知到等各大网课搜题接口及搜题公众号搭建教程
  14. educoder:Python初探(三)
  15. 微信页面模板基础知识汇总
  16. shellcode免杀框架内附SysWhispers2_x86直接系统调用
  17. 凡走过必留下痕迹|2019年个人总结
  18. nginx 配置优化的几个参数
  19. memcpy()与memset()
  20. vue项目中使用可选链 ( ?. )和双问号 ( ??)详解

热门文章

  1. memcpy函数详解
  2. UG/NX二次开发 选择坐标系控件 UF_UI_specify_csys
  3. CVE-2021-40539-Zoho ManageEngine ADSelfService Plus如何从bypass到RCE
  4. 汽车门阈值防抱死系统abs
  5. 2014第二十二届全国青少年信息学奥林匹克联赛初赛
  6. 如何查看网站的收录与排名
  7. 4款一眼万年的精品软件,免费又好用,可惜很多人不知道
  8. U-Boot中支持USB
  9. 气动四自由度机械手结构设计(设计说明书+CAD图纸) 套类零件自动上下料机构
  10. 有介质的高斯定理详细证明(电偶极子模型)以及例题讲解