【卡尔曼滤波理论推导与实践】【理论】【4/5 公式总结】

来看一下推导的思维流程:

  1. 卡尔曼滤波核心思想是推导的源头,也是推导的终点:
    z k 估 ⃗ = z k 模 ⃗ + G k ∗ ( H − 1 ∗ y k 测 ⃗ − z k 模 ⃗ ) \begin{aligned}\vec{z_{k估}}&=\vec{z_{k模}}+\mathrm{G_k}*(\mathrm{H}^{-1}*\vec{y_{k测}}-\vec{z_{k模}})\end{aligned} zk =zk +Gk(H1yk zk )
  2. z k 模 ⃗ = A ∗ z k − 1 估 ⃗ + B ∗ F k − 1 \vec{z_{k模}}=\mathrm{A}*\vec{z_{k-1估}}+\mathrm{B}*F_{k-1} zk =Azk1 +BFk1来自状态转移方程, y k 测 ⃗ \vec{y_{k测}} yk 是测量得到的。
  3. 推导出 G k = P k 模 P k 模 + ( H − 1 ) 2 R \mathrm{G_k}=\frac{\mathrm{P_{k模}}}{\mathrm{P_{k模}}+(\mathrm{H}^{-1})^2\mathrm{R}} Gk=Pk+(H1)2RPk
  4. 推导出 P k 模 = A P k − 1 估 A T + Q \mathrm{P_{k模}}=\mathrm{A}\mathrm{P_{k-1估}}\mathrm{A}^T+\mathrm{Q} Pk=APk1AT+Q
  5. 推导出 P k − 1 估 = ( I − G k − 1 ) P k − 1 模 \mathrm{P_{k-1估}}=(\mathrm{I}-\mathrm{G_{k-1}})\mathrm{P_{k-1模}} Pk1=(IGk1)Pk1

观察上述5个公式,可以发现是一个迭代计算的过程,把与模型相关的公式放在前面,迭代计算过程为:

  1. z k 模 ⃗ = A ∗ z k − 1 估 ⃗ + B ∗ F k − 1 \vec{z_{k模}}=\mathrm{A}*\vec{z_{k-1估}}+\mathrm{B}*F_{k-1} zk =Azk1 +BFk1
  2. P k 模 = A P k − 1 估 A T + Q \mathrm{P_{k模}}=\mathrm{A}\mathrm{P_{k-1估}}\mathrm{A}^T+\mathrm{Q} Pk=APk1AT+Q
  3. G k = P k 模 P k 模 + ( H − 1 ) 2 R \mathrm{G_k}=\frac{\mathrm{P_{k模}}}{\mathrm{P_{k模}}+(\mathrm{H}^{-1})^2\mathrm{R}} Gk=Pk+(H1)2RPk
  4. z k 估 ⃗ = z k 模 ⃗ + G k ∗ ( H − 1 ∗ y k 测 ⃗ − z k 模 ⃗ ) \vec{z_{k估}}=\vec{z_{k模}}+\mathrm{G_k}*(\mathrm{H}^{-1}*\vec{y_{k测}}-\vec{z_{k模}}) zk =zk +Gk(H1yk zk )
  5. P k 估 = ( I − G k ) P k 模 \mathrm{P_{k估}}=(\mathrm{I}-\mathrm{G_k})\mathrm{P_{k模}} Pk=(IGk)Pk

卡尔曼的推导过程中将卡尔曼增益做了一个变换 G k = K k H \mathrm{G_k}=\mathrm{K_k}\mathrm{H} Gk=KkH K k \mathrm{K_k} Kk是一个对角矩阵。我没想明白这样的有力理由,也许为了方便推导?不过结果是一样的,注意对角矩阵 H \mathrm{H} H左乘、右乘、转置是一样的, K k \mathrm{K_k} Kk形式的5个公式是:

  1. z k 模 ⃗ = A ∗ z k − 1 估 ⃗ + B ∗ F k − 1 \vec{z_{k模}}=\mathrm{A}*\vec{z_{k-1估}}+\mathrm{B}*F_{k-1} zk =Azk1 +BFk1
  2. P k 模 = A P k − 1 估 A T + Q \mathrm{P_{k模}}=\mathrm{A}\mathrm{P_{k-1估}}\mathrm{A}^T+\mathrm{Q} Pk=APk1AT+Q
  3. K k = P k 模 H T H P k 模 H T + R \mathrm{K_k}=\frac{\mathrm{P_{k模}}\mathrm{H}^T}{\mathrm{H}\mathrm{P_{k模}}\mathrm{H}^T+\mathrm{R}} Kk=HPkHT+RPkHT
  4. z k 估 ⃗ = z k 模 ⃗ + K k ∗ ( y k 测 ⃗ − H ∗ z k 模 ⃗ ) \vec{z_{k估}}=\vec{z_{k模}}+\mathrm{K_k}*(\vec{y_{k测}}-\mathrm{H}*\vec{z_{k模}}) zk =zk +Kk(yk Hzk )
  5. P k 估 = ( I − K k H ) P k 模 \mathrm{P_{k估}}=(\mathrm{I}-\mathrm{K_k}\mathrm{H})\mathrm{P_{k模}} Pk=(IKkH)Pk

A \mathrm{A} A是状态转移矩阵,是人为建模给定的。
B \mathrm{B} B是控制矩阵,是人为建模给定的。
Q , R \mathrm{Q},\mathrm{R} Q,R分别是正态分布模型噪声和测量噪声的协方差矩阵,是人为假设的,这也是需要调参的点。
z k 估 ⃗ \vec{z_{k估}} zk 是最优估计值,是卡尔曼滤波的最终输出值。
z 0 估 ⃗ , P 0 估 \vec{z_{0估}},\mathrm{P_{0估}} z0 ,P0是人为设定的。

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

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

相关文章

c4d动画怎么导出mp4视频,c4d动画视频格式设置

宝子们,今天来给大家讲讲 C4D 咋导出mp4视频的方法。通过用图文教程的形式给大家展示得明明白白的,让你能轻松理解和掌握,不管是理论基础,还是实际操作和技能技巧,都能学到,快速入门然后提升自己哦。 c4d动…

EfficienetAD异常值检测之瓷砖表面缺陷检测(免费下载测试数据集和模型)

背景 当今制造业蓬勃发展,产品质量把控至关重要。从精密电子元件到大型工业板材,表面缺陷哪怕细微,都可能引发性能故障或外观瑕疵。人工目视检测耗时费力且易漏检,已无法适应高速生产线节奏。在此背景下,表面缺陷异常…

将Minio设置为Django的默认Storage(django-storages)

这里写自定义目录标题 前置说明静态文件收集静态文件 使用django-storages来使Django集成Minio安装依赖settings.py测试收集静态文件测试媒体文件 前置说明 静态文件 Django默认的Storage是本地,项目中的CSS、图片、JS都是静态文件。一般会将静态文件放到一个单独…

Redis生产实践中相关疑问记录

1. Redis相关疑问 1.1. redis内存使用率100% 就等同于redis不可用吗? 正常使用情况下,不是。 redis有【缓存淘汰机制】,Redis 在内存使用率达到 100% 时不会直接崩溃。相反,它依赖内存淘汰策略来释放内存,确保系统的…

量化交易——RSI策略(vectorbt实现)

本文为通过vectorbt(以下简称vbt)实现量化交易系列第一篇文章,通过使用vbt实现RSI策略从而熟悉其代码框架。 关于本文所使用数据的说明 由于vbt官方文档提供的入门案例使用的数据是通过其内置的yfinance包获取,在国内无法直接访…

本地摄像头视频流在html中打开

1.准备ffmpeg 和(rtsp-simple-server srs搭建流媒体服务器)视频服务器. 2.解压视频流服务器修改配置文件mediamtx.yml ,hlsAlwaysRemux: yes 3.双击运行服务器。 4,安装ffmpeg ,添加到环境变量。 5.查询本机设备列表 ffmpeg -list_devices true -f dshow -i d…

unipp中使用阿里图标,以及闭坑指南

-----------------------------------------------------点赞收藏才是更新的动力------------------------------------------------- unipp中使用阿里图标 官网下载图标在项目中引入使用注意事项 官网下载图标 进入阿里图标网站 将需要下载的图标添加到购物车中 2. 直接下载…

设计模式の享元模板代理模式

文章目录 前言一、享元模式二、模板方法模式三、代理模式3.1、静态代理3.2、JDK动态代理3.3、Cglib动态代理3.4、小结 前言 本篇是关于设计模式中享元模式、模板模式、以及代理模式的学习笔记。 一、享元模式 享元模式是一种结构型设计模式,目的是为了相似对象的复用…

flink实现复杂kafka数据读取

接上文:一文说清flink从编码到部署上线 环境说明:MySQL:5.7;flink:1.14.0;hadoop:3.0.0;操作系统:CentOS 7.6;JDK:1.8.0_401。 常见的文章中&…

越疆科技营收增速放缓:毛利率未恢复,持续亏损下销售费用偏高

《港湾商业观察》施子夫 12月13日,深圳市越疆科技股份有限公司(以下简称,越疆科技,02432.HK)发布全球发售公告,公司计划全球发售4000万股股份,其中3800万股国际发售,200万股香港公开…

datasets 笔记:加载数据集(基本操作)

参考了huggingface的教程 1 了解数据集基本信息( load_dataset_builder) 在下载数据集之前,通常先快速了解数据集的基本信息会很有帮助。数据集的信息存储在 DatasetInfo 中,可能包括数据集描述、特征和数据集大小等信息。&…

Java图片拼接

最近遇到一个挺离谱的功能,某个表单只让上传一张图,多图上传会使导出失败。跟开发沟通后表示,这个问题处理不了。我... 遂自己思考,能否以曲线救国的方式拯救一下,即不伤及代码之根本,又能解决燃眉之急。灵…

.NET重点

B/S C/S什么语言 B/S: 浏览器端:JavaScript,HTML,CSS 服务器端:ASP(.NET)PHP/JSP 优势:维护方便,易于升级和扩展 劣势:服务器负担沉重 C/S java/.NET/…

Linux——卷

Linux——卷 介绍 最近做的项目,涉及到对系统的一些维护,有些盘没有使用,需要创建逻辑盘并挂载到指定目录下。有些软件需要依赖空的逻辑盘(LVM)。 先简单介绍一下卷的一些概念,有分区、物理存储介质、物…

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务 论文大纲理解1. 确认目标2. 分析过程(目标-手段分析)核心问题拆解 3. 实…

clickhouse-副本和分片

1、副本 1.1、概述 集群是副本和分片的基础,它将ClickHouse的服务拓扑由单节点延伸到多个节点,但它并不像Hadoop生态的某些系统那样,要求所有节点组成一个单一的大集群。ClickHouse的集群配置非常灵活,用户既可以将所有节点组成…

Redis 集群实操:强大的数据“分身术”

目录 Redis Cluster集群模式 1、介绍 2、架构设计 3、集群模式实操 4、故障转移 5、常用命令 Redis Cluster集群模式 1、介绍 redis3.0版本推出的Redis Cluster 集群模式,每个节点都可以保存数据和整个集群状态,每个节点都和其他所有节点连接。Cl…

C# 从控制台应用程序入门

总目录 前言 从创建并运行第一个控制台应用程序,快速入门C#。 一、新建一个控制台应用程序 控制台应用程序是C# 入门时,学习基础语法的最佳应用程序。 打开VS2022,选择【创建新项目】 搜索【控制台】,选择控制台应用(.NET Framew…

猫咪睡眠:萌态背后的奥秘与启示

猫咪的睡眠,犹如一本充满趣味与奥秘的小书,每一页都写满了它们独特的习性与本能。 猫咪堪称 “睡眠大师”,睡眠时间之长令人咋舌,一天中大约有 12 - 16 个小时在梦乡中度过,幼猫和老年猫甚至能睡更久。它们似乎深谙放…

基于前端技术UniApp和后端技术Node.js的电影购票系统

文章目录 摘要Abstruct第一章 绪论1.1 研究背景与意义1.2 国内外研究现状 第二章 需求分析2.1 功能需求分析2.2 非功能性需求分析 第二章系统设计3.1 系统架构设计3.1.1 总体架构3.1.2 技术选型 3.2 功能架构 第四章 系统实现4.1 用户端系统实现4.1.1 用户认证模块实现4.1.2 电…