亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多線程技術(shù)在GNSS數(shù)據(jù)并行解碼中的應(yīng)用

        2015-04-21 07:18:26張世能
        交通科技與經(jīng)濟(jì) 2015年5期
        關(guān)鍵詞:電文數(shù)據(jù)格式二進(jìn)制

        張世能

        (重慶市勘測院,重慶400020)

        GNSS采集的原始數(shù)據(jù)一般以二進(jìn)制文件形式存儲,為了能夠?qū)τ^測數(shù)據(jù)進(jìn)行處理和分析,需要進(jìn)行解碼。目前RINEX是一種普遍使用的GNSS數(shù)據(jù)交換格式,被大家認(rèn)同為GNSS的標(biāo)準(zhǔn)數(shù)據(jù)格式。RINEX采用的存儲形式為文本格式,記錄方式不隨接收機(jī)型號、廠商的不同而變化。RINEX格式在GNSS數(shù)據(jù)處理中的應(yīng)用十分廣泛,絕大多數(shù)測量型GNSS接收機(jī)品牌均可以將其特有的數(shù)據(jù)格式轉(zhuǎn)換為RINEX格式,而幾乎所有GNSS數(shù)據(jù)處理軟件都可以直接讀取并處理RINEX格式的數(shù)據(jù),因此將原始觀測數(shù)據(jù)通過解碼轉(zhuǎn)換為RINEX格式將有效提高數(shù)據(jù)的通用性。

        目前大多數(shù)GNSS接收機(jī)都有自帶的數(shù)據(jù)格式轉(zhuǎn)換軟件,但是這種軟件首先需要將觀測數(shù)據(jù)存儲在接收機(jī)中,在觀測完成之后再下載數(shù)據(jù)并進(jìn)行處理,因而無法實(shí)現(xiàn)GNSS數(shù)據(jù)的實(shí)時處理,為解決工程應(yīng)用中對數(shù)據(jù)處理實(shí)時性的要求,本文采用串口通信方式實(shí)現(xiàn)觀測數(shù)據(jù)的實(shí)時傳輸,同時為了實(shí)現(xiàn)多臺接收機(jī)觀測數(shù)據(jù)的并行處理,提出了一種基于多線程技術(shù)的實(shí)時解碼算法。

        1 中海達(dá)Q5接收機(jī)原始觀測數(shù)據(jù)結(jié)構(gòu)

        中海達(dá)Q5接收機(jī)采用的原廠生產(chǎn)核心模塊為HC12A(新月),采用單頻接收機(jī),共有12個通道,其芯片為ASIC芯片,數(shù)據(jù)更新頻率設(shè)置為20Hz,可進(jìn)行信標(biāo)接收,并具有對基準(zhǔn)站/移動站進(jìn)行差分的功能。

        1.1二進(jìn)制消息結(jié)構(gòu)

        新月-HC12A模塊的二進(jìn)制消息采用16進(jìn)制格式進(jìn)行存儲,以便在計(jì)算機(jī)中直接讀取。二進(jìn)制信息一般以一個8字節(jié)頭開始,結(jié)束標(biāo)志通常設(shè)置為回車換行符。ASCII的碼序列“$BIN”占據(jù)消息頭的前4個字符。OEM板的導(dǎo)航電文消息塊數(shù)據(jù)和觀測值消息塊數(shù)據(jù)分別對應(yīng)BIN95和BIN96。通用二進(jìn)制信息結(jié)構(gòu),如表1所示。

        表1 通用二進(jìn)制信息結(jié)構(gòu)表

        1.2 導(dǎo)航電文的消息塊數(shù)據(jù)格式

        導(dǎo)航電文與BIN95(消息塊)相對應(yīng),在不計(jì)算Header和epilogue的情況下,消息的總長為128個字節(jié)。消息塊包含了所有12個通道的星歷信息數(shù)據(jù),消息塊的數(shù)據(jù)格式構(gòu)成與GNSS定位衛(wèi)星所發(fā)送的信號中導(dǎo)航電文結(jié)構(gòu)比較相似,在進(jìn)行解碼時可以參考ICD-GNSS-200格式進(jìn)行數(shù)據(jù)轉(zhuǎn)換、提取和整理。消息內(nèi)容可用表2所列的格式進(jìn)行表達(dá)。

        表2 導(dǎo)航電文消息塊數(shù)據(jù)(對應(yīng)BIN95消息)

        1.3 GNSS觀測值的消息塊數(shù)據(jù)格式

        GNSS觀測數(shù)據(jù)與BIN96消息塊對應(yīng),在不計(jì)算Header和epilogue的情況下,消息的總長為300個字節(jié),BIN96消息所包含的內(nèi)容為相位和碼信息,這是觀測值數(shù)據(jù)的主要來源(見表3)。

        表3 觀測值的消息塊數(shù)據(jù)格式

        2 數(shù)據(jù)解碼算法及多線程技術(shù)

        參照二進(jìn)制文件的說明,可以從原始數(shù)據(jù)中提取需要的信息,并按照其數(shù)據(jù)類型及長度轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),需要注意的是,當(dāng)需要的數(shù)據(jù)不是以字節(jié)為單位而是以位為單位存儲時,需要通過位運(yùn)算提取出數(shù)據(jù)并從高位到低位連續(xù)排列,并用0補(bǔ)齊高位的不足部分,然后再轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)。

        在編程實(shí)現(xiàn)時,本文所述案例采用C#語言,在微軟開發(fā)的 Microsoft Visual Studio 2008平臺下進(jìn)行編譯,分別設(shè)計(jì)了AnalyseBIN95()和AnalyseBIN96()兩個函數(shù)實(shí)現(xiàn)導(dǎo)航電文以及觀測值數(shù)據(jù)的解碼。

        2.1 觀測值數(shù)據(jù)及導(dǎo)航電文解碼算法

        以觀測值數(shù)據(jù)的解碼過程為例,介紹將原始數(shù)據(jù)解碼為RINEX標(biāo)準(zhǔn)格式的具體算法。

        首先讀取二進(jìn)制原始觀測數(shù)據(jù),然后逐字節(jié)搜索,直到找到“$BIN96”字符串,繼續(xù)搜索直到找出第一個回車換行符“\r\n”并記下從“$BIN96”到“\r\n”的總字節(jié)數(shù),將其與此數(shù)據(jù)域中的校驗(yàn)和進(jìn)行比較。如果相等則說明數(shù)據(jù)完整,此時可以用函數(shù)對GNSS原始觀測數(shù)據(jù)解碼,并將結(jié)果存放到自定義的BIN96DATA結(jié)構(gòu)體中,繼續(xù)搜索下一個歷元;如果不相等,則說明觀測數(shù)據(jù)并不全,應(yīng)將此段觀測數(shù)據(jù)放棄,繼續(xù)向下搜索,如此循環(huán),完成全部解碼工作。算法流程及解碼函數(shù)的核心代碼如圖1、圖2所示。

        圖1 觀測值文件解碼算法流程

        導(dǎo)航電文的解碼過程與之類似,在解出原始數(shù)據(jù)后,就可以按照RINEX的標(biāo)準(zhǔn)格式寫入到文本文件中,用于數(shù)據(jù)處理及分析。

        2.2 多線程技術(shù)

        GNSS測站接收機(jī)采集的觀測數(shù)據(jù)一般通過GPRS等通信技術(shù)傳到服務(wù)器并存儲到文本文件中,本文采用數(shù)據(jù)流的方式對原始數(shù)據(jù)實(shí)時讀取、轉(zhuǎn)換和處理:第一步,制定一個打開GNSS原始觀測值文件的數(shù)據(jù)流;第二步,制定處理DataStream讀取二進(jìn)制數(shù)據(jù)的數(shù)據(jù)流;最后采用前文提到的算法進(jìn)行解碼。通常在第一步中定義一個FilesStream對象(DataStream),第二步中定義一個BinaryReader對象(DataReader)。

        而在工程實(shí)際中,往往是多個測站同時觀測,為了實(shí)現(xiàn)多測站實(shí)時數(shù)據(jù)處理,必須對各個測站接收的數(shù)據(jù)進(jìn)行并行實(shí)時解碼,這就是本文所介紹的多線程技術(shù)。多線程技術(shù)可解決多測站數(shù)據(jù)并行解碼。

        圖2 觀測值文件解碼函數(shù)

        多線程解碼通過三個步驟來實(shí)現(xiàn):第一步,設(shè)定一個主線程,用它來讀取各個GNSS測站獲取的原始觀測值數(shù)據(jù);第二步,統(tǒng)計(jì)GNSS測站的數(shù)量,每一個測站創(chuàng)建一個子線程,在解碼過程中,子線程和GNSS測站數(shù)據(jù)是一對一的關(guān)系;第三步,設(shè)置主線程的“時間片”,使主線程在不同的時間片段中,切換于多個子線程之間,如此進(jìn)行,直到完成全部解碼工作,結(jié)束主線程。在現(xiàn)有的硬件條件下,程序運(yùn)行速度極快,全部子線程同步工作,在這樣的模式下,多個GNSS測站的觀測數(shù)據(jù)實(shí)現(xiàn)了實(shí)時并行解碼。采用多線程技術(shù)進(jìn)行實(shí)時并行解碼的算法流程如圖3所示。

        圖3 多線程技術(shù)實(shí)現(xiàn)多測站數(shù)據(jù)實(shí)時解碼流程

        3 實(shí)例及驗(yàn)證

        本研究通過GPRS通信技術(shù)將接收機(jī)接收到的原始數(shù)據(jù)實(shí)時發(fā)送到數(shù)據(jù)處理中心,解碼程序以數(shù)據(jù)流的方式讀取原始數(shù)據(jù)并進(jìn)行處理,實(shí)現(xiàn)了對原始數(shù)據(jù)的實(shí)時解碼,同時將多線程技術(shù)引入到GNSS原始數(shù)據(jù)解碼過程中,實(shí)現(xiàn)了多測站數(shù)據(jù)的實(shí)時并行解碼,為后續(xù)的實(shí)時數(shù)據(jù)處理及定位提供了必要的前提條件和保障。

        在實(shí)際測試過程中,共設(shè)置3個觀測站,包括一個基準(zhǔn)站和兩個流動站,將基準(zhǔn)站固定在某一位置,兩個流動站以一定的速率進(jìn)行移動。GNSS接收機(jī)將采集到的原始觀測數(shù)據(jù)通過無線傳輸,儲存到服務(wù)器,隨即調(diào)用本文所述程序進(jìn)行GNSS數(shù)據(jù)的實(shí)時并行解碼,解碼得到某一測站的RINEX格式觀測值文件,以及導(dǎo)航電文文件,如圖4和圖5所示。

        圖4 解碼得到的RINEX格式觀測值文件

        圖5 解碼得到的RINEX格式導(dǎo)航電文文件

        多次測試表明,由自編程序得到的解碼結(jié)果與接收機(jī)自帶軟件的解算結(jié)果一致,能夠?yàn)楹罄m(xù)的數(shù)據(jù)處理提供合格的標(biāo)準(zhǔn)格式數(shù)據(jù),且解碼效率優(yōu)于自帶軟件,達(dá)到了實(shí)時并行解碼的要求。

        4 結(jié)束語

        本文以具體數(shù)據(jù)為案例,引入多線程技術(shù)實(shí)現(xiàn)了多個測站觀測數(shù)據(jù)的實(shí)時并行解碼。經(jīng)過測試表明,該程序能夠?qū)Χ鄠€測站的觀測數(shù)據(jù)進(jìn)行實(shí)時以及并行解碼,效率較高,且滿足工程應(yīng)用中對觀測數(shù)據(jù)實(shí)時處理的格式要求。

        [1] 李征航,黃勁松.GPS測量與數(shù)據(jù)處理[M].2版.武漢:武漢大學(xué)出版社,2010:240-242.

        [2] Hemisphere GPS crescent integrator's manual[Z].Canada:CSI Wireless Inc,2005.

        [3] 侯金亮,吳風(fēng)華,王濤.GPS數(shù)據(jù)格式轉(zhuǎn)換的研究[J].河北聯(lián)合大學(xué)學(xué)報:自然科學(xué)版,2014(1):57-61.

        [4] 孟祥廣,郭際明.GPS接收機(jī)(OEM)二進(jìn)制文件向RINEX文件的轉(zhuǎn)換[J].測繪工程,2009,18(5):18-21.

        [5] 鄭祎,王解光.GPS衛(wèi)星預(yù)報星歷的解碼及衛(wèi)星預(yù)報[J].工程勘察,2000(3):52-55.

        [6] 周禮,C#和.NET3.0第一步[M].北京:清華大學(xué)出版社,2008:327-334.

        [7] 陳磊,李康.基于ARM的GPS接收機(jī)解碼系統(tǒng)設(shè)計(jì)[J].科技信息,2013(19):96-97.

        [8] 張顯云,張勤.GPS數(shù)據(jù)實(shí)時通訊中數(shù)據(jù)解碼問題的算法研究[J].測繪科學(xué),2009,34(3):74-75.

        [9] 李克昭,袁建平.GPS文件的解碼及其實(shí)時通信實(shí)現(xiàn)研究[J].全球定位系統(tǒng),2005(3):43-45.

        [10]賈蓉,王解先.NovAtel OEM4主板的GPS原始數(shù)據(jù)解碼[J].現(xiàn)代科學(xué)儀器,2010(1):57-60.

        [11]陽德勝.全站儀自由設(shè)站輔助計(jì)算程序設(shè)計(jì)[J].交通科技與經(jīng)濟(jì),2014,16(6):110-113.

        [12]甘雨,隋立芬,張鶴,等.利用接收機(jī)鐘差實(shí)時濾波提高GNSS精度[J].測繪工程,2014,23(5):6-8.

        [13]陳豪,余記遠(yuǎn),楊金玲,等.GPS精確定位技術(shù)在小灣水電站工程變形測量中的應(yīng)用[J].測繪工程,2015,24(4):46-52.

        猜你喜歡
        電文數(shù)據(jù)格式二進(jìn)制
        用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
        一種與內(nèi)部缺陷儀設(shè)備通訊的接口模塊
        ADS-B延遲轉(zhuǎn)發(fā)電文檢測及干擾臺定位方法
        有趣的進(jìn)度
        二進(jìn)制在競賽題中的應(yīng)用
        在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
        電子測試(2018年1期)2018-04-18 11:52:49
        衛(wèi)星導(dǎo)航系統(tǒng)導(dǎo)航電文編排結(jié)構(gòu)研究
        論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
        DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測繪數(shù)據(jù)為例
        基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
        国产精品亚洲国产| 少妇人妻大乳在线视频不卡| 无码国产色欲xxxxx视频| 妺妺窝人体色www在线直播| 美女偷拍一区二区三区| 自拍偷自拍亚洲精品第按摩| 欧洲vat一区二区三区| 黄色资源在线观看| 蜜桃视频中文字幕一区二区三区| 白白色发布会在线观看免费| 人与动牲交av免费| 欧美成人免费高清视频| 日本熟妇高潮爽视频在线观看| 免费av日韩一区二区| 欧美午夜刺激影院| 亚洲人成人网毛片在线播放| 99国产精品欲av麻豆在线观看| 青青草成人在线免费视频| 中国农村妇女hdxxxx| 国产精品18久久久久久不卡中国| 精品蜜桃在线观看一区二区三区 | 无套内谢的新婚少妇国语播放| a级国产精品片在线观看| 亚洲本色精品一区二区久久| 国产精品免费av片在线观看| 亚洲AV永久无码制服河南实里| 网红极品女神精品视频在线| 亚洲一区二区在线观看免费视频| 伊在人天堂亚洲香蕉精品区| 无码不卡一区二区三区在线观看| 亚洲国产精品久久性色av| 内射夜晚在线观看| 九九久久精品国产| 色中文字幕视频在线观看| 国产一区高清在线观看| 婷婷五月综合丁香在线| 亚洲中字幕永久在线观看| 日韩精品在线观看在线| 国产成人亚洲精品青草天美| 亚洲AV无码一区二区二三区我| 白色白在线观看免费2|