初识卡尔曼滤波

卡尔曼滤波


前言

卡尔曼滤波(Kalman filtering)是一种利用 线性系统 状态方程,通过系统输入输出观测数据,对 系统状态 进行最优估计的算法。 由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是 滤波 过程。 数据滤波是去除 噪声 还原真实数据的一种 数据处理 技术,Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。 由于它便于计算机 编程 实现,并能够对现场采集的数据进行实时的更新和处理,Kalman滤波是目前应用最为广泛的滤波方法,在通信,导航,制导与控制等多领域得到了较好的应用。

一、什么是卡尔曼滤波

在这里插入图片描述
看这幅图,假如我们要的数据是5M,但是测算出来的距离为红线对应的距离,这个很乱我们是用不了的,经过滤波后我们得到了紫色线对应的曲线,这个误差很小。这便是卡尔曼滤波。

只要是存在不确定信息的动态系统,卡尔曼滤波就可以对系统下一步要做什么做出有根据的推测。即便有噪声信息干扰,卡尔曼滤波通常也能很好的弄清楚究竟发生了什么,找出现象间不易察觉的相关性。因此卡尔曼滤波非常适合不断变化的系统,它的优点还有内存占用较小(只需保留前一个状态)、速度快,是实时问题和嵌入式系统的理想选择。

二、适用系统

线性高斯系统

1.线性系统

在这里插入图片描述

线性系统满足两个特性:叠加性、齐次性

叠加性

在这里插入图片描述
在这里插入图片描述

齐次性

在这里插入图片描述

2.高斯系统

噪声满足正态分布

在这里插入图片描述

3.宏观意义

在这里插入图片描述
可能大家都知道低通滤波,将噪声直接消除,卡尔曼滤波呢,估计值×一个数+观测值×一个数得到一个最佳修正值。

总结

卡尔曼滤波到底是干嘛的呢,看下面这个例子
你已经建造了一个可以在树林里闲逛的小机器人,机器人需要确切地知道它在哪里,以便它可以导航。

我们会说我们的机器人有一个状态xk,这只是一个位置和一个速度:

在这里插入图片描述

请注意,状态只是有关系统基础配置的数字列表;它可以是任何东西。在我们的示例中,它是位置和速度,但它可以是有关油箱中液体量,汽车发动机温度,用户手指在触摸板上的位置或您需要跟踪的任何数量的数据。

我们的机器人还有一个GPS传感器,精确到10米左右,这很好,但它需要比10米更精确地知道它的位置。这些树林里有很多沟壑和悬崖,如果机器人错了几英尺,它可能会从悬崖上掉下来。因此,GPS本身还不够好。

我们可能还知道机器人是如何移动的:它知道发送到车轮电机的命令,并且知道如果它朝一个方向前进并且没有任何干扰,那么在下一刻,它可能会沿着同一方向走得更远。但是,它当然不知道它的运动:它可能会受到风的冲击,车轮可能会打滑一点,或者在颠簸的地形上翻滚;因此,车轮转动的量可能并不完全代表机器人实际行驶的距离,并且预测也不会完美。

GPS传感器告诉我们一些关于状态的信息,但只是间接的,并且有一些不确定性或不准确性。我们的预测告诉我们一些关于机器人如何移动的东西,但只是间接的,并且有一些不确定性或不准确性。

但是,如果我们使用所有可用的信息,我们能否得到比任何一种估计本身都更好的答案?当然,答案是肯定的,这就是卡尔曼滤波器的用途。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我与nano

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值