4. 卫星导航系统仿真基础
卫星导航系统仿真不是把真实接收机搬到计算机里,而是用数学模型复现“卫星在哪里、信号传播了多久、接收机如何从这些观测量中反推出自身位置”这一整条链路。要建立可信的仿真,必须依次解决三个问题:星座与轨道如何生成、观测量的误差如何建模、定位解算与精度评估如何实现。本节围绕这三层展开,并给出可直接用于编程实现的参数与判断依据。
一、星座与轨道参数模拟
卫星位置是后续所有观测建模的几何基础。工程上通常采用广播星历中的开普勒轨道参数来描述卫星运动,核心参数包括:轨道长半轴 a、偏心率 e、轨道倾角 i₀、升交点赤经 Ω₀、近地点角距 ω、平近点角 M₀,以及升交点赤经变化率 Ω̇ 和平均角速度修正量 Δn。仿真时先由 M = M₀ + (n₀ + Δn)·t 求平近点角,再用开普勒方程 E = M + e·sinE 迭代求解偏近点角,进而得到轨道平面内的真近点角和半径,最后经三次旋转(近地点→轨道面→地固系)得到 ECEF 坐标。
星座层面需要模拟 Walker 星座的构型。以 GPS 典型的 24 颗卫星、6 个轨道面、倾角 55° 为例,每个轨道面均匀分布 4 颗卫星,相邻轨道面之间的相位差为 360°/24 = 15°。仿真中可用“轨道面编号 + 面内编号”生成每颗卫星的初始平近点角,再叠加地球自转和摄动修正。需要强调的是,仿真得到的卫星位置必须与真实星历在相同历元下对比,位置残差通常应控制在米级以内,否则后续伪距建模会引入系统性偏差。
二、伪距与载波相位观测模型
伪距是接收机测得的“信号发射时刻到接收时刻”的时间差乘以光速,但由于卫星钟差、接收机钟差、电离层和对流层延迟,它并不等于几何距离。仿真中常用的伪距模型为:
P = ρ + c·(δt_r - δt_s) + I + T + ε_P
其中 ρ 为卫星到接收机的几何距离,δt_r 为接收机钟差,δt_s 为卫星钟差,I 为电离层延迟,T 为对流层延迟,ε_P 为伪距噪声。电离层延迟在 L1 频段典型值为 5~15m,可用 Klobuchar 模型按地方时和纬度近似;对流层延迟在低仰角可达 20m 以上,常用 Saastamoinen 模型配合映射函数计算。
载波相位观测量的精度比伪距高两个数量级,但存在整周模糊度。其模型为:
Φ = ρ + c·(δt_r - δt_s) - I + T + λ·N + ε_Φ
注意电离层对伪距和载波相位的影响符号相反:伪距被延迟,载波相位被超前。这一特性正是无电离层组合(P_IF = (f₁²·P₁ - f₂²·P₂)/(f₁² - f₂²))能够消除一阶电离层延迟的原因。仿真中,载波相位噪声通常设为 1~2mm,而伪距噪声设为 0.3~1m,两者相差约 100 倍,这也是精密定位必须使用载波相位的原因。
三、定位解算与精度因子分析
定位解算的本质是求解一个非线性最小二乘问题。设接收机位置为 (x, y, z),钟差为 δt_r,对每颗可见卫星 i 有观测方程 P_i = ρ_i + c·δt_r + ε_i。在近似位置 (x₀, y₀, z₀) 处线性化,得到设计矩阵 H,其第 i 行为:
[-u_x_i, -u_y_i, -u_z_i, 1]
其中 (u_x_i, u_y_i, u_z_i) 为接收机到卫星的单位视线向量。最小二乘解为 Δx = (HᵀH)⁻¹HᵀΔP,迭代更新直到位置增量小于 1e-4 m。解算完成后,协方差矩阵为 Q = (HᵀH)⁻¹,其对角线元素直接决定精度因子:
GDOP = √(q₁₁ + q₂₂ + q₃₃ + q₄₄),综合几何精度因子;PDOP = √(q₁₁ + q₂₂ + q₃₃),位置精度因子;HDOP = √(q₁₁ + q₂₂),水平精度因子;VDOP = √(q₃₃),垂直精度因子;TDOP = √(q₄₄),时间精度因子。
实际仿真中,GDOP 是判断星座几何构型优劣的核心指标。经验上,GDOP < 3 为优,3~5 为良,5~8 为可用,> 8 则定位精度明显恶化。若某历元可见卫星数少于 4 颗,或卫星在天空分布过于集中(如全部位于同一象限),GDOP 会急剧上升,此时定位解算可能发散。仿真中应记录每个历元的可见卫星数、GDOP 和定位残差,绘制时间序列曲线,观察是否存在几何构型突变导致的精度跳变。
综合来看,卫星导航仿真基础可以概括为一条清晰的链路:由广播星历和 Walker 构型生成卫星位置,用伪距和载波相位模型叠加各类误差,再通过最小二乘解算得到接收机位置和钟差,最后用 DOP 值评估几何构型对精度的影响。每一步的输入、输出和判断依据都应在仿真日志中明确记录,才能保证结果可复现、可验证。