CDKF(中心差分卡尔曼滤波)的MATLAB代码(附下载链接)

news2024/11/13 9:00:24

请添加图片描述

文章目录

  • CDKF介绍
  • 运行结果
  • 代码下载链接
  • 部分代码如下

CDKF介绍

另有关于EKF和CDKF的对比程序:EKF+CDKF两个滤波的MATLAB程序,估计三轴位置,带中文注释——https://blog.csdn.net/callmeup/article/details/136610153。此文章所在的专栏还有更多好用的例程,欢迎订阅。

中心差分卡尔曼滤波(Central Difference Kalman Filter,CDKF)是卡尔曼滤波器的一种变体,通过将非线性系统模型线性化来处理非线性问题。
CDKF的工作原理如下:首先,使用非线性系统模型和当前的状态估计来预测系统的状态。然后,通过将状态预测输入到非线性观测模型中,得到观测的预测值。接下来,使用观测的预测值和实际观测值之间的差异来计算卡尔曼增益。最后,使用卡尔曼增益来更新状态估计,并得到最终的估计结果。

CDKF相对于传统的卡尔曼滤波器具有更好的非线性逼近能力,因为它使用了更准确的状态变化估计。然而,由于需要线性化非线性系统模型,CDKF可能在极端情况下失效,例如系统存在较大的非线性或噪声。

总的来说,中心差分卡尔曼滤波是一种适用于非线性系统的滤波算法,通过使用中心差分法来提高对状态变化的估计精度。它在估计非线性系统的状态时具有一定的优势,但也有一些限制。

运行结果

滤波值与真值的对比:
在这里插入图片描述

滤波前后误差的对比,计算公式:
误差 = 滤波值 / 未滤波值 − 真值 误差=滤波值/未滤波值-真值 误差=滤波值/未滤波值真值

在这里插入图片描述

误差的累计概率密度(CDF)图像:
在这里插入图片描述

代码下载链接

如需代码,可点击下列链接下载(需付费,请谨慎下载):
https://download.csdn.net/download/callmeup/89708882

部分代码如下

% CDKF三维滤波
% author:Evand,VX:matlabfilter
% 2024-6-28/Ver1
clear;clc;close all;
rng(0);
%% initial
T = 0.1; %采样率
t = T:T:100;
Q = 0.1*diag([1,1,1]);w=sqrt(Q)*randn(size(Q,1),length(t));
R = 1*diag([1,1,1]);v=sqrt(R)*randn(size(R,1),length(t));
P = 0.1*diag([1,1,1]);
P_num = zeros(length(t),size(P,1),size(P,2)); %存放每次迭代的P
P_num(1,:,:) = P;
X=zeros(3,length(t));
X(:,1) = [1,1,1]'; %初值设置,这里为全1,可以删除,删除则表示初值为全零
X_cdkf=zeros(3,length(t));
X_cdkf(:,1)=X(:,1);
Z=zeros(3,length(t)); %定义观测值形式
%% model
X_=zeros(3,length(t));
X_(:,1)=X(:,1);

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

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

相关文章

传统CV算法——基于Opencv的图像绘制

直线绘制 参数解析: (图像矩阵,直线起始坐标, 直线终止坐标、颜色、线条厚度) cv2.line()是OpenCV中用于绘制直线的函数。 参数说明:img:要绘制直线的图像矩阵。(100,30):直线的起…

移动端支持风格设计,更个性化的体验

08/28 主要更新模块概览 风格设计 风格配置 列表模式 跳转按钮 01 表单管理 1.1 【表单设计】-新增移动端风格设计 说明: 在此之前,移动端风格一直继承自 PC 端风格,无法进行自定义。…

Ollama拉起本地模型以及rag系统部署。

什么是 Ollama ? Ollama 是一个简明易用的本地大模型运行框架。能在本地启动并运行 Llama、qwen、Gemma 及其他大语言模型,没有GPU资源照样可以拉起模型,和LocalAI 比较类似,但是加载模型更容易。 1.安装 安装后运行&#xff0c…

带你0到1之QT编程:四、打地基QHash的高效用法

此为QT编程的第四谈!关注我,带你快速学习QT编程的学习路线! 每一篇的技术点都是很很重要!很重要!很重要!但不冗余! 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点! 码…

安泰功率放大器应用领域:铁电材料极化测试

铁电材料是一种非常重要的电介质材料,不仅具有较高的介电常数,还有显著的热释电效应和压电效应,因此也被广泛应用于从日常生活到高端技术的多个领域。功率放大器作为铁电材料极化测试中常用的测试仪器之一,在该领域也有着良好应用…

【系统方案】网络空间安全态势感知与大数据分析平台建设方案(Doc完整版)

1.1 网络空间态势感知系统系统建设 1.1.1 安全监测子系统 1.1.2 态势感知子系统 1.1.3 通报预警子系统 1.1.4 等保管理子系统 1.1.5 追踪溯源子系统 1.1.6 威胁情报子系统 1.1.7 指挥调度子系统 1.1.8 侦查调查子系统 1.1.9 应急处置子系统 1.1.10 移动APP 1.1.11 运…

html发送邮件的服务器怎么配置?如何设置?

html发送邮件如何保障安全性?HTML发送邮件链接方法? 配置一个能够高效处理html发送邮件的服务器,不仅可以提升邮件的美观性和互动性,还能增强邮件的专业度和吸引力。AokSend将详细介绍如何配置服务器以支持html发送邮件。 html发…

Aigtek功率放大器的基本要求是什么

功率放大器是电子电路中的关键元件,用于增加输入信号的幅度,以便有效地驱动负载。为了确保功率放大器在不同应用中能够可靠地工作,需要满足一系列基本要求。下面安泰电子将详细介绍功率放大器的基本要求,以帮助读者了解其设计和应…

echarts关系图报错Graph nodes have duplicate name or id

生成的关系图,数据有了,展示报错nodes have duplicate name or id,提示节点有重复的名称或id,意思是可能有重复的节点,echarts graph 它不支持所以报错了。如下图 有几百条数据,要找到那条重复的&#xff…

kubernetes集群部署Confluence 7.2.0+mysql 5.7(自测有效)

背景介绍: Confluence是一个专业的企业知识管理与协同软件。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。 这里介绍的使用的是Confluence 7.2.0版本的。 一、在kubernetes集群部署 1…

申请SSL证书审核失败的原因和解决方法(DNS验证篇)

如果用户在提交SSL证书审核时使用DNS验证方式进行验证,检查配置时可能会收到未检测到DNS配置内容的返回结果。这种情况下的数字证书审核申请失败是由多个原因造成的。 为了更清楚了解失败的原因,建议使用以下方式查询DNS解析记录值,分析域名…

LNMP环境搭建(Linux+nginx+Mysql+PHP)超详细攻略

目录 一.LNMP简介 1.1LNMP架构的特点 二.详细安装步骤 2.1MySQL安装 2.1-1Yum安装 2.1-2 编译安装 2.1-3二进制安装 2.1-4 RPM安装 2.2Nginx安装 2.2-1编译安装nginx 2.2-2yum安装nginx 2.3验证Nginx安装 2.4PHP安装 2.4-1编译安装PHP 2.4-2yum安装PHP 2.5 Nginx 配…

OpenCSG all in one 安装

https://github.com/OpenCSGs/CSGHub/tree/main/deploy/all_in_one 先下载下来 记得前提是docker 和docker-compose 已经安装好了 进入到deploy 中得all_in_one中 修改.env 中得domain 地址本机地址 修改权限后 运行startup.sh $sudo ./startup.sh 运行相应得docker 信息 可以…

基本放大电路

以输入、输出信号的位置为判断依据: 信号由基极输入,集电极输出——共射极放大电路 信号由基极输入,发射极输出——共集极放大电路 信号由发射极输入,集电极输出——共基极放大电路 三种组态的特点及用途:共射极放大电…

软件设计之JDBC(1)

软件设计之JDBC(1) 此篇应在MySQL之后进行学习: 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 尚硅谷2024最新JDBC教程 | jdbc基础到高级一套通关! 资料可以去尚硅谷官网免费领取 学习内容: 前言JDBCPreparedStatement实现…

IAR查看程序占用的内存空间

参考:IAR分析内存重要的神器 - map文件全解析-CSDN博客 IAR软件*.map文件查看程序占用ROM和RAM大小_iar 通过map文件查看占用内存空间-CSDN博客 编译工程后,可以在MAP文件的最后面查看,程序占用空间的大小 readonly code和readonly data使用…

OPenCV结构分析与形状描述符(1)近似多边形轮廓顶点的函数approxPolyDP()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 按指定的精度近似一个多边形曲线 cv::approxPolyDP 函数使用另一条曲线或多边形来近似一条曲线或多边形,新曲线或多边形的顶点数较少…

PYTHON发送邮件详细流程

不求别的你要是觉得有用给我一个关注攒攒❤ 安装第三方库 dos命令窗口 pip install pyEmail 两个邮箱准备齐: 我让我的163邮箱做服务器向qq邮箱发邮件 互联网上的两个软件要想通信要有协议,因此开启协议 import smtplib #协议包 from email.mime.t…

【路径规划】2D/3D RRT* 算法 - 使用快速探索随机树进行最优路径规划

摘要 本文介绍了快速探索随机树星(RRT* )算法在2D和3D空间中的实现,用于最优路径规划。RRT*算法通过增量采样的方法,不断优化路径,以收敛到全局最优解。2D版本结合避障功能,能够有效避开给定的障碍物&…

IP地址与物理地址:‌区别解析及在网络通信中的作用

在网络通信的广阔领域中,‌IP地址与物理地址是两个至关重要的概念。‌尽管它们在网络连接和数据传输中都扮演着举足轻重的角色,‌但二者之间存在着本质的区别。‌下面一起跟着虎观代理小二了解IP地址与物理地址的区别,‌并解析它们在网络通信…