【MATLAB例程】雷达测距+测角的二维定位,基于CV运动的EKF和RTS平滑。滤波与平滑后的结果对比、误差分析。附例程

二维平面上的雷达跟踪的滤波,观测为测距+测角,基于匀速运动的EKF和RTS平滑。给出轨迹真值和各方法估计值、滤波前后与平滑后的结果对比、误差分析.
程序中雷达坐标、目标的轨迹、传感器噪声大小均可自行调整

文章目录

程序简介

程序为二维非线性目标跟踪仿真,利用距离--方位角(Range--Bearing)观测 对运动目标进行状态估计,并对比分析了**扩展卡尔曼滤波(EKF)RTS 平滑(Rauch--Tung--Striebel Smoother)**在定位精度和统计性能上的差异。

目标采用二维匀速(CV)状态模型 ,状态向量定义为

x , y , v x , v y \] T \[x,y,v_x,v_y\]\^T \[x,y,vx,vy\]T,过程噪声由连续白噪声加速度模型离散化得到。观测模型为典型的非线性极坐标量测,即观测站到目标的距离和方位角,观测噪声分别服从零均值高斯分布。为真实反映工程场景,观测模型显式引入观测站空间位置,使量测方程对目标位置呈强非线性。 在滤波阶段,程序基于 EKF 完成前向递推,通过对非线性观测方程进行一阶线性化,构造雅可比矩阵并实现状态更新;在此基础上,引入RTS平滑算法,利用全时域量测信息对 EKF 结果进行后向修正,以进一步降低估计误差并提升轨迹连续性。 仿真给出了三类结果对比: 1. **直接观测反算结果**(极坐标量测直接转换为笛卡尔坐标) 2. **EKF 滤波估计结果** 3. **EKF + RTS 平滑结果** 程序从多角度对三种方法的性能进行了系统评估,包括:二维轨迹对比、定位误差时序曲线及 3σ 包络、一致性分析下的误差累积分布函数(CDF)、误差箱线图,以及 RMSE、最大误差、标准差和误差百分位数等统计指标。结果表明,在非线性距离--角度观测条件下,EKF 能显著抑制观测噪声,而 RTS 平滑在 EKF 基础上进一步提升了整体定位精度和误差稳定性。 ## 运行结果 雷达所在位置、目标运动轨迹图像: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7998c3e2f7964e508ca7208666789118.png) 误差: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2497c27c631f4ef483c96ae2c0cebebd.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6ab08740dd624676a2e4cc3036178109.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e6031fed3948462a9d135bd47a6769ac.png) 命令行输出的截图: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/76328740e1df49b2a01af58a7a30854b.png) ## MATLAB源代码 部分代码如下: ```matlab %% 二维非线性目标跟踪,观测为距离+角度,EKF与RTS平滑 % 作者: matlabfilter % 2026-01-16/Ver1 clear; clc; close all; rng(0); %% 参数设置 dt = 0.1; T = 50; N = T/dt; t = (0:N-1)*dt; % ===== 观测站位置(可调参数) sensor_pos = [20; 0]; % 观测站位置 [x; y] (m) % 状态转移(匀速模型) F = [1 0 dt 0; 0 1 0 dt; 0 0 1 0; 0 0 0 1]; % 过程噪声 q = 0.5; Q = q^2 * [dt^4/4 0 dt^3/2 0; 0 dt^4/4 0 dt^3/2; dt^3/2 0 dt^2 0; 0 dt^3/2 0 dt^2]; % 观测噪声 sigma_r = 1; % 距离噪声 (m) sigma_b = deg2rad(1); % 方位角噪声 (rad) R = diag([sigma_r^2, sigma_b^2]); %% 真实轨迹与观测 %% EKF 前向滤波 ``` 完整代码: 或: `如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者`

相关推荐
Dev7z1 天前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
fengfuyao9851 天前
基于MATLAB的表面织构油润滑轴承故障频率提取(改进VMD算法)
人工智能·算法·matlab
机器学习之心1 天前
基于随机森林模型的轴承剩余寿命预测MATLAB实现!
算法·随机森林·matlab
rit84324991 天前
基于MATLAB的环境障碍模型构建与蚁群算法路径规划实现
开发语言·算法·matlab
hoiii1871 天前
MATLAB SGM(半全局匹配)算法实现
前端·算法·matlab
yong99901 天前
MATLAB面波频散曲线反演程序
开发语言·算法·matlab
yugi9878381 天前
基于MATLAB的一键式EMD、EEMD、CEEMD和SSA信号去噪实现
开发语言·matlab·信号去噪
youcans_1 天前
【STM32-MBD】(15)Simulink 模型开发之三相互补 PWM
stm32·单片机·嵌入式硬件·matlab·foc
机器学习之心1 天前
基于CNN-GRU(卷积神经网络-门控循环单元)的多变量负荷预测模型MATLAB代码
matlab·cnn·gru
3GPP仿真实验室1 天前
【Matlab源码】6G候选波形:OFDM-IM 索引调制仿真平台
开发语言·matlab