GPS信号为何脆弱?从1瓦干扰到航空安全的技术拆解
军用 GPS 干扰到底有多强?一个 1 瓦的干扰设备放在 1 公里外,到达接收机天线口面的干扰功率约 -66 dBm,而 GPS 卫星信号到达地面的典型功率只有 -128 dBm 左右。双方的“信干比”超过 60 dB,绝大多数商用 GPS 接收机的抗干扰容限只有 25~40 dB。也就是说,地面一个低功率干扰源,就能让天上整个 GPS 星座的信号变成噪声。
这正是“军用 GPS 干扰演练与坠机调查”这类事件真正值得技术行业关注的原因。外媒报道提到,2022 年初北欧一场大规模军事演习期间,一架小型飞机坠毁,机上人员遇难。事故调查机构随后发现,飞机坠毁前其 GPS 接收机曾暴露在大范围、持续性的外部干扰环境中,而演习空域内恰好安排了 GPS 干扰训练。调查组正在评估“干扰”与“坠机”之间是否存在因果关联,媒体表述为“美军 GPS 干扰演练被怀疑与坠机有关”。
这篇文章不谈立场,只拆技术。分四块内容:GPS 信号为什么这么容易被压制,航空系统从“丢星”到“事故”的失效链,调查和工程上怎么检测干扰,以及抗干扰与冗余导航的工程实践和常见误区。如果你做无人机、自动驾驶、机器人、航空电子、基站授时或者 GNSS 数据质量分析,这篇文章值得仔细看。
1. 核心技术信息速览
先把这个事件背后涉及的技术要素列一张表,后面逐项展开。
| 维度 | 说明 |
|---|---|
| GPS 工作频段 | L1 = 1575.42 MHz,L2 = 1227.60 MHz,L5 = 1176.45 MHz |
| 卫星信号到达地面功率 | 约 -128 dBm(-158 dBW),属于极微弱信号 |
| 典型商用接收机抗干扰容限 | 宽带噪声干扰下约 25~40 dB(J/S 比) |
| 主要干扰形态 | 单频连续波、宽带噪声、脉冲干扰、欺骗信号 |
| 受影响航空系统 | RNAV/RNP 导航、ADS-B 广播、地形告警 TAWS、移动地图、时间同步 |
| 关键检测指标 | 载噪比 C/No(SNR)、可见星数、RAIM 状态、定位跳变、时间戳异常 |
| 主流防护手段 | 多星座多频、RAIM/FDE、惯导冗余、地基导航备份、守时时钟 |
| 合规边界 | 未经授权的 GPS 干扰属于违法无线电行为,本文仅讨论原理与防御 |
这起事件不是孤立个案。GPS 干扰成本低、实施门槛低、影响范围大,而现代航空、交通、电力、金融、通信对 GPS 的依赖度又极高。理解这条技术链,比争论单一事故原因更有工程价值。
2. 适用场景与安全边界
这个主题适合谁?以下四类工程师最容易碰到相关问题。
第一类是定位与导航应用开发者。无人机、机器人、无人配送车只要依赖 GPS 定位,就必须考虑 GPS 被干扰时的降级策略:是悬停、返航,还是切换视觉/惯性定位。第二类是航空与通航相关从业人员。RNAV 进近、ADS-B 追踪、地形告警都建立在对 GPS 位置的可信依赖上,干扰环境下这些能力全部会退化。第三类是授时与同步工程师。基站、电力系统、交易所、数据中心大量使用 GPS/北斗授时,一旦干扰导致时间源丢失,守时性能和 PTP 链路稳定性会立刻暴露问题。第四类是互联网平台做轨迹、路况、物流数据的开发者。手机上报的位置数据在干扰区域内会出现漂移,如果数据清洗逻辑不识别这种异常,后续分析结论会失真。
安全边界必须说清楚:GPS 干扰频段受国家无线电管理法规严格约束,任何个人或机构在未获授权的情况下开启干扰设备都属于违法行为,可能危害航空安全和公共安全。本文所有关于干扰机制的内容,目的都是帮助工程师理解风险、设计检测和防护手段,而不是提供干扰设备的制作方法。真实环境下的干扰验证,应当在合法测试场地、屏蔽实验室或获得授权的频谱测试环境中进行。
3. GPS 信号为什么这么容易被打掉
3.1 GPS 信号的基本特征
GPS 卫星在约 2 万公里的中圆轨道上,以约 1.023 MHz 码率的 C/A 码扩频方式,把导航电文调制在 L1 载波上。由于卫星发射功率有限、轨道距离远,信号到达地面时已经衰减到了接近噪底的水平。这个 -128 dBm 量级的信号强度,比手机通信信号弱了几十个 dB,相当于在 1 万公里外用一盏 25 瓦灯泡的余光做定位。
扩频通信本身有一定的抗干扰余量。GPS 接收机通过相关运算解扩,可以获得约 20~30 dB 的处理增益,因此正常环境下依然能完成捕获和跟踪。问题是,这个处理增益在真正的压制干扰面前并不够用:干扰源通常在地面,距离接收机只有几公里到几十公里,功率又不受限制,链路差距足以抵消扩频增益。
3.2 链路预算与 J/S 计算
用标准的自由空间路径损耗公式就能看出数量级差异。计算公式如下:
FSPL(dB) = 20 * log10(d) + 20 * log10(f) - 147.55其中 d 为距离(米),f 为频率(Hz)。下面用 Python 算一个典型场景:卫星斜距 20000 公里,地面干扰源距离接收机 1 公里,干扰源功率 1 瓦。
import math def fspl(d_m, f_hz): """自由空间路径损耗,单位 dB""" return 20 * math.log10(d_m) + 20 * math.log10(f_hz) - 147.55 f_l1 = 1575.42e6 # GPS L1 频率 d_sat = 20_000_000 # 卫星到地面接收机典型斜距,米 d_jam = 1_000 # 干扰源到接收机距离,米 # 卫星链路:卫星 EIRP 约 24 dBW,减去损耗得到到达功率 eirp_sat = 24.0 # dBW,约 250W EIRP loss_sat = fspl(d_sat, f_l1) p_sat_dbm = eirp_sat - loss_sat + 30.0 # 转成 dBm # 干扰链路:1W 干扰源 EIRP 约 30 dBm eirp_jam_dbm = 30.0 loss_jam = fspl(d_jam, f_l1) p_jam_dbm = eirp_jam_dbm - loss_jam j_to_s = p_jam_dbm - p_sat_dbm print(f"卫星链路损耗: {loss_sat:.1f} dB") print(f"GPS 信号到达功率: {p_sat_dbm:.1f} dBm") print(f"干扰链路损耗: {loss_jam:.1f} dB") print(f"1W 干扰到达功率: {p_jam_dbm:.1f} dBm") print(f"J/S 信干比: {j_to_s:.1f} dB")计算结果大致是:卫星链路损耗约 182 dB,GPS 信号到达功率约 -127.5 dBm;1 公里外 1W 干扰源到达功率约 -66.4 dBm;J/S 比约 61 dB。这个 61 dB 已经远超前面提到的 25~40 dB 容限。
3.3 结论:为什么 1W 干扰就够用
这条链路预算说明了一个关键事实:GPS 干扰不是“强功率对抗”,而是“距离即正义”。干扰源只要贴近目标区域,就能以极低功率把卫星信号淹没。军用干扰演练使用的系统功率通常是几十瓦到千瓦级,覆盖范围可以到几十甚至上百公里,这也解释了为什么一次演练的干扰带能影响大片空域。
对工程人员来说,这条计算也提示了检测思路:只要接收机能实时观察到 J/S 比、C/No 和卫星失锁状态,就能较早识别出是否处于干扰环境。
4. GPS 干扰的常见形态与识别特征
按干扰信号的形式,可以把 GPS 干扰分成四类:
| 干扰类型 | 信号特征 | 对接收机的影响 | 识别难度 |
|---|---|---|---|
| 单频连续波 | 在 L1/L2 中心频率附近发射窄带载波 | 造成单频点信噪比下降,跟踪环路失锁 | 较低,频谱仪直接可见 |
| 宽带噪声 | 覆盖整个 GPS 频段的调频噪声 | 所有卫星同时降噪,失锁最快 | 较低,但隐蔽性强 |
| 脉冲干扰 | 周期性脉冲发射,占空比可变 | 干扰跟踪环路,导致伪距测量抖动 | 中等 |
| 欺骗信号 | 伪造与真实 GPS 结构一致的信号 | 接收机可能锁定错误位置 | 最高,肉眼难辨 |
前三种属于压制式干扰,实施成本低,影响是让接收机“看不见”卫星。识别特征是所有可见卫星的 C/No 同时跳水,而不是某一颗卫星单独变差。正常环境下,健康 GPS 信号的载噪比通常在 35~50 dBHz 之间,低于 25 dBHz 就处于失锁边缘。如果有干扰,观测到的现象往往是大批卫星的 SNR 在几十秒内同时跌到 15 dBHz 以下,甚至直接变为 0。
欺骗攻击是另一类风险。它不压制信号,而是发射与真实 GPS 结构高度一致的伪造信号,让接收机锁定到错误的位置或时间。对于航空导航,欺骗比压制更危险,因为机组和自动驾驶在一段时间内并不会感知到异常。好在军用级欺骗的技术门槛远高于压制式干扰,普通安全事件里很少出现。
5. 从“GPS 失锁”到“坠机”:航空失效链
5.1 哪些机载系统依赖 GPS
现代通用航空飞机和运输类飞机的很多功能都建立在 GPS 位置上,最常见的包括:
- 区域导航(RNAV)和所需导航性能(RNP)进近程序,直接依赖 GNSS 定位;
- ADS-B 广播,把机载 GPS 位置通过 1090 MHz 广播给地面和周边飞机;
- 地形感知与告警系统(TAWS/EGPWS),需要 GPS 位置判断前方地形威胁;
- 驾驶舱移动地图、空中防撞系统(TCAS)的潜在冲突预测;
- 机载 GPS 授时输出,影响部分航电设备的基准时间。
GPS 失锁后,受影响的不止“导航画面不动了”,而是整个监视和告警链路的可用性同步下降。
5.2 失效链传播
在一次明显干扰事件中,飞行员会先看到 GPS 位置冻结、丢星或异常跳变,随后 RNAV 设备可能直接进入“无法使用”状态。如果飞机处于航路上,机组需要切换到 VOR/DME 或惯性基准导航;如果正处于进近阶段且天气不好,失去 GPS 意味着必须改用 ILS 或复飞等待。
真正的风险在于组合因素。GPS 失效本身通常不会直接导致坠机,但会在下面几种条件下放大风险:飞行员过度依赖 GPS、对备用导航设备不熟练;山区或低能见度环境下,缺乏地形参考;仪表进近中突然失去水平/垂直引导,机组工作负荷骤增。事故调查最关键的问题就是:当时的 GPS 失效,是否叠加了机组状态、航路地形或气象条件,最终形成不可恢复的链路。
5.3 干扰不等于坠机的因果门槛
这也是本次坠机调查的难点。调查机构需要回答的并非“当时有没有干扰”,而是“干扰是否实质性触发了事故链”。通常会从三个层面判断:干扰是否存在、干扰是否导致 GPS 服务丧失、GPS 丧失与事故之间是否构成直接原因链。任何一个环节证据不足,都不能建立因果关系。
6. 军事干扰演练如何波及民航
GPS 干扰信号不会因为地面画了一条“演习区”边界就不再向外传播。实际影响范围取决于干扰源功率、天线方向图、地形遮挡以及接收机高度,经常远远超出演习划定空域。
这里有一个常被忽视的几何因素:飞行中的飞机处于高空,与地面干扰源之间的视距遮挡很少。同一台地面干扰设备,对地面车辆造成的遮蔽可能来自建筑物,但对万米高空的飞机来说,几百公里内的地形遮挡几乎不起作用。也就是说,军用干扰演练即使划定了“影响盒”,实际影响往往是比盒子更大的椭圆区域。北欧这起事件恰好发生在通航小飞机常用的作业高度,干扰覆盖空域与航路重合的概率并不低。
从航空运行角度,这类事件还暴露出告警机制的问题。虽然军演通常会通过 NOTAM 发布 GPS 干扰预警,但很多通航飞行员、特别是驾驶旧式飞机的飞行员,并不会每次飞行前都查阅 GNSS 干扰类 NOTAM。即使看到了,也难以精确判断干扰的实际空间和时间范围。这就意味着仅仅“发了通告”并不能解决安全风险,还需要更实时的干扰监测和数据共享机制。
6.2 调查取证的数据链路
事故调查机构要建立“干扰与坠机相关”的证据链,主要依赖以下几类数据:
| 数据来源 | 能提供什么证据 |
|---|---|
| 飞行数据记录仪/航电日志 | GPS 失锁时间、可见星数、C/No、位置跳变、导航源切换记录 |
| 地面 ADS-B 接收站 | 目标航迹是否出现位置跳变、轨迹空洞、一致性的多机异常 |
| 空管雷达与 ATC 录音 | 机组当时的报告、复飞/改航情况 |
| 演习方日志 | 干扰设备开关机时间、工作频段、功率记录 |
| 频谱监测数据 | 事发时段在对应频段是否观测到干扰信号 |
如果干扰发生在事发时段且与飞机 GPS 失锁时间高度吻合,调查组就会继续核实:失锁是同时多星发生、还是单星故障;是干扰导致,还是接收机硬件老化;失锁后机组是否被告知、是否还有可用的备用导航手段。只有这些证据全部串起来,结论才站得住脚。
7. 工程上的干扰检测与监测手段
7.1 接收机侧:C/No 与可见星监测
对普通工程师来说,最容易落地的检测方式是从接收机本身取数据。NMEA 0183 协议中,GSV 语句每颗卫星的最后一个字段就是信噪比(dBHz),GSA 语句会给出可用卫星数和定位模式。对一段连续数据做统计:如果所有卫星 C/No 同时下降、且持续超过数十秒,基本可以判定进入了干扰区。
下面是一段简单的 NMEA 解析示例,把各卫星的 SNR 按 PRN 汇总,用于后续异常判断。
import re snr_by_sat = {} def parse_gsv(line): """解析 NMEA GSV 语句,收集每颗卫星的 C/No""" if not line.startswith('$GPGSV'): return fields = line.rstrip().split(',') # 从第 5 个字段开始,每 4 个字段描述一颗卫星 for i in range(4, len(fields) - 3, 4): prn = fields[i] try: snr = int(fields[i + 3]) except ValueError: continue if snr > 0: snr_by_sat.setdefault(prn, []).append(snr) def detect_interference(min_sats=4, snr_threshold=20.0, bad_ratio=0.8): """如果可见卫星不少于 min_sats,且超过 80% 的卫星 SNR 低于门限,判为疑似干扰""" if len(snr_by_sat) < min_sats: return "sats-insufficient" recent = [vals[-1] for vals in snr_by_sat.values() if vals] if not recent: return "no-data" bad = sum(1 for snr in recent if snr < snr_threshold) if bad / len(recent) >= bad_ratio: return "interference-suspected" return "normal"需要注意,这个逻辑要把“多星同时恶化”和“单星正常波动”区分开。单颗卫星 SNR 下降可能是仰角低、遮挡、天线方向图问题;所有卫星同时恶化则大概率是射频环境问题。
7.2 数据侧:轨迹气泡与时间戳异常
如果你做的是位置大数据平台,可以从聚合视角发现干扰。当大量设备在同一区域同一时刻发生位置漂移、轨迹断裂或者“位置气泡”时,往往不是单个设备故障,而是该区域存在 GPS 射频干扰。这类异常可以通过 ADS-B 公开数据、手机定位数据或车载终端数据做时空聚类发现,也是干扰源定位的重要线索。
7.3 频谱侧:SDR 监测
在合法前提下,用软件定义无线电(SDR)设备扫描 L1/L2 频段,可以直接看到干扰信号形态。宽带噪声干扰表现为 1575.42 MHz 附近出现一个宽频谱凸起;单频连续波则是一个窄带尖峰。有条件做频谱监测的单位,可以把 SDR 接收机部署在重点区域,结合自动告警,形成一张实时的 GPS 干扰分布图。
7.4 时间同步场景的 GPS 干扰检测
GPS 干扰不仅影响定位,也影响授时。对使用 chrony 做时间同步的服务器,GPS 授时接收机一旦被干扰,时间源会丢失。此时可以用 chrony 的跟踪信息快速判断:
# 查看当前时间源状态,GPS 源通常显示为 ^* 或 ^+ chronyc tracking chronyc sources -v # 如果 GPS 源频繁变 ^? 或失联,需要检查天线/馈线/干扰环境授时系统被干扰后的承压能力,取决于本地时钟的守时性能。普通晶振在失去 GPS 后几小时内就可能漂移出 PTP 精度要求,因此关键授时节点需要 OCXO、铷钟甚至氢钟做 holdover,并配置时钟源切换策略。
8. 抗干扰与冗余导航的工程实践
8.1 航空:冗余导航与程序兜底
航空领域对抗 GPS 干扰的第一原则是“不把 GPS 当唯一信息源”。
在设备层面,现代运输飞机通常配备惯性基准系统(IRS),GPS 失效后可以保持短时位置推算;进近阶段还有 ILS、DME/DME、VOR 等地面导航设施作为备选。在程序层面,运行单位需要为机组提供明确的降级流程:GPS 丢失后如何识别、何时切换导航源、什么条件下必须复飞或改航。RAIM(接收机自主完好性监测)也是重要工具,它能在定位结果不可信时提前发出告警,避免机组在错误位置上继续进近。
对于通用航空,设备配置没有运输机那么强,更需要依靠事前规划。执行山区、低能见度任务前,确认沿途有可用的非 GPS 导航手段,并保留目视备降方案。
8.2 无人机与机器人:传感器融合兜底
对无人机、自动配送车和机器人,GPS 被干扰时常用的兜底思路是传感器融合。简单说,就是用 IMU 做短时惯性推算,用相机/激光雷达做视觉里程计或建图定位,在 GPS 可信时持续标定这些传感器的零偏和尺度。
工程上要注意几点:第一,参与融合的每个传感器都要有自己的“健康度”评价,GPS 健康度可以用 C/No、可见星数和 RAIM 状态综合得出;第二,融合算法要支持信息源动态剔出,GPS 信号异常时自动降低权重,而不是把错误位置直接带入滤波器;第三,要设计 GPS 失效后的行为策略,无人机可以悬停或按视觉定位返航,物流车可以减速靠边停车,避免“失去定位后还继续高速移动”的危险状态。
8.3 授时与数据中心:守时与备份
GPS 干扰对时间同步系统的打击是“沉默式”的。基站、数据中心、电力变电站一旦失去 GPS 授时,如果没有备份时间源,网络设备间的时间偏差会在数小时到数天内逐步扩大。
实践上推荐三层方案:一是时间源多源化,不只依赖 GPS/北斗,可叠加 PTP 上游时间源或本地高稳时钟;二是守时性能冗余,关键节点配置 OCXO 级别以上的 holdover 能力,并定期测试“脱星后 24 小时守时误差”;三是监控告警,对 GPS 授时接收机的 C/No、锁定状态、时间源切换事件做指标采集,异常时第一时间通知运维。
9. 常见误区与问题排查清单
9.1 常见误区
| 误区 | 实际情况 |
|---|---|
| GPS 被干扰只是定位不准,不会导致安全事故 | 对航空而言,ADS-B、地形告警和进近引导同时失效,安全影响远超“定位不准” |
| 手机信号差就是 GPS 被干扰 | 室内遮挡、建筑物多径、电离层闪烁都可能导致定位差,与电磁干扰机制不同 |
| 支持多星座就能对抗干扰 | 多星座只改善可见星数量,无法抵御同时覆盖 L1/L2 等共用频段的宽带压制干扰 |
| 飞机有惯导,GPS 丢了没关系 | 惯导漂移随飞行时间累积,进近阶段通常需要 GPS/地基无线电做修正,二者是互补而非替代 |
| 干扰和故障无法区分 | 多星同时降噪、多设备同时异常是干扰的典型特征,可以通过数据统计区分 |
9.2 排查清单
| 问题现象 | 可能原因 | 排查方式 | 处理建议 |
|---|---|---|---|
| 所有卫星 C/No 同时骤降 | 处于 |
