APP下载

基于FPGA的北斗三号卫星B2a码发生器实现

2020-06-04臧志斌夏传福吴小鸥

网络安全与数据管理 2020年4期
关键词:导频寄存器分量

臧志斌,夏传福,吴小鸥,马 军,傅 宁

(国网思极神往位置服务(北京)有限公司,北京 102211)

0 引言

北斗三号卫星较之前两代卫星区别不仅在于卫星组网从区域走向全球,而且在载荷、星间链路、激光通信等方面也有进步。另外,北斗三号系统在频点上也做了一些调整,能够和GPS的民用频点兼容使用[5]。B2a是目前空间接口控制文件公开的播发民用信号之一,其调制方式兼容GPS L5。对于B2a信号的研究,不仅有利于北斗三号的推广使用,提高定位精度,还对未来与GPS良好互操作性打下基础[6]。

1 B2a编码原理

1.1 B2a信号体制

根据文献[7],B2a信号结构如表1,包含导频分量和数据分量双通道调制,并且采用QPSK(10)调制方式调制在1 176.45 MHz频点上。

B2a信号采用主码和子码的分层码结构,由主码和子码相异或构成,子码的码元宽度和主码的周期相同,子码码元起始时刻与主码第一个码元的起始时刻严格对齐,时序对应关系如图1所示。

表1 B2a信号结构

图1 主码、子码时序关系示意图

B2a信号主码的码速率为10.23 Mcps,码长为10 230,由两个13级线性反馈移位寄存器通过移位和模二加生成的Gold码扩展得到。B2a数据分量主码、导频分量主码的生成多项式分别如式(1)、(2)所示:

(1)

(2)

对于不同卫星,B2a数据分量的子码相同,采用固定的5位码序列作为子码,子码序列为00010,高位先传;B2a导频分量的子码码长为100,由长度为1 021的Weil码通过截断得到。

1.2 B2a信号主码结构

由于B2a数据分量和导频分量的主码发生器结构类似,因此本文主要分析B2a数据分量的主码发生器,导频分量的主码发生器可参考数据分量的主码发生器。根据式(1)可以得到B2a数据分量的主码发生器如图2所示。与原B1I、B2I的Gold发生器不同的是[8],B2a数据分量主码采用13级非线性移位寄存器。寄存器1的初始值与B1I、B2I的一样,所有卫星采用相同的初始值,但是B2a寄存器的初始值与之不同,其初始值全为1;寄存器2的初始值根据不同卫星的PRN号采用不同的数值,对应的寄存器2初始值表在接口文件中给出。

1.3 B2a信号子码

B2a数据分量的子码采用固定的5位码序列(00010),在实现方式上可以利用在基带中捕获到的信号,设置历元时,在每逢4的整数个主码周期将主码码片取反(即与1异或),其他主码周期输出主码码片值不变。

“纺纱工艺设计与质量控制”课程是一门在大学三年级第六学期开设的课程,学生经过纺纱学和新型纺纱学的学习后,有了一定分析和解决问题的能力,这时候学生离毕业还有1年时间,他们考虑毕业后将要从事的工作,因此很重视自己能力的培养,学习的积极性和主动性有所提高,此时, “纺纱工艺设计与质量控制”课程采用案例教学法,可以激发学生的潜能,能够培养学生独立思考和动手能力,提高创新能力和工程实践能力,培养综合能力,进一步锻炼学生分析和解决生产实践过程中出现的问题[5-6]。

B2a导频分量的子码是采用长度为1 021的Weil码通过截断得到。Weil码是一种性能优良的码片,它的相关性能非常好,且具有相对灵活的可选序列长度[9]。Weil码的产生是基于有限长的伪随机序列——勒让德序列。它的长度为质数。式(3)定义的是长度为N的勒让德序列,对于固定长度的N,有且仅有一个勒让德序列[10],B2a中的N代表1 021。

(3)

图2 B2a数据分量的主码发生器

其中,mod表示模除运算。

因此,长度为N的Weil码序列定义如式(4)所示:

W(k;w)=L(k)⊕L((k+w)modN),k=0,1,2,…,N-1

(4)

其中,w表示两个勒让德序列之间的相位差。

B2a导频分量子码的截取方式为循环截取,即截断序列如式(5)所示:

c(n;w;p)=W((n+p-1)mod1 021;w),n=0,…,99

(5)

其中,p为截取点,表示从Weil码的第p位开始截取,取值范围为1~1 021,w取值为1~510。

2 B2a码发生器的设计与实现

2.1 B2a信号主码

FPGA内有丰富的触发器资源,非常适合移位操作。根据B2a数据分量主码发生器框图,可以得出g1和g2码的实现过程,式(6)、式(7)分别表示的是g1、g2寄存器组的更新过程。

(6)

(7)

式中,C1、C2表示寄存器1、寄存器2的反馈值,c1,i、c2,i分别表示寄存器1、寄存器2第i位的内容。在主码发生的起始时刻,寄存器1和寄存器2同步复位(寄存器1的初始值为1111111111111,寄存器2的初始值通过配置得到),而后在每一个时钟上升沿来临的时刻,第2~13位寄存器内容被前一位寄存器内容更新,第1位寄存器内容被反馈值更新。值得注意的是,寄存器1在8190码片时发生截断。

图3所示是主码发生器模块的接口示意图。为了节省FPGA ROM的容量,寄存器2的初始值在FPGA内留有接口,通过外部寄存器配置写入;而寄存器1初始值是固定的,可以固化于FPGA内。为了后续捕获信号时能够调整主码相位,在FPGA内预留有码相位偏移接口,以及三路码片超前码、即时码和滞后码;码片捕获精度为半个码片,因此主码产生时钟为20.46 MHz。

图3 主码发生器模块接口示意图

2.2 B2a信号子码

根据B2a子码的结构与编码原理,不同PRN号的卫星,它的截取点p和相位差w设置不同,对应的Weil码是相同的。因此导频子码的生成关键在于生成Weil码。由于Weil码生成过程包含有模除操作,勒让德序列基于同余理论构建,无法用简单的电路结构实时生成。在本文中,提出一种产生B2a导频子码的方案,先利用软件生成Weil码,定义一个长度为N的一维数组L[N]并且所有元素初始化为0,k从0~N-1遍历,求出t=k2mod 1 021,数组L在t元素处置1。

接着,把生成好的Weil码存储于FPGA的ROM中,生成不同PRN卫星的导频子码时再根据子码参数(截取点和相位差)实时从ROM中读取,由于导频子码的长度是100,因此只需循环读取ROM中的100个值即可。B2a导频子码的周期是100 ms,同样地,历元设置后,当历元计数到100 ms的整数倍时,开始产生导频子码,再与B2a导频主码异或,即可产生B2a导频组合码,如图4所示,在导频子码模块中预留有子码发生器使能时钟接口(sub_code_enable),在历元满足上述条件时,可产生导频子码。

图4 导频子码发生器模块

3 B2a码发生器的仿真

本次仿真编码工具采用的是Quartus II 13.1sp1版本,芯片选取的是Altera EP3C120F484C7,仿真软件采用的是Modelsim 10.1c,主码和子码的仿真参数均选取为PRN号为1号星的参数。

3.1 主码发生器仿真

图5给出了主码发生器模块的仿真波形图。其中,B2a数据分量、导频分量的寄存器2初始值(pilot_reg,data_reg)均设置为1000000100101,即均设置为PRN号为1号星的主码参数,并且设置码偏移(chip_shift)为0。

图5中,data_code_early、data_code_prompt、data_code_late分别表示数据分量主码的超前码、即时码以及滞后码;同样地,pilot_code_early、pilot_code_prompt、pilot_code_late分别表示导频分量主码的超前码、即时码以及滞后码。超前码与即时码、即时码与滞后码仅相差半个码片的宽度,因此在此分析超前码片。dump_1ms表示一主码周期的结束,当dump_1ms下降沿来临之时表示新的主码周期开始产生,从图中可看出产生的数据分量主码和导频分量主码超前码头24码片分别为(010 110 111 111 001 000 101 110)2 (或(26771056)8)、(010 110 111 111 010 100 011 101)2 (或(26772435)8),与控制接口文件中B2a数据分量、导频分量主码具体参数表对比,仿真结果正确。

3.2 导频子码发生器仿真

图6给出的是导频子码发生器模块的仿真波形图。其中,相位差w、截取点p分别设置为123、138,即仿真PRN号为1的卫星导频分量子码。

从图6可以看出,当写入截取点138时,由于在双口ROM读取时需要先打一拍之后才能出数据,因此在ROM地址值(address_a、address_b)有效之后的第二地址导频子码(sub_code)才有效,可以得到输出导频子码头24码片为(011 010 000 110 011 000 101 000…)2(或(32063050…)8),与控制接口文件中B2a导频分量子码具体参数表对比,仿真结果正确。

图6 导频子码发生器模块仿真波形图

4 结束语

本文根据北斗三号卫星B2a信号测距码发生器的原理,利用Verilog语言,采用模块化设计方法,给出了基于FPGA的B2a 主码(Gold码)以及导频子码(Weil码)的设计方案,并提出了基于历元计数的子码解调方案。仿真结果表明,本设计可以实现北斗三号B2a本地复制伪码的产生,并且提供了扩展性接口,为后续B2a信号捕获奠定了基础,对于北斗三号接收机研制具有重要意义。

猜你喜欢

导频寄存器分量
极短突发传输的导频设计及捕获方法研究*
画里有话
Lite寄存器模型的设计与实现
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
二进制翻译中动静结合的寄存器分配优化方法
论《哈姆雷特》中良心的分量
移位寄存器及算术运算应用
基于导频的OFDM信道估计技术
TD—LTE系统导频模式技术研究