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°。仿真中可用“轨道面编号 + 面内编号”生成每颗卫星的初始平近点角,再叠加地球自转和摄动修正。需要强调的是,仿真得到的卫星位置必须与真实星历在相同历元下对比,位置残差通常应控制在米级以内,否则后续伪距建模会引入系统性偏差。

星座与轨道参数模拟流程 广播星历参数 a, e, i₀, Ω₀, ω, M₀ Ω̇, Δn, toe Walker 构型: 6面×4星,倾角55° 开普勒轨道计算 M = M₀ + (n₀+Δn)·t E = M + e·sinE(迭代) ν = 2·atan(√((1+e)/(1-e))·tan(E/2)) r = a(1 - e·cosE) 坐标旋转 轨道面 → 惯性系 惯性系 → ECEF Rz(-Ω)·Rx(-i)·Rz(-ω) 地球自转修正 卫星位置 X, Y, Z (ECEF) 残差 < 米级 关键检查点 开普勒方程迭代收敛:|Eₖ₊₁ - Eₖ| < 1e-12,通常 5~8 次迭代 轨道周期 T = 2π√(a³/μ),GPS 约 11h58min,与真实值偏差应 < 1s 相邻轨道面升交点赤经差 = 360°/6 = 60°,面内卫星相位差 = 360°/4 = 90° 与广播星历对比:位置残差 RMS 应 < 2m,速度残差 < 0.01m/s

二、伪距与载波相位观测模型

伪距是接收机测得的“信号发射时刻到接收时刻”的时间差乘以光速,但由于卫星钟差、接收机钟差、电离层和对流层延迟,它并不等于几何距离。仿真中常用的伪距模型为:

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 和定位残差,绘制时间序列曲线,观察是否存在几何构型突变导致的精度跳变。

仿真建议:先用静态接收机验证单历元定位,确认 GDOP 与理论值一致后,再引入动态轨迹和钟差漂移,逐步增加模型复杂度。
注意:伪距和载波相位的电离层符号相反,若在组合观测中写错符号,无电离层组合将无法消除延迟,反而放大误差。

综合来看,卫星导航仿真基础可以概括为一条清晰的链路:由广播星历和 Walker 构型生成卫星位置,用伪距和载波相位模型叠加各类误差,再通过最小二乘解算得到接收机位置和钟差,最后用 DOP 值评估几何构型对精度的影响。每一步的输入、输出和判断依据都应在仿真日志中明确记录,才能保证结果可复现、可验证。