0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

卡尔曼滤波算法介绍

冬至子 来源:deepcoder 作者:deepcoder 2023-07-13 16:37 次阅读

2,可信度预测

讲解卡尔曼滤波之前,先讲一个故事。两个酿酒师傅判断当前酒的度,一个老师傅,一个学徒。酒厂里酒的度数,老师傅的判断大多时候是更加准确,而学徒大多时候的判断误差会大一些。一坛经过10天发酵的酒,老师傅说是30度,学徒说是26度。但是这坛酒的实际度数是不知道的,那么我们怎样知道一个相对准确的结果呢?我们可以直接认为老师傅的回答正确,但是 老师傅也会马失前蹄,学徒也会有准的时候 ,只是大多数时候误差大一些。怎么得到相对可信度更高的结果呢。可以通过如下公式:

预测度数=K* 师傅预测+(1-K) * 学徒预测

来作为酒的度数, K可以理解为对老师傅判断的可信度,1-K可以认为是对学徒判断的可信度 。显然让K大一些,比如K=0.8,说明我们更相信师傅的判断。随着学徒技艺的熟练K变为了0.6,那么那么对学徒判断的权重增加了,对师傅判断的可信度权重减小了。所以这个K很重要。

同样的,从工程试验中来说明,假设有两个厂商的加速度传感器A和B,汽车在跑,不断的读取A和B,每次会得到两个值,那么该相信哪个传感器的结果呢?传感器测量出来的结果一定是有误差的,不同厂商的传感器误差范围不一样,加上传感器受到的环境的干扰等因素这样也会干扰传感器的测量结果。那么怎么得到更加可靠的结果呢?是不是和刚才的师傅判断酒的度数很像?

假设A厂商的传感器质量好精度高,B厂商的误差大,精度小,那么我们肯定更加相信A的测量结果。我们同样 图片 ,传感器A 图片 ,传感器B 图片 ,则:

图片

综合考虑传感器A和传感器B这就是兼听则明。K越大说明越相信传感器A测量的数据

如何选择最优的K,使上面得到的 可信度最高呢?这就需要卡尔曼滤波

3,卡尔曼滤波

下面这段是百度出来的卡尔曼滤波:

卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法 。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。

用土话来解释就是测量系统的状态,由于有各种噪声,会导致测量结果存在一定的误差,那么如何降低这些误差得到更加可信的数据呢,那么就是使用卡尔曼滤波做最优估计。

卡尔曼滤波适用于线性系统,并且系统的噪声满足高斯分布 (通常的工程过程噪声都满足)。

卡尔曼滤波是 以最小均方误差为估计的最佳准则 。也就是卡尔曼滤波定义的系统的最优是让估计结果的分布的方差最小的估计。

接下来引入卡尔曼滤波,首先引入 高斯分布或者叫正态分布

通常工业场景中许多测量和过程中的误差都都满足正态分布,所以传感器的测量结果X=T+a,噪声a满足高斯分布,所以X也满足高斯分布。

传感器的测量结果X满足高斯分布:

图片

其中期望值是u,方差是****sigma(这个符号打不出来,就是上面分布中的值,后面都用sigma)

数学表达为:图片

坐标图为:

图片
高斯分布

然后解释卡尔曼滤波,还是以刚才的传感器来说明,日常中各种噪声,干扰都符合高斯分布。所以传感器的测量结果也是符合高斯分布

传感器A的测量 符合:图片

传感器B的测量 符合:图片

其中a和b就是测量噪声

预测加速度是:图片概率论可以证明两个高斯分布的线性组合也符合高斯分布

图片

所以预测 符合:图片。当K取不同值的时候得到的 u‘和sigma 也不同。那么 最优估计是什么呢?刚才说了是让方差最小。也就是当取某个K的时候 sigma'最小的估计是最优估计

图片

这是一个抛物线,可以证明当 图片 的时候,

sigma'取最小值。将K带入可以得到:

图片

的时候 预测加速度X’也符合高斯分布,并且sigma' 取最小值。这个时候是最优估计,可信度最高。

这就是卡尔曼滤波,我们画图如下:

图片
卡尔曼滤波分布

可以看到 预测加速度X’ 更加的瘦高,所以这样得到的估计更加的可信

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740070
  • 卡尔曼滤波
    +关注

    关注

    3

    文章

    158

    浏览量

    24475
  • 高斯分布
    +关注

    关注

    0

    文章

    6

    浏览量

    2715
收藏 人收藏

    评论

    相关推荐

    卡尔滤波介绍

    卡尔滤波介绍卡尔滤波
    发表于 07-14 13:06

    卡尔滤波算法(C语言)

    将高斯过程回归融入平方根无迹卡尔滤波(SRUKF)算法,本文提出了一种不确定系统模型协方差自适应调节滤波
    发表于 10-24 09:59

    卡尔滤波

    卡尔滤波的估计值能很好的逼近真实值,我的疑惑是,这和滤波有什么关系,请高手介绍卡尔
    发表于 07-04 22:57

    卡尔滤波算法问题

    在陀螺仪和加速度计中使用卡尔滤波static float P[2][2] = {{ 1, 0 }, { 0, 1 }};//协方差矩阵P的两列代表陀螺仪、加速度计两维,那两行代表什么呢?为什么P的数组元素是{{ 1, 0 },
    发表于 11-04 21:06

    图书分享:卡尔滤波算法的几何解释

    网上搜到一篇关于卡尔滤波算法的论文,对低维卡尔滤波
    发表于 06-11 15:28

    卡尔滤波介绍

    卡尔滤波介绍
    发表于 08-17 12:06

    卡尔滤波的原理说明

    机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。2.卡尔滤波器的介绍(Introd
    发表于 09-21 11:41

    卡尔滤波算法

    已知测量值和原始值,但测量噪声和观测噪声未知,如何进行卡尔滤波。之前看了好像可以用自适应卡尔,但不是很懂,求例子,最好有注释的
    发表于 03-23 19:12

    LabVIEW一维卡尔滤波算法

    最近正在学习卡尔滤波算法,用LabVIEW仿照C语言写了个一维的卡尔
    发表于 10-21 21:15

    卡尔滤波有哪些应用

    卡尔滤波风力发电机中的风速估计,转速估计甚至扭矩估计都设计到卡尔滤波,如果只是单一传感变量的
    发表于 07-12 06:00

    卡尔滤波器的使用原理

    [开发工具] STM32算法的翅膀之MATLAB基于加速度计与气压计的三阶卡尔滤波计算加速度、速度及高度主要介绍
    发表于 08-17 07:02

    卡尔滤波简介

    在这里我就不介绍卡尔的数学推算了,网上的数学推导一抓一大把,如果想了解推导过程的小伙伴可以去大佬的博客。如果你是想直接简单运用卡尔
    发表于 02-28 14:24

    卡尔滤波算法是怎么实现对数据的预测处理的?

    卡尔滤波算法是怎么实现对数据的预测处理的
    发表于 10-10 08:28

    卡尔滤波算法对比其他的滤波算法有什么优点?

    卡尔滤波算法对比其他的滤波算法有什么优点
    发表于 10-11 06:42

    卡尔滤波简介及其实现(附C代码)

    卡尔滤波算法介绍,公式实现,后面附有公式的实现代码。封装函数。
    发表于 12-17 17:22 40次下载