自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MATLAB卡尔曼的博客

分享关于导航、滤波的方法和MATLAB代码

  • 博客(637)
  • 资源 (165)
  • 收藏
  • 关注

原创 《MATLAB定位与滤波例程》专栏目录,持续更新……

本专栏针对动态目标定位时,往往有轨迹的滤波需求,因此给出TOA/AOA/RSSI等定位方法与EKF/UKF/CKF等滤波方法结合的matlab例程,弥补另一个专栏《MATLAB定位程序与详解》只提供静态、单点定位方法的缺陷。

2025-03-15 01:13:46 236 1

原创 《MATLAB创新性滤波算法》专栏目录,持续更新中……

MATLAB创新性滤波算法》专栏旨在分享具有一定创新性的滤波方法,并配有适当的MATLAB例程供读者参考。为了保证一定的新颖性、创新性,在编辑时耗费了大量的时间和精力,因此设置为付费专栏,以下是专栏的目录。

2024-12-30 08:43:07 677 1

原创 《IMM交互式多模型滤波MATLAB实践》专栏目录,持续更新……

【逐行注释】基于CV/CT模型的IMM|MATLAB程序|源代码复制后即可运行,无需下载CV/CA双模型的IMM例程(MATLAB,基于两个模型的EKF),附源代码可直接复制粘贴。

2024-10-30 10:07:03 322 2

原创 卡尔曼讲解与各种典型进阶MATLAB编程(专栏目录,持续更新……)

本专栏旨在深入探讨卡尔曼滤波及其在各类应用中的实现,尤其是通过MATLAB编程进行的典型案例分析。卡尔曼滤波是一种高效的递归滤波器,广泛用于信号处理、控制系统和导航等领域,能够有效地从噪声数据中提取有用的信息。卡尔曼滤波基础:详细介绍卡尔曼滤波的原理、数学背景及基本概念,帮助读者建立坚实的理论基础。进阶应用案例:通过一系列典型的MATLAB编程示例,展示卡尔曼滤波在不同领域(如机器人定位、目标跟踪和传感器融合等)中的实际应用。代码实现与优化。

2024-10-18 10:57:19 492

原创 定位方法与程序讲解(专栏目录,更新中···)

AOA(Angle of Arrival,到达角度)定位是一种基于测量信号到达接收器的角度来确定信号源位置的技术。无需信号源的精确时间:TDOA定位不需要信号源明确的时间戳,只需接收器之间的时间差,因此适用于不便于同步的系统。信号要求:对信号的要求较高,必须能够准确测量到达时间,通常需要高频率的信号和高精度的时钟。高精度:在适当的条件下,TDOA可以实现厘米级的定位精度,尤其在接收器分布合理的情况下。时间差计算:通过比较不同接收器接收到信号的时间,计算出信号到达各个接收器的时间差。

2024-10-03 10:42:33 1701

原创 最优控制导引律(Optimal Guidance Law, OGL)介绍与MATLAB代码|附代码下载链接

摘要: 本文介绍了基于LQR的最优控制导引律(OGL)在导弹拦截中的实现方法。通过构建导弹-目标相对运动的线性动力学模型,以二次型性能指标最小化为目标,利用MATLAB求解代数Riccati方程得到最优反馈控制律。仿真结果表明,该方法能有效实现高精度轨迹跟踪(脱靶量<0.1m),代码包含参数设置、动力学建模、LQR求解和闭环控制模块,支持二维平面拦截场景分析。关键优势在于理论严格性和可调加权矩阵,但依赖精确模型和实时计算。完整代码已开源,适用于反导和空空导弹的制导算法研究。 特点: 理论推导与工程实现

2025-05-28 10:30:48 364

原创 制导与导航总述、分类介绍、MATLABdemo

导航与制导的每种方法添加的和,以帮助更好地理解其实现和应用。基于 MATLAB 的实现示例。

2025-05-28 10:28:53 99

原创 【限时免费】MATLAB例程,脉冲雷达目标测距例程

本文介绍了基于线性调频(LFM)信号的脉冲雷达目标测距MATLAB实现方法。代码通过生成LFM发射信号,模拟目标回波并添加噪声,利用匹配滤波器进行时延估计和距离解算。关键参数包括10MHz带宽(对应15m分辨率)、100μs脉宽(15km最大距离)和10dB信噪比。核心算法包含LFM信号生成、匹配滤波(xcorr实现)和峰值检测测距,最终实现104m目标的距离估计,误差仅3cm。结果验证了该方案在噪声环境下的有效性,适用于雷达信号处理学习和基础测距应用。

2025-05-27 11:01:51 470

原创 【MATLAB例程】主动声纳多路径目标测距与定位,测距使用互相关,频率、采样率可调、声速可调,定位使用三边法|附代码下载链接

本文提出一种基于MATLAB的水下目标定位算法,结合声纳信号处理与多边定位技术。该系统通过生成线性调频信号(LFM),模拟多路径传播环境,并利用匹配滤波技术实现精确测距。采用加权最小二乘法(WLS)进行目标位置估计,支持可调的声速、采样率和锚点配置。实验结果显示,算法能有效估计目标坐标,提供RMSE、HDOP等性能指标,并可视化95%置信椭圆。该方案适用于水下探测、机器人导航等场景,具有模块化设计、参数可调等特点,可通过扩展支持多目标跟踪和复杂环境建模。配套代码已开源,包含完整的信号生成、距离测量和定位解算

2025-05-27 10:47:33 633

原创 【MATLAB例程】声纳信号处理与目标测距的程序|信号频率、信噪比、采样率和声速均可自行调整|附代码下载链接

本文介绍了一个基于MATLAB的声纳信号处理与目标测距仿真。通过生成线性调频信号(LFM),模拟目标回波信号,并加入噪声,利用自相关处理检测目标距离。文章详细阐述了信号延迟、距离计算、LFM信号生成、信噪比(SNR)以及自相关处理的相关公式,并提供了代码结构的说明。仿真结果显示,当目标实际距离为300米时,系统能够准确检测并计算目标距离。文章还提供了完整的MATLAB源代码下载链接,供读者参考和使用。

2025-05-26 14:34:53 1032

原创 技术文档写作方法——以MATLAB滤波为例

本文探讨了提升技术文档质量的关键要素:1.明确目标受众,采用匹配用户技术水平的语言;2.构建层次化结构,合理使用标题和模块化内容;3.结合图表、代码等视觉元素增强可读性;4.使用简洁准确的语言表达;5.提供可运行的优质代码示例;6.定期更新文档并管理版本;7.收集反馈持续优化;8.借助Markdown等工具提升效率。文章强调技术文档应以读者为中心,通过结构化设计和持续改进,成为有效的知识传播媒介。

2025-05-26 14:34:08 738

原创 【MATLAB代码】主动声纳多路径目标测距与定位,测距使用互相关,频率、采样率可调、声速可调,定位使用三边法|订阅专栏后可直接查看源代码

本文介绍了一个基于MATLAB的水下目标定位系统,利用声纳信号处理和多锚点测距技术,结合信号建模、多路径传播仿真及模糊函数分析,适用于水下目标探测与通信场景。代码通过模拟多锚点分布,测量目标与锚点的距离,并采用加权最小二乘法(WLS)进行目标位置估计。系统支持频率、采样率、声速、锚点数量及位置等参数的自定义调整,并提供了定位性能指标(如RMSE、HDOP)及可视化结果。代码结构清晰,包含参数设置、锚点生成、距离测量、定位算法及结果展示等模块,适用于水下定位与通信的研究与应用。

2025-05-25 12:49:36 491

原创 MATLAB例程——基于分批运输与最近邻优化的垃圾运输路径规划,n个垃圾收集点,每点有固定垃圾量,车辆从处理厂出发收集垃圾后返回,目标是最小化总行驶距离

本文提出了一种基于启发式算法的垃圾运输路径优化方案,针对30个垃圾收集点的运输需求建立数学模型。通过分批运输和最近邻优化算法,实现了车辆分配、路径规划及总行驶距离最小化。MATLAB实现表明,该方法能有效求解NP难问题,输出最优路径与车辆分配方案。分析指出当前模型未考虑交通因素和车辆差异,并建议引入时间窗约束、多目标优化等改进方向。完整代码已公开,适用于类似路径规划问题。

2025-05-24 10:41:11 996

原创 MATLAB代码——基于分批运输与最近邻优化的垃圾运输路径规划,n个垃圾收集点(n可调),每点有一定的垃圾量,车辆从处理厂出发收集垃圾后返回,目标是最小化总行驶距离

本文提出一种基于贪心算法的垃圾运输路径优化方法,通过MATLAB实现30个垃圾收集点的运输路径规划。模型以最小化总行驶距离为目标,考虑车辆载重限制(5吨),采用最近邻策略分配运输任务,并可视化各车辆路径。结果显示算法能有效分配车辆并规划最优路径,为城市垃圾运输提供优化方案。代码可直接运行,输出路径方案和总行驶距离,适用于类似物流路径规划问题。未来可进一步改进算法效率或加入更多现实约束条件。

2025-05-24 10:39:35 192

原创 【MATLAB代码】声纳信号处理与目标测距的程序,订阅专栏后可获得完整的代码

本文介绍了一个基于MATLAB的声纳信号处理与目标测距仿真。仿真过程包括生成线性调频信号(LFM)、模拟回波信号、加入噪声、进行自相关处理以及目标检测。通过模拟水中目标的回波信号,计算出目标距离,并对结果进行可视化。仿真结果显示,当目标实际距离为300米时,系统能够准确检测到目标距离。文章还提供了完整的MATLAB源代码,便于读者理解和复现实验。

2025-05-23 12:09:46 193

原创 【MATLAB代码】扩展卡尔曼滤波估计pmsm的位置误差

本文介绍了基于扩展卡尔曼滤波(EKF)的永磁同步电机(PMSM)转子位置与速度的无传感器估计方法。通过建立PMSM的动力学模型,结合电压输入与电流观测,算法能够实时预测电机的转子位置、转速及交直轴电流,有效解决了传统传感器依赖带来的成本和可靠性问题。文章详细阐述了系统建模、噪声配置、EKF实现流程及MATLAB代码实现,并通过仿真验证了算法的有效性。仿真结果表明,EKF能够准确估计电机的位置和速度,误差较小,适用于实际应用场景。

2025-05-23 10:39:48 962

原创 课题推荐——扩展卡尔曼滤波(EKF)估计pmsm的位置误差

扩展卡尔曼滤波(EKF)是一种广泛应用于非线性系统状态估计的方法,尤其在永磁同步电机(PMSM)的位置和速度估计中表现出色。EKF通过实时估计转子位置误差,提升了控制精度。文章详细介绍了PMSM的状态空间模型及其非线性状态方程,并推导了离散化后的状态方程。EKF的实现步骤包括初始化、预测和更新,其中预测步骤利用雅可比矩阵进行状态和协方差的预测,更新步骤则通过卡尔曼增益调整状态估计。文章还探讨了噪声协方差矩阵的调整、初始化敏感性以及数值稳定性等调试与优化问题,并通过仿真和实验验证了EKF的性能。

2025-05-19 21:44:39 889

原创 MATLAB代码|遗传算法(GA)与粒子滤波(PF)结合|三维滤波|状态量和观测量都是三维的|附完整的MATLAB代码

本文介绍了一种结合遗传算法(GA)与粒子滤波(PF)的状态估计方法,通过MATLAB代码展示了其实现过程。该方法旨在解决传统粒子滤波中的粒子退化问题,并提升全局优化能力。代码核心包括参数初始化、粒子滤波流程、遗传算法重采样机制以及性能评估。遗传算法通过选择、交叉和变异操作改进重采样过程,增加粒子多样性,从而提升状态估计精度。运行结果显示,GA-PF方法能够有效跟踪三维状态量,并通过误差分析验证了其优越性。代码提供了完整的MATLAB实现,可直接运行并生成状态估计对比图和误差曲线。

2025-05-19 10:23:43 641

原创 MATLAB2025新功能

截至2023年9月,MATLAB官方尚未公布2025版本的具体更新内容。注:具体功能请以官方正式发布为准,上述预测基于技术发展趋势分析。

2025-05-17 12:55:35 419

原创 【matlab技巧】通过手绘的方法设计二维运动轨迹,附MATLAB程序

这段 MATLAB 代码实现了一个简单的图形绘制工具,用户可以通过鼠标在图形窗口中绘制线条,并记录轨迹坐标。代码首先创建图形窗口并设置坐标轴范围,随后通过循环监听鼠标点击事件,左键点击绘制点并连接成线,右键点击结束绘制。绘制完成后,程序会输出所有点击点的坐标,并存储在变量 x 和 y 中。该工具适用于简单的图形交互和数据可视化场景。

2025-05-17 12:27:15 569

原创 【MATLAB例程】线性卡尔曼滤波的程序,三维状态量和观测量,较为简单,可用于理解多维KF,附代码下载链接

本文介绍了一个三维状态的扩展卡尔曼滤波(EKF)算法的实现。代码通过生成过程噪声和观测噪声,对真实状态进行滤波估计,并对比了滤波前后状态量的误差和误差累积分布曲线。代码分为初始化、运动模型、EKF实现、绘图和误差输出五个部分。初始化部分设置了时间序列、噪声协方差矩阵和状态矩阵;运动模型模拟了真实状态和观测值的变化;EKF部分实现了预测和更新步骤;绘图部分展示了滤波前后的状态量、误差曲线及误差累积分布;误差输出部分计算了滤波前后的最大误差值。运行结果通过图表展示了滤波效果,代码可通过链接下载。

2025-05-16 15:07:36 925

原创 【MATLAB例程】二维卡尔曼滤波的完整代码,仿真程序,线性系统的卡尔曼滤波(KF),带有误差统计与输出,附下载链接

本文介绍了一个二维卡尔曼滤波的完整实现,适用于学习和应用卡尔曼滤波的基本原理。代码从环境初始化开始,设置了时间序列和噪声协方差矩阵,并初始化了真实状态、未滤波状态和观测值。通过运动模型更新状态,包括真实状态、带误差的状态和观测值。卡尔曼滤波的迭代过程分为预测和更新步骤,最终通过可视化展示滤波效果,包括状态量曲线、绝对误差曲线和误差的累积分布函数(CDF)。代码还输出了未滤波和滤波后的各维度误差最大值,便于分析滤波效果。完整代码可通过提供的链接下载,适用于导航、定位等滤波相关需求的定制开发。

2025-05-16 13:15:02 892

原创 【MATLAB代码】二维卡尔曼滤波的完整代码,仿真程序,线性系统的卡尔曼滤波(KF),带有误差统计与输出,订阅专栏后可直接查看源代码

本文提供了一个完整的二维卡尔曼滤波实现,涵盖了从初始化、状态更新到结果可视化的全过程。代码通过MATLAB实现,包括滤波模型初始化、运动模型、卡尔曼滤波迭代以及结果的可视化。通过绘制状态量曲线、误差对比图和累积分布函数(CDF),展示了滤波前后的效果。代码还输出了未滤波和滤波后的各维度误差最大值,便于分析滤波效果。该实现适合用于学习卡尔曼滤波的基本原理和实际应用,订阅专栏后可获取完整MATLAB源代码并直接运行。

2025-05-15 10:19:28 120

原创 【MATLAB例程】声线跟踪|假设已经有声源的信号,程序通过麦克风阵列来估计声源的方向

声线跟踪(Sound Localization)是通过分析声音信号确定声源位置的技术,广泛应用于声学、机器人和自动驾驶等领域。其基本原理包括信号接收、信号处理和位置估计。关键公式涉及时延差(TDOA)、到达角(DOA)和位置估计。本文提供了一个MATLAB代码示例,模拟声源信号并通过麦克风阵列估计声源方向。代码包括参数设置、信号生成、时间延迟计算、互相关分析和方向估计,并绘制了互相关图。实际应用中需考虑噪声和复杂算法。

2025-05-15 10:17:02 796

原创 课题介绍:基于Voronoi的大语言模型零样本目标导航

本研究探讨了将大语言模型(LLMs)与Voronoi图结合,以解决零样本条件下的目标导航问题。大语言模型在自然语言处理和决策支持方面表现出色,但在物理环境导航中仍面临挑战。Voronoi图作为一种几何工具,能够有效划分空间并生成路径规划方案。研究目标包括利用大语言模型理解自然语言描述的目标位置,结合Voronoi图生成最优路径,并在零样本条件下实现高效导航。技术路线涉及环境建模、语言推理、路径规划和仿真实验。应用场景涵盖自动驾驶、室内服务机器人和无人机路径规划。MATLAB例程展示了基于Voronoi图的路

2025-05-14 14:18:26 815

原创 【PSINS工具箱】基于工具箱的单独GNSS导航、单独INS导航、两者结合组合导航,三种导航的对比程序。附完整的代码

本代码实现了基于 PSINS 工具箱的惯性测量单元 (IMU) 数据生成与全球定位系统 (GPS) 组合导航,通过扩展卡尔曼滤波 (EKF) 对导航结果进行优化和对比。

2025-05-14 14:17:36 855

原创 【MATLAB例程】Rao检测(Rao Test-based Detector),以雷达信号检测为应用背景,附完整的代码

本文介绍了一个基于RAO检测器的MATLAB例程,用于雷达信号检测。代码包括仿真信号生成、检测器实现及性能分析。RAO检测器通过估计杂波协方差矩阵并计算检验统计量,结合卡方分布近似控制虚警概率。通过蒙特卡洛仿真,生成了不同信噪比下的检测概率曲线,验证了RAO检测器在低信噪比环境下的有效性。文章还提出了扩展功能建议,如杂波协方差失配分析、多目标检测和实时实现优化,以适应不同雷达系统需求。

2025-05-13 10:05:35 906

原创 课题推荐——低成本地磁导航入门,附公式推导和MATLAB例程运行演示

地磁导航是一种利用地球磁场特性进行定位和导航的技术,具有低成本、全天候和隐蔽性等优势,适用于室内外复杂环境。然而,地磁导航面临环境磁场变化、磁干扰和传感器噪声等挑战。本研究旨在开发一种基于地磁特征的低成本导航方法,包括地磁特征建模、定位与匹配算法设计以及抗干扰技术。通过采集环境磁场数据,建立地磁特征地图,并利用实时传感器数据进行匹配定位,结合卡尔曼滤波等算法提高导航精度。该技术有望在室内定位、机器人导航等领域广泛应用,提供经济可靠的导航解决方案。

2025-05-13 10:04:41 665

原创 【课题推荐】基于改进遗传算法的公交车调度排班优化研究与实现方案

本文提出了一种基于改进遗传算法的公交车调度排班优化方案,旨在通过多目标优化平衡运营成本、乘客等待时间和车辆满载率。文章首先构建了数学模型,定义了决策变量和约束条件。随后,设计了改进的遗传算法,包括双层编码结构、动态适应度函数和优化的遗传操作(选择、交叉、变异)。Matlab代码实现框架展示了主程序结构和关键函数,如动态适应度计算和禁忌搜索变异。实验结果表明,该方案显著降低了运营成本、减少了乘客等待时间,并提高了资源利用效率。创新点包括混合编码机制、动态权重调整、禁忌引导搜索和多目标协同优化。该方案为公交车调

2025-05-12 10:49:35 803

原创 【MATLAB例程】线性卡尔曼滤波的程序,三维状态量和观测量,较为简单,可用于理解多维KF,订阅专栏后可直接查看完整代码

本文介绍了一个三维状态的扩展卡尔曼滤波(EKF)算法的实现。通过生成过程噪声和观测噪声,模拟真实状态的变化,并利用EKF对状态进行滤波估计。代码分为初始化、运动模型、EKF滤波、绘图和误差输出五个部分。初始化部分定义了时间序列、噪声协方差矩阵和状态矩阵;运动模型部分模拟了真实状态、未滤波状态和观测值的更新;EKF部分实现了滤波的预测和更新步骤;绘图部分展示了滤波前后状态量、误差和误差累积分布曲线的对比;最后,代码输出了滤波前后各维度的最大误差值。实验结果表明,EKF能有效降低状态估计的误差,提升滤波精度。

2025-05-12 10:44:46 458

原创 纯惯性导航、非线性最小二乘法纯uwb测距导航定位、惯性uwb松组合导航、惯性uwb紧组合导航,四种方法对比

本文对比分析了四种导航定位方法:纯惯性导航、非线性最小二乘法纯UWB测距导航定位、惯性/UWB松组合导航和惯性/UWB紧组合导航。纯惯性导航基于IMU,短期精度高但误差随时间累积,适用于短时高动态场景。UWB测距导航利用UWB技术,精度高但依赖参考节点,适用于室内定位。惯性/UWB松组合通过卡尔曼滤波融合两者数据,结构简单但融合层次浅,适用于信号断续的场景。惯性/UWB紧组合直接融合原始数据,鲁棒性强但算法复杂,适用于复杂动态环境。总结表明,紧组合逐渐成为主流,结合AI优化和多技术融合,推动导航技术发展。

2025-05-10 13:24:51 985

原创 Rao检测的作用与原理|统计信号检测方法|检验准则

综上,Rao检测器凭借其统计效率与工程适用性,在复杂信号检测领域展现出广阔的应用前景。未来研究需进一步解决多源干扰耦合、模型失配极限等问题,以提升其在极端环境下的可靠性。

2025-05-10 11:25:02 1036

原创 TOA的定位,建模与解算的步骤、公式推导

本文详细介绍了基于到达时间(TOA)的定位方法,通过测量信号从目标到多个基站的传播时间,将其转换为距离信息,并利用几何关系解算目标位置。文章首先建立了通用模型,假设已知基站坐标和信号传播速度,推导了距离模型。接着,通过构建非线性方程组并采用最小二乘法进行线性化处理,简化了计算复杂度。此外,文章还介绍了最大似然估计(ML)和高斯-牛顿迭代法,用于优化目标位置的估计。最后,通过克拉美罗界(CRLB)分析了定位误差的理论下限,并探讨了双向测距(TW-TOA)和混合定位等应用扩展。

2025-05-09 10:20:57 923

原创 【MATLAB例程】基于泰勒级数展开(线性化)的TOA定位迭代算法代码实现,三维、任意数量的锚点。附代码下载链接

本文介绍了基于泰勒级数展开的TOA(到达时间)定位迭代算法的MATLAB实现。该算法适用于三维空间定位,支持任意数量(≥4)的基站,并结合了非线性最小二乘优化方法。文章详细阐述了TOA定位原理、泰勒级数展开的线性化过程、雅可比矩阵的构建以及迭代求解步骤。关键参数设计包括初始位置选择、噪声建模和收敛阈值设置。运行结果展示了定位示意图、迭代收敛曲线和命令行输出,并提供了部分MATLAB源代码。完整代码和函数可通过提供的链接下载。该算法通过泰勒级数展开和最小二乘优化,能够有效提高定位精度,适用于多种实际应用场景。

2025-05-09 10:16:27 890

原创 【MATLAB代码】基于泰勒级数展开(线性化)的TOA定位迭代算法代码实现,三维、任意数量的锚点。附完整的代码

基于泰勒级数展开的TOA定位迭代算法的MATLAB代码实现,结合了非线性最小二乘优化方法。该代码适用于三维空间定位,支持任意数量(≥4)的基站,并包含详细的注释说明。

2025-05-08 10:18:32 476

原创 MATLAB界面——valueChangedFcn回调和valueChanging回调

触发时机:在用户完成对组件的操作后触发(如拖动滑块并释放)。Change:在用户输入或更改文本框内容后立即触发。适用组件:滑块、下拉菜单、切换按钮等。Change:文本框等输入组件。理解这两种回调的区别可以帮助你更有效地处理用户输入和界面交互。如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者。

2025-05-08 10:17:33 467

原创 【MATLAB代码解析】基于蜜蜂交配优化算法的排列组合优化问题MATLAB实现

人工蜂群算法(Artificial Bee Colony, ABC)是一种基于蜜蜂觅食行为的群智能优化算法,因其参数少、易于实现及全局搜索能力强,在组合优化领域展现出广泛适用性。该算法通过模拟蜂群中雇佣蜂、观察蜂和侦查蜂的协作机制,在函数优化、投资组合优化、旅行商问题(TSP)及生物信息学中的蛋白质网络聚类等问题中表现优异。

2025-05-07 11:17:27 293

原创 MATLAB技巧——命令行输入的绘图,中文是正常的,到了脚本(m文件)里面就变成乱码的解决方法

通过确保文件编码、字体设置和使用合适的函数,可以解决 MATLAB 脚本中中文乱码的问题。如果问题仍然存在,建议检查MATLABMATLABMATLAB的设置或更新到最新版本。市面上很多商家用一些小玩意来赚黑心钱,简单的例子却卖了很高的价格,甚至几十块的程序无法跑通、兼容性问题无法解决等。如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者。

2025-05-07 11:13:35 964

原创 MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)

二维情况下,四个小车各自有绝对定位(GNSS),相互之间部分有相对定位(UWB)时,一个滤波器搞定四个小车的状态滤波。使用EKF。

2025-05-06 13:51:16 1578 1

原创 【MATLAB例程】维度自适应的EKF代码-从1维~n维,根据状态量和观测量维度自动调整滤波器结构(自动匹配维度)|附代码下载链接

动态维度设置:通过变量dim定义状态量和观测量的维度(例如示例中为5维),无需手动调整代码结构,增强了灵活性。噪声与协方差矩阵:定义了过程噪声协方差矩阵Q和观测噪声协方差矩阵R,并生成对应的高斯噪声w和v。状态初始化:真实状态X、未滤波状态X_和EKF估计状态X_ekf均初始化为零矩阵,初始协方差矩阵P0为单位矩阵。

2025-05-06 13:35:51 851

最优控制导引律(Optimal Guidance Law, OGL)MATLAB代码

本代码通过基于 LQR 的最优控制方法,成功实现了导弹对目标的高效捕获。代码结构清晰、实现简单,但功能强大,为理解和实现最优控制导引律提供了良好的入门模板。

2025-05-27

【MATLAB例程】主动声纳多路径目标测距与定位,测距使用互相关,频率、采样率可调、声速可调,定位使用三边法

一个基于水声与声纳信号处理的MATLAB定位代码,结合信号建模、多路径传播仿真及模糊函数分析,适用于水下目标探测与通信场景。频率、采样率可调、声速、锚点数量、位置均可调。

2025-05-26

MATLAB例程,基于分批运输与最近邻优化的垃圾运输路径规划,n个垃圾收集点,每点有固定垃圾量,车辆从处理厂出发收集垃圾后返回,目标是最小化总行驶距离

一个MATLAB例程,用于解决垃圾运输路径优化问题。该代码基于前文思路,能够直接运行,并输出最优路径、车辆分配和总行驶距离等结果。

2025-05-24

【MATLAB代码】声纳信号处理与目标测距的程序-信号频率、信噪比、采样率和声速均可自行调整

一个简单的声纳信号处理与目标测距MATLAB仿真。主要内容包括线性调频信号的生成、回波信号模拟、噪声加入、自相关处理以及目标检测。通过模拟水中目标的回波信号,计算出目标距离并对结果进行可视化。

2025-05-23

【MATLAB例程】二维卡尔曼滤波的完整代码,仿真程序,线性系统的卡尔曼滤波(KF),带有误差统计与输出

该代码提供了一个完整的二维卡尔曼滤波实现,涵盖了从初始化、状态更新到结果可视化的全过程。适合用于学习卡尔曼滤波的基本原理和实际应用。

2025-05-14

【MATLAB例程】线性卡尔曼滤波的程序,三维状态量和观测量,较为简单,可用于理解多维KF

这段代码实现了一个 三维状态的扩展卡尔曼滤波 (Extended Kalman Filter, EKF) 算法。通过生成过程噪声和观测噪声,对真实状态进行滤波估计,同时对比了滤波前后状态量的误差和误差累积分布曲线。 只有一个m文件,下载后使用MATLAB打开运行即可,带误差输出。

2025-05-12

【MATLAB例程】基于泰勒级数展开(线性化)的TOA定位迭代算法代码实现,三维、任意数量的锚点

基于泰勒级数展开的TOA定位迭代算法的MATLAB代码实现,结合了非线性最小二乘优化方法。该代码适用于三维空间定位,支持任意数量(≥4)的基站,并包含详细的注释说明。

2025-05-08

【MATLAB例程】基于RSSI原理的Wi-Fi定位程序,N个锚点(数量可自适应)、三维空间,轨迹使用CKF进行滤波

本代码实现了基于接收信号强度指示(RSSI)的三维无线定位算法,结合容积卡尔曼滤波(CKF)对动态目标的运动轨迹进行优化。程序支持自适应锚点数量,适用于复杂环境下的高精度定位需求。

2025-04-30

MATLAB脚本,异常值滤波,自带原始数据,直接运行后命令行显示原始数据和去除异常值后的结果

示例数据:data = [10, 12, 12, 13, 14, 15, 100, 16, 17, 18, 19]; 滤除异常值后的数据: 10 12 12 13 14 15 16 17 18 19

2025-04-30

【MATLAB例程】维度自适应的CKF(容积卡尔曼滤波)代码-从1维~n维,根据状态量和观测量维度自动调整滤波器结构

代码实现了n维自适应容积卡尔曼滤波算法,支持动态调整状态和观测维度(通过参数dim配置),适用于高维非线性系统的状态估计。代码通过球面径向准则生成容积点,避免了雅可比矩阵线性化需求,显著提升了高维场景下的滤波精度与稳定性。 只有一个m文件,下载后即可直接运行,方便调试和学习。

2025-04-29

【MATLAB例程】基于RSSI原理的Wi-Fi定位程序,N个锚点(数量可自适应)、三维空间,轨迹使用UKF进行滤波

本程序实现了一种基于信号强度(RSSI)的Wi-Fi定位算法,并结合无迹卡尔曼滤波(UKF)对动态目标轨迹进行滤波优化。代码支持自适应锚点数量,适用于三维空间定位,可模拟目标运动、信号噪声及非线性观测场景,并通过可视化结果对比滤波前后的定位精度。

2025-04-29

【MATLAB例程】1维状态量的自适应的CKF(容积卡尔曼滤波)代码

本代码实现了一个**一维容积卡尔曼滤波(CKF)算法**,针对**强非线性系统**的状态估计问题。通过构建包含周期性驱动项和非线性饱和效应的动态模型(`2.5x/(1+x²) + 8cos(1.2t)`),以及非线性观测方程(`x²/20`),展示了CKF在无需雅可比矩阵线性化的情况下,利用确定性采样点(容积点)精确传递状态分布的能力。代码对比了滤波前后的状态误差,验证了CKF在抑制噪声和提升估计精度上的有效性。 该代码为理解CKF算法提供了简洁的一维实现框架,通过非线性动态与观测模型的设计,展示了其在复杂系统状态估计中的潜力。用户可通过调整噪声参数(`Q`、`R`)和动态模型,快速适配具体工程问题。

2025-04-29

【MATLAB例程】维度自适应的UKF代码-从1维~n维,根据状态量和观测量维度自动调整滤波器结构

本代码实现了一个**无迹卡尔曼滤波(UKF)算法**,用于处理**高维非线性系统**的状态估计问题。代码通过动态设置状态量和观测量的维度(默认30维),展示了UKF在无需线性化雅可比矩阵的情况下处理多维非线性系统的能力。其核心是通过无迹变换(Unscented Transform)生成Sigma点,精确捕捉非线性系统的统计特性,从而提升状态估计的精度和稳定性。 该代码为高维非线性系统的状态估计提供了通用框架,结合无迹卡尔曼滤波的理论优势与工程实现,适用于学术研究及工业应用。通过调整维度参数(如`dim`)和噪声协方差(`Q`、`R`),可快速适配机器人、自动驾驶、信号处理等领域的需求。

2025-04-29

【MATLAB例程】维度自适应的EKF代码-从1维~n维,根据状态量和观测量维度自动调整滤波器结构(自动匹配维度)

本代码实现扩展卡尔曼滤波(EKF)算法用于多维非线性系统的状态估计。代码通过动态匹配状态量和观测量的维度(支持任意维度),解决了传统EKF实现中维度固定的局限性。其核心功能是通过融合过程模型与非线性观测模型,优化对系统真实状态的估计,有效降低噪声干扰。

2025-04-29

【MATLAB例程】基于RSSI原理的Wi-Fi定位程序,锚点数量可自适应、三维空间,轨迹使用EKF进行滤波

基于RSSI原理的Wi-Fi定位程序,通过RSSI测距后使用三边法定位,为了方便读者修改,锚点数量可自适应调整(>3个即可)。适用范围为三维空间,轨迹使用EKF(扩展卡尔曼滤波)进行滤波,模拟wifi与IMU的数据融合

2025-04-23

【MATLAB例程】TOA与AOA联合定位的高精度算法,三维、4个基站的情况,MATLAB例程

代码实现了三维空间内目标的高精度定位,结合到达角(AOA)和到达时间(TOA)两种测量方法,通过4个基站的协同观测,利用最小二乘法解算目标位置。代码支持噪声模拟、误差分析及三维可视化。

2025-04-19

TDOA解算-牛顿迭代法-以4个基站的三维空间下TDOA定位为背景,使用牛顿迭代法解算

本文所介绍的代码通过TDOA(到达时间差)方法,结合牛顿迭代算法,实现了三维空间内目标位置的定位。系统包含1个主锚点和3个副锚点,通过测量信号到达各基站的时间差计算距离差,最终迭代求解目标坐标。

2025-04-19

【MATLAB代码】TDOA(到达时间差)定位-使用两步加权最小二乘,定位二维目标、4个锚点

本代码实现了一种**高精度二维目标定位算法**,基于**到达时间差(TDOA)**测量,结合**两步加权最小二乘法(Two-Step WLS)**,利用4个固定锚点(基站)的观测数据,估计移动目标的坐标。算法通过粗迭代和细迭代优化,显著降低测量噪声对定位精度的影响,适用于室内定位、无线传感器网络等场景。

2025-04-17

AOA定位、AOA与TOA混合定位,二维环境下的对比,基站(锚点数量)自适应调整

AOA(到达角度)定位、AOA与TOA(到达时间)混合定位,二维环境下的对比,基站(锚点数量)自适应调整

2025-04-17

基于DS-TWR(双边双向测距)的平面定位MATLAB例程,包含模拟数据生成、距离计算和最小二乘定位

基于DS-TWR(双边双向测距)的平面定位MATLAB例程,包含模拟数据生成、距离计算和最小二乘定位。代码注释详细,可直接运行。 # 代码说明 ## 1. 参数设置 - 定义光速、时间噪声、基站坐标、目标真实坐标和时钟漂移参数。 - 时钟漂移参数(α和β)模拟设备时钟频率的微小偏差。 ## 2. 数据生成 - 对每个基站计算真实传播时间。 - 模拟两次往返时间测量值(T_round1, T_round2)和回复时间(T_reply1, T_reply2),包含时钟漂移和高斯噪声。 - 使用DS-TWR公式计算实际距离。 ## 3. 定位算法 - 使用非线性最小二乘法(`lsqnonlin`)最小化测距误差平方和。 - 初始猜测设为基站质心以提高收敛性。 ## 4. 可视化 - 绘制基站、真实位置和估计位置。 - 显示测距圆环,直观展示测距结果与定位关系。 - 输出定位误差。

2025-04-13

TWR(Two Way Ranging)双向测距技术的MATLAB例程(平面、SS-TWR)

# 代码介绍 ## 功能目标 - **定位原理**:基于单边双向测距($SS-TWR$)技术,通过两次信号往返时间差计算距离,结合多锚点加权三边定位算法,解算待测点坐标。 - **噪声模拟**:引入时间测量噪声和硬件延迟噪声,验证算法在真实环境中的鲁棒性。 - **可视化输出**:图形化展示真实位置、解算位置及锚点分布,直观评估定位精度。 ## 关键步骤 1. **参数设置** - 定义待测点(`point1`)和四个锚点(`baseP`)的坐标。 - 设置光速(`c = 3e8 m/s`)、时间噪声(`t_noise`)、固定延迟(`t_delay`)等物理参数。 2. **测距仿真** - 计算真实欧氏距离(`Range`),叠加噪声生成两次信号传播时间(`t_1`、`t_2`)。 - 通过总时间(`t_total`)解算含噪声的距离值(`Range_calcu`)。 3. **定位解算** - 调用 **加权三边定位函数** `triposition_weight`,基于最小二乘法求解待测点坐标(`p_out`)。 4. **结果分析** - 绘制锚点、真实点和解算点的空间分布图。 - 计算并输出定位误差(`err_distance`)。

2025-04-12

雷达跟踪基于matlab卡尔曼滤波器雷达多目标跟踪(双雷达 多目标 分布式融合)

本资源是一个基于卡尔曼滤波器的双雷达四目标分布式融合跟踪的MATLAB代码框架,结合了TDOA/FDOA观测模型和分布式融合逻辑。代码参考了多目标跟踪、分布式MIMO雷达优化及卡尔曼滤波实现方法。

2025-04-09

TDOA定位与CKF轨迹滤波,三维轨迹滤波的MATLAB例程

本文所述的MATLAB代码通过TDOA(到达时间差)技术实现三维目标定位,首先生成含噪的基站信号并基于两步加权最小二乘迭代法估算目标初始位置,再结合容积卡尔曼滤波(CKF)对运动轨迹进行优化,最终通过误差分析和三维轨迹图对比验证滤波效果,显著降低了纯观测和惯性导航的累积误差,提升了定位精度。

2025-04-04

【MATLAB例程】交互式多模型(IMM),模型使用:CV,CT左转、CT右转,二维平面,三个模型的IMM,滤波使用EKF

## 核心算法与模型设计 1. **IMM算法框架** - **交互(Mixing)**:基于模型转移概率矩阵 `pij` 和当前模型概率,计算混合初始状态和协方差。 - **卡尔曼滤波**:对每个模型独立进行状态预测与更新,计算残差及协方差。 - **模型概率更新**:根据残差似然函数动态调整各模型权重(`Model_P_up`函数)。 - **状态综合**:加权融合各模型输出,得到最终估计(`Model_mix`函数)。 2. **运动模型** - **CV模型(匀速)**:状态转移矩阵 `F1` 描述线性运动。 - **CT1模型(左转)**:状态转移矩阵 `F2` 含3°/s的左转弯角速度。 - **CT2模型(右转)**:状态转移矩阵 `F3` 含-3°/s的右转弯角速度。 ## 代码结构解析 1. **参数初始化** - 设置仿真时长 `time=100`,采样间隔 `T=1s`,过程噪声 `Q` 和量测噪声 `R`。 - 定义三个模型的状态转移矩阵 `F1/F2/F3` 和量测矩阵 `H`。 - 生成含噪声的仿真数据:目标在20-40秒左转,60-80秒右转,其余时间匀速。 2. **IMM迭代流程** - **初始化**:设定初始状态 `x0`、协方差 `P0` 和模型概率 `u_IMM=[0.3,0.3,0.4]`。 - **主循环**:依次执行模型交互、卡尔曼滤波、概率更新和状态综合,保存各模型及综合结果。 3. **可视化与分析** - **轨迹对比**:绘制真实轨迹、观测值、各模型及IMM估计轨迹(含局部放大图)。 - **误差分析**:计算位置和速度误差,展示IMM在x/y方向的跟踪性能。 - **模型概率曲线**:动态显示各模型

2025-04-04

【MATLAB例程】TDOA(到达时间差)定位的chan-tylor计算方法,三维环境

## 概述 本程序实现了一种基于到达时间差(TDOA)的三维定位方法,使用Chan和Taylor算法进行位置估计。程序通过模拟一个移动目标的运动轨迹,并利用多个基站的信号测量来估计目标位置。程序包括噪声影响的模拟以及不同定位算法的比较。 ## 主要功能 1. **初始化参数**:设置基站数量、目标的初始和最终位置、总运动时间及噪声水平。 2. **目标运动模拟**:根据给定的初始和最终位置,模拟目标在三维空间中的匀速运动轨迹,并添加随机噪声。 3. **位置估计**: - 使用最小二乘法(LS)估计目标位置。 - 使用Chan算法进行初始位置估计。 - 使用Taylor迭代对Chan算法的结果进行优化。 4. **误差计算**:计算每种算法的估计位置与真实位置之间的误差,包括均方根误差(RMSE)。 5. **结果可视化**:绘制目标的真实轨迹、各算法的估计轨迹以及误差分析图。

2025-04-04

RSSI定位程序,N个锚点、三维空间,使用CKF对轨迹进行滤波

# RSSI定位程序介绍 ## 概述 本程序实现了一种基于接收信号强度指示(RSSI)技术的三维定位方法,支持自适应数量的锚点(基站)。程序使用CKF(Cubature Kalman Filter)对目标的运动轨迹进行滤波,从而提高定位精度。 ## 主要功能 1. **初始化参数**:设置RSSI测量误差、锚节点数量及其位置,定义信号强度与距离的关系。 2. **定位算法**:通过RSSI测量值计算目标到各锚节点的距离,并使用最小二乘法进行位置估计。 3. **CKF滤波**:对定位结果进行滤波,减少噪声的影响,从而提高定位精度。 4. **结果可视化**:绘制目标运动轨迹、估计值、误差曲线和RMSE对比图,直观展示定位效果。

2025-03-29

【MATLAB例程】AOA(到达角度)与TOA(到达时间)混合定位方法,在三维空间下的运动轨迹定位和滤波,滤波使用CKF

## 一、代码功能概述 本代码实现了一个基于**到达角(AOA)**和**到达时间(TOA)**混合定位的三维运动目标跟踪系统,结合**容积卡尔曼滤波(CKF)**进行轨迹优化,适用于复杂室内或城市环境中的高精度定位需求。主要功能包括: 1. **动态场景建模**:生成三维匀速运动轨迹(X/Y轴线性变化,Z轴固定),模拟真实目标运动特性 2. **混合信号模拟**: - **AOA测量**:计算方位角(azimuth)和俯仰角(elevation),叠加高斯噪声模拟实际环境干扰 - **TOA测量**:通过光速转换距离,并添加时间噪声以反映信号传播误差 3. **自适应基站网络**:支持随机生成非均匀分布的基站(锚点),数量可配置(`num_station`参数) 4. **定位解算与滤波**: - 基于最小二乘法构建超定方程组,利用单位向量矩阵和伪逆(`pinv`)求解目标坐标。 - 采用**容积卡尔曼滤波(CKF)**对定位结果进行优化,抑制噪声并提升轨迹平滑性

2025-03-29

到达角(AOA)的三维定位算法,并结合容积卡尔曼滤波(CKF)对动态目标的运动轨迹进行优化

# AOA定位程序介绍 ## 概述 本程序实现了一种基于到达角(AOA)技术的三维定位算法,支持自适应数量的锚点(基站),并使用CKF对动态轨迹进行优化。该方法旨在提高定位精度并减少噪声影响。 ## 主要功能 1. **初始化参数**:设置基站数量、噪声参数并生成基站位置和目标运动轨迹。 2. **AOA定位**:计算目标到各锚点的距离,并使用最小二乘法进行定位估计。 3. **CKF滤波**:利用CKF对定位结果进行优化,减少测量噪声的影响。 4. **结果可视化**:绘制目标的运动轨迹、估计值、误差曲线和RMSE对比图。

2025-03-29

【matlab例程】GNSS与UWB紧耦合滤波,二维滤波,可根据需要自行修改为一维和三维的情况

模拟了GNSS和UWB技术的融合定位系统,并使用扩展卡尔曼滤波器估计了目标位置和速度。结果显示了真实轨迹、GNSS观测和融合结果,并计算了平均误差。

2025-03-28

【matlab例程】TDOA定位与粒子滤波(PF)的轨迹滤波代码,三维空间,TDOA的锚点数量可自适应,使用chan-Taylor算法,模拟TDOA/IMU融合

该代码完整实现了从TDOA定位到轨迹滤波的全流程,通过加权最小二乘解决非线性问题,再通过粒子滤波抑制噪声。代码结构清晰,适合作为定位算法的入门学习案例。实际应用中需根据场景调整参数和模型。 ## 代码概述 **目标**:使用TDOA(到达时间差)和两步加权最小二乘算法进行三维定位,结合粒子滤波(PF)对运动轨迹进行滤波优化。 **主要步骤**: 1. **初始化参数**:定义基站数量、噪声参数、生成基站位置和目标轨迹。 2. **TDOA建模与定位**:通过加权最小二乘迭代求解目标位置。 3. **粒子滤波(PF)**:对定位结果进行滤波,抑制噪声。 4. **结果可视化**:绘制轨迹、误差曲线和RMSE对比。

2025-03-28

AOA与TOA混合定位,MATLAB例程,三维空间下的运动轨迹,滤波使用EKF

本代码实现了一个三维动态目标定位与滤波系统,通过融合到达角(AOA)和到达时间(TOA)的混合定位方法,结合扩展卡尔曼滤波(EKF)优化轨迹精度。代码支持自适应基站数量配置,适用于城市峡谷、室内等复杂场景的定位研究。

2025-03-27

AOA(到达角度)与TOA(到达时间)两个技术的混合定位,MATLAB例程(附下载链接),自适应基站数量,三维空间下的运动轨迹,滤波使用UKF(无迹卡尔曼滤波)

代码实现了**三维动态目标非线性定位与滤波系统**,通过融合 **到达角(AOA)** 和 **到达时间(TOA)** 的混合定位方法,结合 **无迹卡尔曼滤波(UKF)** 处理非线性观测模型,优化轨迹精度。代码支持自适应基站数量配置,适用于复杂非线性场景的定位研究。 # 程序介绍 ## 概述 该程序实现了基于到达角(AOA)和到达时间(TOA)混合定位的方法。它可以自适应调整基站数量,并在三维空间中进行目标定位。程序使用无迹卡尔曼滤波(UKF)对轨迹进行优化和滤波。 ## 代码讲解 ### 1. 初始化 ### 2. 生成目标点与运动轨迹 ### 3. 基站位置设置

2025-03-27

【MATLAB例程】三维环境下,动态轨迹的AOA定位与UKF滤波,模拟IMU/AOA的数据融合(AOA的测角基站数量可自适应,目标运动轨迹可自行修改)

本MATLAB 代码实现了基于到达角(AOA)定位的三维定位算法,使用自适应基站数量进行动态轨迹优化。通过无迹卡尔曼滤波(UKF)技术,代码能够提高定位精度,处理动态目标的轨迹

2025-03-27

【MATLAB例程】三维环境,基于TOA的动态轨迹定位,轨迹使用UKF(无迹卡尔曼滤波)进行滤波,模拟TOA/IMU的数据融合

# 代码概述 本代码实现了一个基于**到达时间(TOA)测距**的三维定位系统,结合**无迹卡尔曼滤波(UKF)**对移动目标的轨迹进行优化。代码通过多锚节点(>3)的TOA测量数据,先进行初步定位解算,再通过UKF算法融合运动模型,实现对目标轨迹的高精度估计。 # 核心功能 1. **TOA定位仿真** - 在三维空间中生成9个锚节点(`baseP`),通过三角函数添加随机扰动,模拟实际部署环境。 - 目标沿预设轨迹(`positions`)运动:x轴匀速递增,y轴匀速递减,z轴保持恒定。 - 计算每个锚节点到目标的真实距离(`R_real`),加入高斯噪声模拟TOA测量误差,生成带噪声的观测距离(`R_calcu`)。 2. **最小二乘定位解算** - 调用`position_3dim`函数,通过伪逆矩阵(`pinv`)求解超定方程组,实现目标位置的初步估计(`p_out`)。 3. **UKF轨迹优化** - 构建状态空间模型:假设目标匀速运动(实际运动模型需根据场景调整)。

2025-03-27

【MATLAB例程】基于RSSI和无迹卡尔曼滤波(UKF)的三维轨迹定位和滤波程序

# 程序内容 ## 概述 这个 MATLAB 程序使用接收信号强度指示(RSSI)技术来定位物体。它可以在三维空间中通过多个锚点(固定点)来确定目标的位置,并通过无迹卡尔曼滤波(UKF)技术来优化和调整轨迹。这种方法特别适合于跟踪移动的目标。 ## 功能模块 1. **模型初始化**: - 清理工作区、命令窗口和图形窗口,并设置随机数种子来确保结果可重复。 - 定义锚点的位置,使用数学函数生成,并添加一些小的随机变化。 - 设置信号强度与距离之间的关系,定义信号强度的衰减模型。 2. **位置模拟**: - 确定目标的真实位置,并生成其运动轨迹。 3. **定位程序**: - 计算目标到每个锚点的距离,模拟得到的 RSSI 测量值,并加入噪声。 - 使用 `rssi_localization` 函数,根据 RSSI 测量值来估计目标的位置。 4. **UKF 部分**: - 初始化滤波模型,设置过程噪声和观测噪声的参数。 - 通过迭代预测和更新目标的位置,处理运动模型的变化。 5. **绘图**: - 绘制目标的真实轨迹

2025-03-20

【MATLAB例程】RSSI定位程序,适用于三维空间、锚点数量自适应,使用EKF对轨迹进行滤波

# 程序详解 ## 核心功能模块 1. **环境建模模块** - 支持10节点可扩展基站布局,采用三角函数生成三维空间分布 - 构建对数路径损耗模型:$RSSI(d) = RSSI_0 - 10n\log_{10}(d) + \varepsilon$ - 模拟运动轨迹:包含X-Y平面线性运动与Z轴悬停的复合运动模式 2. **信号处理模块** - 动态计算基站-目标距离矩阵 - 添加高斯噪声模拟真实信号强度波动 - 采用伪逆矩阵法解超定方程组,实现三维坐标最小二乘估计 3. **滤波优化模块** - 构建9维状态空间模型(位置+速度+加速度) - 设定过程噪声$Q=0.01I_3$与观测噪声$R=0.1I_3$协方差矩阵 - 实施EKF预测-校正双阶段迭代: - 状态预测:$\hat{X}_k^- = F\hat{X}_{k-1} + w_k$ - 协方差传播:$P_k^- = FP_{k-1}F^T + Q$ - 卡尔曼增益:$K_k = P_k^-H^T(HP_k^-H^T + R)

2025-03-15

【MATLAB例程】AOA(到达角度)法,多个目标定位算法,三维空间、锚点数量自适应

# 代码讲解 ## 概述 该MATLAB代码实现了一种基于到达角(AOA,Angle of Arrival)定位的三维定位算法,适用于多个目标与多个基站的场景。 ## 功能 - **目标生成**:随机生成多个目标点的三维坐标。 - **基站设置**:随机设置多个基站的三维位置。 - **距离计算**:计算目标到各基站的真实距离。 - **AOA角度模拟**:计算目标相对于基站的方位角和仰角,并添加噪声以模拟实际测量误差。 - **定位估计**:使用最小二乘法通过AOA角度信息估计目标的位置。 - **结果可视化**:绘制基站、真实目标位置和估计目标位置的三维图形,并展示定位效果。 ## 代码结构 1. **初始化部分**:清空工作空间,设置随机数种子,生成目标和基站的随机坐标。 2. **AOA定位**: - 计算每个目标到各基站的真实距离。 - 计算目标的方位角和仰角,并引入噪声。 - 构建线性方程组,通过最小二乘法估计目标位置。 3. **绘图部分**:展示基站、真实目标位置、估计的坐标位置。

2025-03-15

MATLAB例程:TOA测距定位,三维任意(>3)个锚节点,对一个未知点定位、带EKF的轨迹解算

## 概述 这段MATLAB代码实现了一种基于到达时间(TOA,Time of Arrival)测距的方法,主要用于在三维空间中定位一个未知点。代码支持任意数量的锚节点(至少三个),并结合了扩展卡尔曼滤波(EKF)来优化目标的运动轨迹。 ## 功能亮点 - 目标运动生成:随机创建一个目标的运动轨迹,模拟待定位点在三维空间中移动的过程。 - 锚节点设置:定义多个锚节点的位置,作为测距的参考点。 - TOA定位: - 计算目标到每个锚节点的实际距离。 - 生成带有噪声的传播时间数据,模拟实际测量情况。 - 利用这些数据估计目标的位置。 - EKF轨迹解算:通过扩展卡尔曼滤波优化位置估计,提高定位的精度。 - 可视化结果:绘制三维图形,展示锚节点、真实轨迹、观测值和EKF估计值,并分析位移误差。 - 误差分析:计算并输出每个时间点的均方根误差(RMSE),帮助评估不同情况下的定位精度。

2025-03-15

车辆坡度估计EKF仿真,使用EKF融合加速度计和陀螺仪数据估计坡度角

车辆坡度估计EKF仿真,使用EKF融合加速度计和陀螺仪数据估计坡度角

2025-03-12

【MATLAB例程】自适应IMM算法(二维CV/CA模型)代码例程

代码实现了自适应IMM(交互式多模型)算法,专注于对目标状态进行估计,并结合了匀速(CV)和匀加速(CA)运动模型。它使用自适应观测噪声估计和扩展卡尔曼滤波器(EKF)作为滤波主体,并在最后提供误差统计特性输出。

2025-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除