滤波算法:经典卡尔曼滤波

news2024/12/24 11:43:45

卡尔曼滤波实质上就是基于观测值以及估计值二者的数据对真实值进行估计的过程。预测步骤如图1所示:

​图1 卡尔曼滤波原理流程图

假设我们能够得到被测物体的位置和速度的测量值

​,在已知上一时刻的最优估计值

​以及它的协方差矩阵

的条件下(初始值可以随意取,但协方差矩阵应为非0矩阵),则有

​,

,即:

​(1)

而此时,

(2)

如果我们加入额外的控制量,比如加速度

​,此时

​,则此时:

(3)

同时,我们认为我们对系统的估计值并非完全准确,比如运动物体会突然打滑之类的,即存在一个协方差为

​的噪声干扰。因此,我们需要对

​加上系统噪声

来保证描述的完备性。综上,预测步骤的表达如下所示:

​(4)

​(5)

由于误差累积的作用,单纯对系统进行估计会导致估计值越来越离谱,因此我们以传感器的观测数据对我们的估计进行修正。我们可以用与预测步骤类似的方法将估计值空间映射至观测值空间,如下式所示:

​(6)

​(7)

我们假设观测值为

。同时由于观测数据同样会存在噪声干扰问题,比如传感器噪声等,我们将这种噪声的分布用协方差

表示。此时,观测值

与估计值

处于相同的状态空间,但具有不同的概率分布,如图2所示:

图2 估计值与观测值概率分布示意图

我们可以认为,这两个概率分布的重叠部分,会更加趋近系统的真实数据,即有更高的置信度,比如我们估计汽车速度是5~10km/h,传感器反馈的速度是8~12km/h,那我们有理由认为汽车的实际速度更趋近于8~10km/h这个区间。

这里将观测值与估计值两个分布的高斯分布相乘,其结果的高斯分布描述如下:

​(8)

​(9)

​(10)

式中:

​描述高斯分布的协方差,

​表示高斯分布的均值,矩阵

​称为卡尔曼增益矩阵。

那么,将估计值

以及观测值

​代入式(8)至式(10),可以得到:

式中,

​称为卡尔曼增益。

将式(11)至式(13)中约去

​,并化简可得:

即为我们所得到的最优估计值,同时

​为其对应的协方差矩阵。在实际应用中,只需要使用式(4)、式(5)以及式(14)至式(16)这5个方程即可实现完整的卡尔曼滤波过程。

在对单一信号源滤波的场合,由于测量值与估计值具备几乎完全相同的概率分布,为了更好的实现去噪效果,在假定被测对象变化不显著的情况下,可以将之前(1~N)个时间节点的测量值随机作为当前时间节点的测量值,以实现更好的去噪效果。原则上,N取值越大滤波效果越好,但也会导致滤波结果滞后越严重。

2. 算法实现

function output = kalmanFilter(data, Q, R, N)

if ~exist('Q', 'var')

Q = 0.01;

end

if ~exist('R', 'var')

R = 1;

end

if ~exist('N', 'var')

N = 0;

end

X = 0;

P = 1;

A = 1;

H = 1;

output = zeros(size(data));

for ii = N + 1 : length(data)

X_k = A * X;

P_k = A * P * A' + Q;

Kg = P_k * H' / (H * P_k * H' + R);

z_k = data(ii - round(rand() * N));

X = X_k + Kg * (z_k - H * X_k);

P = (1 - Kg*H) * P_k;

output(ii) = X;

end

end

3. 算法分析

采用经典卡尔曼滤波对虚拟信号及真实信号进行滤波,结果如下图所示:

​图3 经典卡尔曼滤波对虚拟信号滤波结果

​图4 经典卡尔曼滤波对真实信号滤波结果

从滤波结果中可以看出,经典卡尔曼对信号的滤波效果较为优秀,实时性相对较好,计算量需求极小,能够有效去除高斯噪声以及非高斯噪声,基本不受脉冲信号影响。在对被测系统的建模较为精确的条件下,其性能还能够进一步提升。其缺点主要在于需人为给定系统模型,当系统模型不精确时滤波效果会有所下降,但可以通过增加采样频率解决此问题。

建议应用场合:输入信号相对平稳或已知被测系统运动学模型,同时要求运算量极小的场合。

作者:小石学CS

来源:滤波算法:经典卡尔曼滤波 - RFASK射频问问

关于RFASK射频问问

射频问问是在"微波射频网”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:

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

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

相关文章

ChatGPT热潮背后,金融行业大模型应用路在何方?——金融行业大模型应用探索

ChatGPT近两个月以来不断引爆热点,对人工智能应用发展的热潮前所未有地高涨,ChatGPT所代表的大模型在语义理解、多轮交互、内容生成中所展现的突出能力令人惊喜。而人工智能技术在金融行业的落地应用仍然面临挑战,虽然已经让大量宝贵的人力从…

易基因|ChIP-seq等组学研究鉴定出结直肠癌的致癌超级增强子:Nature子刊

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。超级增强子(Super enhancer)是一类包含多个普通增强子的大簇,主要富集高密度的转录因子、辅助因子及增强子相关表观修饰位点。与普通增强子相比&#xf…

canal实时同步mysql数据到elasticsearch(部署,配置,测试)

这里写目录标题简介工作原理MySQL主备复制原理canal 工作原理canal 使用流程环境搭建环境使用版本mysql配置修改配置创建从库权限账号创建测试数据库创建测试数据表elasticsearch配置创建索引建立映射canal的下载部署下载canal配置服务端 canal-deployer配置客户端canal-adapte…

Keysight E5061B网络分析仪

Keysight E5061B(安捷伦)网络分析仪可在 5 Hz 至 3 GHz 的宽频率范围内提供多功能的高性能网络分析。E5061B 提供了 ENA 系列共有的出色射频性能,还提供了成熟的 LF(低频)网络测量功能;包括带有内置 1 Mohm…

【Vue学习】Vue基本使用

1. 模板语法 插值:使用双大括号进行数据的插值,包括文本、JS表达式。动态属性:可以使用模板字符串。如果使用标签使用了v-html指令,那么标签中的子元素会被引入的html代码覆盖掉,同时也会存在xss风险。 2. compute…

Python + Airtest + poco + pytest + pytest-html 实现Android App自动化测试框架

Python Airtest poco pytest pytest-html 实现Android App自动化测试框架 一、背景 为了尝试除Appium外的测试框架,本文将介绍基于网易的airtest框架为基础,配合poco及pytest实现对Android App的自动化测试。 二、框架介绍 框架集成使用airtest p…

puzzle(1321)时间旅人

时间旅人 最强大脑同款项目。​​​​​​​ 每个指针会带动周围2圈指针一起带动,内圈8个旋转180度,外圈16个旋转90度,全部调整为朝上则胜利。 问题本质: 很明显,问题本质就是求每个格子的点击次数,最少为…

Mac mini 外接移动硬盘无法显示,磁盘工具装载报错显示 com apple diskmanagement disenter

使用“启动安全性实用工具”可确保 Mac 始终从您指定的启动磁盘以及合法的受信任操作系统启动。 如果您使用的是配备 Apple T2 安全芯片的 Mac,则“启动安全性实用工具”提供以下三项功能来帮助保护您的 Mac 免受未经授权的访问:固件密码保护、安全启动…

Java中安装Maven环境

Java中安装Maven环境 apache-maven-3.6.0 下载地址 云盘不限速下载 或者进入官网按下图下载 方法/步骤一 安装 打开压缩包,将maven压缩包解压至软件安装处,建议D根目录或其他,记住安装位置 类似于 方法/步骤二 环境变量配置 变量 1.新…

XSS-labs通关挑战

目录标题1、开始页面2、level 13、level 24、level 35、level 46、level 57、level 68、level 79、level 810、level 911、level 1012、level 1113、level 1214、level 131、开始页面 2、level 1 在url后面可以发现有注入点。如下: 这里出现弹窗,可以知道…

一文搞清楚LoRa网关,LoRa网关全知道

欢迎来到东用知识小课堂下面,今天我们用东用科技的OGC300系列LoRa为例,以简单的方式帮助大家了解一下LoRa相关的小知识一、LoRa网关的基本介绍LoRa是semtech公司创建的低功耗局域网无线标准,低功耗一般很难覆盖远距离,远距离一般功…

Roblox小游戏走出元宇宙试炼年

当元宇宙业务成为海内外互联网巨头急于甩掉的包袱时,“元宇宙第一股”Roblox最近的表现极其提气。 先是2月15日,这家在线游戏娱乐及创作平台公布上一年财报,公司全年营收为 22 亿美元,同比增长 16%。今年1 月,该公司的…

HIVE --- 高级查询

目录 CTE和嵌套查询 嵌套查询 关联查询(join) MapJoin MapJoin操作在Map端完成 开启MapJoin操作 MAPJOIN不支持的操作 union 数据交换(import/export) 数据排序 order by sort by distribute by cluster by CTE和嵌…

Authing 入选德勤“中国明日之星”企业榜单

近日,德勤发布“德勤中国明日之星”榜单,该项目致力于发掘和表彰蓬勃成长、持续创新、积极承担社会责任的卓越企业。该榜单1995 年创立至今,被业界誉为“全球高成长企业的标杆”。Authing 凭借在 IDaaS(身份云) 领域突…

【likeshop】开源商城系统代码有什么好?

​开源是什么? 开源是指软件的源代码开放给任何人自由使用、修改和再分发的概念。开源软件的源代码可以免费获取,用户可以根据自己的需要修改源代码,并且可以将修改后的代码免费分发给其他人使用。开源软件的源代码是公开的,其他人…

谈谈分布式系统的CAP理论

目录什么是CAP为什么三者不可得兼CAP原则权衡CAP原则实际应用什么是CAP CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区…

软件测试从业多年,一直认为自己技术不错,裸辞后一晃 ,失业3个月了~

最近,找了很多软测行业的朋友聊天、吃饭 ,了解了一些很意外的现状 。 我一直觉得他们技术非常不错,也走的测开/管理的路径;疫情原因,二三月份裸辞的,然后一直在找工作,现在还没找到工作 。 经…

Linux 文件基本属性

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在 Linux 中我们通常使用以下两个命…

(考研湖科大教书匠计算机网络)第六章应用层-第七节:万维网WWW

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:万维网概述二:万维网应用(1)URI和URLA:URI和URL关系B:URL格式(2&#xff09…

Docker 基本操作

image操作从Docker Hub 拉取已有镜像一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。 用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从…