INS-GPS组合导航——卡尔曼滤波

系列文章目录

《SAR笔记-卫星轨道建模》

《SAR笔记-卫星轨迹(三维建模)》

《常用坐标系》


文章目录

前言

一、经典卡尔曼滤波

二、扩展卡尔曼滤波

三、无迹卡尔曼滤波

总结


前言

       SAR成像仪器搭载于运动平台,平台的自定位误差将影响SAR图像质量。为保证SAR成像质量,需要长期精确且稳定的平台自定位轨迹,目前常见的定位系统包括惯导系统以及卫导系统。

       惯性导航系统INS测量角度增量、速度增量等惯导参量,通过路径积分得到平台的位置、速度、姿态信息, 具有较高的短期测量精度,更新频率高,但惯导数据漂移,长期导航误差大。 全球定位系统GPS通过测量不同卫星与平台的时延差估计平台位置,具有良好的长期精度,但短期精度差,数据输出频率低,受星座构型、环境影响大。惯导系统测量量与卫导系统测量量之间相互联系,都能生成平台轨迹数据,但测量是相互独立的,因此可以用两套系统测得的数据进行融合,得到长期短期的稳定度以及精度都很高的平台轨迹信息。其中一种常见的数据融合算法就是卡尔曼滤波。

       卡尔曼滤波本质上是一个数据融合算法,将具有同样测量目的、来自不同传感器、可能具有不同单位 (unit) 的数据融合在一起,得到一个更精确的目标估计值。本文简单介绍卡尔曼滤波的关键步骤,方便使用,关于步骤由来不做说明,网上的资料挺多的,可以根据自身需要学习。


一、经典卡尔曼滤波

         经典卡尔曼滤波(Kalman Filter,KF)的局限性在于其只能拟合线性高斯系统。但其最大的优点在于计算量小,能够利用前一时刻的状态和当前时刻的测量值来得到当前时刻下的状态的最优估计。整个滤波算法主要涉及5个方程,分为两个阶段:预测阶段;校正阶段。

预测阶段涉及两个方程:

1、预测器方程(功能:由前一时刻的状态预测当前时刻的状态)

\hat{x}_{n,n-1}=F\hat{x}_{n-1,n-1}+Gu_{n}

2、预测器协方差方程(功能:得到当前状态估计的协方差)

P_{n,n-1}=FP_{n-1,n-1}F^{T}+Q

校正阶段涉及三个方程:

1、卡尔曼增益方程(功能:决定当前状态输出是更相信预测结果还是更相信测量结果)

K_{n}=P_{n,n-1}H^{T}\left ( H P_{n,n-1}H^{T}+R_{n} \right )^{-1}

2、状态更新方程(功能:卡尔曼滤波输出结果)

\hat{x}_{n,n}=\hat{x}_{n,n-1}+K_{n}\left ( z_{n}-H \hat{x}_{n,n-1}\right )

3、状态协方差更新(功能:更新状态的协方差更新)

P_{n,n}=\left (I-K_{n} H\right )P_{n,n-1}\left (I-K_{n} H\right )^{T}+K_{n}R_{n}K_{n}^{T}

除了上述主要方程,还涉及其他辅助方程:

1、测量方程(功能:描述状态量与测量量之间的关系)

z_{n}=Hx_{n}

考虑测量误差时,测量方程为

z_{n}=Hx_{n}+v_{n}

2、测量协方差(功能:描述测量量不确定性的,需要预先统计)

R_{n}=E\left ( v_{n} v_{n}^{T}\right )

3、过程噪声协方差(功能:描述系统建模误差,比如理论上匀速直线运动的模型,在实际处理中会因为各种干扰很难匀速直线,导致真实轨迹并非匀速直线运动,而预测器方程基于匀速直线模型建立,这样产生的误差即为过程噪声协方差w_{n},包括系统输入u_{n}产生的影响,本文中w_{n}=Gu_{n},需要预先统计)

Q_{n}=E\left ( w_{n} w_{n}^{T}\right )

4、估计协方差(功能:卡尔曼滤波输出结果的协方差)

P_{n,n}=E\left ( e_{n} e_{n}^{T}\right )=E\left ( \left ( x_{n} -\hat{x}_{n,n}\right ) \left ( x_{n} -\hat{x}_{n,n}\right ) ^{T}\right )

其中更新后状态的协方差可以做如下化简

P_{n,n}=\left (I-K_{n} H\right )P_{n,n-1}\left (I-K_{n} H\right )^{T}+K_{n}R_{n}K_{n}^{T}\\ =P_{n,n-1}-P_{n,n-1}H^{T}K_{n}^{T}-K_{n} HP_{n,n-1}+K_{n}\left (HP_{n,n-1}H^{T} +R_{n}\right )K_{n}^{T}\\ =P_{n,n-1}-P_{n,n-1}H^{T}K_{n}^{T}-K_{n} HP_{n,n-1}\\+P_{n,n-1}H^{T}\left ( H P_{n,n-1}H^{T}+R_{n} \right )^{-1}\left (HP_{n,n-1}H^{T} +R_{n}\right )K_{n}^{T}\\ =P_{n,n-1}-P_{n,n-1}H^{T}K_{n}^{T}-K_{n} HP_{n,n-1}+P_{n,n-1}H^{T}K_{n}^{T}\\ =P_{n,n-1}-K_{n} HP_{n,n-1}\\ =\left (I-K_{n} H \right )P_{n,n-1}\\

        这个方程看起来要精炼很多并且容易记忆,并且在许多情况下没什么问题。但是,在计算卡尔曼增益时的一个小误差(浮点截尾误差)可能给结果带来巨大的偏差。\left (I-K_{n} H \right )的差可能因为浮点计算误差而使其结果不再是对称阵。这个方程在数值计算上并不稳定!

        卡尔曼滤波算法流程如上图所示:一旦初始化完成,卡尔曼滤波首先预测下一时刻的系统状态,并且同时给出这个预测的不确定性。随后拿到测量结果,卡尔曼滤波会更新(或修正)这个预测值及其不确定性,并且同时再进行下一时刻的预测,以此类推。

二、扩展卡尔曼滤波

        经典卡尔曼滤波解决的是经典的线性高斯系统的滤波问题。针对非线性系统,由于线性变换的关系不在了,因此预测量以及估计量的概率分布也不再是高斯分布。为了解决这类问题,人们利用非线性函数的局部线性特性,发明了扩展卡尔曼滤波(Extended Kalman Filter,EKF)。不考虑过程噪声以及噪声误差,非线性的状态转移方程以及观测为:

x_{n}=f\left ( x_{n-1} \right )

z_{n}=h\left ( x_{n} \right )

对函数f以及h进行泰勒展开并保留线性部分

f\left ( \hat{x}_{n-1} \right )=f\left ( x_{n-1} \right )+F_{n}\left ( \hat{x}_{n-1}- x_{n-1}\right )

h\left ( \hat{x}_{n} \right )=h\left ( x_{n} \right )+H_{n}\left ( \hat{x}_{n}- x_{n}\right )

       将非线性系统通过泰勒展开转换为动态变化的线性系统,扩展卡尔曼滤波与经典卡尔曼滤波类似,也包括:预测阶段;校正阶段。

预测阶段涉及两个方程:

1、预测器方程(功能:由前一时刻的状态预测当前时刻的状态)

\hat{x}_{n,n-1}=f\left (\hat{x}_{n-1,n-1} \right )+w_{n}

2、预测器协方差方程(功能:得到当前状态估计的协方差)

P_{n,n-1}=F_{n}P_{n-1,n-1}F_{n}^{T}+Q

其中F_{n}=\frac{\partial f}{\partial x}|_{x=\hat{x}_{n-1,n-1}}

校正阶段涉及三个方程:

1、卡尔曼增益方程(功能:决定当前状态输出是更相信预测结果还是更相信测量结果)

K_{n}=P_{n,n-1}H_{n}^{T}\left ( H_{n} P_{n,n-1}H_{n}^{T}+R_{n} \right )^{-1}

其中H_{n}=\frac{\partial h}{\partial x}|_{x=\hat{x}_{n,n-1}}

2、状态更新方程(功能:卡尔曼滤波输出结果)

\hat{x}_{n,n}=\hat{x}_{n,n-1}+K_{n}\left ( z_{n}-H_{n} \hat{x}_{n,n-1}\right )

3、状态协方差更新(功能:更新状态的协方差更新)

P_{n,n}=\left (I-K_{n} H_{n}\right )P_{n,n-1}\left (I-K_{n} H_{n}\right )^{T}+K_{n}R_{n}K_{n}^{T}

       扩展卡尔曼(EKF)与经典卡尔曼(KF)的区别在于测量矩阵H的计算。EKF对非线性函数进行泰勒展开后,进行一阶线性化的截断,忽略了其余高阶项,进而完成非线性函数的近似线性化。正是由于忽略了部分高阶项,使得EKF的状态估计会损失一些精度。因此,EHF 能否成功应用取决于两个因素:被近似的函数的局部非线性化程度;概率分布自身的不确定度(协方差)。

三、无迹卡尔曼滤波

       无迹卡尔曼滤波(Unscented Kalman Filter,UKF)是一种非线性滤波算法,能够有效地处理复杂非线性系统的状态估计问题。其核心思想是通过一组选定的 sigma 点来逼近系统运动的高斯分布,从而实现状态估计。UKF算法通过选取 sigma 点,将系统的非线性映射转化为一组线性运算,然后利用卡尔曼滤波的思想进行状态估计。无迹卡尔曼滤波不采用泰勒展开实现非线性系统线性化,而是采用无迹变换(Unscented Transform,UT)来处理均值和协方差的非线性传递问题。
 

参考资料

卡尔曼滤波(Kalman Filtering)——(1)递归算法

Kalman滤波通俗理解+实际应用

卡尔曼滤波:从入门到精通

无人驾驶技术入门(十八)| 手把手教你写扩展卡尔曼滤波器

卡尔曼滤波


总结

        本文主要介绍了经典卡尔曼滤波、扩展卡尔曼滤波,个人认为可以按照上述算法流程编写对应算法。从目前了解的信息,一般认为无迹卡尔曼滤波比前面两种卡尔曼滤波在非线性模型中的应用效果更好,后续根据学习情况更新无迹卡尔曼滤波。另外注明,本文为博主学习卡尔曼滤波的学习记录,内容上如果存在问题,欢迎评论区指出。转载请附链接【杨(_> <_)】的博客_CSDN博客-信号处理,SAR,代码实现领域博主。

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

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

相关文章

LeetCode-Leetcode 1120:子树的最大平均值

LeetCode-Leetcode 1120&#xff1a;子树的最大平均值 题目描述&#xff1a;解题思路一&#xff1a;递归解题思路二&#xff1a;0解题思路三&#xff1a;0 题目描述&#xff1a; 给你一棵二叉树的根节点 root&#xff0c;找出这棵树的 每一棵 子树的 平均值 中的 最大 值。 子…

还不知道工业以太网和现场总线区别???

工业以太网 工业以太网是一种专为工业环境设计的网络通信技术&#xff0c;它基于标准的以太网技术&#xff0c;但针对工业应用进行了优化。工业以太网能够适应高温、低温、防尘等恶劣工业环境&#xff0c;采用TCP/IP协议&#xff0c;与IEEE 802.3标准兼容&#xff0c;并在应用层…

Studying-代码随想录训练营day24| 93.复原IP地址、78.子集、90.子集II

第24天&#xff0c;回溯算法part03&#xff0c;牢记回溯三部曲&#xff0c;掌握树形结构结题方法&#x1f4aa; 目录 93.复原IP地址 78.子集 90.子集II 总结 93.复原IP地址 文档讲解&#xff1a;代码随想录复原IP地址 视频讲解&#xff1a;手撕复原IP地址 题目&#xff1…

如何利用python画出AHP-SWOT的战略四边形(四象限图)

在企业或产业发展的相关论文分析中&#xff0c;常用到AHP-SWOT法进行定量分析&#xff0c;形成判断矩阵后&#xff0c;如何构造整洁的战略四边形是分析的最后一个环节&#xff0c;本文现将相关代码发布如下&#xff1a; import mpl_toolkits.axisartist as axisartist import …

解决本机电脑只能通过localhost访问,不能通过127.0.0.1访问

背景问题 有天我启动项目&#xff0c;发现项目连接Mysq总是连接不上&#xff0c;查了url、ip、port、用户名和密码都没有错&#xff0c;就是连接不上mysql数据库&#xff0c;后来通过查找资料发现有多个进程占用3306端口。 pid 6016 是mysqld服务 而pid 9672 是一个叫 svchos…

逆变器--学习笔记(一)

并网&#xff1a; 逆变器中的“并网”指的是逆变器将其产生的交流电与电网同步&#xff0c;并输送到公共电网中。并网逆变器通常用于太阳能发电系统和其他分布式发电系统&#xff0c;将其产生的电能输送到电网供其他用户使用。 THD谐波失真总量: 逆变器的THD&#xff08;Tot…

大模型系列课程学习-基于2080TI-22G魔改卡搭建双卡大模型训练平台(双系统)

1.选择合适的硬件配置 再配置电脑之前&#xff0c;需要确认自己需要的显存大小、主板、内存条、电源、散热等核心配件。经过前期调研&#xff0c;选择的硬件配置如下&#xff1a; &#xff08;1&#xff09;主板&#xff1a;华南X99_F8D(DDR4主板)&#xff0c;因为需要支持双卡…

Python: PyCharm 2023.1 调试

1.设断点 &#xff08;行号对应的红色点&#xff0c;在需要设置断点的代码行与行号之间鼠标点击即可以设置&#xff09; 2.shiftF9,或 altshiftf9 选择文件 或是在菜单 Run->debug "main" 或是在菜单Run->debug 选择文件 &#xff08;鼠标光标放在设置第一个…

DDD学习笔记四

领域模型的构建 基础领域模型的基本组成有名称、属性、关联、职责、事件和异常 发掘领域概念3种策略&#xff1a; 1&#xff09;学习已有系统&#xff0c;重用已有模型 2&#xff09;使用分类标签。分类标签来源于领域&#xff0c;需要我们研究一些资料并做一些提炼。从采用5W…

基于elastic stack的docker-compose部署的ELK与LDAP集成

说明&#xff1a; ldap信息配置到es配置文件上&#xff0c;然后kibana读取es的配置信息 用户与角色的关系通过role_mapping.yml文件配置获取 角色与权限的关系通过elastic stack提供的DevTools或API进行维护 一、前置条件&#xff1a; 1.1 es已开启xpack&#xff08;已开启…

DIY智能音箱:基于STM32的低成本解决方案 (附详细教程)

摘要: 本文详细介绍了基于STM32的智能音箱的设计与实现过程&#xff0c;包括硬件设计、软件架构、语音识别、音乐播放等关键技术。通过图文并茂的方式&#xff0c;结合Mermaid流程图和代码示例&#xff0c;帮助读者深入理解智能音箱的工作原理&#xff0c;并提供实际操作指导。…

汇川CodeSysPLC教程03-2-10 如何组态

大家好&#xff0c;我是阿凡工控分享&#xff0c;本期我们将调整教程的顺序&#xff0c;和粉丝朋友们讨论后&#xff0c;后续我将优先出绿旗标注的部分&#xff0c;便于小白水平的你循序渐进&#xff0c;其他水平的朋友有些需求可能要稍后了&#xff0c;如果有问题请见谅&#…

【Spring成神之路】一次SpringIOC源码之旅,女朋友也成为了Spring大神!

文章目录 一、前言二、前置准备三、IOC容器的使用四、Spring IOC源码解读1. prepareRefresh源码解读2. obtainFreshBeanFactory源码解读2.1 refreshBeanFactory源码解读 3. prepareBeanFactory源码解读4. postProcessBeanFactory源码解读5. invokeBeanFactoryPostProcessors源码…

计算机Java项目|基于SpringBoot的作业管理系统设计与实现

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、Python项目、前端项目、人工智能与大数据、简…

Lumos学习王佩丰Excel第三讲:查找替换定位

一、查找和替换 1、按值查找 2、按格式查找 将红色的单元格替换成黄色的单元格&#xff0c;其他格式同理处理。 3、是否开启单元格匹配 若不打开选项卡直接全部替换&#xff0c;会出现“苏州市市”的情况&#xff1b;加入单元格匹配的规则&#xff0c;检索时会以整个单元格内…

运维.Linux下执行定时任务(上:Cron简介与用法解析)

运维专题 Linux下执行定时任务&#xff08;上&#xff1a;Cron简介与用法解析&#xff09; - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAd…

AI陪伴产品的情感设计:从孤独感到恋爱感评分:9/10

本文主要阐述三个话题&#xff1a; 1. 市面上有哪些AI陪伴产品&#xff1f; 2. 我们团队要怎么做&#xff1f; 3. 为什么要做&#xff1f; 市面上有哪些陪伴类产品&#xff1f; Role-play&#xff08;角色扮演&#xff09; 在当前市场上&#xff0c;有不少以角色扮演为核心的…

灵魂拷问,如何应对平行志愿的天坑?

高考填报志愿实行平行志愿&#xff0c;关于这个概念这里不重复说&#xff0c;不了解平行志愿的可以百度补课&#xff0c;这里只说平行志愿的坑挖得实在太大了&#xff0c;以至于很多同学都入坑了&#xff0c;怎么办&#xff1f; &#xff08; 欢迎 评论区 咨询 and 交流....&am…

淀山湖之行随笔

我们仰望清新&#xff0c;但又不得不被世俗所伴。 近日上海开始进入梅雨季节&#xff0c;每天大大小小的雨水不断&#xff0c;整个环境也格外的潮湿&#xff0c;不过已经逐渐习惯这种气候&#xff0c;所谓的见怪不怪。 今日是周日&#xff0c;思绪好久&#xff0c;准备去淀山湖…

前端优化:首屏加载速度的实践

目录 目录 前言 多图片的懒加载 避免用户多次点击请求 骨架屏原理 结束语 前言 随着互联网技术的飞速发展&#xff0c;前端网页逐渐取代了传统客户端成为用户获取信息、进行交互的重要渠道&#xff0c;但是网页也有常见的弊端&#xff0c;比如网页首屏加载速度的快慢直接…