Galileo E1-B/C仿真信号合成通道设计

2011-09-28 07:48:52姚志成刘光斌
电讯技术 2011年12期
关键词:码表支路测距

谢 杰,张 博,侯 博,姚志成,刘光斌

(第二炮兵工程大学,西安 710025)

1 引 言

导航卫星信号仿真的关键技术之一是在FPGA中按数学计算所得控制字合成中频信号,而Galileo E1-B/C信号测距码序列没有固定的生成多项式且长度是GPS测距码的4倍,传统的移位寄存器生成方式不适用,同时受片内存储空间的限制,已有ROM式生成方法不利于多通道集成。再者,实现Galileo系统CBOC(6,1,1/11)[1]调制与功率控制需进行多次硬件乘法操作,对一般的低功耗FPGA而言,片内乘法器资源有限,如何优化设计以满足信号合成通道的大规模集成是目前的技术难题。本文针对上述两个难题,提出可重载查表式测距码生成方法和功率控制的优化方法,实现Galileo E1-B/C信号合成通道设计,并通过仿真实验验证合成通道设计的正确性。

2 E1-B/C信号合成通道关键技术

2.1 可重载查表式E1测距码生成器设计

Galileo系统E1-B/C信号测距码采用主码加第二序列相结合的层状结构,主码[2]码长4 092,码速率1.023 Mchip/s,同时用于E1-B和E1-C通道,第二序列为25码片存储码,只用于E1-C导频通道,是在主码基础上对信号的二次调制。

在导航卫星信号仿真中,测距码的生成主要有两种方式:一是根据生成多项式,通过状态反馈移位寄存器产生[3];二是选择需要的测距码序列存储于存储器中,通过寻址产生。但Galileo系统E1-B/C测距码固定,没有固定的生成多项式,因此,需采用第二种方法产生测距码序列。

因每个仿真信号合成通道均需要支持任意可观测卫星导航信号的合成,因此,每个Galileo E1信号合成通道需要409 200 bit的存储空间。若采用ROM式测距码序列生成器,每个Galileo E1信号合成通道在Xilinx的FPGA中实现,至少需要使用24个Block RAM来存储相应的测距码表。相对而言,一般规模的Xilinx FPGA单片内仅包含数十个至百余个Block RAM,故这种设计方案不利于Galileo仿真信号合成通道的大规模集成。为了在硬件资源限制下,在单片FPGA内集成多个仿真卫星可任意配置的仿真导航信号合成通道,本文设计了一种可重载查表式E1测距码生成器,其结构如图1所示。

图1 可重载查表式E1测距码码表Fig.1 Look-up E1 PRN code table

根据仿真需求,每个用于测距码生成的双口RAM具体设计如下:

(1)两个端口分别配置为测距码加载端口(只写)和测距码序列生成端口(只读);

(2)为了提高测距码加载端口的数据带宽,端口设计为32 bit端口,单个Galileo测距码表加载仅需要128次总线操作,而每个Galileo通道包含B、C两个测距码表,总共需要256次总线操作,需要8 bit地址线进行寻址;

(3)测距码序列生成端口设计为1 bit端口,但是由于每个通道的B、C测距码表需要同时寻址,因此需要12 bit地址线寻址;

(4)每个通道的状态机保证作为测距码表的双口RAM避免在工作时发生读写冲突;

(5)测距码表有效位数为4 096 bit,由原序列最后补上该序列首4 bit构成。

根据以上设计方案,码表加载时序仿真波形如图2所示。其中的3个主信号为iCodeWrEn,Galileo E1信号合成通道测距码表加载使能;iCodeAddr[7:0],Galileo E1信号合成通道测距码表加载地址;iCodeData[31:0],Galileo E1信号合成通道测距码加载端口。

图2 码表加载时序波形仿真Fig.2 Timing simulation of PRN code table

2.2 E1-B/C副载波生成

E1-B/C信号是由6.138 MHz二值子载波、1.023MHz二值子载波、E1-B测距码序列、E1-C主测距码序列、E1-B调制的I/NAV导航数据流、E1-C调制的CS25第二序列以及1 575.42 MHz三角函数载波相互调制而成,故需同时产生BOC(6,1)和BOC(1,1)的副载波,且必须使BOC(6,1)、BOC(1,1)、测距码和电文严格对齐[4]。一种方案是采用3个NCO分别产生BOC(6,1)、BOC(1,1)以及测距码,但各NCO间存在同步误差,难以确保码片严格对齐;另一种方案是将测距码或副载波的1个低电平或高电平均作为1个码片,利用副载波与测距码间的倍数关系产生所需的信号。因此,选取NCO自然合成周期为1/12.276 MHz,通过整周计数产生相应信号。NCO、整周计数器组的设计如图3所示,其中13位计数器的最低位产生1.023MHz子载波信号,而测距码主码索引信号由高12位产生。

图3 E1-B/C测距码相位计数器结构Fig.3 Phase counter structure of E1-B/C PRN code

同时,由于E1-B/C一个测距码整周(4 ms)对应一个导航数据位,因此,图3中没有主码整周计数器,而是直接将测距码码片计数器溢出输入导航数据位计数器。对应的码NCO相位量化字长WCode与信号合成精度的关系为

式中,pr为期望的伪距仿真精度,c表示真空中光速,nCS为导航卫星系统仿真中数学仿真周期与信号合成采样周期之比。

3 E1-B/C信号合成通道的优化设计

3.1 通道内延时一致性处理方法

为确保测距码相位和载波相位满足理想同步关系,必须保证测距码支路和载波支路处理管线长度的一次性[5]。本文采用硬延时法,即根据处理管线级数之差,加入相应数量寄存环节[6],将超前支路(延时较短的支路)的状态缓存若干处理周期,使超前支路的处理管线长度加长。该处理方法简单,只需增加状态寄存器即可。

因载波支路除实现载波观测时间合成和载波相位变换外,还需完成相位-幅值变换和信号幅度控制。因此,载波支路处理管线长度为 3级,相对Galileo E1-B/C测距码相位计数器(图3)管线长度多一级,故需在测距码相位计数器中增加一个串联寄存环节。同时,图3中,BOC载波、测距码、导航数据、第二序列之间的相对处理管线长度不同,为保证相互间的时间同步,可在信号传递支路中加入相应寄存环节,人为增加信号处理的管线长度,确保处理管线长度的一致性。

3.2 单路信号功率控制的优化

目前,导航卫星仿真信号功率控制是通过对合成载波调幅实现,即在硬件实现中直接将载波幅值(有符号定点数)与一无符号定点数(量化的信号相对幅度)相乘,这样在信号合成通路中将增加一个乘法器,耗费了更多资源。但对调幅来说是一种标量乘法,故无论在调制前或调制后进行,其结果是相同的,根据Galileo E1-B/C信号采用CBOC(6,1,1/11)的特性,提出利用软件功率控制的优化方法。

该方法是根据Galileo信号COBC调制的特点和标量乘法的规律,将功率大小归一化换算为副载波BOC(6,1)和BOC(1,1)的比例因子 α、β的相对值,并将 α、β的乘法处理移至仿真软件执行,这样COBC调制和功率控制可用一个乘法器实现,减少了硬件资源的消耗。表1给出了基于Xilinx XC6SLX45设计的8通道信号合成器优化前后两种方案分别消耗的硬件资源对比。

表1 信号合成通道优化前后占用硬件资源对比Table 1 Resource consumption before and after optimization

从表1可以看出,制约单颗Xilinx XC6SLX45芯片信号合成通道的主要资源为DSP48,片内DSP48共有64个,优化后的方法可支持32通道设计需要,而优化前方案只能支持16通道,相对增加了50%。其它资源如Slice Register、4 input LUT等,虽然优化后的耗费率提高了,但其片内可用数量充足,完全可满足设计32通道信号合成器的需求。

4 E1-B/C合成信号验证

某次仿真中,仿真场景设置为:初始时刻为2011 年7 月 24 日,仿真位置为东经 116°24′26.69″,北 纬 39°30′00.55″,高 程 48 m,中 频 频 率 为15.42MHz,将通过上述信号合成通道优化设计输出的Galileo E1-B/C中频信号直接输入频谱仪,信号频谱如图4所示,图5示出了理想CBOC(6,1,1/11)调制信号频谱。

图4 合成信号频谱Fig.4 Spectrum of synthesis signal

图5 理想CBOC(6,1,1/11)调制信号频谱Fig.5 Spectrum of ideal CBOC signal

对比图4和图5可以看出,仿真生成的Galileo E1-B/C信号频谱具有理想CBOC调制信号频谱特征,即在中心频率±6MHz处有功率增强,此即是BOC(6,1)对信号的贡献,说明了上述信号合成通道设计方法的正确性。同时,为验证合成信号的正确有效性,采集合成的数字信号,利用软件接收机的处理结果如图6所示。

图6 软件接收机对仿真信号的处理结果Fig.6 Results of software receiver

图6中,加粗十字表示软件接收机的定位位置,其坐标为东经 116°24′26.69″E,北纬 39°30′00.55″N,高程52.4 m,与仿真设置一致,说明了仿真信号的正确有效性,进一步表明了合成通道设计的正确性。

5 结 论

信号的合成是导航卫星信号仿真的必要步骤,目的是为生成导航终端可观测的规定制式信号。文中所提出的方法相对传统方法具有以下主要优点。

(1)节约了数倍内存空间

可重载查表式E1测距码主码生成器中,每个Galileo E1-B/C信号合成通道分别只需1个存储E1-B/C测距码码表RAM、1个存储E1-C第二序列码表RAM和1个存储三角函数表的RAM,而传统ROM式测距码生成法每通道需要至少24个RAM,相对而言节约了87%的内存空间,为信号合成通道的大规模集成奠定了基础。

(2)50%的相对硬件乘法优化率

针对E1-B/C信号调制和功率控制在硬件实现中所需乘法运算次数较多,根据CBOC调制的特点和乘法定理,将信号功率强度由二值子载波的相对能量来表示,通过调节比例因子 α、β的相对值,在软件中实现功率控制,在不使用硬件乘法器资源的条件下实现了CBOC调制和信号功率控制。

最后应用上述方法设计了硬件信号合成器,频谱特征对比与接收机处理结果说明:该方法应用于Galileo E1-B/C信号合成通道设计是完全可行的,解决了Galileo E1-B/C信号仿真器硬件实现的关键技术之一。将来,GPS现代化以及“北斗”系统的信号制式改进方向均与Galileo系统信号体制一致,本文所提出的方法对以后的GNSS系统仿真具有实际的指导意义。同时,论文只研究了E1频点信号的生成,下一步可针对多频点信号合成通道集成的问题展开深入研究。

[1]周艳玲,王代萍.CBOC调制方式及其性能分析[J].电讯技术,2010,50(7):21-25.ZHOU Yan-ling,WANG Dai-ping.CBOC Modulation and its Performance Analysis[J].Telecommunication Engineering,2010,50(2):21-25.(in Chinese)

[2]European Union and European Space Agency.European GNSS(Galileo)Open Service Signal In Space Interface Control Document[R].2010.

[3]Kai Borre,DennisM Akos,Nicolaj Bertelsen,et al.A Software-Defined GPS and Galileo Receiver[M].Boston:Birkhäuser,2007.

[4]孙树杰,寇艳红,周鸿伟.卫星信号模拟器CBOC中频信号设计与实现[J].微计算机信息,2010,26(3-1):110-112.SUN Shu-jie,KOU Yan-hong,ZHOU Hong-wei.Design and Implementation of COBC IF Signal of Satellite Signal Simulator[J].Microcomputer Information,2010,26(3-1):110-112.(in Chinese)

[5]张博.卫星导航仿真的高动态与多观测信号联合合成[D].西安:第二炮兵工程学院,2011.ZHANG Bo.The Joint Synthesis of High-dynamic and Multi-surveying Signal on Satellite Navigation Simulation[D].Xi′an:The Second Artillery Engineering College of PLA,2011.(in Chinese)

[6]张博,李钊,卢红彬,等.DDS在卫星导航信号仿真中的应用[J].无线电工程,2009,39(12):10-12,64.ZHANG Bo,LI Zhao,LU Hong-bin,et al.Direct Digital SynthesisApplied in GNSS Signal Simulation[J].Radio Engineering,2009,39(12):10-12,64.(in Chinese)

猜你喜欢
码表支路测距
基于限流可行方案边界集的最优支路投切
能源工程(2020年6期)2021-01-26 00:55:22
类星体的精准测距
科学(2020年3期)2020-01-06 04:02:51
iGPSPORTiGS618智能GPS码表测评
中国自行车(2018年9期)2018-10-13 06:17:04
皱皱眉头就是一首诗
优雅(2017年8期)2017-08-08 06:01:53
浅谈超声波测距
电子制作(2017年7期)2017-06-05 09:36:13
廉价亲民黑鸟单车BB10 GPS码表评测
中国自行车(2017年1期)2017-04-16 02:54:07
多支路两跳PF协作系统的误码性能
电信科学(2016年9期)2016-06-15 20:27:30
利用支路参数的状态估计法辨识拓扑错误
基于PSOC超声测距系统设计
轻松上手 码表踏频组