实现了一个基于到达时间(TOA)测距的三维定位系统,结合扩展卡尔曼滤波(EKF)对移动目标的轨迹进行优化。代码通过多锚节点(>3)的TOA测量数据,先进行初步定位解算,再通过UKF算法融合运动模型,实现对目标轨迹的高精度估计。
1. TOA定位仿真
- 在三维空间中生成9个锚节点(baseP),通过三角函数添加随机扰动,模拟实际部署环境。
- 目标沿预设轨迹(positions)运动:x轴匀速递增,y轴匀速递减,z轴保持恒定。
- 计算每个锚节点到目标的真实距离(R_real),加入高斯噪声模拟TOA测量误差,生成带噪声的观测距离(R_calcu)。
2. 最小二乘定位解算
- 调用position_3dim函数,通过伪逆矩阵(pinv)求解超定方程组,实现目标位置的初步估计(p_out)。
3. EKF轨迹优化
4. 可视化与误差分析
- 三维轨迹图显示真实路径、观测值、EKF估计值及未滤波值的对比。
- 分轴绘制绝对误差曲线,计算各时刻RMSE(均方根误差),量化定位精度。
代码结构
1. 参数初始化
- 设置光速、测距误差、目标轨迹及锚节点坐标。
2. 数据生成与结果分析
- 循环计算每个时刻目标的真实位置,生成含噪声的TOA测量数据。
- 绘制三维轨迹图及误差曲线,输出终点坐标误差及全程RMSE统计。

运行结果:
三维定位与滤波示意图:

误差曲线:


命令行输出误差参数:

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删