第 7 章

信号之下的信号

洛杉矶航空航天公司那间会议室里的烟灰缸已经满了三次。桌上摊着计算机打印纸,密密麻麻的波形图边角卷起。二十多人围坐在长桌两侧,来自空军、海军和几家承包商,领口松开,咖啡杯见底。争论从早上九点开始,到下午两点还没有停下来的迹象。焦点只有一个:GPS卫星应该用什么方式向地面发射信号。

一个年轻工程师站起来,走到黑板前。他叫罗伯特·戈尔丁,来自罗克韦尔国际公司。他没有讲理论。他画了两条线。

第一条线是一个简单的正弦波——平滑、规整,教科书里最标准的波形。第二条线是一串剧烈跳动的波形,振幅忽高忽低,没有任何肉眼可辨的规律。戈尔丁转过身,向会议室里的人提出了一个问题,大意是:第一条线,苏联人用一个小功率干扰机就能盖住;第二条线,同样的干扰功率打上去,接收机仍然能从中提取出有用信息。

这个场景之所以值得被记住,不是因为戈尔丁当场说服了所有人——事实上,那天下午的争论更加激烈——而是因为他画出的那串杂乱波形,就是后来每颗GPS卫星向地面广播的信号原型。它的正式名称叫伪随机噪声码。

我们今天打开手机地图,看到蓝色光点安静地落在街道网格上,很难意识到这个光点的背后是一场持续了二十年的信号设计战争。GPS卫星向地面广播的,并非直接说出“你在这里”,而是一段看似单调的伪随机噪声码。这段信号的结构,决定了这个系统从诞生第一天起就携带的双重性格:它必须足够脆弱,脆弱到只相当于一盏车灯从两万公里外照到地球;又必须足够精密,精密到你的手机能从比背景噪声还微弱一百倍的信号里,提取出十亿分之一秒级别的时间标签。

要理解这种矛盾从何而来,需要回到1970年代的美国国防部采购会议室。在那里,“军用需求”不是一句抽象的原则,而是具体到每一个波形参数的技术指标。而这些指标中最关键的一条,是抗干扰能力。

核战争条件下的生存性考量,塑造了GPS信号的一切。如果你在1960年代设计一套卫星导航系统,最简单的方案是让每颗卫星轮流广播一个强信号——就像广播电台各自占用一个频率,听众调台收听。子午仪系统就是这么做的。它的卫星在150兆赫和400兆赫两个频率上发射信号,地面站按顺序追踪每一颗过顶的卫星。这个方案在和平时期完全够用。

但在五角大楼的推演室里,一个问题让所有人沉默了:如果苏联人在这些频率上施放干扰呢?窄带信号就像一个站在空旷广场上大声报数的人。你听得很清楚,但别人也可以用一个更大的喇叭盖过他的声音。

而扩频信号——把信息分散到很宽的频率范围上传输——就像让同一个人同时在广场的每个角落用不同的音调说话。你知道他使用的音调序列,所以你能从嘈杂中拼出他的意思;但对于不知道序列的人来说,这些声音只是背景噪音的一部分。这种思路在当时并非GPS首创。

早在1940年代,好莱坞女演员海蒂·拉玛和作曲家乔治·安太尔就申请了一项专利:通过不断跳变频率来控制鱼雷,让敌方无法干扰。但将扩频技术从点对点通信扩展到全球导航系统,需要解决的工程问题远比跳频复杂得多。卫星在天上高速运动,信号穿过电离层和对流层时会产生延迟和畸变,接收机必须从一段看似随机的波形中精确地找出信号发射的起始时刻——这一切都必须在比背景噪声还微弱的功率水平上完成。

1973年,国防部正式批准GPS项目时,信号设计方案还远未定型。两个根本性的选择摆在工程师面前:频分多址还是码分多址。频分多址的方案很直观:每颗卫星分配一个独立的频率,接收机通过调谐到不同频率来区分不同卫星。苏联后来的格洛纳斯系统就采用了这个方案。它的好处是技术成熟,接收机设计相对简单。但问题也很致命:在L波段——也就是GPS计划使用的1到2吉赫兹频段——可用的频率资源极其有限。要容纳二十四颗卫星各自占用一个独立频点,频谱分配本身就是一场噩梦。

更麻烦的是,频分多址的抗干扰能力差。一个窄带干扰源只要对准某颗卫星的频率发射,就能轻易压制那颗卫星的信号。

码分多址方案则完全不同。它让所有卫星在同一频率上同时广播,仅凭不同的伪随机码来区分彼此。这就像在一个嘈杂的房间里,所有人同时说话,但你只听得懂和你约定好暗号的那个人。其他声音对你来说只是背景噪音的一部分。

这个方案的优势是多重的。首先是抗干扰能力:因为所有卫星共享同一个宽频带,干扰机无法针对某一个特定频率施放窄带干扰——它要么干扰整个频段,这需要巨大的功率,要么对任何一颗卫星都形不成有效压制。其次是频谱利用率:二十四颗卫星挤占同一个频段,而不是瓜分二十四个独立频点,这对当时已经拥挤不堪的L波段来说意义重大。第三是自主运行能力:因为不需要地面控制中心为每颗卫星分配频率,整套系统可以在战时脱离地面支持独立工作——这正是核战争条件下最核心的生存性要求。

但码分多址也有一个巨大的缺点:它要求接收机内部产生一套与卫星完全同步的伪随机码,然后通过比对来提取信号。这个同步过程的计算量远比简单调谐一个频率大得多。在1970年代的微处理器水平下,这意味着接收机的成本和复杂度会显著增加。

1977年秋天的那次评审会上,争论的焦点就在这里。空军代表担心复杂的接收机会增加采购成本、降低战场可靠性。海军代表则更关心抗干扰能力——他们的舰艇可能要在苏联沿海的强电磁干扰环境下作战。承包商们各怀心思:有的已经在频分多址方案上投入了大量前期研发,转向码分多址意味着推倒重来。

戈尔丁画在黑板上的两条线没有当场结束争论,但它们把问题以一种无可回避的方式摆上了台面。窄带信号在干扰下的脆弱性不是理论推演,而是越南战争期间美军已经反复遭遇的现实。北越军队使用的苏制干扰设备虽然简陋,但足以在某些频段上让美军的通信和导航陷入混乱。

如果GPS——这套被寄予厚望的新一代全球导航系统——从一开始就选择了一个会被简单干扰机轻易压制的信号体制,那么所有关于精度的追求都将毫无意义。

决策在1978年初最终做出:GPS将采用码分多址体制。所有卫星在L1频率和L2频率上同时广播,每颗卫星分配一组独一无二的伪随机噪声码。接收机通过本地生成相同的码序列并与接收信号进行相关运算,从噪声中提取出特定卫星的信号。

这个决策的后果远比当时任何与会者意识到的更为深远。因为选择了码分多址,GPS的信号结构天然分成两个层次:粗捕获码和精密码。粗捕获码——后来被称为C/A码——以1.023兆比特每秒的速率广播,每1023个码片重复一次。它的码元宽度约为一微秒,对应约300米的距离分辨率。精密码——后来被称为P码——以10.23兆比特每秒的速率广播,码元宽度只有C/A码的十分之一,对应约30米的距离分辨率。

更关键的是,P码的周期长达一周,这意味着它不可能被简单地预测和复制。

这种双层结构为后来的一切埋下了伏笔。C/A码从一开始就被设计为公开但精度受限的信号。它的码序列是公开的,任何民用接收机都可以生成同样的序列来进行相关接收。但它的码率较低,意味着测距精度天然受限。P码则完全不同:它的码率更高,精度更好,而且设计者从一开始就保留了对其加密的能力。通过将P码与一个保密的W码进行模二加运算,P码可以随时被转换为Y码——一种只有军用接收机才能解算的加密信号。

这就是选择可用性的技术根源。它不是后来才加入的补丁,而是从信号设计之初就嵌入系统基因中的双重性格。军方代表在1970年代的评审会上坚持保留关闭民用信号的能力时,他们要求的并不是一个简单的开关——那个开关就写在C/A码和P码的码率差异里,写在伪随机噪声码的数学结构里。

但工程师们同时也在这种双重性格中埋下了另一种可能性。因为C/A码和P码在同一频率上广播,它们共享同一个载波。这意味着即使你无法解算P码,你仍然可以测量载波本身的相位变化。

载波相位测量的精度远高于码相位测量——这不再是数整块的砖头,而是去量砖头上细微的纹路。L1频率的载波波长约为19厘米,如果能测量到百分之一波长的相位变化,理论精度就可以达到毫米级。这种可能性在1970年代还只是理论推导中的一行公式。但它在信号结构中已经悄然存在,等待着后来的接收机技术将它变为现实。

让我们回到信号本身。当一颗GPS卫星在距地面两万公里的轨道上广播时,它发出的电磁波到达你的手机天线时,功率大约只有负130dBm——这个数字意味着它比一部手机接收基站信号的最低灵敏度还要低一百倍,比背景热噪声的功率还要弱二十倍。用更直观的方式说:这相当于从纽约发射一盏车灯,在洛杉矶接收——而且中间还隔着整个北美大陆的大气层。接收机如何从这样的信号中提取出有用的信息?答案就在伪随机噪声码的数学特性里。

伪随机噪声码之所以被称为伪随机,是因为它看起来像随机噪声——比特流在0和1之间以看似无规律的方式跳变——但实际上它是由一个确定的数学算法生成的。GPS的C/A码使用了一种称为戈尔德码的序列,由两个10位线性反馈移位寄存器产生。这个序列具有良好的自相关特性:当两个相同的序列在时间上完全对齐时,它们的乘积积分达到最大值;当它们错开哪怕一个码片时,积分值几乎为零。

接收机利用的就是这个特性。它在内部生成与卫星完全相同的伪随机码序列,然后不断滑动这个本地序列的时间轴,直到与接收到的信号产生最大相关峰。这个过程称为相干检测。一旦锁定相关峰,接收机就知道了两件事:这颗卫星的身份——因为每颗卫星的码序列是唯一的——以及信号的精确发射时间——因为码序列的相位与卫星时钟严格同步。

正是这个码相位测量的过程,将一段看似单调的伪随机噪声码转化为了距离信息。接收机测出信号的到达时间,乘以光速,就得到了它与卫星之间的距离——至少是原理上的距离。

实际上,接收机的时钟与卫星的原子钟之间存在未知偏差,所以这个距离包含了时钟误差的贡献,被称为伪距。需要至少四颗卫星的伪距测量才能同时解算出三维位置和时钟偏差。这就是GPS定位的全部秘密:不是卫星在告诉你你在这里,而是你的接收机在听几段不同的伪随机噪声码,测量它们各自到达的精确时刻,然后自己算出自己的位置。

这个过程的精妙之处在于,它把抗干扰能力和测距精度统一在了同一个信号结构里。扩频增益——将信号能量分散到宽频带上带来的处理增益——使得接收机能够从比背景噪声还微弱的信号中提取信息。而伪随机码的尖锐自相关峰,则为精确测量信号到达时间提供了天然的刻度标记。军方的抗干扰需求与民用的测距精度需求,在伪随机噪声码的数学结构里达成了妥协——或者说,它们根本就是同一枚硬币的两面。

但这种妥协是有代价的。C/A码1.023兆比特每秒的码率意味着每个码片的持续时间约为一微秒,对应的距离分辨率约为300米。北斗系统也使用了无源时间测距技术,用户接收至少4颗导航卫星发出的信号,根据时间信息可获得距离信息,根据三球交汇的原理,用户终端自行可以自行计算其空间位置。

在实际接收机中,通过精细的码环跟踪可以将码相位测量精度提高到码片宽度的百分之一左右,也就是约3米。这就是民用GPS在标准模式下的理论精度极限——在没有选择可用性人为劣化的情况下。P码的码率是C/A码的十倍,每个码片宽度约0.1微秒,对应约30米的距离分辨率,跟踪精度可达0.3米左右。而Y码——加密后的P码——将这个精度只留给拥有解密密钥的军用接收机。

这种设计在1970年代的语境下完全合理:军方为整套系统的研发和部署投入了巨额资金,承担了技术风险和战略责任,自然要求获得更好的服务作为回报。民用市场在当时还只是一个模糊的想象——没有人预见到三十年后每一部手机里都会装进一个GPS芯片,更没有人预见到基于位置的服务会催生出万亿美元级别的产业生态。

但在1978年第一颗GPS试验卫星发射前的那次设计评审会上,已经有人隐约感到了不安。一位来自麻省理工学院德雷珀实验室的工程师在会后写下了一份备忘录。

这份备忘录在二十年后被解密,其中有一段话读起来几乎像是预言。他指出,如果选择了一种让民用接收机永远无法达到军用精度的信号结构,可能同时也选择了让这套系统永远无法充分发挥其经济潜力。历史经验表明,开放标准往往会创造出比封闭标准大得多的市场——而更大的市场意味着更低的成本和更快的技术进步,最终也会惠及军事用户。

这份备忘录在当时没有改变任何决策。选择可用性被写入了GPS的信号结构。C/A码被明确定义为标准定位服务——精度受限、不保证可用、军方保留随时劣化或关闭的权利。P码被定义为精密定位服务——加密后成为Y码,仅供授权用户使用。

但备忘录的作者说对了一件事:开放标准的力量。因为C/A码的序列是公开的,任何人都可以制造接收机来接收它。1980年代后期,随着微处理器成本的大幅下降,民用GPS接收机市场开始萌芽。Trimble Navigation在1984年推出了第一款商用GPS接收机,重达25公斤,售价超过十万美元。

到了1990年,民用接收机的销量已经超过了军用接收机——尽管军方仍然是最大的单一客户。民用市场的爆炸性增长反过来推动了接收机技术的进步。更快的芯片、更灵敏的天线、更高效的算法——这些技术进步同时惠及了军用和民用领域。到1990年代末,一台几百美元的民用手持GPS接收机的灵敏度已经超过了1980年代价值十万美元的军用设备。

这种军民技术的双向流动,正是那个备忘录作者在1978年隐约预见到的图景。GPS的信号结构——那个在军方需求和工程现实之间艰难妥协的产物——意外地成为了一个军民融合的技术平台。C/A码的开放性为整个产业生态提供了基石;而P/Y码的存在则为军方保留了在必要时独享高精度服务的能力。

但这种双重性格也留下了软肋。因为C/A码是公开的、未加密的、以固定格式广播的,任何人都可以生成一段看起来像C/A码的信号。只要功率足够大,欺骗者可以让接收机相信自己在另一个位置、另一个时间。

这与干扰完全不同:干扰是用噪音盖住真信号,让接收机无法工作;欺骗是伪造一个以假乱真的信号,让接收机心甘情愿地上当。

欺骗攻击的可能性从GPS信号结构确定的那一天起就已经存在了。它不是一个后来才发现的安全漏洞——它是码分多址体制的一个内在属性。在1970年代的设计讨论中,这个问题被提出过,但被认为风险可控:实施欺骗攻击需要知道C/A码的结构,这确实是公开的;需要精确模拟卫星信号的各项参数,这在当时需要相当复杂的技术能力;而且军用接收机可以通过使用加密的P/Y码来免疫欺骗。

但设计者们没有预见到的是,三十年后的技术发展会让欺骗攻击的门槛大幅降低。软件无线电的出现使得用一台几百美元的设备生成逼真的GPS欺骗信号成为可能。而整个现代经济体系对GPS授时信号的深度依赖——从电网同步到金融交易时间戳——意味着一次成功的欺骗攻击可能造成的损失远超设计者当年的想象。这就是为什么理解GPS的信号结构如此重要。

它不是一段枯燥的技术规范,而是理解一切后续演变的钥匙。从选择可用性的兴废到差分技术的崛起,从北斗伽利略的信号设计到现代欺骗攻防的技术竞赛——所有这些故事的根源,都可以追溯到1977年秋天那间会议室里画在黑板上的两条线。那两条线里藏着一种深刻的洞察:信号的形态决定了系统的命运。

选择了一个抗干扰但复杂的信号体制,就意味着选择了更高的接收机成本但也更广阔的抗干扰前景;选择了公开但精度受限的民用信号,就意味着既培育了一个庞大产业又留下了一个系统性的安全软肋;选择了码分多址而不是频分多址,就意味着所有卫星的信号在同一个频率上交织在一起——这既创造了频谱利用率的优势,也创造了欺骗攻击的独特风险。

当你的手机屏幕上那个蓝色光点安静地闪烁时,它正在接收的不是一段简单的坐标广播,而是一组精心设计的伪随机噪声码。这些码序列是四十年前一群工程师在军方需求和工程现实之间反复权衡后选定的一串数字。

它们看起来像是随机的噪声——在示波器上只是一团杂乱跳动的波形——但它们的数学结构里嵌入了冷战时期最严苛的抗干扰要求、军方对精度特权的坚持、以及一种向未来开放的可能性。那个可能性在1977年还只是德雷珀实验室备忘录里的一段推测。但到了2020年6月,当中国完成北斗全球卫星导航系统星座部署时——北斗同样选择了码分多址技术,在L波段和S波段发送导航信号——那个推测已经变成了全球性的技术现实。四十年间,从GPS到格洛纳斯再到北斗和伽利略,世界主要导航卫星系统无一例外地选择了某种形式的扩频码分多址信号结构。1977年那间会议室里的决策,最终定义了整个全球卫星导航的技术路线。

戈尔丁画下的那两条线没有名字。它们只是两串波形:一串简单而脆弱,一串复杂而坚韧。但在那两串波形之间做出的选择,最终塑造了一套维系着全球数字文明日常运转的信号系统——一套从核战争的阴影中诞生、却最终成为和平时期经济基础设施骨干的信号系统。

北斗系统的官方名称以北斗七星命名,这是中国古代天文学家给大熊座最明亮的七颗星的命名。历史上,人们利用这七颗星来找到北极星以确定方向。因此,“北斗”这个名称隐含了这个卫星导航系统的目的。

它的脆弱性和它的精密度来自同一个源头:那段看似随机的、比背景噪声还微弱一百倍的、以光速从两万公里外传回地球的伪随机噪声码。而这段信号的设计者们在1970年代做出的每一个选择——关于码率、关于加密、关于开放与封闭的边界——至今仍然刻在每一部手机接收到的每一次定位请求里,安静地决定着谁能看见什么、谁被允许精确到何种程度。