APP下载

BDS/GPS双系统软件接收机实现与性能分析

2016-07-25宋玉龙廉保旺宋佳驹

西北工业大学学报 2016年4期
关键词:双系统伪码伪距

宋玉龙, 廉保旺, 宋佳驹

(西北工业大学 电子信息学院, 陕西 西安 710072)



BDS/GPS双系统软件接收机实现与性能分析

宋玉龙, 廉保旺, 宋佳驹

(西北工业大学 电子信息学院, 陕西 西安710072)

摘要:在经典的MATLAB GPS软件接收机的基础上,针对快速比特跳变的BDS信号给出了捕获跟踪和解帧策略,提出了BDS/GPS双系统伪距、载波相位、多普勒和载噪比观测量提取算法,推导了双系统定位定速的迭代式。采用NSL-STEREO射频前端采集实际的BDS B1和GPS L1双系统数字中频信号,设计了楼顶静态和动态实验,比较分析了实际场景下BDS/GPS双系统及各单系统的定位轨迹、定位定速误差和精度因子,验证了接收机性能并得到系统差异结论。

关键词:MATLAB;BDS;GPS;双系统;软件接收机;观测量;射频前端;设计实验

BDS区域系统于2012年底建成,包括5颗GEO(geostationary earth orbits,地球静止轨道)卫星、5颗IGSO(inclined geostationary orbits,倾斜地球同步轨道)卫星和4颗MEO(medium earth orbits,中圆地球轨道)卫星,服务覆盖亚太地区;区域系统信号采用QPSK(quadrature phase shift keying,正交相移键控)调制于B1、B2和B3 3个频率上,且GEO卫星和非GEO卫星采用不同的伪码调制方式和电文格式[1]。BDS区域系统信号与GPS信号相似但有差异,接收算法需要改进。

卫星导航软件接收机凭借其灵活的实现方式深受欢迎,往往用于算法创新和性能分析等研究。GNSS软件接收机可以分为2类。①以商用接收机输出的二进制原始数据或RINEX(receiver independent exchange format,接收机无关数据交换格式)观测量和星历数据作为输入,实现各种导航解算算法,如东京海洋大学Tomoji Takasu等人开发的RTKLIB[2],米兰理工大学开发的goGPS[3];②以中频信号采集器输出的GNSS中频信号作为输入,实现捕获、跟踪、数据解调等整个基带信号处理,并完成导航解算,如科罗拉多大学Dennis M.Akos等人开发的MATLAB GPS软件接收机[4]、东京海洋大学Taro Suzuki等人用C++开发的目前尚只支持GPS的GNSS-SDRLIB[5]。后一类接收机功能更完整,且对于涉及信号捕获及环路跟踪等基带信号处理算法的研究能够发挥强大作用,如弱信号接收、矢量跟踪、深耦合等算法。MATLAB平台具有灵活的运算能力和强大的作图功能,虽然难以实现实时软件接收机,但是对于算法创新和性能分析有着无可比拟的优势。然而,文献[4]中的MATLAB软件接收机仅适用于GPS L1单频信号,且接收机各通道无法在同一信号接收时刻生成针对各卫星的RINEX观测量,解算结果也仅限用户位置。

本文以文献[4]中经典的MATLAB GPS软件接收机为基础,针对BDS区域系统的GEO和非GEO信号提出相应的基带信号处理策略,并给出BDS/GPS双系统RINEX观测量(伪距、载波相位、多普勒、载噪比)的生成方法,以及双系统定位定速解算算法。在楼顶进行动态实验,采用GNSS中频信号采集器输出的数字中频信号作为输入,验证了BDS/GPS双系统软件接收机的功能,并对比了BDS/GPS双系统与GPS和BDS单系统的DOP值和定位定速性能。在Google Earth上标注实验轨迹,对比了三者的差异。

1基带处理算法

本文提出的BDS/GPS双系统软件接收机的结构如图1所示,其中输入为包含GPS L1和BDS B1频段的中频信号,基带信号处理部分包括捕获、跟踪、帧同步及电文解调,之后是双系统观测量生成及联合解算部分。

图1 BDS/GPS双系统软件接收机结构

文献[4]中的MATLAB GPS软件接收机采用码相位并行相关捕获算法完成GPS L1信号的快速捕获。本地伪码与接收伪码的相关过程的时域和频域表达式如(1)式和(2)式所示,利用(2)式进行FFT码相位维并行相关,然后将得到的结果进行iFFT得到时域相关结果。

(1)

(2)

式中,x(n)和h(n)分别为接收伪码和本地伪码信号,y(n)为相关结果;N为相关长度,本文选择1ms;X(k),H(k)和Y(k)分别为频域变换;上标“*”表示共轭。

GPS L1信号数据率为50 bit/s,每比特数据位历时20 ms,伪码周期为1 ms,因此1个数据比特上调制了20个伪码。相邻20个伪码中仅有1个可能发生数据比特跳变,该伪码在进行1 ms相关时会造成相关峰能量损失。因此选择相邻2个伪码同时进行1 ms伪码相关,必有1个相关结果是无损的。根据BDS ICD文件[1],公开信号B1I和B2I的伪码速率均为2.046 Mcps,码长为2 046,伪码时长与GPS同为1 ms。然而,BDS非GEO和GEO卫星分别播发D1和D2电文格式,数据率分别为50 bit/s和500 bit/s,数据比特跳变周期分别为20 ms和2 ms。另外,D1电文上还调制了NH(纽曼-霍夫曼,Neumann-Hoffman)二级码,码长20位,每一位历时1 ms,D1电文上的比特跳变周期则变为1 ms。面对BDS信号如此快的比特跳变速率,即使进行1 ms伪码相关,也不可避免地损失相关峰能量。为了消除比特跳变对相关结果的影响,往往采用zero-padding补零算法[6]。本文采用本地“1 ms伪码+1 ms补零”与2 ms接收信号相关的捕获策略,取结果的前一半作为无损相关结果。

跟踪过程BDS与GPS没有什么差别。相干积分时间均为1 ms,利用DLL跟踪码环、PLL跟踪载波环,BDS的环路滤波器参数需要适当调整。为了观测量的生成,跟踪阶段需要在每个环路调整周期中记录伪码起始沿对应的采样点索引、本地载波频率和本地载波相位,其中通道c第n+1个环路周期结束时的本地载波相位如(3)式所示。

(3)

式中,fIF(c)为通道c的GPS或BDS信号的中频频率,fcarr,n+1(c)为通道c第n+1个环路周期的本地载波频率,ΔTn+1(c)为通道c第n+1个环路周期与第n个之间的时间差。

BDS的帧同步过程需要特别对待非GEO的D1电文。经过捕获跟踪以后,本地非GEO信号仅对齐了1 ms伪码边界,并没有对齐NH码并剥离。将11位帧同步头与NH码相乘,再与跟踪好的本地非GEO信号相关,仍然采用(2)式所示的并行相关方法,可快速得到帧头位置。帧同步以后NH码也是对齐的,剥离NH码后即可得到导航电文。

2观测量生成

在跟踪阶段,每一个1 ms伪码的起始位置对应的采样点都被记录下来。帧同步后可以得到第一个子帧起始位置(对于BDS GEO信号则是第一个主帧起始位置)对应的采样点和周内秒,进而可以得到该通道所有采样点对应的卫星信号发送时间,如(4)式所示。

(4)

式中,c为通道号,s为采样点索引,L为采样点总数,S(c)和TSOW(c)分别为通道c第一个帧头起始位置对应的采样点和周内秒,TSV(c,s)为通道c第s个采样点对应的卫星信号发送时间。

图2所示为BDS/GPS双系统观测量的生成方法,其中黑点即各通道在帧同步后第一个帧同步头起始位置对应的采样点。采样点索引越大,说明卫星信号到达接收机越晚,二者距离越大。选择索引最大的采样点Su作为计算各观测量的参考点,然后计算各通道在该采样点处的卫星信号发送时间,如(5)式和(6)式所示。

(5)

(6)

式中,C为通道总数。

得到各通道在同一采样点Su处的卫星发送时间后,即可按照(6)式计算各通道的伪距观测量。

(7)

式中,c为光速;Ttravel为信号传输时间常量,代表离接收机最近卫星的信号传输时间,不必太过精确,误差可以归到各通道的钟差项里。GPS或BDS的MEO卫星到地球的信号传输时间大约70 ms左右,本文选定为70 ms。

图2 BDS/GPS双系统观测量生成方法示意图

如图2所示,假设通道1的首个帧头起始位置S(1)即第i个伪码的起始位置,在跟踪阶段记录的伪码i起始位置对应的采样点索引、本地载波频率和本地载波相位分别为Si(1)、fc,i(1)和φi(1)。可以利用一阶线性插值计算出采样点Su处的本地载波频率和载波相位,如(8)式和(9)式所示。

fc,u(1)=fc,i(1)+

(8)

φu(1)=φi(1)+

(9)

同理可以得到各通道在采样点Su处的本地载波频率fc,u(c)和载波相位φu(c),该点处的多普勒频率fd(c)则如(10)式所示。

(10)

假设计算观测量的时间间隔为Tobs,将各通道的采样点S(c)按照(11)式所示均推移Tobs得到新的采样点S′(c),继续按(7)~(10)式计算各观测量。

(11)

最后,载噪比观测量是一段数据的统计结果,不对应于某个采样点,且其意义在于示意信号强度,采样点区段不必太过精确。这里选择从首个帧头起始位置S(c)开始,经历一个Tobs这一段数据作为计算载噪比的对象,采用(12)式和(13)式所示的相关器比较法[7]计算载噪比C。

(12)

(13)

式中,Tcoh为相干积分时间,这里为1ms;M为Tobs期间的环路周期数;IP,m和QP,m分别为第m个环路周期即时I/Q支路输出;IN,m为第m个环路周期噪声通道输出。

3双系统导航解算

得到了BDS/GPS双系统在同一采样点处的观测量后即可进行双系统定位定速。解算前需要先得到解算时刻的伪距和伪距率,(14)式为修正伪距的表达式,(15)式将修正伪距对时间求导得到修正伪距率表达式。

(14)

式中,ρ为修正伪距;ρraw为伪距观测量;δt(s)和δt分别为以距离为单位的卫星s和接收机的钟差;I和T为以距离为单位的电离层和对流层延时;(x(s),y(s),z(s))和(x,y,z)分别为卫星s和接收机的位置坐标。

(15))

(16)

(17)

(18)

将所有通道根据(17)式和(18)式列出线性迭代公式,写成如(19)式所示的矩阵形式。

(19)

式中,下标g表示GPS系统,下标c表示BDS系统。

4实验结果与分析

4.1实验设备及场景

BDS/GPS中频数据由Nottingham Scientific公司的NSL-STEREO v2射频前端采集得到,使用多频段碟形天线,实验设备如图3所示。

图3 BDS/GPS中频信号采集设备

NSL-STEREO v2射频前端有MAX2769和MAX2112两个射频通道,前者只适用于L1附近频带,而后者的频率范围可以覆盖整个导航频带。这里选择MAX2112通道同时采集BDS B1和GPS L1信号,中心频率设为1 567.5 MHz,I/Q两路采样各输出3位有符号数,采样率为20 MHz,前端带通滤波器带宽20 MHz。

本文实验选在实验室楼顶进行,场地开阔无遮挡。首先采集40 s左右的静态数据,实际得到的BDS/GPS信号的频谱图、时域图以及柱状图如图4所示。

图4 BDS/GPS中频信号分析

将采集信号进行捕获得到的结果如图5所示,以最高相关峰与次高相关峰值的比(即主副相关峰比)作为捕获判断标准。

图5 BDS/GPS卫星捕获结果

图6 BDS/GPS可见卫星天空图

定位解算后得到的双系统可见卫星天空图如图6所示,其中G表示GPS,C表示BDS,后面的两位数字是卫星PRN号。此时BDS有8颗可见卫星,GPS有7颗。

4.2实验结果与分析

采集完40 s的静态数据后环绕楼顶步行一圈,起点为东南角,逆时针环绕,整个静态和动态过程历时140 s左右。图7所示为BDS/GPS双系统在ENU(东北天)站心坐标系下的定位定速结果。图8则在Google Earth上标出了GPS单系统、BDS单系统和BDS/GPS双系统3种定位结果的轨迹,其中三角形为GPS定位轨迹点,水滴形为BDS定位轨迹点,圆形为BDS/GPS双系统定位轨迹点。可以看到GPS定位轨迹比BDS单系统以及BDS/GPS双系统的要杂乱些。

图7 BDS/GPS双系统联合定位定速结果

图8 BDS/GPS双系统与单系统动态定位结果轨迹对比

参与解算卫星系统定位RMS误差/m定速RMS误差/(m·s-1)ENUENUGPSBDSBDS/GPS1.1341.1100.9121.5641.1861.3946.6922.2903.9600.0089200.0107460.0090470.0190070.0189330.0167390.0114530.0201900.012012

表2 站心坐标系精度因子对比

为了更精确地评价三者的定位定速性能,表1列出了前40 s静态定位定速在ENU方向上的RMS(均方根)误差结果,表2列出了整个140 s过程站心坐标系下的精度因子统计结果。由于GPS可见卫星数量比BDS少,且30号星的高度角较低,导致多径误差较大,因此GPS单系统的ENU定位RMS误差稍大于BDS单系统的,然而其定速RMS误差仍优于BDS;在没有去除低仰角卫星的情况下,BDS/GPS双系统的定位定速误差居于BDS和GPS单系统之间。另外,即使是在可见卫星比BDS少1颗的情况下,GPS单系统的GDOP(几何精度因子)、HDOP(水平方向精度因子)、VDOP(竖直方向精度因子)和TDOP(钟差精度因子)均优于BDS单系统;BDS/GPS双系统的各个精度因子均是最优的。

5结论

经典的开源MATLAB GPS软件接收机仅支持GPS单系统的L1信号,且无法生成RINEX文件所需的伪距、载波相位、多普勒频率、载噪比等观测量用于更高级的定位算法的研究。本位在该接收机的基础上,给出了BDS信号的捕获跟踪和电文解调策略,提出了计算BDS/GPS双系统观测量的方法,并给出了在MATLAB软件接收机平台上的具体实现方法。本接收机利用生成的双系统观测量以及解调出的星历,可以生成双系统RINEX文件。最终,文中推导了双系统定位定速解算的迭代式,并设计了实际场景下的实验来验证接收机性能。文中采用NSL-STEREO v2射频前端和多频段碟形天线在实验室楼顶采集了实际的BDS/GPS双系统中频信号,前40 s静态,后100 s低动态环绕楼顶一周。文中给出了BDS/GPS双系统和各单系统的定位轨迹、定位定速RMS误差以及精度因子的对比和分析。

GPS可见卫星数量比BDS少1,且有一颗仰角低于15°的卫星。在这种情况下,BDS单系统的ENU定位RMS误差小于GPS单系统,然而定速RMS误差却稍大于GPS,说明BDS的定速精度要弱于GPS,这可能与BDS的GEO和IGSO卫星运动缓慢导致多普勒频移和载波相位测量值误差偏大有关;在没有去除低仰角卫星的情况下,BDS/GPS双系统的定位定速误差居于2个单系统之间。实验期间BDS可见卫星比GPS多1颗,但是GDOP、HDOP、VDOP和TDOP均劣于GPS的,说明目前BDS区域系统星座的几何分布不如GPS;BDS/GPS双系统的各个精度因子均是最优的。

参考文献:

[1]BeiDou Navigation Satellite System Signal in Space Interface Control Document: Open Service Signal (Version 2.0) [R]. China Satellite Navigation Office, 2013

[2]Takasu T, Yasuda A. Development of the Low-Cost RTK-GPS Receiver with an Open Source Program Package RTKLIB[C]∥International Symposium on GPS/GNSS, Jeju, Korea, 2009: 1-6

[3]Herrera A M, Suhandri H F, Realini E, et al. goGPS: Open-Source MATLAB Software[J]. GPS Solutions, 2015, 20(3): 1-9

[4]Borre K, Akos DM, Bertelsen N, et al. A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach[M]. New York, USA, Birkhäuser Boston, 2007

[5]Suzuki T, Kubo N. GNSS-SDRLIB: An Open-Source and Real-Time GNSS Software Defined Radio Library[C]∥ION GNSS+2014, Tampa, USA, 2014: 1364-1375

[6]Macchi F. Development and Testing of an L1 Combined GPS-Galileo Software Receiver[D]. Calgary, Alberta, Canada, University of Calgary, 2010

[7]Groves P D. GPS Signal to Noise Measurement in Weak Signal and High Interference Environments[C]∥ION GNSS 2005, Long Beach, USA, 2005: 643-658

Implementation and Performance of BDS/GPS Dual-System Software Receiver

Song Yulong, Lian Baowang, Song Jiaju

(School of Electronics and Information, Northwestern Polytechnical University, Xi′an, 710072, China)

Abstract:On the basis of the classical MATLAB GPS software receiver, an acquisition/tracking and frame decoding strategy is present for BDS signal with rapid sign transitions. What’s more, an observations extraction algorithm for BDS/GPS dual-system is proposed, including pseudo-range, carrier phase, doppler and carrier-to-noise-ratio. After that, the derivatives of dual-system position and velocity iterative equations are given. The NSL-STEREO front-end is employed to grab real intermediate frequency signal containing BDS B1 and GPS L1 parts, and a static and a dynamic experiment on the roof are designed. The ground tracks, position/velocity errors and dilution of precisions of BDS/GPS dual-system and each single system are compared and analyzed. The results validate the performance of the software receiver, and indicate the difference between systems.

Keywords:MATLAB; BDS; GPS; dual-system; software receiver; observations; front-end; design of experiments

收稿日期:2016-02-20

基金项目:国家自然科学基金(61301094)与陕西省科技统筹创新工程重点实验室项目(2013SZS15-K01)资助

作者简介:宋玉龙(1990—),西北工业大学博士研究生,主要从事GNSS软件接收机及鲁棒精密定位的研究。

中图分类号:TN967.1

文献标志码:A

文章编号:1000-2758(2016)04-0656-07

猜你喜欢

双系统伪码伪距
BDS/GPS双系统PPP精度分析
BDS-3载波相位平滑伪距单点定位性能分析
区域实时双系统精密卫星钟差估计及PPP精度分析
载波和多普勒平滑伪距算法在智能手机单点定位中的应用
直接序列扩频伪码同步技术的研究与实现
基于重采样技术的短码直扩信号伪码估计
GNSS伪距粗差的开窗探测及修复
伪码体制脉冲串引信信号参数提取方法
联合码伪距和载波宽巷组合的相对定位技术研究
解决双系统平板的常见问题