APP下载

GPS L5信号帧同步方法的设计与实现*

2019-04-26曾辉艳马颖莉陈伟波常敏

遥测遥控 2019年6期
关键词:译码器电文历元

曾辉艳,马颖莉,陈伟波,常敏

(北京遥测技术研究所 北京 100076)

引 言

作为GPS现代化计划的一部分,第一颗Block IIF卫星已于2010年5月发射升空,在L5频段增加播发第三个民用GPS信号——L5信号。GPS L5信号采用数据支路和导频支路双通道结构、较高的伪码速率、NH(Neuman-Hoffman)码和带纠错编码的电文等[1]。GPS L5信号接收处理主要包括捕获、跟踪、位同步和帧同步,目前关于GPS L5信号处理的文献中,介绍捕获跟踪算法的文献比较多,如文献[2]等。文献[3]介绍L5信号位同步相关方法,并介绍了基于Neuman-Hoffman码的译码方法,而这只是帧同步译码前获得电文编码符号的其中一个步骤。而关于针对带纠错编码的电文帧同步方法,目前有涉及到的文献极其少,文献[4]在介绍L5接收机设计中提到关于GPS L5信号帧同步但并未做详细介绍;文献[5]和文献[6]介绍咬尾卷积码译码算法,但不易于工程应用;文献[7]介绍了SBAS系统中GEO卫星的帧同步技术,但是文中提到的译码算法受导航数据位符号翻转限制,而本文提到的译码算法不受电文数据位相位模糊度的影响,在电文数据位相位未知情况下均能正确译码。同时,GPS L2C的CNAV电文、Galileo的FNAV电文以及SBAS系统GEO卫星电文均采用了与GPS L5相同的前向纠错编码,可见基于前向纠错编码的电文帧同步技术是值得研究的。为此,本文提出了一种GPS L5信号的帧同步方法。

1 GPS L5信号结构

GPS L5信号位于以1176.45MHz为中心、带宽为24MHz的波段上,包含同相分量信号和正交分量信号,分别记为L5I信号和L5Q信号。其中,L5I信号是调制有I5伪码和CNAV电文数据的数据信号;L5Q信号是只调制有Q5伪码的导频信号,简化的GPS L5信号发生器如图1所示[8],对于第j号卫星来说,其发射的GPS L5信号表示为

式中,ω5=2π×1 176.45MHz;n(10,t)为L5I信号的NH码,该NH码有10个码片,具体为0000110101;n(20,t)为L5Q信号的NH码,该NH码有20个码片,具体为00000100110101001110;这两个NH码的码速率均为1kHz;g(i5,t)和g(q5,t)分别表示L5I信号和L5Q信号的伪随机码流,码速率均为10.23MHz,伪码周期为1ms;dj(t)表示第j号卫星的经编码后的CNAV电文编码符号。

图1 GPS L5信号发生器Fig.1 Signal generator of GPS L5

L5I信号的CNAV电文数据D(t)的数据率为50bps,D(t)经1/2速率的前向纠错FEC(Forward Error Correction)卷积编码后,得到符号率为100sps的CNAV电文编码符号d(t),如图2所示。具体实现流程为:一个电文数据进入FEC编码器后,FEC编码器交替选择输出G1和G2符号,进而得到CNAV电文编码符号d(t),交替周期为10ms,即在前10ms时间里选择G1符号作为输出,而在后续的10ms时间里切换选择G2符号作为输出。CNAV电文数据的基本结构为信息帧,是由一帧接一帧的信息构成的。通过CNAV的FEC编码器可以得知,当前电文编码时,编码器内移位寄存器的值是前一帧信息的最后6bits,即每一帧电文编码符号的前12bit受前一帧电文数据最后6bit影响,因此每条信息编码后的编码符号都和上一条信息的电文数据有直接关系,这样获得的编码称为咬尾卷积码TBCC(Tail- biting Convolutional Code)。

然后将d(t)异或调制在速率为1kHz、长度为10的NH码上。这10位NH码的周期为10ms,和一个CNAV电文编码符号对齐。通过NH码调制,CNAV电文编码符号被调制为速率1kHz的组合数据流。

图2 CNAV电文数据卷积编码原理Fig.2 CNAV message data convolution coding schematic diagram

2 帧同步方法的设计

接收机中L5信号的处理流程为:在完成L5Q和L5I信号的捕获跟踪后,接收机完成L5Q信号位同步和L5I信号NH码剥离,最后完成L5I电文信息的帧同步,如图3所示。帧同步的主要任务就是要获取每个电文数据帧的起始及结束位置。根据图3编码过程可知,在对L5I信号电文数据帧进行帧同步之前需要先对电文编码符号d(t)进行译码得到D(t),然后使用L5I信号的CNAV电文数据D(t)和20ms时间历元计数器进行帧同步处理。

因为一个电文数据经过编码后得到一个电文编码符号对:G1和G2,因此在译码时需要调整G1和G2成对进入译码器方能得到准确的译码结果。如何控制电文数据编码符号成对送入译码器以及如何对咬尾卷积码进行准确译码是接收机解调出d(t)到恢复出D(t)这个过程中面临的最大困难,更是L5信号电文帧帧同步的最大难题。故下文将从这两个方面进行分析。

图3 L5信号接收的处理流程Fig.3 Processing flow of GPS L5 signal reception

2.1 L5I电文编码符号对的匹配

① L5Q 数据位同步

首先对L5Q信号进行捕获跟踪,得到L5Q信号的本地载波和伪码,根据L5I信号和L5Q信号的相位关系可以生成L5I信号的本地载波和本地伪码,从而完成了两路信号的载波解调和伪码解扩,得到含有NH码的L5Q信息和L5I信息。

然后对L5Q信号进行NH码位同步,获得L5Q信号中的NH码相位。具体实现方法如下:对L5Q信号1ms积分累加值进行数据符号位判决,积分值是正数时为1,否则为0,从而得到二进制符号;然后对该二进制符号进行辨识,如果连续20个符号与L5Q的NH码相同,即连续的20个符号拼起来等于“00000100110101001110”或者“11111011001010110001”,且连续一段时间内重复出现,则判断这20个符号为一个完整的数据符号位,即完成了L5Q的NH码位同步。

最后,在接收机中,设置一个1ms时间历元计数器,该计数器的计数间隔为1ms,计数值在0~19之间循环,计数周期为20ms。当完成位同步后,调整1ms时间历元计数器,使1ms时间历元计数器的计数起始点与L5Q的NH码的初始码元对齐,从而得到准确的1ms历元计数起点。同时,利用1ms时间历元计数器的进位驱动20ms时间历元计数器。其中,20ms时间历元计数器的计数间隔为20ms且计数周期为1s,每个20ms对应一组图2中L5I信号的电文编码符号对:G1和G2,其中G1和G2的时间周期各为10ms且符号上含有180°相位模糊度。

②L 5I 的符号对提取

L5Q信号的NH码码周期为20ms,其起始沿与L5I信号的NH码以及速率为50bps的CNAV电文数据D(t)起始沿均对齐,具体同步关系见图4。因此,可以利用L5Q信号位同步得到的NH码的码相位,得到L5I信号的NH码的码相位,进而完成L5I信号的NH码的码剥离;在码剥离过程中,每20ms内得到一组L5I信号的电文编码符号对:G1和G2。

在1ms时间历元计数器的计数值为0或者10时,对L5I信号进行NH码剥离。通过NH码剥离处理,可以在20ms内输出一组电文编码符号对,对应于编码时的G1和G2。随后,将每组符号对存储到电文数据缓冲区中,同时将20ms历元存储到历元数据缓冲区中,即实现了一组符号对对应一个20ms历元。

2.2 咬尾卷积码译码方法

图4 GPS L5信号中伪码、NH码、数据和历元的对应同步关系Fig.4 Corresponding synchronization of pseudo-code,NH code, data and epoch in GPS L5 signal

由于咬尾卷积码译码算法复杂度高,计算存储量大,本文充分考虑译码方法工程实现的复杂度以及为了充分利用现有硬件资源,故采用DSP(Digital Signal Processors)芯片中嵌入的第二代维特比译码协处理器VCP2(Viterbi-Decoder Coprocessor 2)实现卷积信道译码。咬尾卷积码的译码方法为:首先由跟踪环路获得带有相位模糊度的L5I编码符号位,随后对其进行数据位扩展,然后将扩展后的数据送入VCP2译码器核进行译码,从而得到L5I信号的CNAV电文数据D(t)。

2.2.1 电文数据位扩展

CNAV电文数据采用咬尾卷积编码,同时CNAV电文数据的每一帧最后6bits是有效的数据,而不像Galileo电文的最后6bits是无效的零。在对L5I信号的电文编码符号对进行译码时,因为电文帧之间是关联的,不能只是一帧一帧进行独立译码。

在译码过程中,由于编码器的起始状态和结尾状态是未知的,因此在译码过程中采用电文数据位扩展的处理方法来处理像L5I信号这种采用咬尾卷积编码的译码,如图5所示,具体实现方法如下:

①每Q个L5I信号的电文编码符号对(G1和G2)组成一个符号串;

②将第1个符号串以及第2个符号串中的前P个符号对一起输入到译码器进行译码;在译码器译码结束后依次输出的Q+P个数据中,提取第P+1~P+Q个数据作为第1~Q个电文数据;其中,P为正整数且P<Q;

③将第2个符号串以及第3个符号串中的前P个符号对输入到译码器进行译码;在译码器译码结束后依次输出的Q+P个数据中,提取第P+1~P+Q个数据作为第Q+1~2Q个电文数据;

④依次类推,将第N个符号串以及第N+1个符号串中的前P个符号对输入到译码器进行译码;在译码器译码结束后依次输出的Q+P个数据中,提取第P+1~P+Q个数据作为第(N-1)Q+1~NQ个电文数据。

经过分析和仿真,上述处理流程中数据扩展长度P的取值范围为2M~Q/2,其中M为L5I信号的编码器的寄存器个数,即M为6。

2.2.2 VCP2译码器核的实现

本文采用DSP芯片自带的VCP2译码器核进行译码,VCP2的译码需要进行分支度量、数据量化、寄存器设置和数据交互等工作,本节重点介绍分支度量和详细的译码步骤,具体译码过程如下:

①译码器初始化

首先需要对译码器进行初始化。初始化除了需要调用VCP2核自带的VCP2_reset和VCP2_emuDisable函数之外,还需要对待译码信息所对应的各个参数进行配置,比如编码率、译码长度、译码模式、译码输出等参数。

图5 在译码前进行数据位扩展处理的示意图Fig.5 Schematic diagram of data bit expansion before decoding

②计算分支度量

卷积码的译码算法通过使整个码序列成为一个最大似然序列,同时利用网格图的重复性结构,减少译码所需的计算次数。它使用欧氏距离衡量接收信号同分支标号之间的差异,即分支度量(BranchMctric)。设d(t)为初始符号,当编码速率为1/2时,算法为

根据VCP2核对分支度量算法要求,需要将编码符号拼组得到分支度量并转换为十六进制格式。

③译码实现步骤

VCP2控制寄存器负责控制整个译码过程,VCP2通过直接存储器访问单元EDMA3(Enhanced Direct Memory Access 3)与片内L2存储器进行数据交换,从而和CPU(Central Processing Unit)协同完成译码任务。具体实现步骤[9]如下:

a.分配输入输出对应的缓冲区,将计算得到的待译码数据的分支度量写入指定的输入缓冲区;

b.设置EDMA3通道29参数,由VCPXEVT触发,搬移VCP2配置参数到VCP2内部寄存器,搬移待译码数据的分支度量及量化值到VCP2内部输入FIFO(First Input First Output);

c.设置EDMA3通道28参数,由VCPREVT触发,从VCP2输出FIFO搬移VCP2译码结果到指定的输出缓冲区;

d.使能EDMA3通道28和29,使其可以响应VCPREVT和VCPXEVT同步触发事件;

e.调用VCP2核自带的VCP2_start函数,将“启动译码器”命令写到VCP2内部的命令寄存器VCPEXE,使VCP2生成VCPXEVT事件,触发EDMA3通道29,搬移配置参数和待译码数据的分支度量到VCP2;

f.VCP2译码完成后触发EDMA3,由EDMA3通道28搬移译码结果到指定的输出缓冲区,并产生DSP内核的中断VCP_IPR(Interrupt Pending Register);DSP响应VCP_IPR,对译码结果进行处理。

2.3 帧同步的判定条件

当实现电文编码符号译码得到电文数据后,需要进行帧同步以获得完整的电文数据帧。GPS L5信号电文帧内包含有帧同步标志,可以通过寻找连续两帧的同步标志,再继续比较连续帧内的周内秒的对应关系来确定是否达到帧同步。当满足以下条件时,才能判定帧同步:

①第一个字开始的8比特帧头为10001011,前后帧的帧头一致;

②第一个字中6比特PRN为卫星号,前后帧的卫星号一致;

③TOW 字包含17比特有效的时间信息,计数处于0~100800之间,前后帧的TOW相差为1;

④完整的300bit电文帧通过24位CRC(Cyclic Redundancy Check)校验;

⑤电文帧的起始时刻和整秒点同步。

将译码后的电文数据依次送入帧同步缓冲区内,利用电文数据寻找帧头(10001011)确定电文帧的起始位置,同时判断电文帧内6比特PRN和17比特的TOW是否符合上述条件;当满足条件后,对整个完整的电文帧进行CRC校验,如果通过校验则证明找到了电文帧的起始及结束位置,则电文帧帧格式正确;否则重新寻找下一个帧头(10001011)并重复判断电文帧帧格式的正确性。

当电文帧帧格式正确后,利用20ms时间历元计数器对整秒点进行调整,使得CNAV电文数据D(t)的电文帧起始位与20ms时间历元计数器的起始计数点同步,即与整秒点同步,从而实现电文帧同步。当帧同步稳定后,接收机的基带软件将完整的电文帧及其对应的时间历元输送给定位处理软件进行定位解算。

3 帧同步方法的实现及测试

GPS L5信号的帧同步处理工作均在DSP软件内实现,本次使用的DSP芯片型号为TMS320C6455,该芯片嵌有VCP2译码器核。使用VCP2译码器核依次对各个跟踪通道解调得到的电文编码符号进行译码并获得对应的电文数据时,不占用DSP的CPU时序以及L2内存资源,因此VCP2译码器核译码时,GPS接收机跟踪通道可以持续工作不被中断,可见该处理方式资源耗费少且硬件易实现。

本文选用接收机室外收星的方式来进行验证帧同步软件正确性的测试,接收机整机参与测试,天线架设在室外指定场地接收可视范围内所有GPS卫星发射的L5导航信号,通过接收机配置的射频电缆传输给室内接收机主机进行数据测量与采集。接收机接收在轨GPS卫星播发的L5信号并完成捕获、跟踪和位同步,最后进入帧同步。当帧同步稳定后,接收机将完整的电文帧输送给定位处理软件进行定位解算并成功定位,验证了电文的正确性,进而验证了帧同步方法的正确性。采用本文提出的帧同步方法的接收机已经连续上线工作五年,目前未出现任何帧同步相关方面的异常,且电文误码率远远低于1×10-6,满足工程上对误码率的要求。

在验证了帧同步算法工程实现正确性的基础上,本文采用室内有线测试方式进行电文误码情况的测试,设备连接如图6所示,导航信号模拟源输出射频导航信号并通过有线方式连接传输给接收机低噪放。模拟源工作在仿真模式条件下,设置导航信号模拟源发射GPS L5频点RF导航信号。调整衰减器衰减量,使到达接收机LNA前端的RF导航信号功率电平分别为-136dBm、-133dBm和-130dBm三种情况。设置接收机接收所有卫星的L5导航信号。在此条件下进行电文误码测试,接收机按格式记录译码后的电文数据。随后对电文数据进行误码分析,将接收机各颗卫星的L5信号的电文数据与模拟源播发的电文数据在同一周内秒时刻进行比对,经过比对所有卫星L5信号的电文帧后,结果显示电文帧均无误码且无丢帧情况,测试结果如图7所示。从图中可以看出在三种电平下,对本文提出的L5信号帧同步方法的误码率性能进行测试,结果显示在总比特数达到4e6个时,还未出现误码以及丢帧情况,说明该方法具有良好的性能。

图6 接收机室内有线测试设备连接Fig.6 Receiver wired test equipment connection in room

图7 L5信号误码率测试结果Fig.7 Test results of bit error rate of L5 signal

4 结束语

本文论述了GPS L5信号帧同步方法的设计过程以及工程实现,并对接收机进行测试,测试结果表明:接收机对GPS L5信号的帧同步跟踪稳定,从帧同步中获取的电文帧正确无误且实现定位,证明了该方法的正确性;本文提出的算法在硬件接收机中已经连续运行五年多且电文误码率满足工程要求。该方法充分利用接收信号特性和硬件资源内嵌的硬核,具有计算复杂度小、资源耗费少、可靠性高和硬件易实现的优点。同时,该帧同步方法还具有兼容性,对其稍做修改就能实现对GPS L2C信号、SBAS系统GEO卫星L1和L5信号的帧同步。

猜你喜欢

译码器电文历元
附加历元间约束的滑动窗单频实时精密单点定位算法
一种与内部缺陷仪设备通讯的接口模块
历元间载波相位差分的GPS/BDS精密单点测速算法
MT799更正电文能否被视为信用证修改
一种伪距单点定位的数学模型研究及程序实现
高速码率兼容DVB-S2的LDPC译码器的FPGA实现
编码器和译码器综合实现数字显示
跟踪导练(一)5
精密单点定位与双差单历元动态定位的精度分析
GLONASS星历电文特征及其解算方法