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