多源目标跟踪与航迹关联综合滤波系统
项目介绍
多源目标跟踪与航迹关联综合滤波系统是一套基于 MATLAB 开发的集成化滤波算法库。该系统专门用于处理动态目标的精确状态估计、轨迹模拟及复杂环境下的多目标管理。在实际应用场景中,传感器往往面临高斯白噪声、非线性观测(如雷达极坐标测量)以及随机杂波的干扰。本系统通过集成基础线性卡尔曼滤波(KF)与扩展卡尔曼滤波(EKF),结合航迹关联逻辑,能够在含有测量误差和随机扰动的环境中提取出平滑且准确的目标运动轨迹。
功能特性
- 动态轨迹生成:支持多目标(如双目标)恒定速度(CV)模型模拟,集成过程噪声以模拟真实运动的不确定性。
- 多源异构传感器模拟:系统同时仿真了提供笛卡尔坐标观测的线性传感器,以及提供距离、角度观测的非线性极坐标传感器。
- 复杂环境仿真:通过泊松分布模拟杂波(Clutter)生成,并考虑了检测概率(Pd),模拟传感器漏检现象。
- 航迹关联机制:实现了基于马氏距离(Mahalanobis Distance)的最近邻(Nearest Neighbor, NN)关联算法,有效解决多目标环境下的观测分配问题。
- 非线性状态估计:利用 EKF 及其泰勒级数展开实现的雅可比矩阵线性化,处理雷达等极坐标传感器的非线性测量需求。
- 多维评估可视化:提供实时轨迹图、位置均方根误差(RMSE)对比曲线、以及估计协方差的不确定度演化分析。
系统要求- 软件环境:MATLAB R2016b 及以上版本。
- 工具箱需求:统计与机器学习工具箱(用于生成的随机噪声序列)。
- 硬件要求:标准桌面级计算机,具备 8GB 以上内存以支持多步仿真和绘图。
代码实现逻辑说明系统的核心执行流程严格遵循以下步骤:
- 参数初始化:配置采样间隔(T=1s)、总仿真步数(100步)、以及针对不同传感器的噪声标准差(距离、角度、平面位置等)。定义状态转移矩阵 F 和过程噪声协方差 Q。
- 真实航迹生成:利用 CV 模型递归生成两个目标的真实运动状态(位置与速度),每一步均叠加过程噪声。
- 观测数据仿真:
*
传感器1(线性):直接观测 X 和 Y 轴位置,增加检测概率控制和泊松随机杂波点。
*
传感器2(非线性):将目标状态转换为极坐标(距离和方向角),并根据极坐标噪声强度添加扰动。
- 递归滤波与关联:
*
预测阶段:根据 CV 模型预测目标在下一时刻的状态和误差协方差。
*
关联门限判定:计算传感器观测点与预测点之间的马氏距离,只有在设定的关联门限(Gate Size)内的最近邻观测点才会被分配给对应航迹。
*
更新阶段(KF):对于线性观测,使用标准卡尔曼增益更新目标 1 和目标 2 的航迹。
*
对比分支(EKF):针对目标 1 进行 EKF 处理。计算当前预测状态下的雅可比矩阵(线性化观测矩阵),执行非线性观测更新,并进行角度残差的归一化处理。
- 性能产出:计算预测值与真实轨迹之间的 RMSE,自动生成多维数据对比图表。
核心算法与实现细节分析
- 卡尔曼滤波 (KF):在处理线性传感器数据时,系统通过计算预测误差协方差和测量残差,动态调节卡尔曼增益,实现位置与速度的最优估计。
- 扩展卡尔曼滤波 (EKF):针对极坐标下测距 (r) 和测角 (theta) 的非线性方程,系统在每个仿真步通过计算一阶导数(雅可比矩阵)实时更新观测矩阵。为了保证滤波器稳定性,代码专门处理了角度更新时的正切值归一化,防止在 pi 与 -pi 切换处的跨越误差。
- 最近邻航迹关联 (NN):在多目标多杂波环境下,系统遍历所有候选观测点,通过计算马氏距离寻找与预测位置最匹配的点迹。若所有点迹均在门限外,则该航迹在当前状态下仅保持预测而通过历史平滑。
- 误差对比机制:系统通过 RMSE 指标量化了存在杂波与关联逻辑下的滤波表现,并与理想情况下的 EKF 结果进行对比,直观展示了由于噪声和杂波导致的运动趋势预测偏差。
使用方法- 打开 MATLAB 软件并将工作目录设置为代码所在文件夹。
- 在命令行窗口直接输入主函数名称并回车运行。
- 系统将自动开启仿真、执行关联滤波逻辑并弹出数据可视化窗口。
- 用户可以通过观察生成的“多源多目标关联跟踪轨迹图”来判断目标轨迹的平滑度,通过“滤波误差性能对比”图表分析不同算法的收敛速度和稳态误差。
- 控制台将实时打印目标 1 在不同算法下的平均 RMSE 统计结果。