于曉東,呂志偉,王兵浩,于合理,閆建巧
(信息工程大學導航與空天目標工程學院,河南 鄭州 450001)
DGNSS數據傳輸格式RTCM3.2的介紹及解碼研究
于曉東,呂志偉,王兵浩,于合理,閆建巧
(信息工程大學導航與空天目標工程學院,河南 鄭州 450001)
摘要:傳統的網絡RTK中數據中心和流動站的數據傳輸一般采用RTCM SC-104格式,而數據中心和參考站之間一般采用接收機廠商自定義的實時數據格式。為了滿足新一代網絡RTK多系統,多信息類型的實時數據傳輸,RTCM委員會專門推出了最新的RTCM 10403.2數據格式。本文詳細介紹了最新版的RTCM3.2電文特點,新增的MSM電文,編、解碼方式以及對BDS系統的支持。給出了MSM電文組的解碼流程,通過對實時數據進行解碼實驗,證明了算法的正確性和可靠性。
關鍵詞:DGNSS;RTCM3.2;MSM;解碼;北斗
doi:10.13442/j.gnss.1008-9268.2015.03.009
中圖分類號:P228.4
文獻標志碼:A
文章編號:號: 1008-9268(2015)03-0037-05
收稿日期:2015-01-06
作者簡介
Abstract:The standard of RTCM SC-104 has been widely used in transmitting the data between analysis center and mobile stations. However, the traditional communication between analysis center and reference stations usually use the self-defining standard made by the GNSS receiver producer. The least version RTCM3.2 was made to support the DGNSS data transmission. This paper introduced the message type, the added MSM, the main information packaged in the message, and the part related to the BDS. A practical coding and decoding method of converting GNSS observation data between binary data was proposed. The method is proved to be correct and effective.
0引言
隨著我國北斗衛星導航系統(BDS)的發展、美國GPS的現代化、以及俄羅斯的GLONASS和歐盟的GALILEO的蓬勃發展,差分GNSS得到了越來越廣泛的應用[1]。為了滿足這些系統的高精度差分定位以及增強服務的需求,國際海運事業無線電技術委員會(RTCM)第104專業委員會推出了一系列的差分導航全球衛星系統(DGNSS)數據通用格式。
自上世紀九十年代推出RTCM2.X以來,RTCM格式目前已被廣泛用于測繪、施工、運輸、規劃等多個領域來傳輸差分GNSS數據。但在使用中發現,RTCM2.X在一些結構的設計上存在明顯的缺陷,例如在檢驗位的設置上對帶寬造成了很大的浪費,并且檢校碼之間不獨立,給解碼造成了一定困難[2-3]。為了克服RTCM2.X的這些缺陷,RTCM委員會2006推出了RTCM3.0格式。同時為了滿足日益增多的衛星導航系統以及多頻的需求,2013年又推出了RTCM3.2(RTCM standard 10403.2 differential GNSS Services-Version 3)[2]。
RTCM 3.2的制定和修正,不僅彌補了之前版本中的缺陷,還增加和擴展了多種網絡RTK信息,定義了包含GPS、GLONASS、GALILEO 和BDS的多信號信息組(MSM),拓寬了RTCM 的應用領域。尤其值得強調的是MSM電文組可以對北斗系統提供支持,這對北斗的高精度差分定位服務有著重要的意義[4]。但是由于RTCM3.2標準公布的時間較短,支持此標準的接收機較少,對編碼、解碼流程研究的相關文獻較少。因此本文重點對RTCM3.2格式中新增的MSM電文組進行研究,并對MSM進行了解碼程序設計,采用實測實驗數據進行驗證。
1RTCM 3.2的電文內容
RTCM3.X標準包含應用層、表示層、傳輸層、數據鏈路層以及物理層。對于編碼、解碼最重要的是表示層和傳輸層[2,5]。表示層對整個數據結構做出了詳細的定義,包含數據字段、消息類型等。傳輸層定義了傳輸的協議,校驗方式等。
RTCM3.X為了達到較高的傳輸完整率,一條標準的電文由一個固定的引導字、保留字、一個消息的長度定義,一條消息和一個24 bits的周期冗余檢校組成,具體的消息結構框架如表1所示。
聯系人: 于曉東 E-mail: yuxiaodong5@qq.com

表1 Version 3的電文框架結構
為了滿足日益增多的衛星導航系統以及多頻的需求,RTCM3.2在保留了之前版本各電文定義外,又引入了多信號電文組(MSM)。MSM電文組不僅能支持原有格式中包含的DGNSS/RTK的信息,還能實時傳輸、保存基于網絡的RINEX格式觀測值。表2示出了RTCM3.2中的各MSM電文組的用途,其中MSM6和MSM7分別與MSM4和MSM5中包含的電文內容是相同的,只是MSM6和MSM7包含的數據內容精度更高,可以為更高精度的應用而服務。

表2 RTCM3.2中的MSM電文組的用途
MSM電文組由于其通用性更好,便于編碼、解碼,未來將是實時GNSS數據傳輸的重要方式。然而由于它是最新提出的一種電文類型,相關介紹文獻也較少,因此下面對MSM電文組進行介紹。
MSM電文組由三部分組成,分別為電文頭(Message Header),衛星數據(Satellite Data)和信號數據(Signal Data)。
1.2.1電文頭
各MSM電文組的電文頭是相同的,包含了該條消息的基本情況,通過解碼電文頭,可以得到消息類型,參考站信息,各觀測值信息,電文長度等。表3示出了各MSM電文組的消息頭的詳細內容定義。

表3 各MSM電文組的消息頭包含內容
表3中uint3表示該數據字段是占二進制位3位的無符號整型,范圍大小是0~7。uint(3)表示三個獨立標志位。int15表示該數據字段是占二進制位15位的整型,范圍大小是±16 383。
1.2.2衛星數據
衛星數據描述了衛星到測站概率距離的信息,排列順序按照電文頭中定義的衛星標志組。不同MSM電文組包含的信息不同,以支持網絡RTK中所需觀測值信息的最常用的MSM4電文為例,介紹電文的衛星數據的組成,如表4所示。

表4 MSM4中的衛星數據
1.2.3信號數據
MSM電文組的信號數據是以Cell為單位進行排列,它的排列順序根據GNSS Cell標志組(Masks)來排列的。GNSS Cell標志組是一個存放衛星編號及頻率編號的二維數組。它的第一行存放的是衛星標志組中第一顆觀測衛星各信號的標志,以此類推。因此它的大小Ncell是由衛星和信號的個數來決定的,Ncell=Nsat×Nsig,其中Nsat是衛星個數,Nsig是信號個數。
MSM的信號數據不同于傳統的電文類型,傳統電文采用以衛星為單位,每顆衛星的數據結構相同,重復Nsat次。MSM采用同一數據字段重復Ncell次,采用每個數據字段內部循環的方式來存放數據[6]。
信號數據中數據是按數據字段類型排列,第一部分是存放所有衛星、所有信號的偽距,排列順序是按照電文頭中Cell Mask定義的衛星號、信號順序排列,重復Ncell次。剩下的載波值、半周模糊度標志位、信噪比以此類推。
MSM4的信號數據如表5所示。

表5 MSM4中的信號數據
RTCM 3.2的制定和修正,不僅彌補了之前版本中的缺陷,還增加和擴展了多種網絡RTK信息,定義了多個系統的多信號電文組(MSM)[6]。
2013年7月有機構提出了BDS差分電文的提案,為MSM電文組。目前RTCM3.2中對BDS定義的MSM電文組為1121-1127,僅能支持個別應用,不支持SSR、ABDS等應用。2014年,為了提出能支持多種位置服務功能的差分電文格式,武漢導航與位置服務工業技術研究院在中國海事局的支持下,向RTCM委員會提交了BDS RTCM-
10403.2差分電文,并被順利接受,進入討論環節[4,6]。如果提案能夠通過,RTCM將針對BDS推出類似GPS的各種差分電文格式,有利于完善北斗的高精度差分增強服務。
2MSM電文組的解碼程序設計
根據前文介紹的RTCM3.2電文的數據結構及編碼方式,對RTCM3.2的解碼流程進行了設計,如圖1所示。

圖1 RTCM3.2的解碼流程
對于傳統的電文類型如1004,1005等研究較多,對于包含MSM4電文組的1074,1084等電文類型研究較少,在此重點給出了包含MSM4電文組的GPS1074的具體解碼流程,如圖2所示.

圖2 MSM4電文組解碼流程
在MSM4電文解碼過程中,有以下幾點需要注意:
1) 衛星數據由兩個數據字段組成,第一部分為Nms, 表示的是信號從衛星到接收機傳播時間除以1 ms后得到的整數部分。第二部分為RoughRange,表示的是信號從衛星到接收機傳播時間除以1 ms后保留十位的小數部分。通過這兩個值就可以恢復偽距的概略值。偽距概略值R為
R[i]= (Nms+RoughRange/2-10)×C/1000,
其中,C為光速,單位m/s.
2) 信號數據中的偽距和載波值存放的都是小數部分,以偽距Pr為例,Pr中存放的是偽距小于2-10(光速×0.001) 的部分,真實的偽距P要通過和衛星數據中的偽距概略值相結合來計算:
P[i]=Pr[i]×2-24+R[i].
3) 半周模糊度表示的是接收機是否因內部原因造成載波發生了半周的周跳。如果該標識設為1,表示發生了周跳,數據處理軟件應加以處理。
4) 結束標識Sync表征該電文組是否是當前歷元的最后一組電文。如果該標志位值為1,表示當前歷元的電文組還沒有結束;如果值為0,表示可以結束當前歷元的解碼流程。
3實驗分析
為了驗證本文給出的解碼流程的正確性,以華測N71接收機2014年某天產生的RTCM數據為例對算法進行了驗證。試驗中華測N71接收機同時保存的RINEX格式觀測數據文件進行比對。通過比較兩者的關系來驗證算法的正確性.
圖3示出了包含GPS觀測值信息MSM4的1074電文。

圖3 1074原始電文
表6示出了對實測數據進行解碼后得到的數據信息。將解碼的數據與接收機保存的RINEX文件進行了對比,得出了一致的結果,驗證了算法的正確性。

表6 解碼后的1074數據信息
圖4示出了包含GLONASS觀測值信息3M4的1084電文。由于MSM電文組就是為了多系統多信號的數據所設計的,所以不同系統之間的解碼流程是一致的,采用和GPS相同解碼流程,同樣可以得到正確的結果。

圖4 1084原始電文
表7示出了GLONASS 1084電文解碼解碼之后的結果。同樣與保存的觀測文件對比,結果相同。

表7 解碼后的1084數據信息
通過對實測包含GPS觀測值的1074電文和包含GLONASS觀測值的1084電文進行實驗驗證,證明了解碼算法的正確性。同時也證明了MSM電文組在傳輸多系統多信號數據時的通用性。
4結束語
本文介紹了RTCM3.2的電文內容、特點,重點介紹了與之前版本相比增加的MSM電文組,以及對BDS系統的支持情況等。根據協議內容,設計了電文的解碼流程。并通過對華測N71接收機實時傳輸的GPS和GLONASS RTCM數據分別進行解碼實驗,得出了正確的解碼結果,驗證了算法的正確性和可靠性。
參考文獻
[1]寧津生.全球導航衛星系統發展綜述[J].導航定位學報,2013,1(1):3-8.
[2] RTCM.RTCM special committee no.104. RTCMstandard 10403.2 for differential GNSS[S]. Arlington: Radio Technical Commission for Maritime Services,2013.
[3]史小雨,程鵬飛,蔡艷輝,等.差分GPS 數據通信格式RTCM 3.1及其解碼算法的實現[J].測繪通報,2012(6):4-6.
[4]吳海玲,李作虎,劉暉.關于北斗加入RTCM國際標準的總體研究[J].全球定位系統,2014,39(1):27-33.
[5]朱靜然,潘樹國,孔麗珍.DGPS 數據格式RTCM3.1介紹及編解碼方法[C]//第四屆中國衛星導航學術年會電子文集,2013.
[6]陳振,王權,秘金鐘,等.新一代國際標準RTCM V3.2及其應用[J].導航定位學報,2014,2(4):87-93.
于曉東(1990-),男,碩士生,主要從事網絡RTK相關算法的研究。
呂志偉(1974-),男,副教授,主要從事衛星精密定位方向的研究。
王兵浩(1989-),男,碩士生,主要從事網絡RTK、GNSS融合相對定位相關方面研究。
The Introduction of DGNSS Data Communication Format
RTCM3.2 and the Decoding Research on It
YU Xiaodong,Lü Zhiwei,WANG Binghao,YU Heli,YAN Jianqiao
(CollegeofNavigationandAerospaceEngineering,InformationEngineering
University,Zhengzhou450001,China)
Key words: DGNSS; RTCM3.2; MSM; decoding; BDS