鄧岳川
(安徽星空圖信息科技有限公司, 安徽 合肥 230000)
TEQC(Translating,Editing and Quality Check)是功能強大且簡單易用的 GPS(Global Position System)/GLONASS(Global Navigation Satellite System)數據預處理軟件,是由 UNAVCO Facility 研制的為地學研究GPS監測站數據管理服務的公開軟件,主要功能有格式轉換、編輯和質量檢查[1]。
TEQC質檢生成的plot文件分別從載波L1/L2/L5的信噪比、電離層延遲觀測值及變率、載波L1/L2/L5的多路徑誤差、衛星方位角和衛星高度角等方面[2]列出了GPS數據質量檢查報告,提供了較詳實的分析數據,是GPS數據質量檢查的重要依據。通過對數據的分析,可以進一步得出GPS數據質量報告。對于這些大量的數據,可通過繪圖輔助工具QCView、qc2sky、cf2ps[3]以及用戶定制工具實現數據圖表的繪制和顯示。例如:程建燕[4]基于C語言對TEQC進行可視化開發;盧立果等[5]基于MATLAB GUI開發了一套TEQC可視化軟件;賈瑩媛等[6]通過MATLAB編制出teqcplot模塊,實現TEQC質量檢查結果的圖形顯示和可視化查詢;張顯云等[7]利用C#開發出TEQC可視化分析工具,簡化GNSS數據的質量分析與編輯;余文坤等[8]運用VB.NET對TEQC進行Windows可視化界面封裝,并擴充了數據質量檢核結果的可視化、統計報表以及高質量數據篩選預處理等功能。
目前plot文件的數據格式變成了UNAVCO COMPACT3格式[2],相對于COPMACT和COMPACT2格式,COMPACT3格式增加了對GLONASS、Galileo以及BDS衛星的支持,數據結構也發生了改變,這就導致原先的繪圖輔助工具QCView、qc2sky、cf2ps以及用戶定制工具無法正確識別COMPACT3格式的plot文件,無法完成圖表繪制,給TEQC軟件的使用和GPS數據質量檢查帶來不便。針對以上的問題,本文提出一種解決方案,使用MATLAB編制teqcplot3程序,正確讀取COMACT、COMPACT2、COMPACT3格式的plot文件,并實現數據圖表的繪制,有效解決了上述問題,為GPS數據質量檢查提供支持。
COMPACT格式是TEQC軟件采用的一種緊湊數據格式,經歷了COMPACT、COMPACT2以及COMPACT3三個版本,COMPACT3是由Lou Estey創建并在2013年12月增加到TEQC軟件中[2]。TEQC軟件生成的plot文件都采用COMPACT3格式,目前已支持GPS、GLONASS、Galileo和BDS衛星的數據。
下面以實測數據AA13210.d12為例,說明COMPACT3格式的數據結構。*.d12表示該測站點上各衛星的電離層延遲觀測值變化率情況。用記事本打開這個ASCII碼文件,可以看到以下信息,具體如表1所示。

表1 AA13210.d12文件數據結構說明(COMPACT3)
接下來,再以AA13210.iod(COMPACT2)數據為例,說明COMPACT2格式的數據結構,具體如表2所示。

表2 AA13210.iod文件數據結構說明(COMPACT2)
COMPACT格式與COMPACT2格式的結構類似,區別在于第2行增加一個衛星編號行,另外COMPACT格式只支持GPS衛星,GLONASS、BDS和Galileo衛星無法顯示。
從表1和表2的數據結構可以看出,COMPACT3和COMPACT2差異集中在前4行,如:觀測開始時刻、采樣間隔等表達不同等。由于不同版本的數據結構存在差異,導致常用的TEQC繪圖輔助工具QCView、qc2sky、cf2ps以及teqcplot程序等無法正確識別COMPACT3格式。
利用MATLAB軟件開發出teqcplot3程序,此程序是改進Jim Hedfors的teqcplot模塊[9],實現讀取plot文件,質量檢查結果的圖形顯示和可視化查詢等功能。teqcplot3程序實現對COPMACT、COMPACT2和COMPACT3三種格式的支持。
teqcplot3程序的設計流程分為plot文件數據讀取和數據圖表繪制與顯示兩個部分。具體流程如圖1所示。

圖1 teqcplot3程序設計流程圖
第一部分,讀取plot文件數據。首先,讀取選定的plot文件至數組A中,再根據第1行的文件標識符,判斷格式類型,分別讀取觀測時刻至數組tsec中,讀取衛星編號至數組sat_bh中,對應的衛星數據存放至二維數組SAT中。數組SAT是程序的核心數據,行表示觀測時刻,列對應的是衛星編號。考慮到GPS、GLONASS和BDS衛星的數量,SAT數組定義了99列,能夠存儲不同系統的衛星數據。
第二部分,數據結果的圖表繪制和顯示。此過程主要運用MATLAB的繪偽彩色圖函數pcolor[10-11],X軸表示觀測時刻,Y軸代表衛星編號,并且以不同的色帶區分數據取值的大小及變化。關鍵環節是將觀測時刻tsec數組和衛星數據SAT數組作為參數傳入pcolor函數中。
根據設計思路,利用MATLAB語言編寫程序代碼,部分核心代碼說明如表3所示。

表3 核心程序代碼說明
首先,在MATLAB環境下打開該程序代碼文件,啟動本輔助繪圖工具。其次,在打開文件對話框中選擇需要繪圖的plot文件(例如:KK153404.azi),程序自動讀取該plot文件,最后,形成該plot文件的偽彩色圖,如需繪制其他數據類型的圖表,則再次運行該程序,選取相應的plot文件。
作者使用三個不同廠家的GPS靜態觀測數據來測試程序。首先,使用GPS數據處理軟件[12-14],將GPS靜態觀測數據轉換成RINEX格式,具體數據文件如表4所示。

表4 用于程序測試的GPS觀測數據
其次,從UNAVCO網站上下載最新版本的TEQC軟件,與GPS觀測數據存放在同一目錄中,打開DOS命令窗口,切換到TEQC軟件所在的目錄,輸入TEQC質檢命令,在軟件目錄下會生成多個與GPS觀測數據文件名相同,但后綴名不同的plot數據文件,形成的數據文件如表5所示。
再次,使用MATLAB打開本輔助繪圖工具,分別選取相應的plot文件,程序讀取數據并繪制出數據圖表,因使用最新版的TEQC軟件,生成plot文件是COMPACT3格式。從三種不同型號的GPS接收機中隨機選取plot文件來進行測試。
從測試結果來看,程序能夠正確讀取COMPACT3格式的文件,繪制的圖表與實際數據一致,同時也能夠支持GPS、GLONASS、BDS衛星的數據顯示。最后對COMPACT、COMPACT2格式的數據進行了測試,結果也都正確。
本文使用MATLAB語言,編制出支持COMPACT、COMPACT2和COMPACT3格式的繪圖輔助工具teqcplot3,將TEQC質檢結果進行可視化表達,幫助用戶直觀形象地理解大量的GPS衛星數據,解決了因TEQC軟件升級,數據格式變化而導致TEQC繪圖輔助工具無法正常使用的問題,并且支持GPS、GLONASS、BDS等不同系統的衛星數據,為TEQC軟件的應用提供了必要支持,但本輔助工具需要在MATLAB環境下運行,而且該工具缺乏操作界面,用戶交互性不夠。另外,該工具只能繪制一種類型的圖表,結果展示還不夠豐富,未來將繼續完善teqcplot3程序,使其界面可視化,用戶交互性更好,操作更加簡潔,支持的圖表類型更加多樣化。