卡尔曼滤波器-Kalmen Filter-1

        卡尔曼滤波器是一种最优递归数据处理算法,它更像是一种观测器,而不是一般意义上的滤波器。卡曼滤波器的应用非常广泛,尤其是在导航当中。它的广泛应用是因为我们生活的世界中存在着大量的不确定性,当我们去描述一个系统的时候,这个不确定性主要体现在三个方面

  1. 不存在完美的数学模型。
  2. 系统的扰动往往是不可控的,也很难建模的。
  3. 测量的传感器本身存在着误差。

        在进行硬币直径的测量实验中,我们用Z_{k}​ 来表示第 k次的测量结果。由于每位测量者的操作差异以及测量工具本身的误差,每次测量得到的数据都可能有所不同。例如,测量者 C_{1}​ 第一次测量得到的结果是 50.1 毫米,测量者 C_{2}​ 的结果是 50.4 毫米,而测量者 C_{3} 的结果是 50.2 毫米。面对这些不同的测量结果,一个直观的方法是计算这些测量值的平均数,以此来估计硬币直径的真实值。

\begin{aligned}\hat{x}_{k}&=\frac{1}{k}\left(z_{i}+z_{2}+\cdots+z_{k}\right)\\&=\frac{1}{k}\left(z_{i}+z_{2}+\cdots+z_{k-1}\right)+\frac{1}{k}z_{k}\\&=\frac{k-1}{k}\hat{\chi}_{k-1}+\frac{1}{k}z_{k}\\&=\hat{\chi}_{k-1}-\frac{1}{k}\hat{\chi}_{k-1}+\frac{1}{k}z_{k}\end{aligned}

\hat{x}_{k}=\hat{x}_{k-1}+\frac{1}{k}(z_{k}-\hat{x}_{k-1})\left ( 1.1 \right )

\frac{1}{k}\rightarrow0\:,\:\hat{\chi}_{k}\rightarrow\hat{\chi}_{k-1}\left ( 1.2 \right )

随着k的增加,测量的结果趋于稳定。

\frac1k写为k_{k}

\hat{\chi}_{k}=\hat{\chi}_{k-1}+k_{k}\left(z_{k}-\hat{\chi}_{k-1}\right)\left ( 1.3 \right )

表示:当前的估计值=上一次的估计值+系救×(当前测量值-上次的估计值),其中,系数k_{k}即为Kalman Gain,卡尔曼增益/因数

        这种思想体现了递归算法的特点,而这也是卡尔曼滤波器的一个显著优势:它不需要回溯并处理很久以前的数据,仅需依赖于上一次的估计结果。在卡尔曼滤波器的实现中,这一点尤为重要,因为它允许算法在每次迭代中仅利用最新的观测数据和前一步的状态估计,从而有效降低了计算复杂度和存储需求。

        关于卡尔曼因数k_{k},这里引入两个参数,一个是估计误差,也就是估计值和真实值的差距,这里用e_{EST}来表示,e表示误差,est表示估计,一个是测量误差,也就是测量值和真实值的差距,这里用e_{MEA}来表示,MEA 就是 measurement 测量。

k_{k}=\frac{e_{\mathrm{EST}_{k-1}}}{e_{\mathrm{EST}_{k-1}}+e_{\mathrm{MEA}_{k}}}\left ( 1.4 \right )

        这个公式实际是卡尔曼滤波器的核心公式,会在后面的文章当中去详细的讲解它是怎么被推导出来的。

        当e_{EST_{k-1}} > >e_{MEA_{k}}的时候,此时卡尔曼因数接近1,第k次的估计值接近测量值

k_{k}\rightarrow1\quad,\quad\hat{\chi}_{k}\rightarrow\hat{\chi}_{k-1}+z_{h}-\hat{\chi}_{k-1}=z_{k}\left ( 1.5 \right )

        当e_{EST_{k-1}}<<\mathrm{e}_{MEA_k}的时候,此时卡尔曼因数接近0,第k次的估计值接近上一次估计值

k_{k}\rightarrow0\quad\hat{x}_{k}=\hat{x}_{k-1}\left ( 1.6 \right )

下面看一个用卡尔曼滤波思想解决问题的例子

Step1:计算Kalman Gain

k_{k}=\frac{e_{\mathrm{EST}_{k-1}}}{e_{\mathrm{EST}_{k-1}}+e_{\mathrm{MEA}_{k}}}

Step2:计算 

\hat{x}_{k}\quad=\:\hat{\chi}_{k-1}+k_{k}(\:z_{k}-\hat{\chi}_{k-1})

Step3:更新

e_{EST_{k}}=(1-k_{k})\:e_{EST_{k-1}} 

        对于Step3,后续解释推导过程。即增加测量值后,分别更新估计值和卡尔曼因数。

        还是估计物体长度测量的过程中,假设物体的实际长度为50毫米,而我们第一次的估计值为40毫米,这是一个随机给出的估计值。在此基础上,我们定义第一次的估计误差e_{EST_{0}}为5毫米,这个值也是人为设定的,用于量化我们估计值与实际值之间的偏差。

\hat{\chi}_{0}=40mm\\e_{EST_{0}}=5mm

        对于测量来说,比如说第一次的测量值是 51 毫米,然后测量误差我们知道有 3 毫米,也就是说它测出来是 51 毫米,所以它有可能是在 48 到 54 毫米之间的一个值,然后使用同样的一个测量工具,所以它第几次的测量误差都是 3 毫米。

z_{1}=5\mathrm{lmm}\\e_{MEA_{k}}=3mm

        蓝色代表测量结果,而红色代表估计结果。初始估计值设定为40,这是我们的起始点。通过卡尔曼滤波器的迭代过程,我们可以看到,经过一步、两步、三步、四步、五步的更新后,估计值逐渐接近至49mm。值得注意的是,物体的实际长度为50mm。随着更多数据的不断输入和迭代过程的持续进行,估计值越来越接近实际值。

        这一过程体现了卡尔曼滤波器的递归特性。随着新数据的不断加入和更新,估计值逐步逼近真实值。这是一个简单而直观的例子,展示了如何利用卡尔曼滤波器的递归思想来进行状态估计。通过这种递归迭代的方式,卡尔曼滤波器能够有效地融合先验估计和新的测量数据,以实现对系统状态的准确估计。

参考资料

【卡尔曼滤波器】1_递归算法_Recursive Processing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOV8 |搞懂检测头

代码: yaml结构的最后一层&#xff0c;接了前面三个层的&#xff0c;有3个检测头&#xff1a; # YOLOv8.0n head head:- [-1, 1, nn.Upsample, [None, 2, "nearest"]]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 3, C2f, [512]] # 12- [-1, 1, nn.Upsam…

池化层笔记

池化层 文章目录 池化层二维池化层超参数池化层的分类代码实现填充和步幅 多个通道 总结 卷积对位置敏感&#xff0c;可以检测垂直边缘。需要有一定程度的平移不变性&#xff0c;而在平时图片的拍摄&#xff0c;会因为图片的照明&#xff0c;物体位置&#xff0c;比例&#xff…

大数据-191 Elasticsearch - ES 集群模式 配置启动 规划调优

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

mysql 5.7实现组内排序(连续xx天数)

需求&#xff1a;查询出连续登录的用户及其连续登录的天数 我先说一下思路&#xff1a;要实现连续登录的判断&#xff0c;可以找一下他们之间的规律。这里我拿一个用户来说&#xff0c;如果这个用户在1、2、3号都有登录记录&#xff0c;可以对这个用户的数据按照时间排序&…

J3学习打卡

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 DensNet模型 import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras import layers, models, initializersclass DenseLayer(lay…

基于微信小程序的小区管理系统设计与实现(lw+演示+源码+运行)

摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮…

随机变量、取值、样本和统计量之间的关系

1. 随机变量 (Random Variable) 随机变量是用来量化随机现象结果的一种数学工具。随机变量是一个函数&#xff0c;它将实验结果映射到数值。随机变量可以是离散的或连续的。 离散随机变量&#xff1a;取有限或可数无限个值。例如&#xff0c;掷骰子的结果。连续随机变量&…

Matlab实现蚁群算法求解旅行商优化问题(TSP)(理论+例子+程序)

一、蚁群算法 蚁群算法由意大利学者Dorigo M等根据自然界蚂蚁觅食行为提岀。蚂蚁觅食行为表示大量蚂蚁组成的群体构成一个信息正反馈机制&#xff0c;在同一时间内路径越短蚂蚁分泌的信息就越多&#xff0c;蚂蚁选择该路径的概率就更大。 蚁群算法的思想来源于自然界蚂蚁觅食&a…

给哔哩哔哩bilibili电脑版做个手机遥控器

前言 bilibili电脑版可以在电脑屏幕上观看bilibili视频。然而&#xff0c;电脑版的bilibili不能通过手机控制视频翻页和调节音量&#xff0c;这意味着观看视频时需要一直坐在电脑旁边。那么&#xff0c;有没有办法制作一个手机遥控器来控制bilibili电脑版呢&#xff1f; 首先…

JavaEE初阶---网络原理之TCP篇(二)

文章目录 1.断开连接--四次挥手1.1 TCP状态1.2四次挥手的过程1.3time_wait等待1.4三次四次的总结 2.前段时间总结3.滑动窗口---传输效率机制3.1原理分析3.2丢包的处理3.3快速重传 4.流量控制---接收方安全机制4.1流量控制思路4.2剩余空间大小4.3探测包的机制 5.拥塞控制---考虑…

【C语言刷力扣】3216.交换后字典序最小的字符串

题目&#xff1a; 解题思路&#xff1a; 字典序最小的字符串&#xff1a;是指按照字母表顺序排列最前的字符串。即字符串在更靠前的位置出现比原字符串对应字符在字母表更早出现的字符。 枚举数组元素&#xff0c;尽早将较小的同奇偶的相邻字符交换。 char* getSmallestString…

Java:Map和Set练习

目录 查找字母出现的次数 只出现一次的数字 坏键盘打字 查找字母出现的次数 这道题的思路在后面的题目过程中能用到&#xff0c;所以先把这题给写出来 题目要求&#xff1a;给出一个字符串数组&#xff0c;要求输出结果为其中每个字符串及其出现次数。 思路&#xff1a;我…

【宠粉赠书】大模型项目实战:多领域智能应用开发

在当今的人工智能与自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;凭借其强大的生成与理解能力&#xff0c;正在广泛应用于多个实际场景中。《大模型项目实战&#xff1a;多领域智能应用开发》为大家提供了全面的应用技巧和案例&#xff0c;帮助开发者深…

【商汤科技-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

Nginx防盗链配置

1. 什么是盗链? 盗链是指服务提供商自己不提供服务的内容&#xff0c;通过技术手段绕过其它有利益的最终用户界面&#xff08;如广告&#xff09;&#xff0c;直接在自己的网站上向最终用户提供其它服务提供商的服务内容&#xff0c;骗取最终用户的浏览和点击率。受益者不提供…

Oracle+11g+笔记(8)-备份与恢复机制

Oracle11g笔记(8)-备份与恢复机制 8、备份与恢复机制 8.1 备份与恢复的方法 数据库的备份是对数据库信息的一种操作系统备份。这些信息可能是数据库的物理结构文件&#xff0c;也可能是某一部分数 据。在数据库正常运行时&#xff0c;就应该考虑到数据库可能出现故障&#…

基于Multisim的篮球比赛电子记分牌设计与仿真

一、设计任务与要求 设计一个符合篮球比赛规则的记分系统。 &#xff08;1&#xff09;有得1分、2分和3分的情况&#xff0c;电路要具有加、减分及显示的功能。 &#xff08;2&#xff09;有倒计时时钟显示&#xff0c;在“暂停时间到”和“比赛时间到”时&#xff0c;发出声光…

易友BOM管理软件

易友BOM管理软件介绍 易友BOM管理软件是一款功能齐全、操作简便、安全可靠的BOM管理系统。它为企业提供了多方面的BOM管理解决方案&#xff0c;帮助企业提高生产效率、降低成本、增强灵活性并提升竞争力。制造企业&#xff0c;都可以通过易友BOM管理软件来实现BOM管理的优化和…

【模型学习之路】手写+分析bert

手写分析bert 目录 前言 架构 embeddings Bertmodel 预训练任务 MLM NSP Bert 后话 netron可视化 code2flow可视化 fine tuning 前言 Attention is all you need! 读本文前&#xff0c;建议至少看懂【模型学习之路】手写分析Transformer-CSDN博客。 毕竟Bert是tr…

不用求人,4个方法快速恢复小米手机删除短信

手机短信作为我们日常办理事情的重要验收通道&#xff0c;往往承载着许多重要的信息。然而&#xff0c;由于各种原因&#xff0c;我们可能会不小心删除了重要的短信。那么&#xff0c;小米手机用户如何恢复这些被删除的短信呢&#xff1f;接下来&#xff0c;我们将分点为您详细…