GNSS接收机中载波和伪码NCO的设计
2011-03-08吴兴存殷雪明
吴兴存,何 谦,殷雪明,杨 恒
(中国卫星海上测控部,江苏 江阴 214431)
1 引 言
伴随着全球导航定位系统的全面升级和发展,卫星导航接收机也呈现出新的发展特点,主要有两个方面:一是提高接收机的抗干扰性;二是发展软件接收机技术,提高接收机的兼容性和互操作性[1]。研究发现,可配置导航信号处理技术是一个解决多种卫星导航系统兼容问题的有效的研究方向。所谓可配置,就是进行导航信号处理的数字逻辑或软件算法可根据不同系统的导航信号特征进行灵活配置,实现多系统兼容的目的。而研究可配置导航信号处理通道的目的是探索高兼容性的导航信号处理技术,这种兼容性主要表现在两个方面:一是兼容不同导航信号,即该可配置的导航信号处理通道可用于GPS、GLONASS、GALILEO 和“北斗”二代等不同卫星导航定位系统的不同导航信号的处理;二是兼容不同的导航信号射频处理电路,指的是该可配置导航信号处理通道可与大多数的导航信号射频处理电路配合工作,更换射频电路时修改通道的配置参数即可。本文以解决兼容不同导航信号为目的对可配置导航信号处理通道中关于载波数控振荡器(Numerically Controlled Oscillator,NCO)和伪码NCO的设计进行研究,为进一步开发“北斗”二代导航系统兼容的接收机打下良好的基础。
2 可配置导航信号处理通道结构
可配置导航信号处理通道的高兼容性是通过对各种工作参数进行可重新配置来实现的。在可配置的导航信号处理通道中,关键部件如载波NCO、伪码NCO和本地码发生器都可通过重新配置以适应不同的需求。图1所示就是可配置的导航信号处理通道基本结构,与一般的单一导航信号处理通道[2]不同的是,该导航信号处理通道在控制寄存器文件的基础上还多出了一组配置寄存器文件,这些配置寄存器文件用于载波NCO、伪码NCO和本地码发生器的配置,通过对配置寄存器文件的设置,载波NCO和伪码NCO都可具有不同的中心频率,适应不同频率的驱动时钟,而本地码发生器则可输出不同类型的伪码如GPS信号的C/A码、GLONASS L1信号的C/A码、GALILEO E5信号的伪码和“北斗”二代B1(B2)信号的伪码等。
因此,可配置导航信号处理通道的关键技术就在载波NCO的可配置、伪码NCO的可配置和本地码发生器的可配置,这三点正是可配置的导航信号处理通道设计的主要问题。由于篇幅所限,本文只对载波和伪码NCO的可配置技术进行研究。
图1 可配置的导航信号处理通道基本结构Fig.1 The basic structure of the configurable navigation signal processing channel
3 可配置载波NCO设计
可配置载波NCO的主要参数有中心频率、频率调节范围、频率调节粒度、驱动时钟周期、载波周期相位点数和数字波形幅度位数。其中,中心频率与导航信号的理论数字中频信号的载波频率一致;而频率调节范围则覆盖导航信号载波多普勒频移所能达到的范围;频率调节粒度指载波NCO的最小频率调节步长;驱动时钟周期是载波NCO的基准参考时间。
3.1 可配置载波NCO设计参数的确定
可配置载波NCO的基本框架如图2所示,其中心频率和驱动时钟周期这两个输入信号由导航信号处理通道中配置寄存器文件提供,用于设定载波NCO的中心频率值和驱动时钟的周期;频率偏移量这个输入值则由可配置的导航信号处理通道中的控制寄存器文件提供,用于在电路工作时对载波NCO的实际输出频率进行动态调节,使其与导航信号的载波频率同步;而相位点数输入端用虚线框表示,原因就是该值其实是一个预设的固定值,表示单个载波周期内划分的相位点个数。
图2 可配置载波NCO的基本框架Fig.2 The basic framework of configurable carrier NCO
本文设计可用于实际工作的载波NCO,为了保证载波NCO的兼容性,对中心频率设置范围、频率调节范围、频率调节粒度和驱动时钟周期4个参数进行了详细的研究,最后确定的参数及依据如下。
(1)中心频率设置范围
载波NCO的中心频率主要由卫星射频信号处理电路所输出的中频信号载波频率所决定。同时,载波NCO的中心频率设置范围应尽可能覆盖各种射频芯片的中频信号载波频率。射频信号处理电路输出的中频信号载波频率一般约为伪码速率的4倍。由GPS、GLONASS 、GALILEO 及“北斗”二代[3]的导航信号结构可知,以GPS P码、GALILEO E5和“北斗”二代B2(B3)信号码速率最高,为10.23 Mchip/s,故确定本文的载波NCO的频率设置范围为0~40.96MHz。在实现载波NCO时,中心频率设定值需一个26 bit的寄存器保存,故实际的中心频率设置范围为0~67.108864MHz,频率设置的粒度为1 Hz。
(2)频率调节范围
频率调节范围由两方面的因素决定,一是载波多普勒频移,二是射频信号处理电路中参考时钟的误差。其中,多普勒频移在卫星与接收设备相对运动速度为6000 m/s、载波频率为1.6GHz时约为±32 KHz。为了覆盖可能的频偏,参考时钟(对于1.2~1.6 GHz的本地振荡器频率,稳定度为±1×10-5ppm的参考时钟)引入的中频信号载波频率不确定度为±16 kHz。综合上面两个因素,确定频率的可调节范围为±48 KHz,应该可以覆盖中频信号载波频率所能达到的范围。
(3)频率调节粒度
频率调节粒度的选择需要满足最高的精度要求,为保证载波NCO频率的精度,要求频率调节粒度为几兆赫到几十兆赫。本文载波NCO性能是首位的,故频率调节粒度设计为1 MHz。具体实现时,频率调节粒度与频率调节范围的设定共用一个寄存器,寄存器位数为27 bit,在频率调节粒度为1MHz下,频率覆盖范围为±67.108864 KHz,从而进一步扩大了频率调节范围。
(4)驱动时钟周期
驱动时钟周期是载波NCO的基准参考时间,载波NCO输出的数字载波信号频率精度就是由它决定的。对于导航信号处理通道,载波NCO的驱动时钟一般就是导航信号处理通道对输入的数字中频信号进行采样的时钟,为了兼容所有的导航信号,采样频率最低都在2 MHz以上,从而确定驱动时钟周期的变化范围为0~500 ns;有时驱动时钟周期长度并不是整数纳秒,为保证精度,驱动时钟周期的精度设定为10-5ns,为了进行0~500 ns范围内的驱动时钟周期设置,需要用到一个26 bit的寄存器,则实际驱动时钟周期可设置的范围为0~671.08864 ns,这样的参数配置足以满足要求。
单周期相位点数及输出幅度位数的确定则比较简单。单周期相位点数一般设为8,这是现有的导航信号处理通道普遍采用的方案[4],本文的载波NCO也采用这种方案。输出幅度位数在导航信号处理通道的设计中采用较多的方案有两种:一种是用两位二进制码表示输出幅度,具体幅度为±1、±2这4个值;另一种是用3位二进制码表示输出幅度,具体幅度为0、±2、±3这5个值。由于三位二进制码表示的输出信号幅度精度更高,本文中载波NCO的输出信号幅度将用3位二进制补码表示。
3.2 载波NCO设计
本文设计的可配置载波NCO的基本结构如图3所示,分三大功能块:一是载波NCO的寄存器读写功能块,负责对载波NCO的中心频率、驱动时钟周期的配置,对频率偏移量的控制,同时也负责对载波NCO的状态进行监视;二是载波相位增量计算及累积功能块,负责计算当前驱动时钟周期内的载波相位增加值及其与历史累积相位值求和后的新累积相位值,并用相位点变化量和累积相位点来表示;三是载波波形输出功能块,主要包含sin函数映射表及cos函数映射逻辑,其中cos函数映射逻辑负责对当前的累积相位点值进行π/4相移,将与sin函数值对应的累积相位点值变换成对应于cos函数映射值的累积相位点;功能块输出的就是与当前累积相位点对应的sin和cos函数映射值。测试结果表明,该载波NCO符合上文提出的各种设计参数,因此能兼容不同的射频信号处理电路,处理不同的导航信号,可直接用到可配置导航信号处理通道中。
图3 可配置载波NCO的结构Fig.3 The structure of configurable carrier NCO
4 可配置伪码NCO设计
可配置伪码NCO工作原理实际上就是可配置载波NCO的简化。相对于载波NCO,这种简化主要体现在4个方面:中心频率有限,即对应于导航信号伪码速率的伪码NCO中心频率只有有限的几种,如1.022 MHz、2.046 MHz、20.46 MHz等 ;频率偏移范围较小,一般情况下对频率进行偏置的目的是对伪码的相位进行微调;相位点数也只有两个,即0和1,分别对应于0~π和π~2π的相位;输出信号为0和1,直接对应于当前的相位点值。因此,在设计伪码NCO时,不能完全照搬载波NCO,否则将造成大量的硬件资源浪费。可配置伪码NCO的主要参数有中心频率、频率调节范围、频率调节粒度和驱动时钟周期,这些参数的意义与载波NCO的相同,此处就不再重复。
4.1 可配置伪码NCO设计参数的确定
本文设计可用于实际工作的伪码NCO,同样为了保证伪码NCO的兼容性,对中心频率设置范围、频率调节范围、频率调节粒度和驱动时钟周期这4个参数也作了研究,最后确定的参数及依据如下。
(1)中心频率设置范围
伪码NCO的中心频率为导航信号伪码速率的2倍,已知的导航信号其伪码速率及对应的伪码NCO中心频率如表1所示。从表中可知,伪码NCO的中心频率的最大值为20.46 MHz,且均为1 KHz的整数倍。因此,若以1 KHz为单位设置伪码NCO的中心频率,用15 bit的配置寄存器即可,实际的中心频率值设置范围为0~32.768 MHz。
表1 不同卫星导航信号伪码速率及对应伪码NCO中心频率Table 1 PN code rate of different satellite navigation signals and the corresponding code NCO center frequency
(2)频率调节范围
与载波NCO不同的是伪码NCO进行频率调节的主要目的是对伪码的相位进行微调,用以保持本地码与输入信号伪码的精确同步。因此,决定伪码NCO频率调节范围的主要因素就是伪码相位调节速度,相位调节速度的最大值一般为1个伪码周期内1/2个伪码宽度(即1个伪码NCO时钟周期)的变化。表1所列的各种伪码中,伪码周期最小的为1 ms,对应最大频率偏移量为1 KHz,因此伪码NCO的频率调节范围可定为±1 KHz。
(3)频率调节粒度
频率调节粒度的选择需要满足最高的精度要求,与载波NCO一样,为了保证伪码NCO频率的精度,要求频率调节粒度为几兆赫到几十兆赫,本文的伪码频率调节粒度也设计为1 MHz。在本文设计的伪码NCO中,频率调节粒度与频率调节范围共用一个22 bit的寄存器进行设置,故实际的频率调节范围为±2.097152 KHz。
(4)驱动时钟周期
伪码NCO与载波NCO共用同一个驱动时钟,因此驱动周期的配置方案与载波NCO的一致,也共用一个驱动时钟周期配置寄存器,此处不再重复介绍。
由于伪码NCO输出的是方波信号,故单周期相位点数就是两个,即0和1,分别对应于0~π和π~2π的相位,输出信号为1和0,对当前的相位点值进行反相输出即可。
4.2 伪码NCO设计与实现
本文设计的可配置伪码NCO的基本框架如图4所示,分为三大功能块:一是伪码NCO的寄存器读写功能块,这个功能块与载波NCO的相应功能块是共用的,图中用省略号表示的部分就是载波NCO及其它部分的配置及监控寄存器;二是载波相位增量计算及累积功能块;三是伪码NCO波形输出功能块,负责将累积相位值映射为1 bit的方波信号,并反相、二分频后形成等于预设频率值及1/2分频值的两路方波信号输出。
图4 可配置伪码NCO框架Fig.4 The framework of configurable PN code NCO
本文用VHDL语言实现了可综合的伪码NCO逻辑结构,图5所示为本文的伪码NCO在ModelSim环境下输出的仿真波形。仿真时的基本参数为:驱动时钟频率为50MHz,对应的驱动时钟周期为20 ns;伪码NCO 的 中 心 频 率 为 1.022MHz、4.092MHz、10.23MHz;频移偏移量变化范围为±1 KHz。
图5 不同中心频率可配置伪码NCO的输出波形Fig.5 The outputwaveform of configurable PN code NCO at different center frequency
本文对所设计的伪码NCO也进行了测试,测试结果表明,该伪码NCO符合上文提出的各种设计参数,因此,适应不同的导航信号处理的要求,也可直接用于可配置导航信号处理通道中,为多种卫星导航兼容接收机信号处理通道设计提供了很好的思路。
[1]李健文,李作虎,郝金明,等.GNSS的兼容与互操作初步研究[J].测绘科学技术学报,2009,26(3):177-180.LI Jian-wen,LI Zuo-hu,HAO Jin-ming,et al.A Preliminary Study on Compatibility and Interoperability of GNSS[J].Journal of Geomatics Science and Technology,2009,26(3):177-180.(in Chinese)
[2]刘基余.GPS卫星导航定位原理与方法[M].北京:科学出版社,2003:164-204.LIU Ji-yu.GPS satellite navigation and positioning principles and methods[M].Beijing:Science Press,2003:164-204.(in Chinese)
[3]郑睿.中国卫星导航系统的最新进展[J].卫星与网络,2009,82(4):60-62.ZHENG Rui.The latest progress of China′s satellite navigation[J].Satellite and Internet,2009,82(4):60-62.(in Chinese)
[4]Kaplan E D.Understanding GPS Principles and Applications[M].Boston:Artech House Publishers,1996.
[5]来彦鸣.伽利略卫星定位系统接收机的设计[D].浙江:浙江大学,2006:15-28.LAI Yan-ming.Design ofGalileo satellite positioning system receiver[D].Zhejiang:Zhejiang University,2006:15-28.(in Chinese)
[6]朱学勇,柴俊栓.BD2接收机P码直接捕获设计[J].科学技术与工程,2009,9(17):4960-4962.ZHU Xue-yong,CHAI Jun-shuan.A Method of P-code Direct Acquisition for BD2 Receiver[J].Science Technology and Engineering,2009,9(17):4960-4962.(in Chinese)