鄧岳川
(安徽星空?qǐng)D信息科技有限公司, 安徽 合肥 230000)
TEQC(Translating,Editing and Quality Check)是功能強(qiáng)大且簡(jiǎn)單易用的 GPS(Global Position System)/GLONASS(Global Navigation Satellite System)數(shù)據(jù)預(yù)處理軟件,是由 UNAVCO Facility 研制的為地學(xué)研究GPS監(jiān)測(cè)站數(shù)據(jù)管理服務(wù)的公開(kāi)軟件,主要功能有格式轉(zhuǎn)換、編輯和質(zhì)量檢查[1]。
TEQC質(zhì)檢生成的plot文件分別從載波L1/L2/L5的信噪比、電離層延遲觀測(cè)值及變率、載波L1/L2/L5的多路徑誤差、衛(wèi)星方位角和衛(wèi)星高度角等方面[2]列出了GPS數(shù)據(jù)質(zhì)量檢查報(bào)告,提供了較詳實(shí)的分析數(shù)據(jù),是GPS數(shù)據(jù)質(zhì)量檢查的重要依據(jù)。通過(guò)對(duì)數(shù)據(jù)的分析,可以進(jìn)一步得出GPS數(shù)據(jù)質(zhì)量報(bào)告。對(duì)于這些大量的數(shù)據(jù),可通過(guò)繪圖輔助工具QCView、qc2sky、cf2ps[3]以及用戶定制工具實(shí)現(xiàn)數(shù)據(jù)圖表的繪制和顯示。例如:程建燕[4]基于C語(yǔ)言對(duì)TEQC進(jìn)行可視化開(kāi)發(fā);盧立果等[5]基于MATLAB GUI開(kāi)發(fā)了一套TEQC可視化軟件;賈瑩媛等[6]通過(guò)MATLAB編制出teqcplot模塊,實(shí)現(xiàn)TEQC質(zhì)量檢查結(jié)果的圖形顯示和可視化查詢;張顯云等[7]利用C#開(kāi)發(fā)出TEQC可視化分析工具,簡(jiǎn)化GNSS數(shù)據(jù)的質(zhì)量分析與編輯;余文坤等[8]運(yùn)用VB.NET對(duì)TEQC進(jìn)行Windows可視化界面封裝,并擴(kuò)充了數(shù)據(jù)質(zhì)量檢核結(jié)果的可視化、統(tǒng)計(jì)報(bào)表以及高質(zhì)量數(shù)據(jù)篩選預(yù)處理等功能。
目前plot文件的數(shù)據(jù)格式變成了UNAVCO COMPACT3格式[2],相對(duì)于COPMACT和COMPACT2格式,COMPACT3格式增加了對(duì)GLONASS、Galileo以及BDS衛(wèi)星的支持,數(shù)據(jù)結(jié)構(gòu)也發(fā)生了改變,這就導(dǎo)致原先的繪圖輔助工具QCView、qc2sky、cf2ps以及用戶定制工具無(wú)法正確識(shí)別COMPACT3格式的plot文件,無(wú)法完成圖表繪制,給TEQC軟件的使用和GPS數(shù)據(jù)質(zhì)量檢查帶來(lái)不便。針對(duì)以上的問(wèn)題,本文提出一種解決方案,使用MATLAB編制teqcplot3程序,正確讀取COMACT、COMPACT2、COMPACT3格式的plot文件,并實(shí)現(xiàn)數(shù)據(jù)圖表的繪制,有效解決了上述問(wèn)題,為GPS數(shù)據(jù)質(zhì)量檢查提供支持。
COMPACT格式是TEQC軟件采用的一種緊湊數(shù)據(jù)格式,經(jīng)歷了COMPACT、COMPACT2以及COMPACT3三個(gè)版本,COMPACT3是由Lou Estey創(chuàng)建并在2013年12月增加到TEQC軟件中[2]。TEQC軟件生成的plot文件都采用COMPACT3格式,目前已支持GPS、GLONASS、Galileo和BDS衛(wèi)星的數(shù)據(jù)。
下面以實(shí)測(cè)數(shù)據(jù)AA13210.d12為例,說(shuō)明COMPACT3格式的數(shù)據(jù)結(jié)構(gòu)。*.d12表示該測(cè)站點(diǎn)上各衛(wèi)星的電離層延遲觀測(cè)值變化率情況。用記事本打開(kāi)這個(gè)ASCII碼文件,可以看到以下信息,具體如表1所示。
表1 AA13210.d12文件數(shù)據(jù)結(jié)構(gòu)說(shuō)明(COMPACT3)
接下來(lái),再以AA13210.iod(COMPACT2)數(shù)據(jù)為例,說(shuō)明COMPACT2格式的數(shù)據(jù)結(jié)構(gòu),具體如表2所示。
表2 AA13210.iod文件數(shù)據(jù)結(jié)構(gòu)說(shuō)明(COMPACT2)
COMPACT格式與COMPACT2格式的結(jié)構(gòu)類似,區(qū)別在于第2行增加一個(gè)衛(wèi)星編號(hào)行,另外COMPACT格式只支持GPS衛(wèi)星,GLONASS、BDS和Galileo衛(wèi)星無(wú)法顯示。
從表1和表2的數(shù)據(jù)結(jié)構(gòu)可以看出,COMPACT3和COMPACT2差異集中在前4行,如:觀測(cè)開(kāi)始時(shí)刻、采樣間隔等表達(dá)不同等。由于不同版本的數(shù)據(jù)結(jié)構(gòu)存在差異,導(dǎo)致常用的TEQC繪圖輔助工具QCView、qc2sky、cf2ps以及teqcplot程序等無(wú)法正確識(shí)別COMPACT3格式。
利用MATLAB軟件開(kāi)發(fā)出teqcplot3程序,此程序是改進(jìn)Jim Hedfors的teqcplot模塊[9],實(shí)現(xiàn)讀取plot文件,質(zhì)量檢查結(jié)果的圖形顯示和可視化查詢等功能。teqcplot3程序?qū)崿F(xiàn)對(duì)COPMACT、COMPACT2和COMPACT3三種格式的支持。
teqcplot3程序的設(shè)計(jì)流程分為plot文件數(shù)據(jù)讀取和數(shù)據(jù)圖表繪制與顯示兩個(gè)部分。具體流程如圖1所示。
圖1 teqcplot3程序設(shè)計(jì)流程圖
第一部分,讀取plot文件數(shù)據(jù)。首先,讀取選定的plot文件至數(shù)組A中,再根據(jù)第1行的文件標(biāo)識(shí)符,判斷格式類型,分別讀取觀測(cè)時(shí)刻至數(shù)組tsec中,讀取衛(wèi)星編號(hào)至數(shù)組sat_bh中,對(duì)應(yīng)的衛(wèi)星數(shù)據(jù)存放至二維數(shù)組SAT中。數(shù)組SAT是程序的核心數(shù)據(jù),行表示觀測(cè)時(shí)刻,列對(duì)應(yīng)的是衛(wèi)星編號(hào)??紤]到GPS、GLONASS和BDS衛(wèi)星的數(shù)量,SAT數(shù)組定義了99列,能夠存儲(chǔ)不同系統(tǒng)的衛(wèi)星數(shù)據(jù)。
第二部分,數(shù)據(jù)結(jié)果的圖表繪制和顯示。此過(guò)程主要運(yùn)用MATLAB的繪偽彩色圖函數(shù)pcolor[10-11],X軸表示觀測(cè)時(shí)刻,Y軸代表衛(wèi)星編號(hào),并且以不同的色帶區(qū)分?jǐn)?shù)據(jù)取值的大小及變化。關(guān)鍵環(huán)節(jié)是將觀測(cè)時(shí)刻tsec數(shù)組和衛(wèi)星數(shù)據(jù)SAT數(shù)組作為參數(shù)傳入pcolor函數(shù)中。
根據(jù)設(shè)計(jì)思路,利用MATLAB語(yǔ)言編寫(xiě)程序代碼,部分核心代碼說(shuō)明如表3所示。
表3 核心程序代碼說(shuō)明
首先,在MATLAB環(huán)境下打開(kāi)該程序代碼文件,啟動(dòng)本輔助繪圖工具。其次,在打開(kāi)文件對(duì)話框中選擇需要繪圖的plot文件(例如:KK153404.azi),程序自動(dòng)讀取該plot文件,最后,形成該plot文件的偽彩色圖,如需繪制其他數(shù)據(jù)類型的圖表,則再次運(yùn)行該程序,選取相應(yīng)的plot文件。
作者使用三個(gè)不同廠家的GPS靜態(tài)觀測(cè)數(shù)據(jù)來(lái)測(cè)試程序。首先,使用GPS數(shù)據(jù)處理軟件[12-14],將GPS靜態(tài)觀測(cè)數(shù)據(jù)轉(zhuǎn)換成RINEX格式,具體數(shù)據(jù)文件如表4所示。
表4 用于程序測(cè)試的GPS觀測(cè)數(shù)據(jù)
其次,從UNAVCO網(wǎng)站上下載最新版本的TEQC軟件,與GPS觀測(cè)數(shù)據(jù)存放在同一目錄中,打開(kāi)DOS命令窗口,切換到TEQC軟件所在的目錄,輸入TEQC質(zhì)檢命令,在軟件目錄下會(huì)生成多個(gè)與GPS觀測(cè)數(shù)據(jù)文件名相同,但后綴名不同的plot數(shù)據(jù)文件,形成的數(shù)據(jù)文件如表5所示。
再次,使用MATLAB打開(kāi)本輔助繪圖工具,分別選取相應(yīng)的plot文件,程序讀取數(shù)據(jù)并繪制出數(shù)據(jù)圖表,因使用最新版的TEQC軟件,生成plot文件是COMPACT3格式。從三種不同型號(hào)的GPS接收機(jī)中隨機(jī)選取plot文件來(lái)進(jìn)行測(cè)試。
從測(cè)試結(jié)果來(lái)看,程序能夠正確讀取COMPACT3格式的文件,繪制的圖表與實(shí)際數(shù)據(jù)一致,同時(shí)也能夠支持GPS、GLONASS、BDS衛(wèi)星的數(shù)據(jù)顯示。最后對(duì)COMPACT、COMPACT2格式的數(shù)據(jù)進(jìn)行了測(cè)試,結(jié)果也都正確。
本文使用MATLAB語(yǔ)言,編制出支持COMPACT、COMPACT2和COMPACT3格式的繪圖輔助工具teqcplot3,將TEQC質(zhì)檢結(jié)果進(jìn)行可視化表達(dá),幫助用戶直觀形象地理解大量的GPS衛(wèi)星數(shù)據(jù),解決了因TEQC軟件升級(jí),數(shù)據(jù)格式變化而導(dǎo)致TEQC繪圖輔助工具無(wú)法正常使用的問(wèn)題,并且支持GPS、GLONASS、BDS等不同系統(tǒng)的衛(wèi)星數(shù)據(jù),為TEQC軟件的應(yīng)用提供了必要支持,但本輔助工具需要在MATLAB環(huán)境下運(yùn)行,而且該工具缺乏操作界面,用戶交互性不夠。另外,該工具只能繪制一種類型的圖表,結(jié)果展示還不夠豐富,未來(lái)將繼續(xù)完善teqcplot3程序,使其界面可視化,用戶交互性更好,操作更加簡(jiǎn)潔,支持的圖表類型更加多樣化。