gps的测距码共有两种,分别是C/A码(粗码)和P码(精码),皆属伪随机噪声码。
一、伪随机噪声码
(一)码的基本概念
为了表达各种不同信息,在现代数字通信中,广泛采用二进制数及其组合。这种表达不同信息的二进制数组合,就称为码(code)。将文字,图像、声音等信息,按照一定规则,表示为二进制数组合,这个过程叫编码(coding)。
一位二进制数称为一个比特(bit)或一个码元。在信息传播的过程中,每秒传输的比特数称为比特率,单位是bit/s,或者用BPS(Bit Per Second)表示。
(二)随机噪声码及其自相关性
码是一组二进制数组合的数字序列,它可以表达为取值0或1的时间的函数u(t)。如果假设一组码序列u(t),对于任何时刻来说,码元为0或1完全是随机的,概率均为1/2。这种完全无规律的码序列就称为随机噪声码(Random Noice)。这种不可复制的,非周期性的码序列具有良好的自相关性。
为了说明随机噪声码的自相关性,现将随机码序列平移k个码元,由此获得一个新的随机序列。如果在两个码序列对应码元中,相同的码元个数为Au,不同的码元个数为Bu,则随机码序列的自相关系数(related function)R(t)为
显然,当k=0时,也就是不平移时,这时相应的码元完全对齐,即Bu=0,R(t)=1;当k≠0时,如果码元数充分大,便有Au≈Bu,这时R(t)≈0。由此可知,只要观察自相关系数R(t)的取值,即可判断两个随机码序列是否已经对齐。
根据以上论述,假如GPS卫星发射一组随机噪声序列,而与此同时GPS接收机也复制出一组结构与之完全相同的随机噪声序列。由于信号在传播路径上的时间延迟(time delays),两组随机噪声序列与之间产生平移,假设错开了k个码元,这时R(t)≈0。如果通过一个延迟器调整,使之与完全对齐,相关系数达到最大,即R(t)=1,这时就可以根据平移量k推算信号在传播路径上耗费的时间,进而转化为GPS卫星到测站的距离。这就是GPS测距码实现测距的基本原理。
(三)伪随机噪声码及其产生
实际应用中的测距码并不是随机噪声码,而是伪随机噪声码(PRN-Pseudo Random Noice),简称伪随机码。伪随机码具有某种确定的编码规则,存在周期性,可以很方便的复制。同时,它还具有类似于随机噪声码的较好的自相关性。
伪随机码的产生,一般由一种叫“反馈移位寄存器”(feedback shift register)的装置来操控。如上图所示,这是一个四级反馈移位寄存器,当一个钟脉冲进入寄存器以后,该移位寄存器每个存储单元的内容,都依次转移到下一个存储单元,最后一个单元的内容就成为输出码元。例如,寄存器开始工作时,由置1脉冲的作用,所有存储单元的内容全部为1。此后,在钟脉冲的作用下,存储单元1的内容传递给存储单元2,与此同时,存储单元3和寄存储单元4的内容作模二相加(modulo-2 sum),其结果作为输入,反馈给在存储单元1。存储单元2的内容传递给存储单元3,存储单元3的内容传递给存储单元4,存储单元4的内容输出。此后,在钟脉冲的驱动下,由于存储单元不能全部为0,因此寄存器将经历15种不同状态。于是该伪随机码序列将包含15个码元,其分布如下表所示。
当然,码序列的产生也可以选择其它的反馈方式,以上介绍的是④⊕③的反馈方式,还可以是①⊕④等其他方式。一般说来,对于一个r级反馈移位寄存器来说,它可能经历的状态有
Nu是码序列的长度,如果每个钟脉冲的时间周期为tu,则该码序列的最大周期为
以上所举的例子r=4,属于周期较短的伪码。在GPS测距这样的应用中,为了保证测量精度还需要周期更长,结构更复杂的伪随机噪声码。
二、C/A码和P码
C/A码和P码作为GPS的测距码,其码序列的结构和规律都比较复杂,这里不作详细介绍,只简单说明这两种测距码的性质和基本特点
(一)C/A码
C/A码是由两个十级反馈移位寄存器的输出信号相组合而产生。
经过不同的组合计算,产生结构相异的C/A码,不同的GPS卫星使用不同的C/A码。这些C/A码虽然结构不同,但基本特征参数是一致的。
码长Nu=210-1=1023码元
码元周期tu≈0.97752μs(相应距离为293.1m)
周期Tu=1ms
数码率=1.023Mbit/s
由于C/A码的码长较短,容易捕获,且能通过C/A码提供的信息方便地捕获P码,故C/A码又称捕获码。
C/A码的码元宽度(码元周期或相应距离)较大,假如码序列的对齐误差为码元宽度的1/100,则相应的测距误差为2.9m。
(二)P(Y)码
P码产生的基本原理与C/A码相似,它的发生电路,是由两个十二级反馈移位寄存器构成。在频率f2=f0=10.23MHz钟脉冲的驱动下,这两个寄存器产生的两组码序列X1(t)和X2(t),这两组码序列X1(t)和X2(t)模二相加形成P码。即
X(t)=X1(t)X2i [t-itu]
其中,i为1到37之间的一个整数,tu表示P码元周期,这样就产生37个互异的P码相位。其中32个分给不同的卫星使用,5个部分给地面监控系统使用。
码长Nu≈2.35×1014码元
码元周期tu≈0.097752μs(相应距离为29.3m)
周期Tu≈267天
数码率=10.23Mbit/s
P码的频率更高,码元单位周期较小,假如码序列的对齐误差为码元宽度的1/100,则相应的测距误差为0.29m。这个误差仅为C/A码的1/10,故P码又称精码。