余文坤 戴吾蛟 楊 哲
(1)中南大學測繪與國土信息工程系,長沙 410083 2)湖南省精密工程測量與形變?yōu)暮ΡO(jiān)測重點實驗室,長沙 410083)
基于TEQC的GNSS數(shù)據(jù)質量分析及預處理軟件的設計與實現(xiàn)*
余文坤1,2)戴吾蛟1,2)楊 哲1)
(1)中南大學測繪與國土信息工程系,長沙 410083 2)湖南省精密工程測量與形變?yōu)暮ΡO(jiān)測重點實驗室,長沙 410083)
TEQC是基于DOS系統(tǒng)的,操作不便。此外,TEQC沒有實現(xiàn)質量分析結果的可視化和統(tǒng)計報表等功能,在數(shù)據(jù)預處理方面也只有簡單的數(shù)據(jù)編輯功能,無法根據(jù)數(shù)據(jù)質量檢核的結果進行深入的處理。為此,運用Visual Basic.NET對 TEQC進行W indows可視化界面封裝,并擴充了數(shù)據(jù)質量檢核結果的可視化、統(tǒng)計報表以及高質量數(shù)據(jù)篩選預處理等功能。
TEQC(Translation,Editing and Quality Checking);GNSS;VB.NET;數(shù)據(jù)預處理;質量分析
數(shù)據(jù)質量是 GNSS定位的精度和可靠性的保障,它受衛(wèi)星健康狀況、接收機、天線、觀測環(huán)境等諸多因素的影響。判定接收機硬件和觀測環(huán)境是否滿足實際要求,其關鍵是如何檢根據(jù)實測數(shù)據(jù)進行質量評價。從實際觀測數(shù)據(jù)中剔除那些質量較差的數(shù)據(jù)則是 GNSS數(shù)據(jù)預處理的關鍵。TEQC(Translation,Editing and Quality Checking)是一款由 UNAVCO組織開發(fā)的,以 GNSS數(shù)據(jù)質量檢核為核心,并具有數(shù)據(jù)格式轉換和數(shù)據(jù)編輯功能的優(yōu)秀軟件。它根據(jù)偽距觀測值和載波相位觀測值的線性組合來進行GNSS數(shù)據(jù)中的誤差估計,可以反映出 GNSS數(shù)據(jù)的電離層延遲、多路徑影響、周跳、衛(wèi)星信號信噪比等信息。雖然該軟件已廣泛用于連續(xù)運行參考站選址及其他應用領域的數(shù)據(jù)質量分析[1],但目前它仍然是DOS系統(tǒng)環(huán)境的命令式軟件,一般用戶很難掌握其操作[2]。此外,該軟件輸出的質量分析結果全部以文本文件的形式輸出,沒有結果的可視化和統(tǒng)計報表等功能。對此,也有一些第三方軟件(如 TEQCSPEC、TEQCPlot、QCV IEW等),然而這些軟件都是用Matlab編寫或仍然在 DOS環(huán)境下使用的[3]。在數(shù)據(jù)預處理方面 TEQC也只有簡單的數(shù)據(jù)編輯功能,而不能根據(jù)數(shù)據(jù)質量檢核的結果進行深入處理,即剔除那些質量較差的數(shù)據(jù),以增強數(shù)據(jù)的可用性。為此,本文根據(jù)軟件工程的思想,以 TEQC為數(shù)據(jù)處理的核心引擎,利用 Visual Basic.net 2005對 GNSS數(shù)據(jù)質量分析及預處理軟件進行設計開發(fā)。
2.1.1 功能需求分析
根據(jù) TEQC的不足,軟件需具備以下功能:1)在W indows環(huán)境及可視化界面下,實現(xiàn)封裝 TEQC的 3大基本功能;2)根據(jù) TEQC質量檢核的結果文件繪制各種反應數(shù)據(jù)質量的圖形,并進行統(tǒng)計生成報表; 3)根據(jù)預先設定數(shù)據(jù)質量指標的限值,自動剔除質量較差的數(shù)據(jù),以達到單站數(shù)據(jù)預處理的功能。
2.1.2 數(shù)據(jù)分析
經(jīng)過 TEQC的數(shù)據(jù)質量檢核(QC)處理后將產生 8個單項結果文件 (高度角、方位角、L1多路徑、L2多路徑、L1信噪比、L2信噪比、電離層延遲、電離層延遲變化率)和一個詳細的匯總文件 (S文件),其中單項結果文件有統(tǒng)一的格式,匯總文件 (S文件)是 TEQC產生的反映數(shù)據(jù)質量一個很重要的文件,主要包括觀測歷元事件表、QC設置參數(shù)、站點的匯總信息和各個衛(wèi)星的具體統(tǒng)計信息 4個部分[2]。多路徑效應(MP1、MP2)與O/slps(觀測值總數(shù)數(shù)與發(fā)生周跳觀測值個數(shù)之比)是 TEQC數(shù)據(jù)質量檢核的主要指標,其中多路徑效應檢核原理是根據(jù)偽距觀測值和載波相位觀測值的線性組合來進行估計:
其中、M P1、M P2分別表示L1、L2載波上的多路徑效應對偽距和相位影響的綜合指標;P是雙頻偽距觀測值;Φ為相位觀測值;α=f為載波頻率。
系統(tǒng)的數(shù)據(jù)流如圖 1所示,初始輸入數(shù)據(jù)為雙頻觀測文件和對應的導航文件,經(jīng) TEQC數(shù)據(jù)檢核后產生 9個質量檢核文件,然后對質量檢核文件進行統(tǒng)計與分析,結合用戶選擇的需求輸出各種報表與圖形。數(shù)據(jù)的預處理則需要根據(jù)質量分析結果,對原輸入的觀測文件進行自動剔除質量較差的數(shù)據(jù),從而得到一個新的具有較高質量的觀測數(shù)據(jù)文件。
圖1 數(shù)據(jù)流程圖Fig.1 Flow chart of data
2.2.1 系統(tǒng)框架結構設計
質量檢核模塊以繪圖和統(tǒng)計報表為主要功能,通過相應的輸出為用戶提供分析所需資料并采取合適的預處理設置;數(shù)據(jù)預處理模塊涉及 Rinex文件編輯和數(shù)據(jù)過濾,通過剔除不良記錄提高數(shù)據(jù)質量;格式轉換模塊可將來自不同產家接收機的原始數(shù)據(jù)或 Rinex文件在各種格式間進行轉換。3個功能模塊使用管道技術實現(xiàn)與封裝 TEQC之間的通信。軟件力求各模塊規(guī)模適當,封裝性好,信息隱蔽、一致,模塊之間的調用合理,耦合小,且內聚度高。
圖2 系統(tǒng)框架設計Fig.2 Design of system frame
2.2.2 主要類設計
系統(tǒng)的核心類有 4個,分別是 cls W in_TEQC、cls W in_Data、clsPlot和 cls DataEditer。其中 cls W in_ TEQC為基類,數(shù)據(jù)封裝類 cls W in_Data繼承基類后存儲文件的所有內容,再派生出繪圖類 clsPlot和數(shù)據(jù)編輯類 cls DataEditer。繪圖類 clsPlot具有繪制多路徑(共 3種形式)、信噪比、周跳、電離層延遲,電離層延遲變化率、高度角、方位角等圖形的方法; cls DataEditer用于數(shù)據(jù)預處理,包括文件頭信息編輯、剔除超限的質量差的觀測數(shù)據(jù)、數(shù)據(jù)分割等。
程序使用進程 Process類連接 CMD.EXE建立DOS環(huán)境,在 DOS環(huán)境下運行 TEQC.EXE,再利用管道技術進行命令控制和數(shù)據(jù)流重導向,并且利用循環(huán)訪問文件出現(xiàn)訪問錯誤來判斷數(shù)據(jù)輸出結束,從而實現(xiàn)在W I NDOWS下的 TEQC的封裝。由于內核不變,所以封裝前后數(shù)據(jù)處理效果不變;且同樣的命令只是增加小到可以忽略不計的進程間通信的時間,所以處理效率幾乎不變。
圖3 軟件包的處理流程圖Fig.3 Flow chart of pack processing
關鍵代碼:
鑒于 TEQC生成的 PLOT文件格式的特點,軟件采用二維數(shù)據(jù)表 DataTable的結構存儲衛(wèi)星信息(其表結構如表 1所示),一個觀測文件對應一組二維表集合,利用數(shù)據(jù)庫表的結構化語言簡化數(shù)據(jù)的存儲、查詢、刪除等操作;同時為了降低成本,省去連接數(shù)據(jù)庫的耗費,程序采用離線數(shù)據(jù)集DataSet的形式組織數(shù)據(jù)表,在內存里直接處理數(shù)據(jù),加快速度。
表 1 二維表形式的數(shù)據(jù)存儲結構Tab.1 Data storage structure in the form of two-dimensional table
高質量數(shù)據(jù)自動提取的實質即根據(jù)數(shù)據(jù)質量評價的一些指標參數(shù)剔除較差的觀測值。對于多路徑、信噪比、電離層延遲及其變化率指標,系統(tǒng)逐歷元搜索,直接刪除超限觀測值。而數(shù)據(jù)采集率與周跳頻率指標的實現(xiàn)則相對復雜,一般來說,當衛(wèi)星的信號受到干擾時,數(shù)據(jù)采集率會降低,而周跳發(fā)生的頻率會升高。為了利用這兩個指標對數(shù)據(jù)進行預處理,這里采用移動開窗數(shù)據(jù)檢核法來計算這兩個指標,其算法步驟為:1)選取前 5分鐘的數(shù)據(jù)進行數(shù)據(jù)檢核;2)根據(jù)數(shù)據(jù)檢核的結果分別統(tǒng)計每顆衛(wèi)星觀測數(shù)據(jù)在這段時間內的采集率以及觀測值與周跳的比值,只要其中有一個值超過了預先設定的閾值,則刪除該段時間內該衛(wèi)星的所有觀測值;3)向后移動 2分鐘,仍然以 5分鐘為窗口重復前兩步;4)循環(huán)以上步驟直到文件結尾。經(jīng)過過濾的數(shù)據(jù)將另外存入結構和原始數(shù)據(jù)一樣的二維表中,以便對照繪制處理前后的對比圖形以及輸出最終的高質量觀測數(shù)據(jù)文件。圖 4為經(jīng)過數(shù)據(jù)預處理前后觀測數(shù)據(jù)的L2多路徑效應對比,從圖中可以明顯看出,處理后的觀測數(shù)據(jù)中只保留了質量較高的數(shù)據(jù)。
主界面采用了MD I多窗體形式,主要子窗體有Translate、Editing和 Quality Check,考慮到參數(shù)選項較多而又要突出顯示圖形及報表,所以各窗體又多使用Tabpage來增加容量,盡量減少勾選項所占用的空間,使用戶關注的圖片和數(shù)據(jù)有更多的體現(xiàn)。另外增加了詳細命令子窗體供高級用戶的操作。主界面使用 RichTextBox來顯示 StdOut(標準輸出)和StdErr(標準錯誤)的內容。
圖 4 數(shù)據(jù)預處理前(a)后(b)L2多路徑效應Fig.4 Mutipath effect before(a)and after(b)pre-processing
繪圖功能實現(xiàn)輸出多路徑 (共 3種形式)、信噪比、周跳、電離層延遲,電離層延遲變化率、高度角、方位角等圖像。其中,多路徑天空圖以不同顏色繪制衛(wèi)星軌跡,并以此為坐標軸繪制多路徑曲線,如圖5所示。圖 6為周跳圖,其中的紅點即表示該位置發(fā)生了周跳。
圖5 多路徑天空圖Fig.5 Sky plot ofmultipath
統(tǒng)計報表由VB.NET的水晶報表控件實現(xiàn),可打印或輸出Word等通用形式。一個觀測文件輸出一個報表文件,統(tǒng)計的內容可由用戶選擇,包括多路徑、信噪比、周跳數(shù)、數(shù)據(jù)利用率等。統(tǒng)計的方式靈活多樣,主要包括總體平均統(tǒng)計、分時段統(tǒng)計、分衛(wèi)星統(tǒng)計、分高度角統(tǒng)計等。其中分時段統(tǒng)計的時間長度可以由自行設定,每顆衛(wèi)星都可以分時段統(tǒng)計,所有統(tǒng)計分析的結果都是單站數(shù)據(jù)預處理的基礎。
圖 6 周跳(紅點處發(fā)生周跳)Fig.6 Cycle slips(the red points)
數(shù)據(jù)測試以某公路 GPS網(wǎng)為例,該網(wǎng)共 47站,使用中海達數(shù)據(jù)處理軟件對其中 90條基線解算。為了測試軟件的數(shù)據(jù)預處理效果,在利用本文設計的軟件進行單站數(shù)據(jù)預處理前后兩次對這 90條基線進行了處理,數(shù)據(jù)處理過程中沒有任何人工干預,全部由軟件自動完成。其中單站預處理的參數(shù)設置采用軟件的默認值。
表 2 基線處理結果對比統(tǒng)計Tab.2 Comparative statistics for processing results of baseline
表 2為兩次基線處理結果的統(tǒng)計,從表 2可以看出:在文件未經(jīng)預處理而使用普通商業(yè)軟件解算時,90條基線自動解算只通過了 79條,使用本文軟件進行預處理之后再經(jīng)普通商業(yè)軟件自動解算通過了 86條,且精度由原來的 0.084 8 m提高到 0.075 6 m。需要說明的是,自動預處理的參數(shù)設置沒有統(tǒng)一的標準,本次實驗都是采用的一些經(jīng)驗默認值,這還有待于進一步研究。盡管如此,測試的結果已表明本軟件預處理功能可以有效地剔除質量較差的觀測數(shù)據(jù),從而提高基線自動解算成功率和精度。在以往的實際工作中,當利用數(shù)據(jù)質量較差的數(shù)據(jù)進行基線解算時,往往需要依靠數(shù)據(jù)處理人員的經(jīng)驗并輔以大量輔助手工數(shù)據(jù)剔除才能得到滿意的結果,而如果利用本文設計的軟件先進行單站的數(shù)據(jù)預處理,可以大大提高基線解算工作的效率。
在分析 TEQC軟件功能、數(shù)據(jù)格式的基礎上,采用面向對象程序設計方法對 TEQC軟件進行了W indows界面封裝以及可視化、預處理等功能的擴充,形成一套具有數(shù)據(jù)質量分析及單站數(shù)據(jù)預處理功能且操作方便的W inTEQC軟件。軟件的測試結果表明:數(shù)據(jù)質量分析結果的繪圖效果直觀、統(tǒng)計報表明了且靈活多樣;當觀測數(shù)據(jù)質量較差時,經(jīng)過該軟件預處理后,可以提高基線自動解算的成功率,減少手動數(shù)據(jù)剔除的工作,從而提高實際生產的效率。但數(shù)據(jù)自動預處理的質量指標及其閾值確定還需進一步研究。
1 丁銳.利用 TEQC軟件對 GNSS連續(xù)參考站選址的數(shù)據(jù)分析[J].城市勘測,2009,(1):56-59.(Ding Rui.TEQC software to make reference to the data analysis about GNSS continuously operating reference station’s choice[J].Urban Geotechnical Investigationamp;Surveying,2009,(1):56-59)
2 聶桂根,王院.TEQC軟件對 GPS數(shù)據(jù)質量的評定及軟件界面的開發(fā)[J].全球定位系統(tǒng),2003,(4):32-38.(Nie Guigen andWang Yuan.GPS data assessment by TEQC program and soft ware menu development[J].NSS World of China,2003,(4):32-38)
3 ClementOgaja and Jim Hedfors.TEQC multipath metrics in MATLAB[J].GPS Solut,2007,(11):215-222.
4 李征航,等.GPS測量與數(shù)據(jù)處理[M].武漢:武漢大學出版社,2005.(Li Zhenghang,et al.GPS surveyingamp;data processing[M].Wuhan:Wuhan University Press,2005)
5 朱本城,王鳳林.Visual Basic.NET 2005全程指南 [M].北京:電子工業(yè)出版社,2008.(Zhu Bencheng and Wang Fenglin.Full guide of Visual Basic.NET 2005[M].Beijing:Electronics Industry Press,2008)
6 許進標,袁鵬飛.Visual Studio.NET高手攻略[M].北京:人民郵電出版社,2003.(Xu Jinbiao and Yuan Pengfei. Master hand of Visual Studio.NET[M].Postsamp;Telecom Press,2003)
7 UNAVCOFacility.TEQCTutorial[EB/OL].http://facility. unavco.org/software/teqc/tutorial.html,2009-7-16.
8 UNAVCOFacility.QCV IEW(forDOS)[EB/OL].http://facility.unavco.org/software/preprocessing/qcview/qcview. html,2005-11-17.
9 Clement OgajaTEQCSPEC[CP/OL].http://www.mathworks.com/matlabcentral/fileexchange/12886.2009-2-22.
10 JimHedforsTEQCPLOT[CP/OL].http://www.mathworks. com/matlabcentral/fileexchange/12886.2006-6-16.
GNSS DATA ANALYSISamp;PRE-PROCESSING SOFTWARE DESIGN BASED ON TEQC
YuWenkun1,2),DaiWujiao1,2)and Yang Zhe1)
(1)Departm ent of Surveying Engineeringamp;Geo-Infor m atics,Central South University,Changsha 410083 2)Key Lab.of Precise Engineering Surveyingamp;Defor m ation D isasterM onitoring of Hunan Province, Changsha 410083)
TEQC based on DOS is more difficult for operation comparing to windows.Moreover,it does not have functions of visualizing the data quality checking results and statistic reports and it cannot preprocess the data based on the resultsof quality analysis.Therefore,a windows interface is developed for TEQC by usingVisualBasic.NET,and the functions such as visualization,statistic reports,high-quality data filtering are added.
TEQC;GNSS;VB.NET;data pre-processing;quality analysis
1671-5942(2010)05-0081-05
2010-01-05
國家自然科學基金(40704002);湖南省自然科學基金(08JJ6025);中南大學創(chuàng)新實驗(LE10278)
余文坤,1987年生,碩士研究生,主要從事 GNSS數(shù)據(jù)處理及應用軟件開發(fā)工作.E-mail:yuwenkun008@sina.com
P207;P209
A