一种基于GPS C/A码引导的P码捕获方法
2015-10-12刘宪阳崔鹤郝云霞
刘宪阳,崔鹤,郝云霞
(1.航天恒星科技有限公司,北京 102209;2.航天恒星科技有限公司,天津 300450)
一种基于GPS C/A码引导的P码捕获方法
刘宪阳1,崔鹤2,郝云霞2
(1.航天恒星科技有限公司,北京102209;2.航天恒星科技有限公司,天津300450)
针对GPS系统P码(Precision Code)信号多普勒频移大、码周期长和速率高的特点带来的捕获慢且资源消耗较多的问题,提出了一种新的基于GPS C/A(Coarse/Acquisition Code)码引导P码捕获的方法。系统首先完成C/A码捕获,然后向新型P码发生器置入引导信号zv-set,在接下来的第1个1.5s码周跳变沿对V1和V2置入计数初值;在码同步信号的驱动下,V1和V2进行循环计数,等到V2=0时,P码码值正确,返回引导完成标志。通过仿真分析,该方法资源占用率减少了50%。结果表明该方法可有效避免繁琐的运算,适用于星载GPS双频导航接收机设计。
导航;精密测距码;粗测距码;捕获;引导
随着人类活动探索范围的扩大和科技水平的提高,卫星导航系统已成为信息体系的重要基础设施,成为直接关系到国计民生的关键性技术支撑系统。目前世界上应用最广泛的是GPS接收机,GPS卫星同时发射L1、L2两路扩频信号,载波的中心频率分别为1575.42MHz、1227.60MHz。L1载波上调制导航电文、C/A码和P码,L2载波上调制导航电文、P码和C码。其中民用GPS接收机通常只能利用L1载波上的C/A码,军用GPS接收机C/A码和P码的应用都比较广泛。
GPS P码实际周期为38星期,卫星信号中调制的是截短码,码周期为7天,码速率为10.23Mcps。与C/A码相比,P码具有相对较短的码宽和较长的周期,因而GPS接收机通常能更精确地测量P码相位,P码的定位精度更高。但由于P码周期很长,如果GPS接收机通过相关运算来逐个依次地搜索接收信号中P码的码相位,则搜索、捕获P码信号将会需要很长时间。传统复现P码的方式为L1C/A码捕获完成时,利用已知C/A码的码相位,通过一系列复杂运算计算出P码的码相位。大量的运算操作造成了大量逻辑资源的消耗,同时使得器件的运行频率受到限制,具有一定的局限性[2]。
C/A码是码长为1023的伪随机码。与P码相比,C/A码的码长短、速率低、易于捕获。同时,在卫星的伪码生成电路控制下,每个GPS星历的开始时刻,它的第一个P码码片的产生与它的第一个C/A码码片的产生在时间上正好重合。利用C/A码和P码固有的相位关系,本文提出一种新的基于码周末尾时刻C/A码引导的P码捕获方法。经仿真验证和工程实现,此方法能较快地捕获P码,占用资源较少,对于星载导航接收机的设计以及研究我国的卫星定位系统具有重要的指导意义。
1 GPS导航系统测距码
1.1码
基于码分多址的GPS信号上存在着C/A码和P码两种测距码,且两种码都具有良好的自相关和互相关性能。接收机捕获伪码的方式是通过对所接收到的卫星信号与接收机内部所复制的伪码进行相关运算,检测自相关函数的峰值,从而判断对伪码的正确捕获。
C/A码周期为1ms,码长为1023个码片,码速率为1.023Mcps。P码周期为7天,码率为10.23Mcps,同C/A相比P码具有更长的码周期,且码的长度也更长。采用捕获C/A码的策略对P码进行捕获显然会花费很长的时间,不利于接收机对导航信号的接收[1]。
1.2P码产生原理
如图1所示,PRN编号为i的卫星上所产生的P 码P1是码率同为10.23Mcps的序列X1与序列X2i的模2和(二进制异或加法)。其中序列X1的周期为1.5s,长15345000(即1.5s x 10.23Mcps)码片,而序列X2i是长为15345037的序列X2的平移等价码。序列X1包括码元地址计数器X1A、X1B,序列X2包括码元地址计数器X2A、X2B。其中X1A和X2A的计数范围为0~4091,X1B和X2B的计数范围为0~4092。
图1 GPS P码设定器和码发生器方框图
在每个GPS星期的开始时刻,P码发生器中的各个寄存器值均被重新初始化,并产生序列X1和P码第一个码片的起始沿。我们将序列X1的每一个周期的起始沿称为一个X1历元,可见两个相邻X1历元之间相隔1.5s。之所以强调P码发生器中的X1历元,是由于X1历元对于GPS卫星上各个伪码发生器的同步运行起着极为重要的作用。实际上,C/ A码发生器的运行以X1历元作为同步信号,稍具体地说,C/A码发生器中的各个寄存器在X1历元被初始化。这使得在同一颗卫星上P码第一个码片的起始沿与C/A码第一个码片的起始沿在时间上正好重合。
2 P码捕获算法的研究
图2 P码码址计算机制
2.1引导原理
工程实现时,传统的基于C/A码引导的P码捕获方法中耗用资源量最大的是“查找表地址产生器”,即从zv计数计算4个查找表地址的工作,如图2所示。图中用L1C/A码的cycle和chip计算V1(X1序列码片计数),V1=(cycle×1023+chip)×10。用V1分别去除4092、4093,得到商和余数,求得X1A、X1B地址;用V2(X2序列码片计数)分别去除4092、4093,得到商和余数,求得X2A、X2B地址。大量的运算操作造成了大量逻辑资源的消耗,且除法器采用多个clk实现,使得芯片的运行频率受到限制[4]。
本文中改进后的P码生成原理及内部结构如图3所示,实现步骤如下:
(1)当L1C/A码完成捕获时,对P码发生器模块置入此时L1C/A码中得到的1.5s码周Z-in计数(计数范围0~403199)。等待最近的1.5s码周跳变沿,对V1和V2进行置数。由于此时在1.5s边沿上,所以V1=0,而V2则用计算产生:V2=15345037-Z-in ×37;
(2)在“码同步信号”的驱动下V1进行0~15344999计数,V2进行0~15345036计数。计数器计满后分别输出复位信号给X1A、X1B、X2A、X2B码表地址计数器进行复位;
(3)码表地址计数器X1A、X2A进行0~4091计数,X1B、X2B进行0~4092计数,计数状态值即为码表地址。查表得X1A、X1B、X2A、X2B的值,并对X1A、X1B和X2A、X2B分别进行模2和操作,得到X1序列值和X2序列值;
(4)根据置入的不同卫星号,对X2序列值进行延迟并在“半码片同步信号”驱动下与X1序列值异或相加,得到超前支路P码码值,对超前支路P码序列进行延迟,分别得到“即时、滞后”两路P码码片,相关间距为1/2P码码片长度。
图3 P码生成原理示意图
2.2引导时序
本文阐述的基于码周末尾时刻GPS C/A码引导的P码捕获方法的引导时序如图4所示。当L1C/ A码捕获完成后向P码发生器置入引导信号zv-set,等待接下来的第1个1.5s码周跳变沿,对V1和V2进行初始化。在码同步信号的驱动下,V1和V2进行循环计数,等到V2=0时,P码码值正确,返回引导完成标志,开展码搜索操作。
图4 GPS C/A码引导的P码捕获方法时序图
2.3捕获算法仿真验证
图5所示为C/A码引导P码产生的modelsim仿真图。完成对C/A的捕获跟踪后,给FPGA的zv-set-i置高电平同时引导信号有效标志zv-set-flag变为高电平。当遇到第一个Z计数跳变沿时,zv-set-flag变为低电平,开始对P码进行引导,直至v2-cnt为0时,P码输出正确。
图5 C/A码引导P码产生标志
通过图6和图7仿真可知,基于GPS C/A码引导产生的P码具有良好的自相关特性。图7中副峰幅度仅为主峰的1/5,不会影响对P码捕获的判决。
图6 码片数50的P码自相关运算仿真图
图7 整周P码自相关运算仿真图
2.4与传统P码捕获方法结果对比
工程应用中使用FPGA对改进后的P码捕获方法及传统的引导方案分别进行实现。FPGA芯片面积资源占用对比结果如下表所示。
表1 单个P码发生器资源比对
本文验证过程中使用的综合器为XST-v12.3,目标器件为XC4VSX55。
(1)从综合出的结果可见,新P码发生器的LUT、FF使用量均降低了一半。
(2)由于完全去掉了多个时钟才能完成一次数据处理的÷4092、÷4093除法器,本方案的FPGA时钟运行频率不再受约束,也无需采用多时钟域信号处理方式DCM提高内部时钟频率,有利于后续低频、低功耗星载型号应用。
(3)本方案的伪码引导与地址生成方式,天然的支持采用4组线性反馈移位寄存器来产生L1P、L2P伪码。在星载FPGA转ASIC时,面对ASIC面积资源尤其是RAM资源严重受限的情况,将每个P码发生器的4个4096×1的RAM方便的替换成反馈移位寄存器,将极大节约ASIC芯片面积。
3 结论
本文从GPS C/A码和P码在码周结束时刻的相位关系的角度出发,提出了一种基于GPS C/A码引导P码的捕获方法。该方法提出一种在特殊位置的引导时序,避免对P码各个相位的遍历搜索,可以有效地提高P码的捕获效率。本文改进后的基于码周末尾时刻的GPS C/A码引导的P码捕获方法已在星载导航接收机型号中得到应用,对发展我国自己的卫星定位系统提供了技术支持。
[1] 代燕,李洪祚,王孟芝.GPS接收信号捕获方法的研究[J].长春理工大学学报,2003,3.
[2] Kaplan D E,Hegarty C J.Understanding GPS:principles and applications[M].2nd Ed.[S.1.]:Artech House,2006.
[3]Gordon J.R.Povey.Spread Spectrum PN Code AcquisitionUsingHybridCorrelatorArchitectures. WirelessPersonalCommunications.August,1998:151-164.
[4] 张健,杨士中.短码引导长码同步的快速捕获方法[J].无线电工程,1997,27(6).
[5]Riccardo De Gaudenzi.Signal Synchronization for Direct-SequenceCode-DivisionMultipleAccess Radio Modems[J].Telecommunication Systems,1998,9(1):73-89.
[6]Jing P,Frank V G,Janusz S,et al.Fast direct GPS P-Codeacquisition[J].GPSSolutions,2003(7):168-175.
[7] 孙礼,王银峰,何川,等.GPS信号捕获与跟踪策略确定及实现[J].北京航空航天大学学报,1999,25(2):134-137.
A method of P code acquisition base on GPS C/A code
LIU Xianyang1,CUI He2,HAO Yunxia2
(1.Space Star Technology Co.,Ltd,Beijing,102209;2.Space Star Technology Co.,Ltd,Tianjin,300450)
Because of the GPS P code’s own features:longer Doppler shift,longer duration and higher speed,there is more resource and time consumption in the traditional GPS P code acquisition.A new P code acquisition method base on C/A code guide is proposed to resolve the problem.The system first finish the acquisition of C/A code,then enable the zv-set guide signal in the new type P code generator,set the initial value of V1 and V2 counter until the first 1.5s code cycle’s edge arrived.The V1 and V2 start cycle count under the code synchronization signal drive,the P code is generated and the guide end flag is enabled when the V2 reached to zero.Simulation result shows that the method reduced 50%resource consumption,suitable for satellite dual-frequency GPS navigation receivers.
navigation;P code;C/A code;acquisition
TN911.7
A
1672-9870(2015)05-0097-04
2015-07-10
刘宪阳(1984-),男,硕士,工程师,E-mail:40013335@qq.com