卡尔曼滤波c语言程序,卡尔曼滤波算法的简单应用及其C语言实现

看了几篇文章之后,终于可以写出那么一点点自己的理解了。首先,要用这个算法必须先了解它的公式,而想要理解公式就要有概率论的基础,像我现在就没有,所以挺懵的,很多地方没搞清楚。因为本文主要讲卡尔曼的简单应用,那么讲得就是一维卡尔曼滤波的应用,也就是存在单个变量的情况,而且还是单传感器的输入。所以就直接给出在简单场景下的公式了,而不去推导公式,这样更容易理解和入手。

一条最简化的公式:

math?formula=%5Chat%7BX_%7Bk%7D%7D%20%20%3DK_%7Bk%7D*Z_%7Bk%7D%2B%EF%BC%881-K_%7Bk%7D%EF%BC%89*%5Chat%7BX_%7Bk-1%7D%7D%20%20%20%20

其中下标k是指当前的状态,举个例子,假设你现在要做的是测量不同时刻的室内温度,那么这个下标k就是指时间,带有下标的参数或变量就是指在k时间下的某某值;

math?formula=%5Chat%7B%20X_%7Bk%7D%20%7D是当前的估测值(本文中所说的估测值都是指运用卡尔曼的公式后所得的计算结果);

math?formula=K_%7Bk%7D%20是卡尔曼增益(至于卡尔曼增益是什么可以先不去理会,知道这个名词就可以了);

math?formula=Z_%7Bk%7D%20是当前的测量值,也就是仪器测量到的那个数值;

math?formula=%20%5Chat%7BX_%7Bk-1%7D%7D%20是上一个状态的估测值。

接下来通过一个简单的例子(测量电压)讲应用卡尔曼滤波算法的过程。

原本想直接给出简单场景下的三条简单的公式&#x

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值