APP下载

GPS P码信号反推产生算法的研究与仿真

2012-07-13于雪晖

电子设计工程 2012年7期
关键词:寄存器移位卫星

于雪晖,徐 京,柳 涛

(北京卫星信息工程研究所 北京 100086)

全球定位系统(Global Positioning System,简称GPS)是美国从上世纪70年代初开始规划研制,历时21年,耗资200余亿美元,于1994年全面建成的,具有海、陆、空全方位实时三维(时间、速度、方位)导航与定位能力的第二代卫星导航系统。它是目前最先进、应用最广泛的卫星导航定位系统,可为全球的民用及军用飞机、舰船、人员、车辆等提供实时导航定位服务[1]。

GPS系统采用典型的CDMA体制,这种扩频调制信号具有低截获概率特性,系统以码分多址形式区分各卫星信号。目前GPS系统是部分公开的,采用的伪码有C/A码、P(Y)码等。

GPS系统中的P码是一种高精度定位码,利用P码进行定位比利用C/A码进行定位的精度高10倍左右。由于P码具有码周期长,结构复杂的特点,对P码的捕获一直倍受关注。P码的捕获过程中需要产生本地复现码,因此,若能产生其周期内任意一段的P码数据,则对提高P码的捕获有着重要的意义。

1 P码产生原理

P码是复杂的伪随机噪声(PRN)码,码速率为10.23 MHz,码周期为266.41天,码元长度远远大于C/A码1023的码元长度。在实际应用中,每颗卫星使用P码的一星期长的码元作为自己的扩频序列。

按照ICD-GPS-200C[2],P码的产生原理如图1所示,主要由4个 12级的线性反馈移位寄存器(X1A,X1B,X2A,X2B)构成,系统的统一时钟源为10.23 MHz。X1A和X2A序列被截短为4 092个码片,X1B和X2B序列被截短为4 093个码片。P码的设计规范要求4个移位寄存器每一个都有一组反馈抽头,这些抽头用异或电路相互合并在一起,并反馈到各个寄存器的输入级。描述这些反馈移位寄存器方案的多项式如表1所示[3]。

表1 P码发生器多项式及初始状态Tab.1 Polynomial of P code generator and initial state

X1A序列每4 092个码片循环一次,X1B序列每4 093个码片循环一次,形成了X1B序列与X1A序列的相对运动。当X1A序列循环了3 750次,就完成一次X1序列周期。此时,X1B序列只循环了3 749次。当X1B序列完成第3 749次循环时,其对应的移位寄存器就停止移位,等待X1A序列完成第3 750次循环后产生信号对X1A和X1B的移位寄存器重新初始化。X2序列的产生过程与X1序列类似,但区别在于每次X2A序列完成第3 750次循环后都要等待37个时钟周期才产生信号重新初始化X2A和X2B移位寄存器。从而,又形成了序列X2与序列X1的相对运动。由于X1序列是始终保持4 092个码片循环的,因此,X1B、X2A和X2B序列的运动可以看作是参照X1A序列进行的。一个X1序列周期包括15 345 000个码片,经历的时间为1.5 s。X2移位寄存器的综合周期为15 345 037个码片,它比X1寄存器长37个码片[4]。

如果P码是由X1直接异或X2产生的,而且在星期末尾移位寄存器没有复位,其序列长度将是15 3450 00×15 345 037=2.35 471 014码片。对于10.23 M的码片速率,这一序列的周期为266.41天,然而由于序列在星期末尾被截断,每颗卫星只用该序列的一个星期。在X2序列的输出位置使用移位寄存器来对X2序列进行i个码片(i的范围从1到37)的延迟,就形成了37种不同的P码序列。

图1 P码产生原理框图Fig.1 Architecture of P code generator

2 P码产生的算法描述与实现

2.1 P码时间反推模型

P码输出由相应的移位寄存器的状态所决定。任意一个GPS时间点上,任意一颗GSP卫星上的P码信号产生器中各个移位寄存器的状态,各个计数器的值都是一致的。若能知道各个移位寄存器的状态及各个计数器的值,并和卫星号一起作为初始值赋给码产生器,即可控制码产生器从该时间点开始产生该GPS卫星的P码[5],这就是P码的时间反推模型。

2.2 反推算法描述

由于已知P 码速率为10.23 MHz,在某一时刻T,产生的P码片为第T×10 230 000个码片,记该码片为chip_num。记P码产生器中X1A和X2A运行3 750个周期的码片数为常数 C1=40 923 750=15 345 000,X1B和 X2B运行 3 749个周期的码片数为常数C2=40 933 749=15 344 657。根据X2序列延迟i个码片,即形成第i颗卫星的P码序列,所以设PRN为延迟码片个数,并且范围为1到37。

此外,该算法中还包含4级寄存器:

第1级:X1中包含C1整周的数目为x1_cnt,X2中包含C2整周的数目为x2_cnt;

第2级:X1A3750计数周期的寄存器 x1a_cnt,X1B3749计数周期的寄存器 x1b_cnt,X2A3750计数周期的寄存器x2a_cnt,X2B3749计数周期的寄存器x2b_cnt;

第3级:X1A单周期内寄存器x1areg_num,X1B单周期内移位寄存器x1breg_num,X2A单周期内移位寄存器x2areg_num,X2B单周期内移位寄存器x2breg_num;

第4级:X2比X1长37个码片,若查找的码片在该37码片内,则记该码片为cnt37(范围为0到37)。

本算法最终需要求得的就是第3级寄存器内的存数,再将这4个码值进行异或就得到所需时刻的P码。

根据P码生成原理,上述各参数间存在如下关系:

用“%”表示求余运算,“/”表示除法取整运算,那么由式(1)可知:

图2 x1a和x1b码片位置示意图Fig.2 Architecture of x1a and x1b code position

由图2可知,

当chip_num-C1×x1_cnt>C2时,码片落在X1B的最后343个码中,则x1breg_num应为4 093。

图3 x2a和x2b码片位置示意图Fig.3 Architecture of x2a and x2b code position

由图3可知,

当chip_num-(C1+37)×x2_cnt>C1时, 码片落在 X2A 延迟的37个码片中,则x2areg_num应为4092,且cnt37=chip_num-(C1+37)×x2_cnt-C1。

当chip_num-(C1+37)×x2_cnt≤C2 时,码片落在 X2B 的后380个码片中,则x2breg_num应为4093。

至此,可以得到任意GPS时间,码产生器中所有移位寄存器和计数器的值,若P码信号产生器中包含设定寄存器和计数器的码相位所必须的控制,即可控制码产生器从该时间点开始产生P码。

3 算法仿真结果

该算法在Matlab开发环境下进行了仿真实现,可以产生对应于任意时刻开始的任意长度的P码信号。产生的部分P码码片如图4和图5所示。其中,第5颗卫星从起始时刻(每周日的零时)开始的前100个P码码片如图4所示,第18颗卫星在一周内的C1到C1+100的100个P码码片如图5所示。

图4 GPS 5号卫星起始的100个P码片Fig.4 A hundred initial P codes of GPS5 signal

图5 GPS 18号卫星C1到C1+100的100个码片Fig.5 Codes of GPS18 from C1 to C1+100

ICD-GPS-200C[2]作为GPS的官方标准,提供了P码的生成机理及部分P码码片,如表2所示。把仿真产生的P码码片与ICD-200C中提供的资料进行对照比较,结果完全吻合。

表2 5号星和18号星P码的初始12位码序列Tab.2 Twelve initial codes sequence of satellite 5 and 18

同时,GPS P码的相关函数(自相关、互相关函数)可以统一用下式表示:

式中,Pi(t)表示卫星 PRNi在t时刻的 P 码序列;Tcp为 P码片周期,约等于97.75 ns;τ为相关函数中时间移动的相位。

图7 P码(PRN5和PRN20)的互相关函数Fig.7 Cross-correlation function of GPS5 and GPS20

图6 P码(PRN5)的自相关函数Fig.6 Autocorrelation function of GPS5 P code

因此,为了进一步了解GPS系统P码序列的特性,可以通过仿真平台根据P码生成机理产生出GPS卫星信号所使用的P码,并截取其中部分对其进行自相关性和互相关性分析,结果如图6、7所示,可见P码具有良好的相关、宽带特性,从而增加了信号的抗干扰能力[6]。

4 结 论

文中利用Matlab对P码反推生成算法进行了仿真,仿真结果表明采用该种方法可以得到任意时刻开始的任意长度P码信号,同时通过产生的P码序列验证了P码具有良好的自相关特性和互相关特性。该算法程序简单,运算量小,易于实现,而且不会受到输出长度的限制,能更好地满足接收机[7-8]的实时性要求,可在后续研究中尝试将该算法移植到硬件电路中实现。

[1]Kaplan E D.GPS原理与应用[M].北京:电子工业出版社,2008.

[2]ARINC Research Corporation.ICD-GPS-200C.Navstar GPS Space Segment/navigation User Interfaces[S].1993.

[3]谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.

[4]James B,Yen T.Fundamentals of global positioning system receivers: A Software Approach[M].John Wiley&Sons,,2000.

[5]Brown A,May M,Tanju B.Benefits of softwareGPS receivers for enhanced signal processing[J].GPS Solutions,2000,4(1):56-66.

[6]Brown A,Gerein N.Direct P-Code acquisition using an electro-optic correlator[C]//proceedings of the 2001 National Technical Meeting.Long Beach,CA:ION,2001:386-393.

[7]程翔,史雪辉.基于多相滤波的数字接收机的FPGA实现[J].现代电子技术,2010(23):95-98.

CHENG Xiang,SHIXUE-hui.FPGA implementation of digitalreceiver based on polyphase filting[J].Modern Electronics Technique,2010(23):95-98.

[8]施永热,陈霁月.VHF跳频电台接收机射频前端的仿真设计与研究[J].电子科技,2009(9):34-38.

Shi Yong-re,Chen Ji-yue.Simulation design and study of the VHF frequency-hopping radio receiver front-end[J].Electronic Science and Technology,2009(9):34-38.

猜你喜欢

寄存器移位卫星
MDT诊疗模式在颞下颌关节盘不可复性盘前移位中的治疗效果
STM32和51单片机寄存器映射原理异同分析
miniSAR遥感卫星
Lite寄存器模型的设计与实现
再生核移位勒让德基函数法求解分数阶微分方程
静止卫星派
大型总段船坞建造、移位、定位工艺技术
微小移位的B型股骨假体周围骨折的保守治疗
Puma" suede shoes with a focus on the Product variables
What Would Happen If All Satellites Stopped Working? 假如卫星罢工一天