• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      北斗電文編碼與解碼的研究

      2017-09-14 06:48:16湖南信息學(xué)院易晨暉
      電子世界 2017年17期
      關(guān)鍵詞:電文數(shù)據(jù)類型解碼

      湖南信息學(xué)院 易晨暉 何 蓉

      北斗電文編碼與解碼的研究

      湖南信息學(xué)院 易晨暉 何 蓉

      差分定位是提高北斗導(dǎo)航定位精度與可靠性的一種重要手段,該技術(shù)在數(shù)據(jù)傳輸時使用國際通用的RTCM SC-104標(biāo)準(zhǔn)。RTCM SC-104標(biāo)準(zhǔn)由國際海運事業(yè)無線電技術(shù)委員會(RTCM)1983年11月推出,從1983年到2016年已經(jīng)經(jīng)過了多個版本的發(fā)展。推出RTCM SC-104標(biāo)準(zhǔn)的目的在于論證用于提供GPS業(yè)務(wù)的各種方法,并制定各種數(shù)據(jù)格式標(biāo)準(zhǔn)。經(jīng)過多個版本的更新,差分改正數(shù)的抗差性能和實時動態(tài)差分定位(Real-Time Kinematic,RTK)性能在不斷地提高,可用信息量不斷增加。而RTCM 3.2的制定和修訂不僅彌補了之前版本中結(jié)構(gòu)設(shè)計上存在的明顯缺陷,還增加和擴展了多種網(wǎng)絡(luò)RTK信息,尤其值得強調(diào)的是MSM電文組可以對北斗系統(tǒng)提供支持,這對北斗高精度差分定位服務(wù)有著重要的意義。但是由于RTCM3.2標(biāo)準(zhǔn)公布的時間較短,支持此標(biāo)準(zhǔn)的接收機較少,對編碼、解碼流程研究少。因此本文基于RTCM 3.2對北斗電文的編碼與解碼展開研究與實現(xiàn),主要分析了《RTCM STANDARD 10403.2》的電文結(jié)構(gòu)和數(shù)據(jù)類型,提出了一種關(guān)于北斗電文編碼和解碼的方法,實現(xiàn)了北斗電文編碼和解碼程序流程設(shè)計,并基于VC++平臺實現(xiàn)了RTCM 3.2電文的編寫、基于VC#軟件開發(fā)平臺上實現(xiàn)了解碼操作,同時進行循環(huán)冗余校驗以保證數(shù)據(jù)解析的正確性。通過電文數(shù)據(jù)的解析與實驗程序結(jié)果驗證,證明了編碼和解碼算法的正確性和程序的可靠性。

      RTCM 3.2;北斗電文;編碼;解碼

      1 引言

      我國自主研發(fā)的北斗衛(wèi)星導(dǎo)航定位系統(tǒng)(BeiDou Navigation Satellite System,BDS)可以和目前世界上其他幾大衛(wèi)星導(dǎo)航定位系統(tǒng)實現(xiàn)兼容與互操作,它具有三大基本功能,分別是快速定位、雙向通信和精密授時,目前已被廣泛應(yīng)用于我國交通運輸、海洋漁業(yè)、水文監(jiān)測、氣象預(yù)報、測繪地理信息、森林防火、通信時統(tǒng)、電力調(diào)度、救災(zāi)減災(zāi)、應(yīng)急搜救等各個領(lǐng)域[1]。北斗衛(wèi)星導(dǎo)航系統(tǒng)的建設(shè)與發(fā)展對國家安全,經(jīng)濟建設(shè)、科技發(fā)展和社會進步等方面有重大意義。隨著我國北斗衛(wèi)星導(dǎo)航定位系統(tǒng)及產(chǎn)業(yè)的蓬勃發(fā)展,人們對北斗導(dǎo)航中定位的精度和可靠性有著越來越高的要求。為了滿足衛(wèi)星導(dǎo)航定位系統(tǒng)的高精度差分定位以及增強服務(wù)的要求,RTCM委員會2013年又推出了RTCM 3.2(RTCM standard 10403.2 differential GNSS Services-Version 2)[5]。RTCM 3.2的制定和修訂,不僅彌補了之前版本中結(jié)構(gòu)設(shè)計上存在的明顯缺陷,還增加和擴展了多種網(wǎng)絡(luò)RTK(實時動態(tài)測量技術(shù))信息,定義了包含GPS、GLONASS、GALILEO和BDS的多信號信息組(Multiple Signal Message,MSM)[6],拓寬了RTCM的應(yīng)用領(lǐng)域。尤其值得強調(diào)的是MSM電文組可以對北斗系統(tǒng)提供支持,這對北斗高精度差分定位服務(wù)有著重要的意義[2]。但是由于RTCM3.2標(biāo)準(zhǔn)公布的時間較短,支持此標(biāo)準(zhǔn)的接收機較少,對編碼、解碼流程研究少,因此本文基于RTCM 3.2對北斗電文的編碼與解碼展開研究與實現(xiàn)。

      2 RTCM 3.2數(shù)據(jù)分析

      差分定位的精度與差分改正信息的更新速率以及數(shù)據(jù)傳輸?shù)臏?zhǔn)確性密切相關(guān),因此,數(shù)據(jù)傳輸格式是數(shù)據(jù)通訊鏈的重要環(huán)節(jié),只有兼容性強和規(guī)范性強的數(shù)據(jù)格式標(biāo)準(zhǔn)才能保證在導(dǎo)航與定位中數(shù)據(jù)傳輸?shù)目焖佟?zhǔn)確和可靠。

      RTCM 3.2版本采用了OSI(Open System Interconnection)標(biāo)準(zhǔn)參考模型,在RTCM 3.2標(biāo)準(zhǔn)中包含應(yīng)用層、表示層、傳輸層、數(shù)據(jù)鏈層和物理層。應(yīng)用層為導(dǎo)航和定位應(yīng)用程序定義了創(chuàng)建和應(yīng)用數(shù)據(jù)的指令;表示層則具體規(guī)定了消息、數(shù)據(jù)要素和數(shù)據(jù)定義;傳輸層定義用于發(fā)送或接收消息的幀結(jié)構(gòu)、可變長消息的實現(xiàn)方法以及數(shù)據(jù)的循環(huán)校驗方法等;數(shù)據(jù)鏈路層定義了消息數(shù)據(jù)流如何在物理層上編碼;物理層定義了消息數(shù)據(jù)電氣和機械水平,使用時取決于用戶。其中,對于編碼、解碼最重要的是表示層和傳輸層[3]。最新的RTCM 3.2標(biāo)準(zhǔn)格式,是一種更高效、簡潔且容易適用于新環(huán)境的數(shù)據(jù)格式,可以應(yīng)用于網(wǎng)絡(luò)RTK環(huán)境中,主要包括消息幀結(jié)構(gòu)、消息類型、數(shù)據(jù)字段、數(shù)據(jù)類型等。

      2.1 幀結(jié)構(gòu)

      RTCM 3.2標(biāo)準(zhǔn)格式的幀結(jié)構(gòu)與RTCM 3.1標(biāo)準(zhǔn)格式相同[4],每幀數(shù)據(jù)的結(jié)構(gòu)如表1所示。

      2.2 消息類型

      消息類型規(guī)定了每幀數(shù)據(jù)可變長度的數(shù)據(jù)消息,是RTCM 3.2協(xié)議傳輸各種消息的載體。消息類型根據(jù)用途被劃分為不同的消息組,為有效實現(xiàn)特定服務(wù),服務(wù)商需要發(fā)送組中的幾種消息類型。每組中不同的消息類型可包含相似的內(nèi)容,在某些情況下短消息只包含提供服務(wù)所需的最少最必要的信息,而長消息類型則包含增強服務(wù)的額外信息。例如,1001消息類型是只包含消息觀測值的最短版本,對于一個吞吐量有限的廣播鏈路,使用1001消息類型可能是合適的。而1002消息類型包含增強服務(wù)的額外信息,如果吞吐量并未受限并需要額外信息,推薦使用長版本的1002消息類型。與之相類似的1003消息類型只提供了應(yīng)用層/表示層操作所需的最少數(shù)據(jù),而1004消息類型提供了完整的數(shù)據(jù)內(nèi)容。較短的觀測值消息可節(jié)約吞吐量,但只包含較少的信息;而包含附加信息的長消息不會經(jīng)常改變,發(fā)送次數(shù)也少。

      表1 RTCM 3.2標(biāo)準(zhǔn)格式的幀結(jié)構(gòu)

      RTCM 3.2標(biāo)準(zhǔn)格式中已定義消息組包括觀測數(shù)據(jù)、測站坐標(biāo)、天線描述、網(wǎng)絡(luò)RTK改正、輔助觀測信息和專有信息,BDS多信號消息(MSM)等。RTCM3.2版本通過定義新消息類型,能夠支持20種服務(wù),同時還實現(xiàn)3種狀態(tài)空間差分(SSR)服務(wù),服務(wù)商可以按照需求提供基本或者完整的服務(wù)[6]。

      2.3 數(shù)據(jù)字段

      數(shù)據(jù)字段是消息的重要組成部分,每條消息是由若干數(shù)據(jù)字段按一定格式排列而成,數(shù)據(jù)字段規(guī)定數(shù)據(jù)字段的范圍、分辨率和數(shù)據(jù)類型。RTCM3.2定義了427個數(shù)據(jù)字段,其中新定義數(shù)據(jù)字段主要用于表示坐標(biāo)轉(zhuǎn)換、網(wǎng)絡(luò)RTK殘差、狀態(tài)空間差分、GLONASS網(wǎng)絡(luò)RTK改正、FKP網(wǎng)絡(luò)RTK改正、MSM消息和GLONASS偏差消息等。

      2.4 數(shù)據(jù)類型

      數(shù)據(jù)類型規(guī)定數(shù)據(jù)的范圍,包括位字段、八位字符、補碼整數(shù)、無符號整數(shù)、帶符號數(shù)值整數(shù)和UTF-8編碼共六種形式的數(shù)據(jù)類型。RTCM 3.2定義了55種數(shù)據(jù)類型,數(shù)據(jù)類型有bit(n)、char8(n)、int、uint、intS、utf8(n)等,其具體描述見表2所示。需要注意的是數(shù)據(jù)字段范圍有可能會小于數(shù)據(jù)類型所允許的最大可能范圍(DF Range),RTCM 3.2中有詳細(xì)的標(biāo)明。有些數(shù)據(jù)計算出來不一定是整數(shù)數(shù)據(jù),這個時候需要來乘以分辨率(DF Resolution)再通過解碼和數(shù)據(jù)類型轉(zhuǎn)換得到整數(shù)結(jié)果。

      表2 數(shù)據(jù)類型說明

      如果有幾個衛(wèi)星提供信息,每個消息都包含一組特定的數(shù)據(jù)字段集,其中有時會有重復(fù)。這些數(shù)據(jù)字段將在廣播中順序列出,并將最重要的多字節(jié)信息最先傳送而不那么重要的字節(jié)消息后傳送。RTCM 3.2中新定義的消息類型多,其中MSM消息是為不同衛(wèi)星系統(tǒng)觀測數(shù)據(jù)提供通用傳輸格式而定義的,可以分解成壓縮消息和完整消息(類似于消息類型1003和1004)[6]。各種導(dǎo)航定位系統(tǒng)的MSM消息具有相同的結(jié)構(gòu),內(nèi)部模塊排序也基本相同。

      3 基于VC++開發(fā)平臺的RTCM 3.2電文編碼實現(xiàn)

      RTCM 3.2電文編碼的實現(xiàn)需要了解并熟悉《RTCM STANDARD 10403.2》標(biāo)準(zhǔn)內(nèi)容,根據(jù)服務(wù)類型來選擇消息類型,了解電文的整體結(jié)構(gòu),熟悉電文的數(shù)據(jù)字段存儲的內(nèi)容以及占用的位數(shù),其中有些數(shù)據(jù)字段涉及計算;同時也需要了解C++程序的結(jié)構(gòu),各種結(jié)構(gòu)體以及各類消息的編寫流程等。

      本文選擇VC++開發(fā)平臺來實現(xiàn)RTCM 3.2電文編碼。VC++開發(fā)平臺是面向?qū)ο蟮目梢暬删幊滔到y(tǒng),它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE2、WinSock網(wǎng)絡(luò)、3D控制界面。它允許用戶進行遠程調(diào)試,單步執(zhí)行,在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。在系統(tǒng)設(shè)置及程序編譯中,預(yù)編譯頭文件、最小重建功能及累加連結(jié)等這些特征明顯縮短程序編輯、編譯及鏈接所花費的時間,在大型軟件上效果尤其顯著。

      3.1 編碼程序流程圖

      RTCM 3.2電文編碼實現(xiàn)過程中,為了達到較高的傳輸完整率,一條標(biāo)準(zhǔn)的電文采用消息幀結(jié)構(gòu),具體的消息幀結(jié)構(gòu)如表1所示。在RTCM 3.2中,不是每條電文都是按整字節(jié)編寫的,所以在編碼的過程中我們需要對不是整字節(jié)的電文進行補碼。同時,進行循環(huán)冗余校驗以保證數(shù)據(jù)解析的正確性。循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯算法,對數(shù)據(jù)進行多項式的計算,并將算出的結(jié)果附在電文的后面,用來保證數(shù)據(jù)傳輸?shù)恼_性和完整性。消息幀的接收方用一個二進制因子(生成多項式)除以消息幀的內(nèi)容計算出余數(shù),并將所計算出的余數(shù)與發(fā)送方存儲在消息幀中的檢驗碼進行比較。本文編碼中采用按字節(jié)計算CRC,并把8位二進制序列數(shù)的CRC全部計算出來,如放一個表里,采用查表法,大大提高了計算速度。通過實測數(shù)據(jù)驗證解析結(jié)果的正確性。

      基于VC++開發(fā)平臺的RTCM 3.2電文編碼流程如下圖所示:

      圖3-1 編碼流程圖

      具體流程說明:①所選擇的消息號是否含有消息頭。如果有,先添加消息頭內(nèi)容;如果沒有,直接添加電文消息內(nèi)容。②將編碼完的消息號轉(zhuǎn)為二進制輸出;③在數(shù)據(jù)前面添加引導(dǎo)字“11010011”和保留字“000000”;④在這條電文后面添加24位CRC校驗碼。⑤得到完整的電文。

      以上是對一條完整的電文數(shù)據(jù)詳細(xì)進行的編碼過程,不同系統(tǒng)之間的編碼流程是一致的,所有信息類型的編碼過程與上述思想大致相同。

      3.2 編碼實現(xiàn)效果

      圖3-2 編碼文件導(dǎo)入

      圖3-3 編碼內(nèi)容展示

      圖3-4 基于VC++的RTCM 3.2電文編碼實現(xiàn)界面

      3.3 編碼結(jié)果分析

      程序界面簡潔易懂,實用性好,通過實測數(shù)據(jù)驗證了編碼結(jié)果的正確性。

      4 基于VC#開發(fā)平臺的RTCM 3.2電文解碼實現(xiàn)

      本文選擇VC#開發(fā)平臺來實現(xiàn)RTCM 3.2電文解碼。VC#是由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言,擁有簡單的可視化操作、高運行效率和Microsoft.net提供的最大程度地開發(fā)利用計算與通訊領(lǐng)域的一系列工具和服務(wù)。VC#開發(fā)應(yīng)用軟件可以大大縮短開發(fā)周期,同時可以嵌入用戶C++代碼。

      4.1 解碼程序流程圖

      基于VC#開發(fā)平臺的RTCM 3.2電文解碼流程如下圖所示:

      圖4-1 解碼程序流程圖

      具體流程說明:①讀取RTCM 3.2電文數(shù)據(jù);②從末尾位置開始往上提取 24 位得到完整的 CRC ;③進行CRC 24校驗,若校驗通過,則進行下一步;④從前24位開始提取12位電文消息號,代表信息類型。⑤選擇電文消息號,通過該電文在 RTCM 3.2 文檔中的具體要求進行解碼。⑥輸出解碼后的數(shù)據(jù)。

      以上是對一條完整的電文數(shù)據(jù)詳細(xì)進行解碼的過程,不同系統(tǒng)之間的解碼流程是一致的,所有信息類型的解碼過程與上述思想大致相同。

      4.2 解碼實現(xiàn)效果

      在VC#開發(fā)平臺上實現(xiàn)RTCM 3.2電文解碼,實現(xiàn)過程中界面如下圖所示:

      圖4-2 解碼文件導(dǎo)入

      圖4-3 解碼電文解析

      進行解碼后的電文數(shù)據(jù)能夠?qū)崿F(xiàn)自動保存在自定義的路徑中:

      圖4-4 電文解碼實現(xiàn)界面

      4.3 解碼結(jié)果分析

      對實測數(shù)據(jù)進行解碼后得到的數(shù)據(jù)信息,將解碼的數(shù)據(jù)與接收機保存的文件進行了對比,得出了一致的結(jié)果,驗證了算法的正確性。

      5 結(jié)束語

      本文基于RTCM 3.2對北斗電文的編碼與解碼展開研究與實現(xiàn),基于VC++平臺實現(xiàn)了RTCM 3.2電文庫的編寫,基于VC#軟件開發(fā)平臺上實現(xiàn)了解碼操作,同時進行循環(huán)冗余校驗,實驗結(jié)果驗證了算法的正確性和可靠性。

      RTCM 3.2標(biāo)準(zhǔn)格式正逐漸成為衛(wèi)星導(dǎo)航定位領(lǐng)域芯片制造商、板卡集成商、整機制造商、應(yīng)用服務(wù)提供商以及用戶等在設(shè)計研發(fā)、生產(chǎn)加工、應(yīng)用推廣等產(chǎn)業(yè)鏈中遵守的關(guān)鍵協(xié)議之一。目前,RTCM 3.2標(biāo)準(zhǔn)電文容量為4096條,已經(jīng)占用了1310條電文(含保留電文1112條),但僅在多頻率多信號電文組(MSM)中為北斗制訂了10條電文,在四大全球衛(wèi)星導(dǎo)航系統(tǒng)中北斗電文數(shù)量最少。BDS在RTCM 3.2電文業(yè)務(wù)的發(fā)展仍需不斷努力,才能在國內(nèi)外GNSS高精度差分定位領(lǐng)域有進一步突破,從而能提供更完整、獨立、兼容的服務(wù)。

      [1]中華人民共和國國務(wù)院新聞辦公室.《中國北斗衛(wèi)星導(dǎo)航系統(tǒng)》白皮書.[EB/OL].http://news.xinhuanet.com/tech/2016-06/16/c_1119053495. html.2016,6.

      [2]吳海玲,李作虎,劉暉.關(guān)于北斗加入RTCM國際標(biāo)準(zhǔn)的總體研究[J].全球定位系統(tǒng),2014,39(1):27-33.

      [3]朱靜然,潘樹國,孔麗珍.DGPS數(shù)據(jù)格式RTCM3.2介紹及編解碼方法[C].第四屆中國衛(wèi)星導(dǎo)航學(xué)術(shù)年會論文集-S1 北斗/GNSS導(dǎo)航應(yīng)用,2013.

      [4]陳振,王權(quán),秘金鐘,谷守周,方書山,向常淦.新一代國際標(biāo)準(zhǔn)RTCM V3.2及其應(yīng)用[J].導(dǎo)航定位學(xué)報,2014,2(4):87-93.

      [5]RTCM special committee no.104. RTCM-standard 10403.2 for Differential GNSS[S]. Arlington:Radio Technical Commission for Maritime Services, 2013.

      [6]RTCM special committee no.104. Amendment 1 To RTCM-standard 10403.2 for Differential GNSS[S]. Arlington:Radio Technical Commission for Maritime Services, 2013.

      易晨暉,女,碩士研究生,湖南信息學(xué)院講師,主要從事計算機應(yīng)用、人工智能、北斗導(dǎo)航等研究。

      猜你喜歡
      電文數(shù)據(jù)類型解碼
      《解碼萬噸站》
      一種與內(nèi)部缺陷儀設(shè)備通訊的接口模塊
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      ADS-B延遲轉(zhuǎn)發(fā)電文檢測及干擾臺定位方法
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      解碼eUCP2.0
      中國外匯(2019年19期)2019-11-26 00:57:32
      NAD C368解碼/放大器一體機
      Quad(國都)Vena解碼/放大器一體機
      衛(wèi)星導(dǎo)航系統(tǒng)導(dǎo)航電文編排結(jié)構(gòu)研究
      一種內(nèi)容固定與可變相結(jié)合的導(dǎo)航電文結(jié)構(gòu)
      获嘉县| 阿拉尔市| 溆浦县| 永州市| 萨迦县| 枣阳市| 石首市| 广丰县| 南华县| 清水河县| 平湖市| 衡东县| 上饶市| 卫辉市| 霍山县| 靖安县| 稷山县| 延川县| 平泉县| 武威市| 九龙县| 体育| 扶绥县| 闸北区| 富源县| 黄石市| 措勤县| 兴宁市| 梅州市| 临夏市| 遂平县| 长宁县| 九寨沟县| 内黄县| 独山县| 舟山市| 子洲县| 临城县| 铁岭市| 武宣县| 枣阳市|