测距码是卫星导航的顶梁柱──GNSS导航信号的收发问题之三
2013-09-04武汉大学测绘学院刘基余
武汉大学测绘学院 刘基余
一、引言
GNSS是基于被动式定位原理而实现导航定位的,测量测量站至卫星距离(简称站星距离),是GNSS卫星导航的基石。GPS/GLONASS/Galileo/北斗卫星都采用伪随机噪声码做测距信号,人们习惯将它们所用的伪随机噪声码称为测距码;图1形象地表述了测距码用于测量站星距离的结果。此外,测距码还担负着承载卫星导航电文的作用;对于采用码分多址(CDMA)的导航卫星而言,测距码不仅用于承载卫星导航电文,而且用于为用户识别不同的卫星,便于GNSS导航信号接收机分别测量在视导航卫星。笔者在《GLONASS全球导航卫星系统及其得失点》(《数字通信世界》2011年专刊,P.50~55)和《Galileo全球导航卫星系统发展述评》(《数字通信世界》2012年第2期,P.66~72)两篇文章中,对GLONASS卫星和Galileo卫星所用的测距码分别作了简要介绍,此处不予赘述,仅以GPS信号为例,较详细地论述测距码的生成及其应用问题。
图1 测距码用于测量测站至卫星的距离
GPS星座的Block II/IIA/IIR/IIR-M卫星,只给GPS用户发送两个导航定位信号——L1/L2。但是,2005年9月26日发射的第一颗Block IIR-M(IIR-Modified)卫星,以及后续将发射的共8颗Block IIR-M卫星的第二导航定位信号(L2),增设一个新的民用伪噪声码——L2-C码;并在第一、二导航定位信号(L2)上各增设一个新的军用伪噪声码(M码);也即,GPS卫星的测距码由原来的三个(C/A,P,M)增加到五个。据披露,该新的军用伪噪声码为Mearth伪噪声码,而在第三导航定位信号上,增设另一个新的军用MHighPower伪噪声码。因此,Block IIR-M卫星的导航定位信号包括下述分量:第一导航信号(L1)的分量为C/A-L1载波、L1-C/A码、L1-P码、P-L1载波、L2-MHighPower码、MHighPower-L1载波和D码(导航电文);第二导航信号(L2)的分量为C-L2载波、L2-C码、L2-P码、P-L2载波、L-Mearth码、Mearth-L2载波和D码(导航电文)。于2010年8月1日发射的第一颗Block IIF卫星;它在BlockII/IIA/IIR/IIR-M卫星所发送导航定位信号的基础上又增加了一个新的GPS信号—— L5,以此形成了用3个GPS信号(L1,L2,L5)同时进行导航定位的新格局;目前已有4颗Block IIF卫星在轨运行。拟于2015年开始发射GPS III卫星,它们较之Block IIF卫星所发导航定位信号而言,在其第一导航定位信号(L1)上增加一个民用测距码——L1-C码,致使民间用户能够用GPS III卫星的3个GPS信号(L1,L2,L5)和4个民用测距码同时进行导航定位测量。
二、C/A码(Clear/Acquisition Code)
GPS卫星所用的C/A码是一种Gold组合码。正如《伪噪声码承载卫星导航电文的潜行器——GNSS导航信号的收发问题之二》一文(《数字通信世界》,2013年专刊,P.56~63)所述,Gold码的周期和速率与构成它的m序列是一致的;但是,改变两个m序列之间的相位关系,可以组合成一种新的Gold码,以致第j颗GPS卫星的C/A码为
式中,G1,G2构成C/A码的m序列;Nj为第j颗GPS卫星C/A码的两个m序列G1,G2之间的相位偏差系数,其值为正整数(0,1,2,…,37);以致不同的GPS卫星具有不同的C/A码,便于广大用户作导航定位测量时,识别GPS卫星,捕获和跟踪到所需GPS卫星的导航定位信号;τp为下述P码的码元宽度,且知τp=1/10.23MHz。
从式(1)可见,不同的GPS卫星,具有不同的C/A码;但是,它们的码率均为1.023MHz,它们的周期均为1ms;在一个C/A码周期内具有1023个码元,换言之,C/A码是由两个1023bits的m序列构成的,其发生器如图2所示。图中两个10级线性反馈移位寄存器的特征多项式分别为
图2 C/A码的生成框图
对PRN02卫星而言,采用第3,7级输出的模二和,故知PRN02卫星的C/A码为
图3 10级线性反馈移位寄存器变更输出模二和
按照表1中“变更模二和”所示的级名和式(3)的方法,可以获得不同GPS卫星的C/A码。由于G1,G2两个m序列均有1023个码元,G2的平移等价序列便多达1023个,加上不平移的G2与G1的组合,便可产生1024个周期为1ms和1023bits的C/A码;实际上只选用其中的37个C/A码。按照图3的结构,我们研制了相应的软件和硬件Gold码生成器,获得了千余种Gold码输出序列。为比较,从中选取了GPS卫星所用32种Gold码,且用其起始25个码元,列入表1;同时,给出一个完整的Gold码列序。由表列序列可见,我们完全能够获取所需要的Gold码。
表1 不同GPS卫星的C/A码
一个完整的Gold码列序(GPS卫星PRN01的C/A码):
C/A码的自相关系数等于它及其时延τ序列乘积的积分平均值,也即
式中,横线表示对时间的平均值;k为相位偏差系数,且知k=nj(10τp)。当时延τ=0时,C/A码的自相关系数
当时延τ≠0时,C/A码的自相关系数等于构成它的两个m序列的互相关系数,也即
图4表示了C/A码的自相关系数和线状频谱。C/A码的互相关系数等于两个C/A码序列乘积的积分平均值,也即
当时延τ=0时,C/A码的互相关系数为
当时延τ≠0时,C/A码的互相关系数等于它的自相关系数,即等于两个m序列的互相关系数,如式(7)所示。
图4 C/A码的自相关系数和频谱
如果两个C/A码具有多普勒频移和时间偏差,则其互相关系数(详见《导航星合球定位系统》(B.W帕金森等编著,测绘出版社,1983年7月,P.50~52)为
式中,ωd为多普勒频移的角频率。
综上可见,C/A码具有1000多个可用码型,能够给相应数量的卫星分配确定的各自独立的CA码;而且,所有C/A码均具有相同的1ms周期和1023个码元;后者可使GPS信号接收机仅以较短的时间(如20s)搜索和捕获到GPS卫星发送的C/A码,快速实现首次导航定位测量。
三、P码(Precision Code)
P码是由两个载波发送给GPS用户的另一个伪噪声码,它是一个具有2.35×1014个码元的特长序列,是美国军方严格控制使用的保密军用码。P码是由两个子码X1,X2构成的复合伪噪声码;每一颗GPS卫星采用各自不同的P码,其区别在于第二个子码X2存在一个相位偏差系数nj,其值为0至37的正整数(假设了一个不存在的零号卫星)。因此,第j颗GPS卫星的P码(其生成如图5所示)为
且规定,当子码X1的长度周期为15345000bits时,子码X2的最大长度周期则为15345037bits;因此,P码的最大长度周期为
P码的码率为10.23MHz,因此,其码元宽度τp=(1/10.23×106)s;P码的最大时间周期为
从上述可见,P码是一个长达2.35×1014个码元的伪噪声码,其时间周期达到266天多。为了捕获和跟踪到如此之长的P码,对它采用了下述两项措施:
图5 P码发生器的原理框图
(1)将P码的时间周期“截短”。每个星期日的子夜零点作为截短周期的起点,每个星期六的午夜24点作为截短周期的终点;也即P码的实用周期为7天,而每颗GPS卫星又具有不同的P码,如式(11)所示。
(2)采用分步捕获法。P码的时间周期虽被截短成为7天,但GPS信号接收机仍不易捕获到7天周期的“截短P码”,而采用了二步捕获法:首先捕获和跟踪到一个仅有1023个码元的C/A码,解译出它所传送的卫星导航电文;依据该电文的转换码(HOW)所提供的P码捕获信息(详见刘基余的《GPS卫星导航定位原理与方法》(北京科学出版社,2013年1月出版,§2.5),用户可以较快地捕获到截短周期为七天的P码,以便用P码进行导航定位测量。
实际上,P码的两个子码X1和X2也是一种复合伪噪声码,它们均由2个12级线性移位寄存器产生的m序列模二相加而成。对于子码X1而言,它的2个12级线性移位寄存器的特性多项式分别为
图6 子码X1的生成框图
对于子码X2而言,它的2个12级线性移位寄存器的特征多项式分别为
从上一节可知,12级线性移位寄存器所产生的m序列,具有(212-1)=4095个码元;二个12级线性移位寄存器所产生的m序列将构成16769025个码元的复合码;这不是所要求的15345000个码元的X1子码。因此,需要对12级线性移位寄存器所产生的m序列予以截短,截除1424025个码元,而由两个截短的m序列,构成需要的子码。
图7 子码X1在星期六午夜零点与10.23MHz时间基准源严格同步
表2 C/A码和P码的基本特性
图8 P码和C/A码的综合生成框图
四、伪噪声码的相位调制
GPS卫星采用了两种类型的伪噪声码:C/A码和P码,其目的是:
(1)给GPS用户传送导航电文(D码)。
(2)用作测量GPS信号接收天线和GPS卫星之间距离的测距信号。
(3)用于识别来自不同GPS卫星又同时到达GPS信号接收天线的GPS信号。
图9 伪噪声码的相位调制
为了传送导航电文,C/A码和P码分别与D码进行模二和,进而分别调制L波段的载波;换言之,GPS卫星所用的伪噪声码(C/A码和P码),是作为1575.42MHz(1227.60MHz)载波的调制波。当伪噪声码调制连续的载波时,导致载波相位的跳跃式变化;也即,每当伪噪声码从1变到0,或者从0变到1时,将导致载波相位跃变180°;也就是说,码元为0相应于码态为+1,称之为码常态(码的正常状态),码元为1相应于码态为-1,称之为码像态(码的镜像状态)。当载波乘以+1(码常态)时,载波无相位变化;当载波乘以-1(码像态)时,载波相位跃变180°,以此实现伪噪声码对载波的相位调制,其过程如图9所示。为了强化180°的相位跃变,图9中的E相位跃变列出了一种特殊情况,它恰好发生在载波从负周上升到正半圆的交接处(过零点);该图是从已调(载)波中摘出来的,但为了醒目,没有按图9中的波形绘出,而予以“放”了。GPS信号的广大用户,是利用图9中的D所示的已调波进行导航定位测量的。
图10 GPS第一导航定位信号的结构
值得注意的是,第一载波(L1,1575.42MHz)受到两种伪噪声码[C/A(t)D(t),P(t)D(t)]的调制,两者码率分别为1.023MHz和10.23MHz,且两者相互正交;图10表示了GPS第一导航定位信号的相位关系。第二载波(L2,1227.60MHz)只受到一种伪噪声码[P(t)D(t)]的调制。GPS第一导航定信号的功率频谱密度如图11所示;由该图可见,因P码具有2.35×1014码元而其功率较小,C/A码仅有1023个码元而其功率较大;这完全符合伪噪声码功谱密度随码长而减小的规律。为了比较,图12给出了GPS卫星导航电文(D码)的功率频谱密度。表3是GPS卫星位于天顶和高度角为5°时的GPS信号电平值,为了对dBW有明确了解,表4列出dBW,dBmW和W的对照值。
图11 GPS第一导航定位信号的功率频谱密度
表3 GPS卫星在两种高度角时的信号电平
图12 GPS卫星导航电文(D码)的功率频谱密度(90%的功率在主波瓣)
表4 功率电平换算表
表4举例:
例1,一个放大器输出功率为20W时,以dBW计,其输出为
例2,输入到一网络的功率为0.0004W,以dBmW的输入功率是
dBW是在计算较大信号功率(例如卫星通信中发射功率)时使用的绝对电平计量单位,它是以1W功率作为比较基准而求得的dBW值:
五、结束语
测距码是GNSS用于测量站星距离的伪噪声码;对于采用码分多址(CDMA)的导航卫星而言,测距码不仅用于承载卫星导航电文,而且用于为用户识别不同的卫星,便于GNSS导航信号接收机分别测量在视导航卫星。本文仅以GPS信号的测距码为例,较详细地论述了测距码的产生,并给出了用我们自行研制的软硬件生成的32颗GPS卫星C/A码起始25码元列表和一个1023个码元的C/A码实例,供读者做相关研究参考。
北斗卫星导航系统的导航信号(称之为BeiDou信号)提供两种测距码:I支路的普通测距码(C码)和Q支路的精密测距码(P码)。B1,B2频点的C码,是码长为2046码元的Gold码;它是由两个11级线性反馈移位寄存器生成的,其特征多项式分别为
这两个11级线性反馈移位寄存器,按照长度周期LP=211-1的法则,各生成2047bits的m序列G1(t)和G2(t),后者各被截短1bit,而变成2046bits的截短序列G1(t)和G2(t);其中的G2(t)序列经过平移等价序列形成电路(相位选择开关)后,再与G1(t)序列进行模二和,而生成C码。C码速率为2.046MHz,它的时间周期是1msec,也即,在C码的一个周期内有2046码元。G1序列的初始相位是:01010101010;G2序列的初始相位是:01010101010。通过对产生G2(t)序列的移位寄存器不同抽头的模二和可以实现G2(t)序列相位的不同偏移,与G1(t)序列模二和后可生成不同卫星的CB1I码。由此可见,本文对GPS测距码生成等方面的论述,也为较深入了解BeiDou信号提供了参考。
对于近年来GNSS开始应用的BOC信号,笔者已在《BOC调制打通共用载频的坦途》一文(《数字通信世界》2013年第8期,P.66~72)中作了较详细的论述,本文不予赘述。