【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 前向滤波 ``` 完整代码: 或: `如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者`

相关推荐
简简单单做算法21 小时前
基于GA遗传优化的Transformer-LSTM网络模型的时间序列预测算法matlab性能仿真
深度学习·matlab·lstm·transformer·时间序列预测·ga遗传优化·电池剩余寿命预测
t198751281 天前
光伏发电MPPT(最大功率点跟踪)MATLAB仿真程序
开发语言·matlab
551只玄猫1 天前
【数学建模 matlab 实验报告10】插值
开发语言·数学建模·matlab·课程设计·插值·实验报告
foundbug9991 天前
Matlab基于分布式模型预测控制的多固定翼无人机共识控制
分布式·matlab·无人机
可编程芯片开发1 天前
基于QLearning强化学习的输电线路拟声驱鸟策略算法matlab仿真
matlab·强化学习·qlearning·输电线路·驱鸟策略
3GPP仿真实验室1 天前
【MATLAB源码】水声:时变信道估计仿真平台
开发语言·matlab
Evand J1 天前
【MATLAB例程分享】三维非线性目标跟踪,观测为:距离+方位角+俯仰角,使用无迹卡尔曼滤波(UKF)与RTS平滑,高精度定位
开发语言·matlab·目标跟踪
机器学习之心1 天前
信号分解和小波阈值联合降噪 | NRBO-FMD基于牛顿拉夫逊算法优化特征模态分解+皮尔逊系数+小波阈值降噪+信号重构,MATLAB代码
算法·matlab·重构·nrbo-fmd·特征模态分解
551只玄猫1 天前
【数学建模 matlab 实验报告11】拟合
开发语言·数学建模·matlab·数据分析·课程设计·实验报告·拟合
slandarer2 天前
MATLAB | 如何使用MATLAB绘制弧形图/弧长链接图(arc diagram)
matlab