高仁強(qiáng)等
摘 要:不管是在GPS動(dòng)態(tài)定位還是在GPS靜態(tài)定位解算中,都需要以衛(wèi)星導(dǎo)航數(shù)據(jù)和接收機(jī)觀測數(shù)據(jù)作為基礎(chǔ)數(shù)據(jù),由于各個(gè)GPS主板生廠商所生產(chǎn)的接收機(jī)的原始數(shù)據(jù)格式不盡統(tǒng)一,而且大多數(shù)的廠商都只是提供了針對自己廠商的接收機(jī)的配套數(shù)據(jù)處理軟件,為了將不同型號(hào)接收機(jī)進(jìn)行聯(lián)合作業(yè)和數(shù)據(jù)的統(tǒng)一處理,対各個(gè)接收機(jī)的數(shù)據(jù)格式進(jìn)行統(tǒng)一也就顯得很有必要(本文原刊于煤礦開采雜志2014年5月)。
關(guān)鍵字:GPS原始數(shù)據(jù);NovAtel OEM6;Renix;串口通信
1 引言
全球定位系統(tǒng)主要由 GPS 衛(wèi)星星座(空間部分)、地面控制部分(監(jiān)測網(wǎng)絡(luò))和用戶(接收機(jī))三部分組成。在這三部分中 GPS 衛(wèi)星是其中最主要的組成部分,它只發(fā)射信號(hào),而用戶機(jī)部分則只接收信號(hào)。GPS信號(hào)接收機(jī)的任務(wù)是能夠捕獲到按一定衛(wèi)星高度截止角所選擇的待測衛(wèi)星的信號(hào),并跟蹤這些衛(wèi)星的運(yùn)行,對所接收到的GPS信號(hào)進(jìn)行變換、放大和處理,以便測量出GPS信號(hào)從衛(wèi)星到接收機(jī)天線的傳播時(shí)間,解譯出GPS衛(wèi)星所發(fā)出的導(dǎo)航電文,實(shí)時(shí)的計(jì)算出測站的三維坐標(biāo),三維速度和時(shí)間[1]。而Renix格式文件是GPS測量領(lǐng)域中一種廣為使用的數(shù)據(jù)格式,絕大部分的數(shù)據(jù)處理軟件均支持這種格式。在GPS應(yīng)用廣泛的今天,無論何種GPS接收機(jī),將其特有的數(shù)據(jù)格式轉(zhuǎn)換為RINEX格式對于GPS數(shù)據(jù)的通用性、可分析性都有著重要而實(shí)際的意義。在這樣的背景下,本文以NovAtel OEM6主板為例,介紹了NovAtel OEM6板卡與計(jì)算機(jī)通訊接口的設(shè)計(jì)及NovAtel OEM6主板原始數(shù)據(jù)向標(biāo)準(zhǔn)的RINEX數(shù)據(jù)格式的轉(zhuǎn)換方法及程序?qū)崿F(xiàn)過程。
2 GPS原始數(shù)據(jù)的介紹
GPS原始數(shù)據(jù)格式隨接收機(jī)主板的不同而異。NovAtel公司是目前精密全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)及其子系統(tǒng)領(lǐng)域中,在GPS接收機(jī)、GNSS天線生產(chǎn)領(lǐng)域一直是GPS行業(yè)的技術(shù)領(lǐng)先者和革新者,公司最新的接收機(jī)-OEM6系列,提供了高質(zhì)量的GNSS性能和許多關(guān)鍵特性,包括GLONASS量測和定位、GPS現(xiàn)代化、API功能、集成L-波段。NovAtel公司還提供單頻板和雙頻GPS+Galileo雙系統(tǒng)接收機(jī)。這項(xiàng)技術(shù)對用戶來說非常重要,因?yàn)橥瑫r(shí)跟蹤更多的衛(wèi)星可增加定位和導(dǎo)航解算的可靠性和可用性,這樣即使是在部分衛(wèi)星信號(hào)被遮擋的情況下,接收機(jī)也可以獲取更多的衛(wèi)星信息,從而使得定位解算結(jié)果更為精確有效。本文的接收機(jī)原始數(shù)據(jù)就是通過該公司的OEM6系列主板所獲取的。
1. Renix格式介紹
Renix格式是純ASCII碼文本文件,共包含4種文件:
觀測數(shù)據(jù)文件:ssssdddf.yyo
導(dǎo)航文件:ssssdddf.yyn
氣象數(shù)據(jù)文件:ssssdddf.yym
GLONASS數(shù)據(jù)文件:ssssdddf.yyg
其中ssss---4個(gè)字母的測站名;ddd---第一組數(shù)據(jù)的年積日;f---當(dāng)天的觀測序號(hào);yy---年份。
觀測數(shù)據(jù)文件主要記錄有偽距觀測值、相位觀測值和積分多普勒值、觀測值對應(yīng)的歷元時(shí)間等。偽距是由衛(wèi)星發(fā)射的測距碼信號(hào)到達(dá) GPS 接收機(jī)的接收傳播時(shí)間乘以光速所得出的量測距離。相位是在L1和L2頻率上(實(shí)際上是在差拍頻率上)的整周內(nèi)的小數(shù)值。根據(jù)不同的需要,多普勒值可分別記錄為D1 和D2,以Hz為單位[2]。GPS導(dǎo)航電文是用戶用來定位和導(dǎo)航的數(shù)據(jù)基礎(chǔ),主要包括衛(wèi)星的軌道參數(shù)、衛(wèi)星鐘參數(shù)等,具體的參數(shù)內(nèi)容如表2-1所示。GLONASS導(dǎo)航文件主要含有衛(wèi)星的編號(hào)、某一時(shí)刻下的坐標(biāo)、速度、加速度等信息,用以確定衛(wèi)星軌道的坐標(biāo)[3]。
2. GPS原始數(shù)據(jù)的獲取
一般的,GPS接收機(jī)需要預(yù)先通過向接收機(jī)發(fā)送交互式指令請求數(shù)據(jù),只有在設(shè)置指令成功的前提下,GPS接收機(jī)才會(huì)正常工作并接收指定的GPS信號(hào)。一般在GPS定位解算中,用戶必不可少的數(shù)據(jù)類型主要是觀測數(shù)據(jù)文件(o文件)和導(dǎo)航數(shù)據(jù)文件(n、g文件),因此在本文中,我們主要是以獲取原始觀測數(shù)據(jù)和導(dǎo)航數(shù)據(jù)(包括GPS和GLONASS衛(wèi)星)兩種數(shù)據(jù)為例進(jìn)行詳細(xì)論述,所以對應(yīng)的指令包括“RANGEA”和“RAWEPHEMA”,“GLOEPHEMERISA”三種類型,其中“RANGEA”指令類型對應(yīng)的是原始觀測數(shù)據(jù),“RAWEPHEMA”對應(yīng)的是原始GPS衛(wèi)星導(dǎo)航數(shù)據(jù),“GLOEPHEMERISA”對應(yīng)的是原始GLONASS衛(wèi)星導(dǎo)航數(shù)據(jù)。具體的交互式指令可以通過NovAtel OEM6用戶參考手冊文檔獲取,命令的發(fā)送可以通過專業(yè)串口調(diào)試工具或者自己設(shè)計(jì)的通訊程序完成。在數(shù)據(jù)接收的過程中,需要注意的是接收機(jī)與計(jì)算機(jī)串口設(shè)置的一致性,其中包括通信端口、波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等信息。
NovAtel-OEM芯片輸出的數(shù)據(jù)格式有三種,分別為ASCII格式、Abbreviated ASCII格式和Binary格式。由于該產(chǎn)品系列的數(shù)據(jù)信息類型非常多,在我們給接收機(jī)發(fā)送指令前就需要確定我們用于定位所需要的信息類型,一般我們只需要衛(wèi)星的原始觀測量信息和導(dǎo)航文件信息。本次試驗(yàn)中我們采用的是ASCII格式的原始數(shù)據(jù)(“#RANGE”和“#RAWEPHEM”指令信息)文件,其基本結(jié)構(gòu)如下表2-2、圖2-3所示:
3 NovAtel OEM6與計(jì)算機(jī)串口通訊程序設(shè)計(jì)
本實(shí)驗(yàn)采用9針RS-232串口封裝。通常RS-232接口以9針接腳(DB-9)或是25針接腳(DB-25)的形態(tài)出現(xiàn),一般個(gè)人臺(tái)式計(jì)算機(jī)上會(huì)有兩個(gè)RS-232串口,分別成為COM1和COM2。本次試驗(yàn)我們用的是筆記本電腦,由于筆記本電腦沒有RS-232串口,于是采用串口轉(zhuǎn)USB線進(jìn)行測試。
通過使用.NET平臺(tái)的Serial Port控件可以實(shí)現(xiàn)本地計(jì)算機(jī)的串口通訊設(shè)計(jì)。其基本效果以及串口通訊參數(shù)設(shè)置如下圖3-1 所示:
4 數(shù)據(jù)解碼方法
GPS原始數(shù)據(jù)解碼為Renix格式的步驟主要為:首先判斷讀取的指令類型,如果是“RANGE”類型,則可以參考NovAtel OEM6用戶參考手冊文檔了解該指令所對應(yīng)的的各個(gè)參數(shù)的含義,并對照Renix觀測數(shù)據(jù)文件格式進(jìn)行逐一轉(zhuǎn)換;如果是“RAWEPHEMA”類型,就需要先在ICD-GPS-200[4]中查找變量的定義,進(jìn)而求出變量值,求出變量值后還要根據(jù)尺度因子進(jìn)行換算,最后根據(jù)Renix導(dǎo)航文件數(shù)據(jù)格式的單位要求進(jìn)行單位轉(zhuǎn)換。
不過在數(shù)據(jù)解碼的過程中,需要注意以下幾個(gè)問題:
1.數(shù)據(jù)的存儲(chǔ)順序
在GPS導(dǎo)航電文中,第1,2,3子幀數(shù)據(jù)是以字節(jié)形式存儲(chǔ)的,對于某些特殊的參數(shù)(如第1子幀的IODC參數(shù)),其數(shù)據(jù)位為10bit,但其分開存儲(chǔ)在第1子幀的第3和第8個(gè)字上,如圖3-2所示:
其在還原時(shí)需要按照高位在前、低位在后的順序?qū)⑺袛?shù)據(jù)位的數(shù)字進(jìn)行合并。
2.校驗(yàn)位的計(jì)算方法
通過這種校驗(yàn)方式,可以確保用戶接收到的(或傳輸)的數(shù)據(jù)是有效的,需要注意的是在該板卡的導(dǎo)航電文中的每個(gè)字后都有校驗(yàn)位,因此其每一幀導(dǎo)航電文一共有300bit,有些廠商設(shè)計(jì)的接收機(jī)的導(dǎo)航電文是240bit。
3.數(shù)據(jù)的符號(hào)位
在導(dǎo)航電文中,需要注意的是每個(gè)參數(shù)的字節(jié)數(shù)據(jù)轉(zhuǎn)為二進(jìn)制后,如果該參數(shù)在ICD-GPS-200[5]中的子幀參數(shù)表里面用*標(biāo)注,這就是說該變量是用以2為模的補(bǔ)碼形式來表示的數(shù)(最高的bit位是符號(hào)位),即:如果它大于0,那么因?yàn)檎龜?shù)的補(bǔ)碼就是其本身,可以直接求出;但如果它小于0(最高位為1),情況就完全不同,比如1111 1001≠一0111 1001,而等于一(00000110+1)=一0000 0111。要快速求出一個(gè)補(bǔ)碼表示的負(fù)數(shù)的真值,方法為:對于n位二進(jìn)制數(shù),X真=X補(bǔ)一2n。[6]
5 程序設(shè)計(jì)
本程序設(shè)計(jì)與實(shí)驗(yàn)需要開發(fā)兩個(gè)模塊,分別為原始數(shù)據(jù)解碼和原始數(shù)據(jù)轉(zhuǎn)換為Renix模塊,對應(yīng)的流程圖分別如下圖5-1,5-2所示。
接收機(jī)接收信息后會(huì)做出相應(yīng)的反饋,如返回OK字符串并開始對GPS信號(hào)進(jìn)行接收和處理,通過選擇保存按鈕可以將原始GPS數(shù)據(jù)文件保存在本地計(jì)算機(jī)上,然后啟動(dòng)設(shè)計(jì)好的Renix格式轉(zhuǎn)換程序,進(jìn)行了觀測文件輔助信息和導(dǎo)航文件輔助信息設(shè)置,設(shè)置原始GPS數(shù)據(jù)文件為剛剛生成的數(shù)據(jù)文件其他輸出文件后,便可以得到如下圖所示的Renix2.10數(shù)據(jù)文件,如圖6-1,6-2,6-3所示:
通過參考標(biāo)準(zhǔn)Renix2.10格式說明可以知道此次轉(zhuǎn)換數(shù)據(jù)符合要求,為了確定轉(zhuǎn)換結(jié)果的可靠性,我們再次借用NovAtel OEM6接收機(jī)數(shù)據(jù)處理軟件對原始數(shù)據(jù)進(jìn)行轉(zhuǎn)換和對比,發(fā)現(xiàn)結(jié)果非常吻合,從而說明,文中所述的原始數(shù)據(jù)解碼方法行之有效。
值得注意的是,在這次解碼過程中,觀測數(shù)據(jù)的頭文件中的部分參數(shù)未給出結(jié)果(如測站近似坐標(biāo)),這是因?yàn)橐@取測站的近似坐標(biāo)需要再發(fā)送特殊的指令如“l(fā)og com1 GPGGA ONTIME 1”得到,這部分內(nèi)容不再本文討論范圍內(nèi)。
7 結(jié)論
綜上所述,利用Visual C#可以實(shí)現(xiàn)NovAtel OEM6板與計(jì)算機(jī)通訊程序和原始數(shù)據(jù)向標(biāo)準(zhǔn)通用的RINEX數(shù)據(jù)格式的轉(zhuǎn)換,通過實(shí)驗(yàn)也驗(yàn)證了程序的可靠性。該方法對不同類型的GPS-OEM接收機(jī)的通訊設(shè)計(jì)和原始數(shù)據(jù)處理具有實(shí)際應(yīng)用與指導(dǎo)意義(本文原刊于煤礦開采雜志2014年5月)。
參考文獻(xiàn)
[1]劉慶元,余文坤,揚(yáng)哲,謝文清,劉民選. GPS-OEM板原始數(shù)據(jù)向RINEX格式轉(zhuǎn)換程序設(shè)計(jì)[J]. 礦山測量,2009,05:31-33+36.
[2]陳桂珍,戴建軍. GPS-OEM原始數(shù)據(jù)向Rinex格式轉(zhuǎn)換的方法[J]. 測繪技術(shù)裝備,2006,04:26-27.
[3]http://wenku.baidu.com/view/f0f9cf7302768e9951e738f1.html
[4]ARINC Research Corporation.Interface Control Document(ICD)-GPS-2OO[S],1993
[5]NovAtel Incorporation.OEMV Family Firmware Reference Manual[S]
[6]繼燦,李華貴.新編16—32位微型計(jì)算機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,1997.