一类带观测传感器延时修正(时间同步)的融合算法举例浅析(节选至售后群问答回复)

本文主要是介绍一类带观测传感器延时修正(时间同步)的融合算法举例浅析(节选至售后群问答回复),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一类带观测传感器延时修正(时间同步)的融合算法举例浅析(节选至售后群问答回复)

2018年6月13日  无名小哥  交流群:540707961

可以设想一个场景,比如你工资是一个日结制,每天下午5点半下班,这个钱每天晚上6点钟会打到你这个银行卡上,但实际到账的话,是会到第二天晚上6点,你的工资卡归你老婆管,家庭日常开支、理财、利息等都来自此卡。

你每天下午7点都会对你的卡上总财富进行估计,因为归你老婆管,所以你本身是不知道的卡上余额,你只能通过问老婆才能知道卡上余额,因此你要求老婆每天下午6点半查下这个卡的余额并告诉你。

你的老婆查询到的卡上总额可以类比观测传感器,即GPS、气压计传感器得到的观测位置。家庭日常开支、理财、利息等可以看作观测传感器的噪声值。你知道自己这一天挣的大概值(假设为计件制、因为存在可能坏的工件,不计酬劳),日常酬劳会有一定波动。

下面来理一下你自己对卡上总财富估计的更新流程:

1、           所以你自己每天晚上7点的估计的真实财富=上次融合修正后的卡上总额+一天劳动挣的大概值。

2、           劳动挣的大概值=今天自己的计件数(可能存在坏的工件)*单价(计件完成的产品装箱会分不同批次,不同批次单价会随着市场行情存在波动)

3、           你今天的劳动成果可以当做系统的驱动量,比如原始惯导运动加速度得到的速度增量、位置增量

4、           你每天下午7点都会问下你老婆卡上余额然后修正你自己的心目中卡上的总财富估计值。

5、           本次修正后的卡上余额=上次修正后的卡上余额+修正系数*(今天老婆获取到的观测余额-上次修正后的卡上余额)

(这里的修正系数在互补滤波里面为固定系数,在卡尔曼滤波里面通过增益方程更新得到,线性卡尔曼滤波进入稳态时和固定权重的互补滤波等价)

注意一点,你老婆当下查到的卡上余额为你今天之前的所有财富+噪声(日常开支+利息+理财),即在你个人看来,只能反应昨天的财富。Delta_T表示滞后的时间,所以计算状态误差时,是将当前的观测量和Delta_T前的估计状态做差。

本文关键问题:为何不直接对当前的状态直接修正呢,因为无法获取到当前状态的最新观测量。即在本例中,你老婆并不知道明天下午6点半时卡上的余额

在本例中:观测传感器==老婆查的卡上余额

(带噪声、相对老公估计的财富状态滞后一天)

系统驱动量==当日老公的劳动所得的财富增量

(数据时实行好、想对观测量精度高,同样含有过程噪声,比如一个人可能会把自己完成的工件都按一等品价格单价计算(反之同理)、对市场很悲观估计,估计的单价相比实际偏低(反之同理))会使得估计每日财富增量错误估计)

这篇关于一类带观测传感器延时修正(时间同步)的融合算法举例浅析(节选至售后群问答回复)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081198

相关文章

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

Java 结构化并发Structured Concurrency实践举例

《Java结构化并发StructuredConcurrency实践举例》Java21结构化并发通过作用域和任务句柄统一管理并发生命周期,解决线程泄漏与任务追踪问题,提升代码安全性和可观测性,其核心... 目录一、结构化并发的核心概念与设计目标二、结构化并发的核心组件(一)作用域(Scopes)(二)任务句柄

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法