导航卫星有效载荷新型扩频码研究及实现*

2020-07-28 09:16陈伟波黄晓瑞杜晓冬
遥测遥控 2020年2期
关键词:有效载荷寄存器移位

陈伟波,艾 伦,黄晓瑞,杜晓冬

导航卫星有效载荷新型扩频码研究及实现*

陈伟波,艾 伦,黄晓瑞,杜晓冬

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

针对导航卫星中Gold扩频码存在的不足,卫星导航系统的多个频点在下一代系统建设中选用Weil码作为扩频码。首先对Gold码和Weil码的特性进行仿真分析,仿真结果表明,Weil码的自相关特性和互相关特性有明显的优势。针对导航卫星有效载荷需要提供长期稳定可靠的导航服务且资源有限,对Weil码的实现方式也有很高的要求,设计一种基于FPGA平台的Weil码实现方案,解决了导航卫星有效载荷中Weil扩频码生成的资源和可靠性问题,已实际在轨连续运行超过一年没有出现故障。

扩频码;Weil码;相关性;可靠性

引 言

对基于CDMA(Code Division Multiple Access)的GNSS(Global Navigation Satellite System)系统而言,扩频码是其重要组成部分。GNSS信号的扩频码是一种伪随机序列,需要有良好的自相关和互相关特性,以便接收机可以快速准确地与接收信号进行相关运算实现同步和测距。因此,选用相关特性良好的扩频码是信号设计的重要工作。目前,使用最多的扩频码是Gold码。Gold码序列是一种基于线性反馈移位寄存器序列生成的m序列[1],该序列在以GPS(Global Positioning System)L1 C/A码为代表的信号中已经得到了广泛的应用。但是,随着各个国家导航系统的建设以及GPS III计划的实施,Gold码序列难以满足应用上的需求,需要设计新型扩频码。其中,Weil码基于其良好的相关特性和灵活的可选序列长度,已经在GPS L1C等信号中使用。

在导航卫星有效载荷中,扩频码生成模块是其中的核心模块,其负责生成导航卫星播发信号中的扩频码序列。Gold码是基于移位寄存器生成的,其实现结构较为简单,而鉴于Weil码的数学表达式,其实现结构复杂,目前常用的实现方式需要使用大量的资源,并且实现方式的可靠性低,无法满足导航卫星连续稳定可靠地播发导航信号的需求。同时,导航卫星有效载荷资源有限,也无法满足当前Weil码实现方式的资源需求。因此,需要设计一种稳定可靠且资源占用少的Weil码实现方案,以满足导航卫星有效载荷的Weil码生成需求。

1 导航卫星常用扩频码

1.1 Gold码

如果级线性反馈移位寄存器产生的序列周期为2–1,则称其为最大长度反馈移位寄存器序列,即m序列。反馈移位寄存器的抽头系数由特征多项式决定,特征多项式可表示为

Gold码序列是由两个优选的长度相同的m序列异或得到的,其具有良好的自相关和互相关特性。每改变两个m序列的相位关系就会产生一个新的Gold序列,因此其可作为扩频码的数量相当可观。Gold码序列生成的通用结构如图1所示。

图1 Gold码生成结构

通过图1可以看出,Gold码序列生成过程中共有四个可调量,分别是寄存器1和寄存器2的初相与寄存器1和寄存器2的反馈多项式系数。因此通过设置不同的反馈多项式和寄存器初相就可以区分不同卫星。

1.2 Weil码

Weil码是由Legendre序列生成的。Legendre序列是一种有限长的伪随机序列,它的长度为质数[2]。长度为的Legendre序列的定义为

Legendre序列具有很良好的伪随机性和相关性[3]。但是对于固定的长度,只存在一个Legendre序列,因此不直接用作扩频码。

Weil码是由两个Legendre序列循环异或生成的,长度为的Weil码序列定义为

式中,()是码长为的Legendre序列,表示两个Legendre序列之间的相位差。

在生成Weil码序列后,通过循环截取的方式生成新的Weil码序列作为扩频码序列使用[4],新生成的Weil码序列为

式中,n表示扩频码序列长度,p为截取点,表示从Weil码的第p位开始截取,取值为1到N。

图2所示为Weil码序列的生成结构,从图中可以看出,其生成过程主要分为三步,首先生成Legendre序列;其次根据偏移值将偏移后的Legendre序列与未偏移的Legendre序列进行异或生成Weil码序列;最后根据值对Weil码序列进行循环截短生成最终的卫星扩频码序列。综上分析可以看出,不同卫星的扩频码序列通过选取不同的和值来进行区分。

2 扩频码特性分析

扩频信号的接收依靠本地复现的扩频码序列与接收信号进行循环相关运算,因此对于指定长度的扩频码序列,具有更好的自相关和互相关特性可以使地面接收机快速准确地捕获信号。Gold码有较好的自相关和互相关特性,并且其通过对双线性移位寄存器产生的m序列进行异或生成扩频码,生成方式简单,易于采用硬件方案实现,因此在各大卫星导航系统中得到了广泛的应用。由于受到导航系统卫星上原子钟频率的限制,扩频码的码长需为1023的整数倍。但是采用双线性移位寄存器生成的Gold码周期的长度固定为2–1,因此Gold码周期与某些扩频码序列的码长相比相差甚远,需要采用截短或拼接的方式生成扩频码序列,如此则会损坏Gold码序列的自相关和互相关特性[5]。另外,由于各大导航系统多数采用Gold码作为扩频码方案,各系统间的扩频码容易受到互相关干扰,因此需要选用一种新的扩频码方案。

与Gold码相比,Weil码序列通过使用Legendre序列进行移位异或获得,其长度和Legendre序列的长度相同,都为质数。对于不同长度的扩频码序列,都可以很容易地找到相近的Weil码序列进行截短或增长来获得,并且保持伪码的相关性。

下面对Gold码和Weil码的相关特性进行仿真分析,选取码长为10230的Gold码和Weil码序列各60组,代表60颗不同的卫星,分别计算各个扩频码序列的最大自相关副峰值和不同扩频码序列的最大互相关结果,仿真结果如图3所示。

在图3中,横轴和纵轴分别表示卫星号,竖轴表示最大相关结果。若横轴和纵轴对应的卫星号不同,则竖轴表示两颗卫星扩频码的最大互相关结果;若横轴和纵轴对应的卫星号相同,则竖轴表示该卫星扩频码的最大自相关副峰值。从仿真结果可以得出,所选的60组Gold码序列的最大互相关结果为504,相对最大自相关结果衰减26.15dB,最大自相关副峰值为362,相对于最大自相关结果衰减29.02dB;而所选的60组Weil码的最大互相关结果为444,相对最大自相关结果衰减27.25dB,最大自相关副峰值为282,相对最大自相关结果衰减31.19dB。

图3 相关特性仿真结果

通过仿真结果可以看出,对于固定长度的扩频码序列,Weil码的互相关特性和自相关特性相比Gold码分别优化1dB和2dB。因此在卫星导航系统中,选用Weil码作为扩频码序列使用,可以有效减少不同卫星之间的互相关干扰,并且可以降低接收机在自相关副峰位置假锁的概率。

3 Weil码的实现和可靠性设计

3.1 Weil码的实现方案

鉴于Legendre函数的数学定义,其无法使用线性移位寄存器的方式直接生成。而利用基于欧拉准则的二次剩余判定则需运用大量的除法运算,如此会消耗巨大的硬件资源,因此使用FPGA难以实现。目前常采用的实现方式有两种,一种方式是采用软件生成所有卫星对应的Weil码序列存储到ROM中,工作过程中针对不同的卫星号到指定存储空间中读取相应的Weil码序列。由于每颗卫星对应的Weil码序列不一样,因此需要将所有卫星的Weil码都存储下来,如此则需要占用大量的存储空间;另一种方式是针对不同的卫星号,首先使用CPU软件计算产生所需卫星对应的Weil码序列,之后将生成的序列写入到FPGA的RAM空间后使用。这种方法占用较少的FPGA存储空间,但是需要DSP参与大量的计算工作。对于导航卫星来说,其所处的空间环境十分恶劣,采用该方案会使系统的可靠性受很大的影响,而扩频码序列作为导航信号的核心单元,对可靠性要求极高,因此不适宜选取该方案作为导航卫星上的Weil码实现方式。

通过分析Weil码的特性可以看出,同一频点不同卫星的Weil码都使用相同的Legendre序列,不同卫星对应的Weil码序列只是通过不同的和值来进行区分。经过对Weil码生成过程的进一步研究可以将Weil码的生成过程由三步简化为两步:首先生成Legendre序列,然后分别在–1和(+–1)mod两个起始位置循环读取Legendre序列后进行异或,读取到要求的扩频码序列长度后再回到起始位置开始读取,如此就可生成周期性的扩频码序列。

因此,可以通过以下方式来生成Weil码:首先使用软件仿真生成Legendre序列后存储在一个块RAM中,而将所有卫星的Weil码序列参数(–1和(+–1)mod)存储在另外一个块RAM中;然后在信号启动前置入卫星号作为地址,分别读取其对应的两组扩频码序列参数作为两个计数器的初始值;最后在启动信号后以码时钟驱动计数器进行计数,并将计数器的输出结果作为双端口RAM的两个输入地址,对双端口RAM的两个输出序列进行异或得到所需Weil码序列。实现过程如图4所示。

通过上述的实现方案进行设计有如下优点:

①在Weil码序列生成模块中,仅使用两个块RAM分别存储扩频码参数和Legendre序列,另外通过两个计数器产生地址控制信号。在此基础上通过输入不同的卫星号就可以产生对应的Weil码序列,如此使用很少的资源就可以实现不同卫星的Weil码序列生成功能;

图4 Weil码在FPGA中实现框图

图5 Weil码可靠性设计

② Weil码序列的实现过程中没有DSP等软件参与工作,全部采用FPGA实现,因此该模块设计的独立性很强,具有很高的可靠性和可移植性;

③ 在设计过程中增加了扩频码参数重构功能。导航卫星在轨运行过程中如果需要使用原先所有卫星对应的扩频码之外的Weil码,只需要将相应的Weil码对应的参数注入,就可以生成指定的Weil码序列。

3.2 Weil码的可靠性设计

采用上节描述的实现方案生成Weil码序列相比软件实现方案在可靠性上有很大的提高,但是在空间环境中,FPGA还是容易受到单粒子的影响,因此还需要进行可靠性设计。对于星载FPGA软件,一般采用三模冗余和配置刷新的方式进行可靠性防护。基于Xilinx FPGA的三模冗余设计可以使用XTMRTOOL,但是该工具并不包含块RAM的三模冗余设计,并且配置刷新一般也不对块RAM区进行刷新。考虑到导航卫星的在轨运行时间长、所处空间环境恶劣,为保证卫星在轨运行过程中连续可靠地生成扩频码序列,需要进行可靠性防护设计。设计框图如图5所示。

在图5所示的可靠性设计中,对所有双端口RAM都进行了三模冗余设计,可以有效提高导航卫星在空间环境下运行的可靠性;并且在此基础上对所有块RAM内容都进行自刷新设计,避免了卫星长期运行过程中由于单粒子事件累积造成的故障。因此,通过本文中所描述的可靠性设计,可以有效保证卫星长期可靠连续地运行。

4 结束语

本文首先介绍了卫星导航系统中常用的扩频码序列Gold码和Weil码,并仿真分析了两种扩频码的自相关和互相关特性。仿真结果表明,与Gold码相比,Weil码有更好的相关特性,作为导航卫星的扩频码有明显的优势。然后针对导航卫星有效载荷的空间应用环境需求及Weil码的特性,设计了一种导航卫星有效载荷上的Weil码实现方案,解决了目前常用Weil码实现方式资源使用多和可靠性低的问题,可以保证导航卫星连续有效地在轨运行,目前该设计方案已在导航卫星有效载荷上连续运行超过一年没有出现故障。

[1] 张威, 张克, 徐熙宗. GPS信号C/A码生成算法设计及其仿真实现[J]. 通信技术, 2008, 41(11): 216–218. ZHANG Wei, ZHANG Ke, XU Xizong. Simulation analysis of in GPS C/A code algorithm design[J]. Communication Technology, 2008, 41(11): 216–218.

[2] ZHANG Guohua, ZHOU Quan. Pseudo noise codes constructed by Legendre sequence[J]. Electronics Letters, 2001, (38)8: 376–377.

[3] SHANKAR S, CHOU C T, CHALAPALI K, et al. Spectrum agile radio: capacity and QoS implementations of dynamic spectrum assignment[C]. Global Tele-communications Conf, 2005: 2510–2516.

[4] RUSHANAN J J. The spreading and overlay codes for the L1C signal[J]. ION, 2007, 54(1): 43–51.

[5] 何成龙, 王垚. GPS L1C信号Weil码相关性能分析[J]. 无线电通信技术, 2013, 39(1): 32–35. HE Chenglong, WANG Yao. Weil code correlation performance of GPS L1C signal[J]. Radio Communications Technology, 2013, 39(1): 32–35.

Research and implementation of a new kind of spreading code for navigation satellite payload

CHEN Weibo, AI Lun, HUANG Xiaorui, DU Xiaodong

(Beijing Research Institute of Telemetry, Beijing 100076, China)

Aiming at the defects of Gold spreading code on navigation satellite, several frequencies of satellite navigation system have chose Weil code as spreading code on next system built. This paper analyzes the character of Gold code and Weil code firstly, the simulation results demonstrate that the self-correlation and cross-correlation performance of Weil Code are better than Gold Code. Since navigation satellite payload needs to provide long-term stable and reliable navigation services with limited resources, there are high requirements for the implementation of Weil code, this paper designs a Weil code implement method based on the FPGA platform, the solution solves the problem of resource and reliability of the Weil code generation in the navigation satellite payload, has been actually running in orbit for more than one year without failure.

Spreading code; Weil code; Correlation property; Reliability

P228.4

A

CN11-1780(2020)02-0043-06

国家重大专项

2019-10-25

Email:ycyk704@163.com

TEL:010-68382327 010-68382557

陈伟波 1988年生,硕士,工程师,主要研究方向为卫星导航。

艾 伦 1982年生,硕士,高级工程师,主要研究方向为卫星导航。

黄晓瑞 1971年生,博士,研究员,主要研究方向为卫星导航。

杜晓冬 1971年生,硕士,研究员,主要研究方向为卫星导航与无线通信。

猜你喜欢
有效载荷寄存器移位
理念牵引 机制创新 人才驱动 做有效载荷创新发展领跑者
MDT诊疗模式在颞下颌关节盘不可复性盘前移位中的治疗效果
STM32和51单片机寄存器映射原理异同分析
面向有效载荷数字化研制的标准化工作转型初探
口腔正畸治疗牙周病致前牙移位的临床疗效
卫星有效载荷研制流程的策划与推进
Lite寄存器模型的设计与实现
2020.3.21~2020.4.20中国运载火箭发射记录表
大型球罐整体移位吊装技术
大型总段船坞建造、移位、定位工艺技术