一颗GPS卫星的发射功率大约相当于家用灯泡,距离地球两万公里。当信号到达地球时,大约比热噪声底低50分贝——比周围的静电弱十万倍——因此看起来不可能被接收,一个任何人都能使用的导航系统本不该工作。然而信号无处不在,无论天气如何、高度多少,飞机上地图应用依然能工作。

GPS用一个技巧解决了这个问题。每颗卫星将其50比特/秒的慢速数据流混合到一个快速伪随机C/A码中,该码每秒重复一千次,而接收器已经知道这个码:公开的IS-GPS-200L规范表3-I列出了每颗卫星的码片序列。生成本地副本并与输入噪声进行相关处理,使随机噪声平均为零,而真实信号累积起来,从静电中提取出微弱信号。不同卫星使用不同码——码分多址——因此约三十颗卫星可以共享一个频段。

因为民用码是公开的,卫星只是广播,发送后不管,没有人能对访问收费、撤销听众甚至知道谁在收听。这种组合——物理上可接收的微弱信号且没有收费关卡——使原本设计为军用接收器低分辨率垫脚石的C/A码成为大多数民用GPS的基础;更精确的军用P码仅靠其序列的保密性保护,而不是靠经济手段。

公开民用码:任何接收器都能从噪声中相关出微弱信号,免费

将接收到的静电与本地已知码副本相关,噪声平均为零而信号累积,将低于噪声底50分贝的广播提升到可听度。

规范是公开的:IS-GPS-200L列出了每颗卫星的C/A码片序列,因此构建接收器不需要逆向工程、许可或付费。

发送后不管的广播没有计量点——没有订阅、授权或知道谁在听的方式——因此没有收费关卡来阻止采用。

每秒50比特的数据速率下是每秒100万码片的高速码,保持已知序列稳定足够长时间以便锁定,这使微弱的民用频道能承载可用的导航消息。

当密钥是公开知识而非许可时,开放格式会成倍增长:没有收费和许可意味着每个制造商都能基于它构建,标准成为基础设施。

开放信号使GPS成为默认定位工具:约三十颗卫星服务整个地球,文章提到超过一半的世界人口从未在没有GPS的环境下生活过。接口规范一直公开——IS-GPS-200L表3-I仍列出每颗卫星的码——因此接收器始终可以从零构建。爱好者现在正是这样做的:Phillip Tennen的软件定义GPS接收器系列在2024年4月Hacker News上获得552分和128条评论,将GPS视为任何人都可以收听的公共广播。

从这里,追溯依据

参考来源

  1. Building a GPS Receiver, Part 1: Hearing Whispers axleos.com
  2. Building a GPS Receiver, Part 1: Hearing Whispers (Hacker News discussion) news.ycombinator.com