4. 干扰监测与检测
在GNSS干扰环境导航容错工程中,监测与检测是容错链路的“第一道防线”。只有先发现异常,后续的隔离、重构与告警才有意义。本章围绕干扰信号检测方法、频谱监测、功率异常检测、欺骗检测与告警机制四条主线展开,重点说明各方法的适用边界与工程落地要点。
一、核心原理:从“看得见”到“判得准”
GNSS接收机正常工作时,天线口面接收到的信号功率极低,通常在-130 dBm量级,且淹没在热噪声之下。干扰与欺骗正是利用这一脆弱性:压制干扰抬高底噪,使载噪比C/N₀下降;欺骗干扰则伪造与真实信号结构一致的伪码与导航电文,诱导接收机输出错误位置。因此,检测的本质是在时域、频域、空域和统计域上寻找与“正常GNSS信号模型”不一致的偏离。
工程上通常把检测分为三层:前端射频层(频谱、功率)、基带相关层(C/N₀、相关峰、码相位)、导航解算层(位置、速度、时间一致性)。三层各有盲区,必须联合判决。
二、频谱监测:把干扰“画”出来
频谱监测是最直观的检测手段。接收机前端在射频或中频处进行FFT扫描,得到功率谱密度。正常GNSS信号是宽带低功率的扩频信号,频谱近似平坦;窄带干扰表现为某个频点的尖峰,宽带压制干扰表现为整段底噪抬升,扫频干扰则在时频图上呈现斜线轨迹。
工程实现时,常用“底噪估计+门限判决”策略:先对无干扰时段做滑动平均得到噪声基底,再对当前谱线做逐点比较。典型门限为底噪上方6~10 dB。若连续多个扫描周期在同一频点超限,则判定为持续干扰;若超限频点随时间移动,则判定为扫频或跳频干扰。
# 频谱监测伪代码示例
noise_floor = moving_average(psd_history, window=50)
threshold = noise_floor + 8 # dB
for f in freq_bins:
if psd[f] > threshold:
jam_flag[f] += 1
if max(jam_flag) > 3:
trigger_alarm("频谱异常", level=2)
三、功率异常检测:从AGC到C/N₀
功率异常检测关注的是“能量”维度的变化。最直接的观测量是AGC电压:当干扰进入接收机时,AGC会降低增益以维持中频功率恒定,因此AGC电压的突变是压制干扰的强指示。另一个关键量是C/N₀,正常卫星的C/N₀通常在35~50 dB-Hz,若多颗卫星的C/N₀同时下降超过10 dB,则极可能是宽带压制干扰。
需要注意的是,单颗卫星C/N₀下降可能由遮挡、多径或天线方向图引起,不能直接判为干扰。工程上常采用“多星一致性”策略:统计可见卫星中C/N₀下降超过阈值的比例,若比例超过60%,则触发干扰告警。
四、欺骗检测:识别“假信号”
欺骗干扰比压制干扰更隐蔽,因为它不降低信号质量,而是伪造信号。欺骗检测的核心是寻找“物理上不可能”或“统计上不一致”的特征。常用方法包括:
- 相关峰检测:真实信号的相关峰尖锐对称,欺骗信号若与真实信号叠加,会出现双峰或峰形畸变。
- 功率异常:欺骗信号通常比真实信号强,若某颗卫星C/N₀异常偏高且持续,需警惕。
- 多普勒与码相位一致性:欺骗源若与接收机存在相对运动,其多普勒变化率与真实卫星不一致。
- 导航解算一致性:欺骗会导致位置、速度、时间跳变,RAIM残差会显著增大。
实际系统中,欺骗检测往往需要多手段融合。例如,先用功率异常筛选可疑卫星,再用相关峰对称性确认,最后用RAIM残差做最终判决。
五、告警机制:分级响应与工程落地
检测到异常后,系统需要给出明确的告警并执行相应动作。告警机制通常分为三级:一级为提示,记录日志并继续导航;二级为告警,降级使用并排除异常卫星;三级为严重,切换至惯导或其他拒止输出,并停止使用GNSS位置。
| 告警级别 | 触发条件 | 响应动作 | 恢复策略 |
|---|---|---|---|
| 一级(提示) | 单星C/N₀下降或频谱轻微超限 | 记录日志,继续导航 | 自动恢复 |
| 二级(告警) | 多星C/N₀同步下降或相关峰畸变 | 排除异常星,降级使用 | 干扰消失后重捕 |
| 三级(严重) | 位置跳变、RAIM失效或欺骗确认 | 切换惯导,拒止GNSS输出 | 人工确认后复位 |
六、案例与复盘:一次城市峡谷中的欺骗事件
某城市车载导航在隧道出口后出现位置漂移,初始表现为两颗卫星C/N₀异常升高至55 dB-Hz,随后位置解算出现约200米的跳变。系统首先触发二级告警,排除异常星后位置恢复;但10秒后再次出现跳变,RAIM残差超过门限,系统升级为三级告警并切换至惯导。事后复盘发现,该场景为典型的“先压制后欺骗”组合干扰:压制阶段使接收机失锁,欺骗阶段在重捕时注入伪造信号。
总结来看,干扰监测与检测不是单一算法,而是一套覆盖射频、基带、解算三层的系统工程。频谱监测负责发现“有没有干扰”,功率异常检测负责判断“干扰有多强”,欺骗检测负责识别“信号真不真”,告警机制则负责“发现之后怎么办”。四者环环相扣,才能为后续的容错处理提供可靠输入。