0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析卡尔曼滤波原理

2QeF_cetc49 来源:传感器技术 作者:凌霄 2021-07-09 09:34 次阅读

2021年6月17日9时22分,搭载神舟十二号载人飞船的运载火箭,在酒泉卫星发射中心点火发射。此后,神舟十二号载人飞船与火箭成功分离,进入预定轨道,顺利将聂海胜、刘伯明、汤洪波3名航天员送入太空,发射取得圆满成功。

在载人飞船运行的过程中,需要严格观测及控制其运行轨迹。谈到载人航天,不得不提及人类历史上第一次登月,阿波罗登月,阿波罗号成功的背后是运用了卡尔曼滤波。

那什么是滤波?滤波是指从含有干扰的接收信号中提取有用信号的一种技术,是一种增强有用信号的数字信号处理过程。在数据通信中,无用信号表现为特定波段频率和杂波,通常是一个随机过程。卡尔曼滤波是最优滤波中的一种常用算法,是以实现信号或状态的最优估值与相应的真实值的误差的方差最小。

最早实现卡尔曼滤波器的是斯坦利·施密特。鲁道夫·卡尔曼在访问NASA埃姆斯研究中心时,将斯密特的方法应用于阿波罗计划的轨道预测,并于1960年,提出离散系统卡尔曼滤波,后又将该种方法推广到连续时间系统中。

正是由于卡尔曼滤波从时域分析处理数据,不仅可以处理平稳随机过程,也可以处理非平稳随机过程,所以被广泛应用于各种领域,例如惯性导航,定位系统,经济投资等。

卡尔曼滤波分类

常见的卡尔曼滤波主要分为离散型卡尔曼滤波和连续型卡尔曼滤波。

A.离散型卡尔曼滤波

递推算法的使用是卡尔曼滤波的一大优点,因此离散型卡尔曼滤波在工程上得到了广泛的运用。在一个滤波周期内,根据卡尔曼滤波对使用系统信息和量测信息的先后次序,可以将卡尔曼滤波划分为时间更新过程和量测更新过程,主要分为以下几个部分。

1.一步预测:根据k-1时刻的状态估计预测k时刻的状态,通过k-1个时刻的量测量对k时刻状态量进行线性最小方差估计。

014e3bcc-e053-11eb-9e57-12bb97331649.png

2.状态估计方程:通过利用残差(新息),对状态量进行修正估计

015a1af0-e053-11eb-9e57-12bb97331649.png

其中,0166d7c2-e053-11eb-9e57-12bb97331649.png是对残差的加权阵,被称为滤波增益阵。

3.滤波增益阵和估计均方误差阵的推导:最佳滤波增益阵使得估计的均方误差达到最小。

016f4380-e053-11eb-9e57-12bb97331649.png

其中,017c5c3c-e053-11eb-9e57-12bb97331649.png是最佳增益阵,01845b12-e053-11eb-9e57-12bb97331649.png是最小均方误差阵。

4.一步预测均方误差阵推导

018f1dcc-e053-11eb-9e57-12bb97331649.png

离散型卡尔曼滤波基本方程具有如下优点:

(1)递推算法的使用,使得数据的存储量减少,通过滤波步数的增加,提取出的信息量在增大。

(2)只须知道驱动噪声的统计特性,使得卡尔曼滤波能对非平稳的被估计量做估计。

B.连续型卡尔曼滤波

连续型卡尔曼滤波可以在离散型卡尔曼滤波的基础上进行推导,通过将连续系统离散化,应用离散型卡尔曼滤波基本方程和导数运算推导出连续型滤波方程。

设连续系统的系统方程和量测方程的一般形式为

01c94c4a-e053-11eb-9e57-12bb97331649.png

连续型卡尔曼滤波的预测和更新的一般方程为:

01d5619c-e053-11eb-9e57-12bb97331649.png

非线性系统卡尔曼滤波算法

A.扩展卡尔曼滤波

上述卡尔曼滤波问题都是假设物理系统的数学模型是线性的,但是线性模型只是理想化,实际工程中很多的模型都是非线性的。同时,在非线性系统中,如果系统噪声和观测噪声都是任意分布,那么系统的处理难度会更大。因此,一般会对噪声的统计特性给出符合实际而又便于数学处理的设定。非线性系统的数学模型如下

01f1203a-e053-11eb-9e57-12bb97331649.png

其中,w(t)和v(t)是彼此不相关的零均值白噪声序列,它们与初始状态X(0)也不相关。

针对扩展卡尔滤波,利用非线性函数的局部线性特性,将非线性模型局部线性化,通常是将非线性函数f围绕滤波值做一阶Taylor展开。

0205e86c-e053-11eb-9e57-12bb97331649.png

此外,将非线性函数h围绕滤波值做一阶Taylor展开。

02121efc-e053-11eb-9e57-12bb97331649.png

线性化后,对其运用线性卡尔曼滤波基本方程,便可获得扩展卡尔曼滤波递推方程。

B.无迹卡尔曼滤波

扩展卡尔曼滤波是对非线性的系统方程或者观测方程进行泰勒展开并保留一阶近似项,引入了线性化误差。无迹卡尔曼滤波摒弃了对非线性函数进行线性化的传统做法,采用卡尔曼线性滤波框架,对于一步预测方程,使用无迹变换来处理均值和协方差的非线性传递问题。

什么是无迹变换呢?在原状态分布中按照某一规则选取一些采样点,他们的均值和协方差等于原状态分布的均值和协方差;并将他们带入非线性函数,获取相应函数值的点集。对这些点求取变换后的均值和协方差。

针对无迹卡尔曼滤波,其非线性系统的描述

021d8044-e053-11eb-9e57-12bb97331649.png

根据上述无迹变换,对非线性系统进行变换处理。不同于在估计点处做Taylor级数展开,再进行n阶近似,而是在估计点附件进行无迹变换,使得Sigma点集的均值和协方差与原统计特性匹配,再对这些Sigma点集进行非线性映射,获得状态概率密度函数,实现一种统计近似。

C.交互式多模型卡尔曼滤波

针对前面几种卡尔曼滤波,不必知道目标的运动模型就能够实时修正目标的状态参量,具有较好的适应性,但是如果目标实施突然的运动变化时,基本的卡尔曼滤波就无法获取好的结果了。交互式多模型卡尔曼滤波是一种软切换算法,使用两个或者更多的模型描述工作过程中的状态,利于减小单模型估计误差较大的影响。

交互式多模型卡尔曼滤波的思想是在每一个时刻,假设某个模型在当下时刻有效,然后混合前一时刻所有滤波器的状态估计值,获取与这个特定模型匹配的滤波器的初始条件,然后对每个模型并行实施滤波,然后,以模型匹配似然函数为基础更新模型概率,并组合所有滤波器修正后的状态估计值以得到状态估计。

在使用该算法时,对于滤波器的目标运动模型的选择,需要从以下几个方面进行考虑。

1.滤波器个数的选择,包括较为精确的模型和较为粗糙的模型。

2.马尔科夫链状态转移概率的选取对滤波器的性能有较大影响,会直接影响模型误差和模型概率估计的准确性。

3.该算法具有模块化的特性,当使用的时候,无法预料目标的运动规律时,应该选择一般的鲁棒性较强的模型。

作者:凌霄

浙江大学机械电子专业博士,从事智能传感与人机交互,智能机器人控制等领域的研究

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 卡尔曼滤波
    +关注

    关注

    3

    文章

    158

    浏览量

    24473

原文标题:漫谈卡尔曼滤波

文章出处:【微信号:cetc49,微信公众号:传感技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    卡尔滤波家族

    本文对于扩展卡尔滤波、无迹卡尔滤波仅仅做了一些简要介绍,不再想上次的文章那样做详细地推导了。但只要看过之前写的卡尔
    的头像 发表于 01-14 14:29 475次阅读
    <b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>家族

    ADIS16448在卡尔滤波里的系统噪声参数是多少?

    大家好,最近我在使用ADIS16448做IMU和GPS的融合。IMU主要是完成卡尔滤波里预测的步骤,所以我需要为我的IMU设置系统噪声参数Q。然而在ADIS16448的参数表里,我似乎找不到相应
    发表于 12-28 08:04

    卡尔滤波的原理和C代码

    卡尔滤波(KalmanFilter)是一种递归的、自适应的滤波算法,广泛应用于估计系统状态和观测过程中的噪声。它最初在1960年被提出,被认为是控制理论和信号处理领域中最重要的发展之一。卡尔
    的头像 发表于 12-07 08:08 667次阅读
    <b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>的原理和C代码

    有没有基于9轴传感器的三阶卡尔滤波器算法?

    有没有基于9轴传感器的三阶卡尔滤波器算法
    发表于 11-06 06:00

    二阶滤波对比卡尔滤波输出哪个效果更好?

    二阶滤波对比卡尔滤波输出哪个效果更好
    发表于 10-13 08:21

    卡尔滤波输出的时候延时很大要怎么解决?

    卡尔滤波输出的时候延时很大要怎么解决
    发表于 10-11 08:10

    卡尔滤波是属于一个什么滤波器?

    卡尔滤波器是属于一个高通滤波器还是带通滤波
    发表于 10-11 06:58

    卡尔滤波算法对比其他的滤波算法有什么优点?

    卡尔滤波算法对比其他的滤波算法有什么优点
    发表于 10-11 06:42

    卡尔滤波算法是怎么实现对数据的预测处理的?

    卡尔滤波算法是怎么实现对数据的预测处理的
    发表于 10-10 08:28

    卡尔滤波可以用于四轴的姿态数据处理吗?

    卡尔滤波可以用于四轴的姿态数据处理吗
    发表于 10-10 07:29

    什么是卡尔滤波?卡尔滤波的作用是什么

    一、什么是卡尔滤波? 你可以在任何含有不确定信息的动态系统中使用卡尔滤波,对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔
    的头像 发表于 08-08 09:39 4675次阅读
    什么是<b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>?<b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>的作用是什么

    详解卡尔滤波原理

    我不得不说说卡尔滤波,因为它能做到的事情简直让人惊叹!意外的是很少有软件工程师和科学家对对它有所了解,这让我感到沮丧,因为卡尔滤波是一个如此强大的工具
    的头像 发表于 07-13 16:20 1802次阅读
    详解<b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>原理

    浅析卡尔滤波

    在 飞行器姿态计算 中,卡尔滤波是最常用的姿态计算方法之一。今天就以目前的理解讲以下卡尔滤波
    的头像 发表于 06-14 10:44 1573次阅读

    看完这篇卡尔滤波原理,我被惊到了!

    你可以在任何含有不确定信息的动态系统中使用卡尔滤波,对系统下一步的走向做出有根据的预测,即使伴随着各种干扰,卡尔滤波总是能指出真实发生的情况。
    的头像 发表于 06-01 09:56 1408次阅读
    看完这篇<b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>原理,我被惊到了!

    卡尔滤波(KF)与扩展卡尔曼(EKF)

    卡尔滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量(英文:measurement)中,估计动态系统的状态,然而简单的
    发表于 05-10 17:51 3次下载