王君剛,王解先,陳俊平,楊賽男
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