算法-卡尔曼滤波之卡尔曼滤波的第一个方程:状态更新方程

通过一个例子来引出卡尔曼滤波的状态更新方程;

这里系统状态是金条的重量;

为了估计系统的状态,我们可以多次测量金条的重量,然后求平均值;

 其中估计值是所有测量值的平均值;

 

由于我们使用的是静态模型(金条的重量是不会在短时间内发生改变的),所以第N次的估计值和N+1次的估计值相等,即

 

 

具体的物理意义:

1.预测重量的调整:表示测量值Zn和先验估计值(测出第N-1次后,对第N次的估计)之间的差异,称为残差或者创新,这个差异代表了当前的测量值和先前预测的偏差;

加权平均:通过乘以权重因子,滤波器调整对这个差异的响应,较大的权重因子,表示更信任当前测量值,较小的权重因子表示更信任先前的预测;

更新后的估计位置:通过将加权的残值添加到预测重量,得到更新的后的估计重量,这意味着新的估计重量是预测重量和测量重量之间的加权平均,更加接近实际重量;

其中1/N随着测量次数越来越小,意味着开始时没有足够的重量信息,估算值主要依靠测量值,但是随着次数越来越多,每次测量的值在估计过程中占比也越来越少,随着迭代次数足够多,新的测量值对估计值的影响可以忽略不记;  

在做第一次测量之前,可以通过看金条上刻的数字(或粗略估计)得到金条的重量,着称为初始猜测(Initial Guess),它将是我们的第一个估计;

这个估计并不会影响我们后面的结果,随着测量次数逐渐增大,最后估计的结果都会趋于真实值,这就是滤波器的厉害之处;

在卡尔曼滤波器中1/N这个权重因子就是卡尔曼增益 ;

这个方程的形式就是状态更新方程,如下:

 

状态更新方程只是卡尔曼滤波的一个方程,卡尔曼滤波是一个有机整体,具体流程如下:

流程并不是按照Step1.2.3进行的,具体如图所示:

 

首先第一步1:进行初始化,我们根据各方面因素,输入一个估计值X(0,0)(主观定义);

第二步2:进行预测(状态外推方程),但是由于我们目前使用的是静态模型,所以预测前后结果保持不变,得到输出估计值为X(1,0)(表示先验估计值,第0次对第一次的估计,其值仍然等于X(0,0));

第三步3:变为下一时刻n->n+1,此时N=1;

第四步4:进行测量,输入测量值Z1;

第五步5:根据状态更新方程,更新数据得到下一时刻的估计值,之后(初始化只进行一次)进行预测,由于我们是静态模型,所以不需要进行任何预测,值保持不变,循环往复;

....经过十次后,得到以下结果:

 绘制图像:绿色的线是真实值,蓝色的线是测量值,红色的线是估计值,随着迭代次数,估计值收敛于真实值;

 具体举例:

 第二次迭代:

第三次迭代:

 增益随着测量的次数而减小,每一次测量值的影响都比之前前一个测量值小;

 

在这个例子中,我们为静态系统设计了一个简单的估计算法,并且推导出了卡尔曼滤波的五个方程之一的状态更新方程。

系统的输入是上一时刻的先验估计值和权重因子,输出是当前时刻的估计值;

表示通过预测值加上残差(测量值减去预测值)*权重因子得到当前时刻的估计值,更加接近实际重量;

 

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

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

相关文章

第十六节:图 (20节)

一 图的概念 1)由点的集合和边的集合构成 2)虽然存在有向图和无向图的概念,但实际上都可以用有向图来表达 3)边上可能带有权值 二 图结构的表达 1)邻接表法 2)邻接矩阵法 3)除此之外还有其他众多…

Halcon与深度学习框架结合进行图像分析

Halcon 是一款强大的机器视觉软件,而深度学习框架如 TensorFlow 或 PyTorch 在图像识别和分类任务中表现出色。结合两者的优势,可以实现复杂的图像分析任务。Halcon 负责图像预处理和特征提取,而深度学习框架则利用这些特征进行高级分析和识别…

【完整过程】Windows下记录PadleOCR训练自己的ocr模型

一、前期准备 1、代码 参考的博主使用的是2.6版本的 博主的paddleocr代码 下面这个是官方的,可能已经更新了(我用的是官网当前最新版) paddleocr的源代码 注意:最好把上面两个代码都下载下来,后面都会用到 参考博…

先有JVM还是先有垃圾回收器?

是先有垃圾回收器再有JVM呢,还是先有JVM再有垃圾回收器呢?或者是先有垃圾回收再有JVM呢?历史上还真是垃圾回收更早面世,垃圾回收最早起源于1960年诞生的LISP语言,Java只是支持垃圾回收的其中一种。下面我们就来刨析刨析…

免费思维13招之十一:利润型思维

免费思维13招之十一:利润型思维 免费思维的另一大战略思维——利润型思维。 什么是利润型思维呢?就是用后期的利润来支付现在的成本。也就是“花未来的钱,办现在的事”。 我们在销售自己的产品时候,最容易犯的一个件事,就是降价,我们先来看一个案例: 前几年,有一个卖…

React获取form表单值的N种方式

Ref模式&#xff08;非受控模式&#xff09; 非钩子模式 1.createRef()方式 js: userNameElcreateRef() <input type"text" name"userName" ref{this.userNameEl} /> 获取值的方式&#xff1a; this.userNameEl.current.value2.refs(废弃) js: con…

自动化图像识别:提高效率和准确性的新途径

自动化图像识别是人工智能领域中的一项关键技术&#xff0c;它通过算法自动解析图像内容&#xff0c;为各种应用提供准确的信息。随着技术的不断发展&#xff0c;自动化图像识别在提高效率和准确性方面展现出新的途径。 一、深度学习技术的应用 深度学习是自动化图像识别领域…

3dmax材质库导入方法?3dmax云渲染速度体验

3ds Max 材质库包含多种素材&#xff0c;如金属、木材、布料和石材等&#xff0c;但用户在导入材质时常遇到问题。本文将介绍如何在3ds Max中成功导入材质&#xff0c;并探讨使用云渲染服务来加速渲染过程&#xff0c;提高项目效率。 一、3dmax材质库导入教程 自建材质导入方法…

【js】获取媒体流实现拍照功能,摄像头切换

<script setup>import {onMounted,reactive,ref} from vueconst videoConstraints reactive({width: 500,height: 300});let picArr reactive([])let videoNode ref(null)let show ref(true)let stream reactive({})onMounted(async () > {// 获取视频流&#xf…

RuoYi-Vue-Plus (Logback 和 logback-plus.xml 、p6spy)

项目后本地日志 一、logback依赖 打开最外层的 pom.xml,查看 SpringBoot的依赖配置。 <dependencyManagement><dependencies><!-- SpringBoot的依赖配置--><dependency><groupId>org.springframework.boot</groupId><artifactId>s…

position:fixed无法固定到父盒子上面的解决方案

目录 问题如图所示&#xff1a; 下面是错误的代码&#xff1a; 解决方案1&#xff1a; 使用fixed固定定位固定到父元素&#xff1a; 解决方案2&#xff1a; 推荐使用的其他方案&#xff08;粘性定位&#xff09;&#xff1a; 什么是粘性定位&#xff1a; 粘性定位的使用…

Leetcode—287. 寻找重复数【中等】(快慢指针算法)

2024每日刷题&#xff08;136&#xff09; Leetcode—287. 寻找重复数 快慢指针算法思想 low fast 时&#xff0c;快慢指针相遇&#xff0c;low 走过的距离是初始点&#xff08;0&#xff09;到环状开始的点 &#xff08;x&#xff09; 加上 环状开始的点&#xff08;x&…

LeetCode2390从字符串中移除星号

题目描述 给你一个包含若干星号 * 的字符串 s 。在一步操作中&#xff0c;你可以&#xff1a;选中 s 中的一个星号。移除星号 左侧 最近的那个 非星号 字符&#xff0c;并移除该星号自身。返回移除 所有 星号之后的字符串。注意&#xff1a;生成的输入保证总是可以执行题面中描…

阿里云的ALB和NLB的区别

AWS的两种负载均衡器NLB&#xff08;Network Load Balancer&#xff09;和ALB&#xff08;Application Load Balancer&#xff09;在使用场景上的主要区别在于它们的工作层级、功能特性和适用的业务需求&#xff1a; Network Load Balancer (NLB) 工作层级&#xff1a;NLB工作…

代码随想录算法训练营第28天 | 216. 组合总和 III | 17. 电话号码的字母组合

216. 组合总和 III 题目链接 解 /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/void ba…

详细分析Vue3中的ref(附Demo)

目录 前言1. 基本知识2. Demo 前言 由于新项目涉及Vue3&#xff0c;本着探究问题的本质研究所不会的疑问 1. 基本知识 ref 是 Vue 3 中用于创建响应式数据的函数 接收一个初始值并返回一个包含了该值的响应式引用对象与 Vue 2.x 中的 data 属性不同&#xff0c;ref 返回的是…

【已解决】力扣打不开

表现&#xff1a; 1.访问国内其他网站都没有问题 2.访问github也能成功 3.wifi没有问题 4.连接同网络的其他主机能打开 唯独力扣打不开&#xff0c;可能是DNS解析错误 》自己网络配置问题 解决办法【亲测可行】 找可用的hosts 打开站长之家&#xff0c;进行DNS查询&#xff…

探索AI的实用魅力:我常用的AI工具分享

在数字时代的浪潮中,人工智能(AI)技术已经融入我们生活的各个角落。作为一名与AI技术紧密接触的用户,我想通过这篇文章,分享一些我认为最好用、最实用的AI工具,并详细解释它们带来的便利和改变。 一、语音助手工具 实用性:语音助手通过识别和理解用户的语音指令,能够完…

卷积网络项目:实现识别鲜花四分类对比LeNet5、VGG16、ResNet18、ResNet34分类网络

卷积四分类项目 Gitee传送门 分类目标选取 鲜花 杏花 apricot_blossom桃花 peach_blossom梨花 pear_blossom梅花 plum_blossom 模型选择 卷积 LeNet5VGG16ResNet18ResNet34 以图搜图 获取相似度前10的搜图结果 数据清洗 鲜花四分类 删除非图片文件 删除重复图片 整理…

【JavaWeb】前后端分离SpringBoot项目快速排错指南

1 发起业务请求 打开浏览器开发者工具&#xff0c;同时显示网络&#xff08;Internet&#xff09;和控制台&#xff08;console&#xff09; 接着&#xff0c;清空控制台和网络的内容&#xff0c;如下图 然后&#xff0c;点击你的业务按钮&#xff0c;发起请求。 首先看控制台…