3. GNSS失锁机理

GNSS失锁并不是一个单一事件,而是从空间信号传播、天线接收、射频前端、基带相关器到跟踪环路与导航解算的整条链路中,某一环节的误差或状态越界最终导致载波相位/码相位跟踪中断。理解失锁机理,必须把“物理层扰动”和“算法层响应”放在同一张因果图上分析:物理扰动改变信号功率、相位、到达方向或相关峰形状;算法层则通过鉴相器、鉴频器、环路滤波器与压控振荡器做出响应,当响应超出环路牵引范围或鉴相线性区,就发生周跳、失锁甚至重捕。

一、从信号到环路:失锁的通用因果链

接收机跟踪环路由码环(DLL)和载波环(PLL/FLL)构成。码环负责对齐伪随机码相位,载波环负责跟踪多普勒频移与载波相位。任何导致相关峰降低、偏移、分裂或相位旋转过快的因素,都会先表现为C/N0下降、鉴相输出抖动增大,随后出现失锁。其通用链路可概括为:

信号遮挡 → 功率骤降 → 相关峰信噪比下降 → 鉴相器非线性 → 环路滤波器饱和 → 跟踪失锁 → 重捕或周跳

下面这张SVG把六类典型失锁原因映射到接收机信号链的不同位置,便于建立“扰动—响应—失锁”的定位思维。

GNSS失锁机理:扰动源 → 信号链 → 环路响应 卫星信号 L1/L5 载波+码 天线与射频 增益/AGC/下变频 相关器组 E/P/L 相关峰 跟踪环路 DLL / PLL / FLL 导航解算 PVT/周跳 信号遮挡 建筑/隧道/树冠 多径 反射/衍射叠加 干扰 压制/窄带/扫频 欺骗 伪造信号/牵引 动态应力 高动态/振动 跟踪环路失锁的算法原因 • 鉴相器进入非线性区,相位误差 > 牵引范围 • 环路带宽与动态不匹配,加速度引入相位斜坡 • C/N0 低于门限,鉴相输出噪声淹没真实误差 • 相关峰分裂/偏移,E/P/L 失衡 • 欺骗信号牵引导致伪距/相位跳变 • 周跳未修复,累积误差越界 越界判定

二、六类失锁机理的物理与算法解释

信号遮挡是最常见的失锁原因。当卫星信号被建筑、山体、隧道或树冠遮挡时,接收功率可能骤降20 dB以上,C/N0从45 dB-Hz跌至25 dB-Hz以下。此时相关峰信噪比下降,PLL鉴相输出噪声增大,环路滤波器输出抖动加剧。若遮挡持续时间超过环路带宽对应的时间常数,压控振荡器无法维持相位锁定,出现失锁。城市峡谷中,遮挡还具有快速时变特征,导致频繁重捕。

多径的物理本质是同一信号经不同路径到达天线,产生幅度衰减、相位偏移和时延差。当多径时延小于一个码片时,相关峰被展宽或偏移,E/P/L支路不再对称,码环鉴相输出出现偏差;当多径相位接近反相时,相关峰甚至出现凹陷。载波环则因多径引入的相位旋转而出现周期性抖动。多径不会立即导致失锁,但会持续消耗环路裕量,在低仰角或动态场景下诱发失锁。

干扰分为压制干扰和欺骗干扰。压制干扰通过提高噪声基底降低等效C/N0,当干信比超过接收机抗干扰容限时,相关峰被淹没,跟踪环路失锁。窄带干扰和扫频干扰还会在频域上周期性扫过信号带宽,造成鉴频器输出剧烈波动。干扰的算法响应表现为AGC增益异常、相关峰幅度下降、鉴相噪声方差增大。

欺骗则更为隐蔽:攻击者发送与真实信号结构一致但时延/多普勒被篡改的信号,逐步牵引跟踪环路。若欺骗信号功率略高于真实信号,接收机可能被“拉偏”而不立即失锁,表现为伪距缓慢漂移;当牵引速率超过环路带宽时,则发生相位跳变和失锁。欺骗检测需要联合监测C/N0突变、伪距残差、多普勒一致性和钟差跳变。

动态应力来自载体高动态运动或强烈振动。加速度和加加速度会在载波相位中引入高阶变化,若环路带宽过窄,相位误差累积超过鉴相线性区;若带宽过宽,则引入更多噪声。振动还会导致天线相位中心抖动和晶振相位噪声恶化。动态应力下的失锁往往表现为周期性周跳,而非完全失锁。

接收机跟踪环路失锁是上述物理扰动的最终算法表现。其核心判据包括:鉴相器输出持续超过门限、C/N0低于跟踪门限、相关峰幅度低于检测门限、环路滤波器输出饱和、周跳检测标志置位。工程中常用三阶PLL跟踪加速度,二阶FLL辅助牵引,并在失锁后进入重捕状态。

三、典型场景与参数对照

失锁类型 物理表现 算法响应 典型判据 工程对策
信号遮挡 C/N0骤降,相关峰消失 鉴相噪声增大,环路失锁 C/N0 < 28 dB-Hz 多星座冗余、重捕加速
多径 相关峰偏移/分裂 E/P/L失衡,码相位偏差 码相位残差 > 0.5 chip 窄相关、MEDLL、天线抗多径
压制干扰 噪声基底抬升 AGC异常,鉴相方差增大 干信比 > 容限 自适应滤波、阵列天线
欺骗 伪距缓慢漂移或跳变 环路被牵引,相位跳变 伪距残差突变 多源交叉校验、钟差监测
动态应力 相位高阶变化 鉴相越界,周期性周跳 加速度 > 环路设计值 自适应带宽、FLL辅助
环路失锁 跟踪中断 重捕或周跳 鉴相输出饱和 失锁检测与快速重捕

四、工程排查与复盘要点

排查失锁时,建议按“先看C/N0与AGC,再看相关峰,最后看鉴相输出”的顺序定位。若C/N0正常但鉴相抖动大,优先怀疑多径或动态应力;若C/N0骤降且AGC增益异常,优先怀疑干扰或遮挡;若伪距缓慢漂移且多普勒异常一致,需警惕欺骗。日志中应记录以下关键量:

track_status: LOCKED / LOST / REPRAC
cn0_dbhz: 42.3 → 24.1
agc_gain_db: 18.2 → 31.5
dll_discriminator: 0.02 → 0.47 chip
pll_discriminator: 0.01 → 0.38 rad
doppler_hz: -1250.4 → -980.2
pseudorange_residual_m: 0.8 → 12.6
误区一:把失锁简单归因于“信号不好”。实际上,多径、欺骗和动态应力都可能在C/N0尚可时导致失锁。误区二:只关注载波环而忽略码环。码环失锁会先导致伪距跳变,进而影响载波环牵引。误区三:失锁后立即重捕而不记录现场数据,导致无法复盘根因。
工程建议:在复杂场景中采用“FLL辅助PLL + 自适应带宽 + 多星座冗余 + 失锁检测”的组合策略。对高动态场景,可适当放宽环路带宽并引入加速度补偿;对多径场景,优先使用窄相关和抗多径天线;对干扰和欺骗,则需在射频前端和基带层同时部署监测与抑制手段。

综上,GNSS失锁是物理扰动与算法响应共同作用的结果。只有把遮挡、多径、干扰、欺骗、动态应力和跟踪环路状态放在同一条信号链上分析,才能准确判断失锁根因,并设计出有针对性的鲁棒定位策略。