文章快速检索  
  高级检索
USRP平台下GPS软件接收机高精度定位的实现
徐亚明1,2, 刘志锋1, 张鹏1,2, 孙福余1,2    
1. 武汉大学测绘学院, 湖北 武汉 430079;
2. 精密工程与工业测量国家测绘地理 信息局重点实验室, 湖北 武汉 430079
摘要:首先介绍了采用软件无线电外设USRP(universal software radio peripheral)实现软件接收机的过程,然后介绍了采用软件接收机实现高精度定位的过程,输出了RINEX格式导航电文和观测文件,并详细介绍了利用开源软件RTKLIB进行最终定位的解算细节,经过与距离400 m左右的IGS站进行基线解算分析,该软件接收机能够达到厘米级别的定位精度,均方根误差在1 cm左右。
关键词软件接收机     USRP     RTKLIB     定位    
The Implement of High Precision Software Receiver Based on USRP
XU Yaming1,2, LIU Zhifeng1, ZHANG Peng1,2, SUN Fuyu1,2

传统的商用接收机大多采用专用集成电路技术(application specific integrated circuit,ASIC),计算能力强、效率高、专一性好,但是无法进行算法的升级,不能对其进行修改和定制,不具备可扩展性,产品更新换代的时间也较长。而软件接收机利用了软件无线电的思想,其优点是可以方便、简单、快速地适应新的频率制式,也可以适应多路径、GNSS反射等一些特殊的科学研究需要,而且可以方便地植入智能手机,与惯性设备进行深组合等[1]。软件接收机核心思想是将数字信号处理模块中信号捕获、信号跟踪等核心模块全部通过软件来实现。卫星信号首先由射频前端模块进行预处理,完成下变频并进行数字化,之后所有的工作都由运行在通用处理器上的软件接收机程序来实现。

目前,基于软件接收机的研究主要集中在导航领域,定位精度有限,在高精度定位领域的研究还很欠缺。本文从捕获、码环路、载波环路、本地载波频率漂移量等方面的具体实现进行了分析,并重点讲述了载波相位测量值的输出原理,试验结果验证了基于USRP的实时单频软件接收机短基线能够达到厘米级别的定位精度,东西、南北、高程3个方向的均方根误差能够维持在1 cm左右,接近高精度的商用接收机的定位精度。

一、 基本模块分析与实现 1. 射频前端模块

本文利用USRP1作为试验平台中的射频前端,USRP1源于Ettus实验室,它借助开源软件GNURadio通过USB2.0连接到电脑,其传输速度最大为480 Mbps,可以满足试验要求。USRP由母板、子板组成,母板包括一个FPGA、两个模数转换器和两个数模转换器,可以在母板上插入覆盖不同频率范围的子板。不同的子板可以覆盖从0~2.9 GHz的频率,本文选择了DBSRX子板,它可以处理的频率范围从800 MHz~2.4 GHz,基本上可以处理GNSS系统所有的信号频段。

本文中,DBSRX的主要功能是将处于L1频段的GPS信号通过混频操作将射频信号下变频到中频频段,便于主板上的模数转换器进行采样。而母板的主要功能是将处于中频的模拟信号通过ADC变换为数字信号,如图 1所示,并将得到的数字中频数据通过USB接口传递给软件接收机,软件接收机通过GNURadio先设置子板的混频频率、数据抽取率等待信息,把数字中频信号读进内存进行下一步捕获、跟踪处理或保存到硬盘进行离线分析。

图 1 射频前端模块示意图
2. 数据处理模块

软件接收机中的软件处理模块主要包括3部分:捕获、跟踪和定位[2]。详细过程如图 2所示。

图 2 软件处理模块示意图

捕获过程得到卫星号、伪随机码相位和中频信号频率的初始值,然后程序进入跟踪模块,跟踪模块由码跟踪环和载波跟踪环共同组成。如图 3所示,其中码跟踪环由延迟锁定环路(delay lock loop,DLL)实现,目标是跟踪并剥离伪随机码;而载波跟踪环一般由锁相环(phase-locked loop,PLL)完成,目标是完全剥离载波信号[3]

图 3 载波跟踪环信号处理流程

在GPS软件接收机的捕获和跟踪过程中,本地码产生、载波产生、相关积分这3个部分耗时最多[4],本地微调生成载波最为耗时,所用时间占整个信号跟踪处理时间的近一半。因此本文在捕获过程中,基于FFT算法,利用了预存查表的技术,本地先生成各个卫星的伪随机噪声码(PRN码)并对其进行傅里叶变换,保存为一个单独的文件,这样在捕获过程中可以直接通过指针来获得任意一颗卫星的PRN码,提高了软件接收机捕获过程的处理速度和实时性。在实现载波跟踪环的过程中,同样利用了预存查表技术,先生成了频率间隔为10 Hz的载波,这样在进行载波剥离时可以直接与预先生成的载波相乘,有效地提高了跟踪卫星的速度,满足了实时软件接收机的要求。

3. 载波相位测量值的生成

软件接收机中,输入锁相环的中频信号和本地复制载波信号都是离散的数字信号,锁相环的工作也完全由软件实现。因此锁相环的频率更新不再是实时进行的,而是有一个更新周期T。在本文中,由于中频数据是以1 ms为整体进行处理的,故跟踪环路的更新周期为1 ms。在刚进入跟踪环路时,利用锁频环辅助锁相环,锁相环在锁频环的跟踪频率的基础上锁定载波相位[5],采用载波环辅助码环的策略,降低了码环的噪声带宽,减小码环的误差。跟踪环路稳定后,每1 ms进行载波跟踪和码跟踪,每毫秒载波环都会计算在该周期内中频信号和本地复制载波的相位差异,并以此反馈给下一毫秒更新本地载波生成器的输出频率。

由于整周模糊度N的存在,因此在软件接收机部分无法得到准确的载波相位值,但是在后处理中可以通过一些算法进行求解。重点是测量不同时刻的载波相位测量值的差值,只要保证测得的相位小数部分的精确且没有太多周跳,就可以在后处理中得到高精度的定位值。由于卫星和接收机之间相对运动在它们连线方向的投影改变接收信号的频率,产生多普勒频移fD(t)。根据频率和相位的内在关系,对fD(t)积分会得到该时间段内的载波相位测量值的变化量ΔΦ,简称积分多普勒[6],即

理论上,在每毫秒内,载波相位测量值的变化量ΔΦi可以表示为ΔΦi=-[iT,其中[i]可认为是常数,是本地估算的多普勒频率值,T为1 ms。需要注意的是,本文所用射频前端的TXCO晶体振荡器稳定度有限,会给接收机的正常运行带来较大影响,晶振的频率误差会直接影响下变频的频率,并给采样频率也带来偏差。采样频率的偏差会直接影响接收机内部的本地时钟的计数,下变频频率的误差则会直接影响多普勒频率的估计,进而严重影响载波相位测量值的准确性,因此本文在获得大于4颗卫星后,进行接收机位置钟差估计的同时也进行了三维速度和时钟频率飘移fclock,利用时钟频率飘移来校正估计的多普勒频率值得到fclock+[7]。每毫秒内,载波生成器输出的本地复制载波的频率fIF++fclock维持不变,其中fIF为中频频率。但卫星相对接收机的运动会使得多普勒频移fD持续发生变化,输入中频信号频率fIF++fclock也会实时发生改变,其中fD为多普勒频率真值。因此在频率更新周期内锁相环处于不完全同步的状态,导致在每个更新周期结束后会有一个额外的相位差异Φe[i]。在计算载波相位测量值时,不仅要在前一个载波相位测量值的基础上加上本周期内的积分多普勒值ΔΦi,还要加上额外的相位差异Φe[i]。每毫秒更新周期结束后载波相位测量值的变化量ΔΦi可以表示为

如果算得初始历元t1的载波相位测量值Φ1,那么t2时刻的载波相位测量值Φ2可以由以下公式得到

式中,m可以视为在(t2-t1)时间段内包含的频率更新周期T的个数。

二、 试验结果

本次试验数据的采集时间是2014年7月25日,地点在某大学楼顶平台。试验中用到的天线是高精度的增益为29 dB的Novatel GPS-702GG有源天线,该天线采用强制对中的方式固定在观测墩上,如图 4所示,此点为要计算的未知点。天线直接连接到USRP的射频输入端,USRP通过USB2.0接口连接到笔记本电脑,所有的基带数字信号处理由运行在笔记本电脑上的软件按接收机程序完成,实时输出测量结果并存储为RINEX文件,如图 5所示。值得注意的是本文输出RINEX观测数据的频率是1 Hz,因此下文中所用的基准站的数据也是1 Hz的高频数据。

图 4 天线位置示意图
图 5 软件接收机

测试时间为UTC时间7:10—7:53。为了评估软件接收机定位精度,本文选择与待测点距离约400 m左右的IGS跟踪站WUHN站作为参考站进行单基线解算,以WUHN站为基准站,基准站坐标从IGS发布的数据获得,可以认为基准站坐标是几乎没有误差的,因为起算点精度对短基线精度影响可以忽略不计[8]。该站点采用的是Trimble公司的NETR9型号接收机,天线为TRM59900有源高精度天线。

通常,长时间的静态定位结果可以获得更好的定位精度,但不能很好地体现出接收机定位误差的变化情况,因此笔者选择输出动态的双差定位结果,可以逐历元地输出待测点在3个方向上的点位偏差。本次试验选择开源软件RTKLIB作为解算软件,它能够逐历元地输出定位结果,可以实现近似的动态解,这是其他解算软件无法做到的。RTKLIB解单基线是基于双差观测值,采用LAMBDA法搜索整周模糊度,解算界面如图 6所示。在试验过程中,待测点和基准站处均能检测到8~10颗卫星,卫星可见图如图 7所示。为了更直观地比较定位结果,选择均方根误差(RMS)作为衡量定位结果的依据,定位结果如图 8所示,可以看出东西方向的均方根误差为1.04 cm,南北方向均方根误差为0.28 cm,高程方向的均方根误差为0.81 cm。可以看出垂直方向的精度要低于水平方向的精度,由于精度评定是建立在数理统计的基础上的,由于这里观测时间有限,因此分析结果带有一定的随机性或偶然性[9]。而东西方向的精度要略差于南北方向的精度,是由基线的几何位置位置决定的,从试验结果可以看到基线基本上就是南北走向的,从几何条件上知道南北方向的基线精度必然高于东西方向的精度。由于本研究主要是针对单频软件接收机,另外由于本试验在选择天线类型时没顾及天线的型号,并没有天线相位中心偏差和天线相位中心变化进行改正,此项可能对基线解算结果有一定影响[10]。由于单频接收机容易受电离层、对流层误差、多路径等因素的影响,因此模糊度难以固定,如果读者想了解单频接收机模糊度方法,可以参考文献[11]。将解算结果转换为KML文件导入到谷歌地球,如图 9所示。可以看出求得的待测点位置就是放置软件接收机天线的位置。

图 6 RTKLIB解算界面
图 7 观测时段的卫星可见图
图 8 双差逐历元解点位偏差
图 9 定位结果示意图
三、 结束语

目前,软件接收机在导航领域已经得到了较广泛的应用,但对实时软件接收机高精度定位领域的研究还没有广泛展开,有学者基于Matlab软件平台实现了高精度定位和测速[12]。本文研究了用于高精度定位领域的软件接收机的载体相位观测值的生成,实现了高精度的定位,并对定位结果进行了分析。接下来会继续研究提高软件接收机的定位精度的方法,并针对其在滑波监测、多路径减弱、室内高精度定位等领域的应用作更加深入的研究。

参考文献
[1] PANY T, FALK N, RIEDL B, et al. Software GNSS Receiver[J]. GPS World, 2012, 23(9): 60-66.
[2] GPS 原理与接收机设计[M]. 北京:电子工业出版社, 2009: 266-267.
[3] 张鹏,孙福余,徐亚明,等. 基于USRP平台的GPS软件接收机设计与实现[J]. 测绘通报,2012(11):55-58,80.
[4] 刘银锋, 陈小惠, 杨凤伟. 基于预存查表的 GPS 软件接收机的载波产生方法[J]. 舰船电子工程, 2011, 31(3): 78-80.
[5] 王俊, 李加琪, 吴嗣亮. 锁频环辅助下锁相环的跟踪误差分析[J]. 北京理工大学学报, 2011, 31(7): 838-843.
[6] KAPLAN E, HEGARTY C. Understanding GPS: Principles and Applications[M]. [S.l.]: Artech House, 2005:162-163.
[7] 孙福余,张鹏,徐亚明,等. 载波相位测量原理及在GPS软件接收机上的实现[J]. 测绘通报,2014(4):70-73.
[8] 梁洪宝,吴向阳. 起算点坐标偏差对GPS基线解的影响分析研究[J]. 测绘科学,2009,34(S2):33-34,32.
[9] 黄声享, 刘经南. 利用长期观测资料评价 GPS 短基线的定位精度[J]. 测绘工程, 2001, 10(2): 41-44.
[10] 刘宁, 熊永良, 冯威, 等. 单频 GPS 动态定位中整周模糊度的一种快速解算方法[J]. 测绘学报, 2013, 42(2): 211-217.
[11] 郭际明,史俊波,汪伟. 天线相位中心偏移和变化对高精度GPS数据处理的影响[J]. 武汉大学学报(信息科学版),2007,32(12):1143-1146.
[12] 孙希延, 纪元法, 施浒立, 等. GPS 软件接收机高精度定位和测速的研究与实现[J]. 武汉理工大学学报(交通科学与工程版), 2008, 32(4): 623-626.
http://dx.doi.org/10.13474/j.cnki.11-2246.2016.0038.
国家测绘地理信息局主管、中国地图出版社(测绘出版社)主办。
0

文章信息

徐亚明, 刘志锋, 张鹏, 孙福余
XU Yaming, LIU Zhifeng, ZHANG Peng, SUN Fuyu
USRP平台下GPS软件接收机高精度定位的实现
The Implement of High Precision Software Receiver Based on USRP
测绘通报,2016(2):8-11,16.
Bulletin of Surveying and Mapping, 2016(2):8-11,16.
http://dx.doi.org/10.13474/j.cnki.11-2246.2016.0038.

文章历史

收稿日期:2015-01-30

相关文章

工作空间