麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

如何检测GPS/北斗信号被干扰?

2025 年 12 月 17 日傍晚,南京发生了一件怪事:有市民发现手机里的百度、高德、腾讯地图全部 "罢工",连苹果自带的导航也没能幸免。有人被定位到玄武湖里 "游泳",有人骑共享单车被提示在 57 公里外...目前官方的通告称由于卫星信号受到临时干扰,其中北斗的军用频段不受影响。小编在之前的文章《没了 GPS/北斗,我们还能定位吗?》中介绍过几种除开GPS、北斗系统之外的导航定位方法,但那些方法要么比较前沿需要专业的设备、要么需要手机硬件支持再或者某些技术暂时还无法大规模落地推广。于是有小伙伴问,遇到这种情况我如何判断自己的GPS/北斗信号有没有被干扰,或者如何确定自己信号的可信度呢?小编今天推荐一种方法及工具,有需要的小伙伴可以试试。

什么是 GPS 干扰?

GPS 干扰是指通过发射特定的无线电信号,影响 GPS 卫星正常信号接收的行为​。简单来说,GPS 卫星距离地面约 20200 公里,信号传输到地面时强度极低,仅为 158.5dBW,相当于在喧闹广场上听清百米外的悄悄话​。这么微弱的信号,很容易被 "噪音" 干扰。

目前常见的 GPS 干扰主要分为两大类:

  1. 压制式干扰(Jamming),这是最直接粗暴的方式,通过发射强干扰信号覆盖 GPS 工作频段(L1:1575.42MHz、L2:1227.60MHz),使接收机无法识别真实卫星信号。就像在你耳边大喊大叫,让你听不清别人说话。干扰功率可高达数十瓦甚至上百瓦,能让数十公里范围内的 GPS 设备失效​。​
  2. 欺骗式干扰(Spoofing),这是一种更加隐蔽和危险的方法,它发射与 GPS 信号相似的假信号,误导接收机产生错误的位置、速度和时间信息。就像有人冒充你的朋友给你指路,让你走向错误的方向。这种干扰技术难度高,但所需功率小,干扰效果却很好。

检测GPS干扰技术原理

那了解了原理,我们如何来检测呢?一般来说可能通过两项指标来实现。一是AGC(自动增益控制),二是C/N0(载噪比)

先说下AGC,它是手机中 GNSS 无线装置的一个重要参数。当环境背景噪声较低时,芯片会调高增益(Gain)以捕获微弱的卫星信号;当环境存在强干扰(高能量)时,芯片为了防止电路饱和,被迫调低增益。我们通过监控 AGC 电平的分贝值(dB)。如果 AGC 值突然显著下降,且明显低于该设备的基准线,软件就会判定可能存在干扰

C/N0反映信号强度与噪声的比值。正常的卫星信号到达地面时,其载噪比通常在一个合理的范围内。如果是近距离发射的欺骗信号,往往为了覆盖真实信号而功率过大,导致C/N0 反而会增加。

另外还有一种常用见的方式是使用数据一致性检查,比如:

  • 多普勒频移 (Doppler Shift): 卫星高速运动产生的频移必须与卫星的轨道信息相符;
  • 时钟漂移: 接收机钟差的变化应该是连续的。
  • 伪距率: 如果位置瞬间发生巨大跳变(例如上一秒在北京,下一秒在纽约),或者计算出的速度违背物理常识,系统会标记为疑似欺骗。

工具下载及使用

目前小编找到了 Google 官方的开发的一款软件:GNSS Logger。推荐使用 Google Play 商店安装,国内的商店大家可以自行尝试。

PS:如果找不到可以尝试下小编找的一个两个包,一个是3.0,一个是3.1,但3.1版本小编这里无法安装,可能是我Android 版本太低的问题。下载地址:

麻辣GIS为了防止资源恶意爬取导致被和谐,此处内容被作者隐藏。
验证码:

关注本站微信公众号,回复“资源下载”,获取验证码。

在微信里搜索“麻辣GIS”或微信扫描右侧二维码即可关注本站微信公众号。

安装完成之后打开软件有一个 Spoof/Jam 页面。

上图:当手机靠近 Wi-Fi 路由器时(红色椭圆),AGC 和 C/N0 都会下降。每个星座和频段的平均前 3 个信号以虚线显示。每个星座和频段的 AGC 值(单一数值)以实线显示。图表中的红色圆圈部分展示了当手机靠近 Wi-Fi 路由器时,AGC 和 C/N0 同时下降的情况,因此可以观察到干扰现象。

在干扰检测部分,应用会检查最近 10 个历元的 C/N0 和 AGC 的平均值与之前的 50 个历元相比是否发生了变化。如果 C/N0 和 AGC 同时下降,这可能表明存在 GNSS 干扰。如果检测到这种情况,卡片会显示 FAIL 信息以及更多详细信息。

总结

目前小编只找到 一个基于 Android 的工具,使用起来还是比较简单,但其中涉及了大量的GPS相关的基础数学原理,理解起来还是有点吃力。即使看到原始数据了,像小编这种专业不精的人也一时看不出来什么来,还是一边搜索一边学。

在iOS平台上,目前似乎并没有开放出获取原始底层GPS信号信息的API,因此目前只能通过一些第三方工具来检测GPS干扰,比如:GPS Status、GNSS Monitor等,由于时间关系小编并没有测试,有需要的小伙伴可以自行尝试。

参考

  1. https://developer.android.com/develop/sensors-and-location/sensors/gnss-spoof-jam

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有下文

留言板(小编看到第一时间回复)