3. 卫星信号结构与调制:载波频率、测距码、导航电文与BPSK/BOC

各位同学,今天我们来啃一块硬骨头——卫星信号的结构与调制。说实话,这块内容刚接触时容易觉得抽象,一堆频率、码序列、调制方式,看着就头大。但我要告诉你,这恰恰是GPS、北斗这些系统最核心的物理层秘密。搞懂了它,你才算真正入了卫星导航的门。

3.1 载波频率:信号在太空中的“运载火箭”

卫星向地面发信号,总不能直接喊“我在这儿”吧?它得把信息“驮”在一个高频波上,这个波就是载波。为什么用高频?因为高频信号穿透电离层能力强,而且带宽大,能装更多东西。

拿GPS来说,它用两个主要频段:L1(1575.42 MHz)和L2(1227.60 MHz)。北斗呢?有B1(1561.098 MHz)、B2(1207.14 MHz)、B3(1268.52 MHz)。你可能会问,为什么搞这么多频率?

我当年在参与一个高精度定位项目时,就吃过单频的亏。城市峡谷里,信号多径严重,单频根本消不掉误差。后来换成双频接收机,利用两个频率上电离层延迟不同的特性,直接把误差干掉一大半。所以,多频点是卫星导航的标配,不是为了炫技,是为了实用。

核心要点:载波频率决定了信号的传播特性和可用带宽。L波段(1-2 GHz)是卫星导航的黄金频段,兼顾穿透性和抗干扰。

3.2 测距码:C/A码与P码

测距码,说白了就是一把“尺子”。卫星发一串伪随机码,接收机本地也产生一模一样的码,通过比对两者的相位差,就能算出信号传播时间,进而得到距离。

3.2.1 C/A码(粗捕获码)

C/A码是民用码,码长1023个码片,码速率1.023 MHz,重复周期1毫秒。嗯,参数很枯燥,但你要知道它的特点:短、快、公开

  • :1023个码片,1毫秒就能捕获一次,适合快速定位。
  • 公开:全世界都能用,但精度有限(民用级)。
  • 抗干扰弱:因为码长短,容易被恶意干扰。

我记得有一次在野外测试,C/A码信号被附近一个电台的谐波干扰,接收机死活锁不住星。后来我换了个带预选滤波器的天线,才勉强搞定。所以,C/A码虽然好用,但别指望它在恶劣环境下还坚挺

3.2.2 P码(精密码)

P码是军用码,码速率10.23 MHz,是C/A码的10倍。码长极长(约2.35×10^14个码片),重复周期长达7天。说白了,P码就是一把“高精度尺子”,但只有授权用户能用。

我的经验:P码的捕获比C/A码难得多。因为码太长,接收机得先靠C/A码锁定卫星,再切换到P码。这就是所谓的“先粗后精”策略。你想想看,如果直接搜P码,7天的周期,搜到猴年马月?

3.3 导航电文结构:卫星在“说话”

测距码告诉你“距离是多少”,但你还得知道“卫星在哪儿”、“时间准不准”。这些信息就装在导航电文里。导航电文,就是卫星播报的“数据包”。

GPS的导航电文结构是这样的:

  • :一个超帧包含25帧,每帧1500比特,时长30秒。
  • 子帧:每帧5个子帧,每个子帧300比特,时长6秒。
  • :每个子帧10个字,每个字30比特。

内容上,子帧1-3播报卫星的星历(轨道参数),子帧4-5播报历书(所有卫星的粗略轨道)。星历精度高但更新快,历书精度低但管得久。

注意:导航电文的解码必须严格同步。我曾经调试一个接收机,发现定位结果总是跳变,查了三天,最后发现是电文帧同步头没对准,导致星历解析错位。嗯,这种坑,踩过一次就记住了。

3.4 BPSK与BOC调制技术

信号调好了码,编好了电文,怎么发射出去?这就需要调制技术。卫星导航里最常用的是BPSKBOC

3.4.1 BPSK(二进制相移键控)

BPSK是最基础的调制方式。它用载波的0°和180°相位分别代表二进制0和1。简单、可靠、容易实现。C/A码和P码都用的BPSK。

但BPSK有个问题:频谱效率不高。它的主瓣宽度是码速率的2倍。比如C/A码1.023 MHz,主瓣宽约2 MHz。这在频带拥挤的L波段,容易跟其他信号打架。

3.4.2 BOC(二进制偏移载波)

BOC是后来为了改善频谱共用而发明的。它把BPSK信号再跟一个方波子载波相乘,把频谱“劈”成两半,分别移到中心频率的两侧。

BOC的表示法:BOC(α, β),其中α是子载波频率与1.023 MHz的比值,β是码速率与1.023 MHz的比值。比如BOC(1,1),子载波1.023 MHz,码速率1.023 MHz。

BOC的好处:

  • 频谱分离:跟BPSK信号错开,减少干扰。
  • 抗多径更好:因为相关峰更尖锐。
  • 精度更高:同样的带宽下,BOC的测距精度优于BPSK。

我参与北斗B1C信号设计时,就用了BOC(1,1)调制。当时跟GPS的L1C信号做兼容性测试,发现BOC信号在互相关干扰上比BPSK好很多。说白了,BOC就是卫星导航里的“频谱整形大师”

3.5 知识体系总览

下面这张图,是我自己画的信号结构逻辑图。你看一遍,应该能把这些零散的知识串起来。

卫星信号结构总览 卫星 载波频率(L1/L2/B1/B2) 测距码(C/A码、P码) 导航电文(帧/子帧/字) BPSK调制 BOC调制 BPSK/BOC混合 接收机解调/解码

你看,从卫星发出信号,经过载波、测距码、导航电文三层封装,再通过BPSK或BOC调制到射频上,最后接收机反向操作,解调出距离和位置信息。每一步都环环相扣。

避坑指南:我曾经在写接收机捕获算法时,忽略了BOC信号的副峰问题。BOC的相关函数有多个峰值,如果直接取最大值,可能锁定到副峰上,导致测距误差几十米。后来我加了“副峰抑制”逻辑,才解决。所以,用BOC信号时,一定要处理副峰模糊度

3.6 小结

这一章我们聊了卫星信号的三个核心要素:载波频率(L1/L2/B1/B2)、测距码(C/A码和P码)、导航电文(帧结构)。最后介绍了两种调制方式:BPSK和BOC。说白了,卫星信号就是“码+电文”装在“载波”上,再用“调制”发射出去。接收机做的就是逆向工程。

下一章,我们会深入接收机内部,看看它是怎么从噪声里把信号捞出来的。嗯,那才是真正考验算法功底的地方。


公众号:蓝海资料掘金营,微信deep3321