北京至广州铁路沿线轨迹仿真与导航完好性分析平台
项目简介
本项目是一个基于MATLAB开发的综合仿真系统,专为评估北京至广州高铁线路运行环境下的列车定位与导航系统完好性(Integrity)而设计。平台全流程模拟了列车在300km/h高速运行下的动态轨迹,集成了多星座GNSS(GPS + 北斗)卫星仿真器,并真实复现了沿途隧道、山区及城市峡谷等复杂地理环境对信号的影响。核心功能在于实现了接收机自主完好性监测(RAIM)及保护级(HPL/VPL)的实时计算,旨在量化分析铁路列控系统在特定路段的安全性风险。
功能特性
- 高精度轨迹仿真:基于GIS数据,利用样条插值算法生成平滑的京广高铁三维路径,涵盖北京、石家庄、郑州、武汉、长沙、广州等关键节点,支持ECEF与LLA坐标系的实时转换。
- 多星座GNSS模拟:内置GPS(Walker 24/6/1)与北斗(MEO Walker 24/3/1)双星座仿真模型,能够计算任意时刻的卫星轨道位置及多普勒频移。
- 复杂环境建模:
*
隧道遮挡:根据纬度信息硬编码模拟了郑州和长沙附近的隧道区域,实现信号完全遮挡场景。
*
地形遮挡:支持根据环境类型(如峡谷)动态调整截止高度角(Mask Angle)和增加测量噪声。
* 实时计算水平保护级(HPL)和垂直保护级(VPL)。
* 动态监测定位误差(HPE/VPE)与精度因子(HDOP/VDOP)。
* 基于告警限值(HAL=40m, VAL=50m)判断系统可用性,并生成完好性状态标志。
- 故障应对机制:在卫星信号丢失(如隧道)期间,利用卡尔曼滤波(Kalman Filter)进行纯预测推演,保持轨迹连续性。
系统逻辑与代码实现分析
该平台主要由参数初始化、路径生成、星座仿真、核心仿真循环四个主要逻辑模块构成。
1. 系统参数与其初始化
系统首先定义了光速、地球自转角速度等物理常量,并设定了关键的仿真参数:
- 采样间隔:30秒。
- 列车速度:设定为300 km/h,用于计算轨迹时间戳。
- 完好性指标:定义了误警率(3.33e-7)、漏检率(1e-3)、用户等效伪距误差(6.0m)以及水平/垂直告警限值。
- 环境区域:预设了具体的纬度区间(郑州段 34.5°-34.8°,长沙段 28.1°-28.3°)作为信号受阻区。
2. 京广线路径生成模块
轨迹生成逻辑通过定义北京南至广州南的6个关键途经站点的经纬度与海拔坐标实现。
- 距离估算:计算站点间的球面距离,结合列车速度推算总运行时间。
- 插值算法:使用MATLAB的
spline 函数对时间节点和空间坐标进行三次样条插值,生成高密度的平滑轨迹点。 - 坐标转换:将插值得到的地理坐标(LLA)转换为地心地固坐标系(ECEF),以便于后续与卫星坐标进行几何运算。
3. GNSS星座仿真模块
系统并未依赖外部星历文件,而是通过算法生成简化的Walker星座模型:
- GPS星座:模拟24颗卫星,分布在6个轨道面,轨道倾角55度,半长轴约26560km。
- BDS星座:模拟MEO轨道部分,分布在3个轨道面,轨道倾角55度,半长轴约27906km。
- 轨道传播:基于开普勒轨道根数,利用简单的二体模型结合地球自转修正,计算仿真时刻各卫星的实时ECEF坐标。
4. 核心仿真与完好性分析循环
这是系统的主引擎,按时间步进执行以下流程:
- 卫星可见性判断:计算视线向量,结合截止高度角(Mask Angle)筛选可见卫星。逻辑中包含环境判断:若列车处于预设的隧道纬度区间,强制清空可见卫星列表;若处于峡谷环境,提高截止高度角(至30度)。
- 观测值生成:基于真实几何距离,叠加接收机钟差漂移、高斯白噪声。在弱信号区域(Blocked),噪声标准差会扩大3倍以模拟多径效应。
- 定位与RAIM解算:
* 采用迭代最小二乘法(ILS)求解接收机位置和钟差。
* 利用残差向量和几何矩阵计算HPL和VPL。
* 根据计算结果与告警限值(HAL/VAL)的比较,输出系统是否“可用”(Available)。
- 卡尔曼滤波保持:系统维护一个包含位置和速度的8维状态向量。当发生信号中断(可见卫星少于4颗)时,跳过测量更新,仅执行预测步骤(Predict),依靠惯性推算当前位置,确保持续输出轨迹,并统计由此产生的漂移误差。
- 误差统计:实时计算水平位置误差(HPE)和垂直位置误差(VPE),用于后续统计分析。
使用方法
- 确保MATLAB环境已安装,并且路径中包含必要的数学计算工具箱。
- 直接运行
main 函数即可启动仿真。 - 程序将依次输出:
* 构建路径模型的进度提示。
* 初始化星座的状态。
* 仿真运行时的进度条(Waitbar)。
* 仿真结束后的分析动作。
- 仿真结束后,所有详细数据(包括PL值、误差值、DOP值等)将存储在
sim_results 结构体中供绘图使用。
系统要求
- 软件环境:MATLAB R2018a 及以上版本。
- 依赖库:基础MATLAB环境。虽然代码中提及
lla2ecef_custom 等自定义函数,但通常需要标准Mapping Toolbox支持基础地理计算(如 deg2km, distance)。 - 硬件资源:标准PC即可,仿真计算量中等,主要消耗在于长达数小时旅程的时间步进循环计算。