王君刚,王解先,陈俊平,杨赛男
U-Blox 6接收机解码与定位测试
王君刚1,2,王解先1,3,陈俊平2,杨赛男2
( 1.同济大学测绘与地理信息学院,上海200092; 2.中国科学院上海天文台,上海200030; 3.现代工程测量国家测绘地理信息局重点实验室,上海200092)
GPS接收机接收到的原始数据以二进制存储,不同类型接收机的原始观测数据格式都不同,这为GPS数据处理带来不便,因此引进与接收机无关的数据交换格式( receiver independent exchange format,RINEX),对于GPS数据的通用性与实用性都有着重要意义。RINEX格式的数据被绝大多数数据处理软件所支持,是GPS领域应用极为广泛的数据格式。
GPS接收机一般都有随机软件,可将其自定义的原始数据格式转换为标准的RINEX格式,供用户使用。在快速定位时,需要实时获取接收机的观测数据,而多数接收机并无实时提供标准RINEX格式数据的功能,用户只能得到原始的观测数据,并在此基础上进行解码使用,因此有必要研究GPS接收机原始观测数据的解码。GPS数据解码的相关研究较多,包括对原始观测数据的研究[1-2]、对星历的解码[3]、DGNSS差分电文的解码算法[4],以及对RTCM[5-9]格式差分信息的解码。
作为市面上一种较为流行的GPS接收机,UBlox以其高精度、高灵敏的特性成为导航定位的常用接收机,其最新版本为U-Blox 6。U-Blox接收机能够接收GPS导航数据、观测数据及差分信息,原始数据以自定义的UBX协议格式存储,数据处理时需要先将其解码为通用RINEX格式。本文以UBlox 6接收机为例,介绍了其原始观测数据格式和解码过程,并利用解码后的数据进行了静态/动态伪距单点定位和差分定位,对定位结果精度进行了分析。
根据UBX协议,可以从原始的二进制数据中解码出需要的信息。下面介绍UBX基本结构和解码原理。
1.UBX包结构
根据UBX协议,每条记录由记录头、CLASS和ID、长度、内容( Payload)及校检码组成,一条UBX观测数据记录结构如图1所示。
图1 UBX数据包结构
由图1可知,每条记录以十六进制的B5和62开头,第3位是Class,U-Blox 6共有9种Class,第4位是ID。Message ID后是2 Bytes的数据长度,其存储按照低字节序( little endian)存储。每条记录的最后两位是校检码CK_A和CK_B,校检机制为:
校检长度为Class全Payload。
解码时,将读取到的二进制转换为十六进制,如果有两相连数据为B5和62,可判断是一条记录的开头,由Class与ID判断其数据类型,根据相应类型的协议进行解码。每条记录都要进行校检码的校检,校检成功才能说明该条记录是有效的。
2.原始观测数据结构
UBX一个历元的原始观测数据结构见表1。
表1 UBX观测数据结构
即一条观测数据以十六进制的B5、62开始,其Class和ID分别为十六进制的02、10,长度为8+24× numSV,其中numSVn表示本历元的卫星个数。具体内容( Payload)见相应说明书[10]。
GPS定位主要包括差分模型和非差模型。差分能消除部分误差,减少待估参数个数,而非差模型有利于质量控制,能更方便地对误差进行模型化[11]。下面将介绍伪距单点定位和差分定位的数学模型,以及消参数法的原理。
1.伪距单点定位模型
某历元i、测站k对卫星j的观测方程为
2.1 两组患儿治疗前、后肺功能指标比较 治疗前两组患儿FVC、FEV1、FEV1/FVC水平差异无统计学意义(P>0.05);治疗后两组患儿FVC、FEV1、FEV1/FVC均高于治疗前,且观察组高于对照组,差异均有统计学意义(P<0.05)。见表1。
式中,Pjk表示伪距观测量; vjk为残差项;( Xj,Yj,Zj)为卫星坐标;( Xk,Yk,Zk)为接收机坐标; δtj、δtk分别为卫星、接收机钟差; Tropjk、Ionoj
k分别为对流层延迟、电离层延迟;εjk为其他误差改正项[12],包括相对论效应改正、地球自转效应改正等。对式( 1)线性化,组成误差方程[13-15],由4颗卫星的观测值即可解算测站坐标。
2.伪距差分定位模型
GPS伪距差分系统由一台基准站GPS接收机和一台或多台流动接收机组成,基准站接收机安置在已知点上。由于基准站坐标已知,可计算相应的其他改正项发送给流动站,从而提高流动站的定位精度。若不发送实时改正数,可以事后将基准站与流动站的数据一起处理,采用差分定位的方式计算流动站坐标[16]。
测站k、t对卫星j的站间单差观测方程为
式中,ΔPjk,t为测站k、t对卫星j的伪距观测值之差; Δdj为卫星到两测站距离之差;Δt为接收机钟差k,tk,t之差。可以看出,站间单差消除了卫星钟差项,还能减小卫星轨道误差。此外,当测站距离较近时,大气环境相似,ΔTropjk,t、ΔIonojk,t比较小,能够进一步提高定位精度。
3.消参数法
由观测方程式( 1)或式( 2),可得第一个历元的法方程为
此时法方程只有坐标项,迭代至收敛即可。
静态解需要将每个历元的法方程叠加求得整体解。由于每个历元最后一次迭代的初值均不一样,法方程叠加时需要将其统一。已知两个历元迭代后的法方程为
式中,N( 1)、N( 2)为最后一次迭代的法方程系数阵;为最后一次迭代的初值; X为坐标真值。将第二个法方程的初值与第一个法方程统一,即
此时,可以将其直接与第一个法方程叠加。将每个历元的法方程都统一到第一个历元的法方程,叠加可求得所有历元的整体解。
对某实测数据解码,然后进行伪距单点定位和差分定位分析,并分析定位结果。观测数据主要包括基站、静止测站A和运动测站B,测站均位于美国。观测时间为2014-02-05,各测站的观测时段见表2。
表2 各测站观测时段
1.解 码
按照U-Blox 6说明文档的协议规定对观测数据解码,将解码数据以RINEX2.1格式输出,其中一个历元的数据如图2所示。
图2 由U-Blox 6解码出的观测数据
可以看出,观测数据有P1、L1和D1三种类型,本历元共12颗可见卫星。
2.伪距单点定位
由原始数据解码出相应的观测数据文件,包括静态测站和动态测站。对基站和测站A进行伪距静态单点定位,采用前文所述的消参数法,改正项包括地球自转改正和相对论改正。坐标结果见表3。然后以基站为已知点,以其静态单点定位的坐标值为坐标真值,对测站A进行静态伪距差分定位,坐标解见表3。
表3 基站及测站A坐标解算值 m
对测站A分别进行动态伪距单点定位和动态伪距差分定位,以相应的静态坐标解为真值,统计其标准差与中误差,结果见表4。两种方式(单点定位和站间单差)动态定位的坐标时间序列图如图3所示。由表4及图3可知,采用差分定位后点位误差减小约50%,而且点位中误差与标准差很接近,这说明系统性误差也减小了,因此差分定位能显著提高定位精度。这是因为站间单差消除了卫星的钟差项与轨道误差,而且测站距离很近,对流层延迟、电离层延迟基本被消除掉。
表4 测站A动态定位结果 m
图3 测站A的伪距单点定位和差分定位坐标序列
分别采用伪距单点定位和伪距差分的形式,对测站B进行动态定位,其坐标轨迹如图4所示。图中,左侧为坐标水平运动轨迹,右侧为高程轨迹。从图中可以看出,差分后的运动轨迹比动态单点定位轨迹平滑许多,从而进一步验证了差分定位能改善定位精度的结论。
图4 测站B坐标轨迹
本文介绍了U-Blox6接收机的数据格式,给出了解码的相关算法,实现了原始观测数据的解码。针对伪距单点定位和差分定位,介绍了相应的数学模型及静态定位整体解的消参数法。通过原始数据的解码验证了解码算法的正确性,采用解码后的观测数据进行了静态/动态伪距单点定位和差分定位。定位结果显示,与非差单点定位相比,采用站间单差后,动态定位的点位误差减少约50%,且运动轨迹更为平滑,因此站间单差能显著提高定位精度。
[1] 张光炬,王解先.GPS原始数据解码为RINEX的方法[J].光学仪器,2007,29( 6) : 27-31.
[2] 贾蓉,王解先.NovAtel OEM4主板的GPS原始数据解码[J].现代科学仪器,2010( 1) : 54-57.
[3] 郑祎,王解先.GPS卫星预报星历的解码及卫星预报[J].工程勘察,2000( 3) : 52-55.
[4] 邹进贵,陈健.DGNSS差分电文解码算法研究[J].测绘通报,2013( 7) : 5-7.
[5] 朱静然,潘树国,孔丽珍.DGPS数据格式RTCM3.1介绍及编解码方法[C]∥第四届中国卫星导航学术年会电子文集.北京:[s.n.],2013.
[6] 孙良玉,刘春,吴杭彬.GPS虚拟参考站RTCM传输电文的分析与解码[J].全球定位系统,2008,33 ( 5) : 52-57.
[7] 李良,张小超,赵化平.GPS差分RTCM数据实时编码解码算法及实现[J].计算机工程与应用,2006,42( 11) : 209-211.
[8] 史小雨,程鹏飞,蔡艳辉,等.差分GPS数据通信格式RTCM 3.1及其解码算法的实现[J].测绘通报,2012( 6) : 4-6,67.
[9] 严新生,过静珺,朱小冬,等.RTCM SC-104差分电文解码[J].工程勘察,2007( 6) : 61-65.
[10] u-blox 6 Receiver Description[EB/OL].[2014-02-06].http:∥www.u-blox.com/.
[11]柳响林,刘经南,王新洲.单历元GPS非差相对定位模型的研究[J].测绘通报,2003( 3) : 5-8,36.
[12]裴霄,王解先.GPS伪距单点定位的精度分析及改进[J].海洋测绘,2012,32( 1) : 5-7.
[13]王解先,季善标,易玉丹.GPS动态伪距单点定位精度与GDOP的关系[J].工程勘察,1998( 6) : 50-52,45.
[14]王解先.GPS精密定轨定位[M].上海:同济大学出版社,1997.
[15]王解先,徐志京.三种坐标间转换的雅可比矩阵数值导数计算方法[J].大地测量与地球动力学,2004,24( 4) : 19-23.
[16]杨永平,兰孝奇,夏开旺.GPS相位平滑伪距差分定位技术的试验研究[J].工程勘察,2006( 2) : 52-56.
The Decoding of U-Blox 6 and Positioning Test
WANG Jungang,WANG Jiexian,CHEN Junping,YANG Sainan
U-Blox接收机的原始数据以自定义的UBX协议存储,使用时需要将其解码到标准RINEX格式。本文介绍了U-Blox 6接收机原始数据的数据包结构和解码原理,对实测数据成功进行了解码;并介绍了GPS定位的数学模型,对消参数法进行了详细的分析,对解码后的数据进行了静态/动态伪距单点定位和差分定位。定位结果显示,采用站间单差后点位误差减小50%,运动点位轨迹更加平滑,说明站间单差能显著提高定位精度。
GPS原始数据;解码; UBX;单点定位;单差;消参数法
王君刚( 1990—),男,硕士生,主要研究方向为GNSS定位。E-mail: wangjungang2009@ yeah.net
P228.4
B
0494-0911( 2015) 11-0024-04
王君刚,王解先,陈俊平,等.U-Blox 6接收机解码与定位测试[J].测绘通报,2015( 11) : 24-27.
10.13474/j.cnki.11-2246.2015.0338
2014-11-10