趙建三,楊 創(chuàng),聞德保
(長沙理工大學(xué)交通運(yùn)輸工程學(xué)院,湖南長沙410004)
利用GAMIT進(jìn)行高精度GPS基線解算的方法及精度分析
趙建三,楊 創(chuàng),聞德保
(長沙理工大學(xué)交通運(yùn)輸工程學(xué)院,湖南長沙410004)
系統(tǒng)分析利用GAMIT進(jìn)行高精度GPS基線解算的方法,對如何解決其中可能出現(xiàn)的問題和錯誤進(jìn)行探討,并對解算精度進(jìn)行分析,有利于用戶高效地獲得高精度的解算成果。
GPS;基線解算;GAMIT;高精度
隨著精密工程測量學(xué)、地球動力學(xué)、GPS氣象學(xué)等領(lǐng)域?qū)PS數(shù)據(jù)處理的精度要求越來越高,國內(nèi)外研制出了很多高精度的 GPS數(shù)據(jù)處理軟件。GAMIT由于具備可免費(fèi)申請獲取、開放源代碼、更新速度快、解算精度高、自動化處理程度高等優(yōu)點(diǎn),在國內(nèi)應(yīng)用相當(dāng)廣泛。但由于其運(yùn)行平臺限制、解算文件多、參數(shù)設(shè)置復(fù)雜,給用戶帶來諸多問題。本文結(jié)合數(shù)據(jù)處理方法,對可能會出現(xiàn)的錯誤進(jìn)行分析和解決,探討控制參數(shù)對解算結(jié)果的影響。
GAMIT解算程序由7個模塊組成:ARC(軌道積分)、MODEL(組成觀測方程)、SINCLN(單差自動修復(fù)周跳)、DBCLN(雙差自動修復(fù)周跳)、CVIEW (人工交互式修復(fù)周跳)、CFMRG(用于創(chuàng)建SOLVE所需的M文件)、SOLVE(利用雙差觀測值求解參數(shù))。GAMIT利用雙差觀測值,組成與觀測值和參數(shù)相關(guān)的非線性數(shù)學(xué)模型,采用最小二乘算法反復(fù)迭代來估計測站的相對位置、軌道和地球自轉(zhuǎn)參數(shù)、對流層天頂延遲參數(shù)、大氣水平梯度參數(shù),得到的載波相位整周模糊度分別為實(shí)數(shù)和整數(shù)的約束解及松弛解[1]。其采用雙差觀測量的優(yōu)點(diǎn)是可以完全消除衛(wèi)星鐘差和接收機(jī)鐘差的影響,也可以明顯減弱軌道誤差、大氣折射誤差等系統(tǒng)性誤差的影響[2]。
1.GAMIT的配置
(1)GCC的安裝配置
GAMIT需要在UNIX或LINUX平臺運(yùn)行,并且需要得到GCC編譯器的支持,不同的GAMIT版本匹配相應(yīng)的GCC版本,否則GAMIT安裝不能完成。安裝GCC時可以直接在根目錄下建立文件夾gccobj,進(jìn)入文件夾打開終端執(zhí)行命令,命令執(zhí)行完成后GCC即安裝完成。最后可以使用命令gcc-v查看GCC版本來驗(yàn)證安裝是否成功。
(2)GAMIT的安裝配置
安裝GAMIT時可以直接在根目錄建立文件夾gamit10.3,把壓縮包拷貝到該文件夾里,打開終端,執(zhí)行解壓安裝命令,如果安裝文件是壓縮文件,此命令即對其進(jìn)行解壓。再次執(zhí)行此命令即進(jìn)行GAMIT的安裝。為了在程序運(yùn)行時系統(tǒng)能調(diào)用到GAMIT命令,需要將4個路徑[1]:/gamit10.3/com、/gamit10.3/gamit/bin、/gamit10.2/kf/bin、/gamit/ help加入到系統(tǒng)隱藏文件*.cshrc文件中,如果系統(tǒng)的工作shell是B shell,則加入到系統(tǒng)隱藏文件*.bash_profile文件中,保存后重新啟動計算機(jī)即完成GAMIT的安裝??梢源蜷_終端輸入年積日計算命令doy來驗(yàn)證是否安裝成功,如果計算成功,就基本確定GAMIT已安裝成功。
2.解算過程
(1)數(shù)據(jù)準(zhǔn)備
數(shù)據(jù)處理需要的文件很多,可以分為數(shù)據(jù)文件、配置文件、表文件。解算所需文件的說明如表1所示。
表1 解算所需文件說明
數(shù)據(jù)準(zhǔn)備前,一般先建立以原始處理數(shù)據(jù)相對應(yīng)的年積日為文件名的文件夾,年積日和GPS周可以通過doy命令計算。IGS站GPS原始觀測數(shù)據(jù)文件下載后需要進(jìn)行兩次解壓,常規(guī)解壓后變成格式site0900.06d(site為IGS站名,090為年積日,0為時段號,06為年份,d為數(shù)據(jù)格式),再利用crx2rnx+文件名命令轉(zhuǎn)化為格式site0900.06o。
配置文件的某些參數(shù)設(shè)置必須和數(shù)據(jù)文件相匹配,而且其設(shè)置對解算的精度和目的有一定的影響,所以應(yīng)該做好必要的重置。①L文件。L文件包含所用測站的概略坐標(biāo)文件,概略坐標(biāo)的精度不能過低,否則會解算失敗。L文件的生成方法是在工程文件下打開終端分別輸入 grep POSITION、rx2apr、glbtol 3條命令,如果原始觀測文件的概略坐標(biāo)未知,就需要先利用原始觀測數(shù)據(jù)o文件和導(dǎo)航文件通過sh_rx2apr命令來生成[1]。②station.info、sittbl.兩個文件的測站和時間設(shè)置必須和原始觀測數(shù)據(jù)相匹配,sestbl.文件的設(shè)置需和解算目的相匹配,session.info文件一般通過數(shù)據(jù)處理過程中的makexp來創(chuàng)建比較方便。
(2)數(shù)據(jù)處理
文件全部準(zhǔn)備好后,在文件夾下打開終端進(jìn)行數(shù)據(jù)處理,以2006年第90天為例介紹處理過程。
1)輸入命令makexp,根據(jù)系統(tǒng)提示依次輸入工程名gigg、軌道名gigg、年份2006年、年積日090、起始序列號 1、L文件 lgigg6.090、導(dǎo)航文件auto0900.06n,由于沒有事先創(chuàng)建session.info文件,系統(tǒng)還會提示輸入采樣間隔、起始時間、歷元數(shù),依次輸入30 0 0 2880。
2)生成星歷表T文件,輸入命令sh_sp3fit-f igr13685.sp3-o gigg。
3)檢查G文件,輸入命令sh_check_sess-sess 90-type gfile-file ggigg6.090。
4)生成衛(wèi)星時鐘文件J文件,輸入命令makej auto0900.06n jauto6.090。
5)檢查J文件,輸入命令sh_check_sess-sess 90-type jfile-file jauto6.090。
6)生成測站時鐘K文件和觀測值X文件,輸入命令makex gigg.makex.batch。
7)執(zhí)行FIXDRV程序產(chǎn)生批處理文件,輸入命令fixdrv dgigg6.090。
8)執(zhí)行批處理文件csh bgigg6.bat。
由于GAMIT由多個模塊組成,輸入和生成的文件多,解算參數(shù)多,過程復(fù)雜,常常會出現(xiàn)各種不同類型的錯誤,正確地分析解決錯誤非常重要,有時甚至關(guān)系到成果精度的提高。下面對安裝和解算過程中經(jīng)常出錯的地方按階段進(jìn)行分析。
1.配置階段
UNIX系統(tǒng)庫文件安裝的完整性是非常重要的,其中 xlib.h和 xlib.a兩個文件必須安裝。GCC4.2以前的版本在安裝前需要修改MAXUNIT默認(rèn)參數(shù)100為GAMIT源代碼中要求的10 000,保證GAMIT能正常運(yùn)行,此參數(shù)在GCC的libf2c/ libI7/fio.h中修改[3]。GAMIT安裝包解壓后需要對安裝程序的配置文件 Makefile.config的參數(shù)MAXSIT(最大測站數(shù))、MAXSAT(最大衛(wèi)星數(shù))、MAXATM(最大天頂延遲參數(shù))、MAXEPC(最大歷元數(shù))進(jìn)行修改,達(dá)到實(shí)際解算需要的要求。另外,還要在Makefile.config中確認(rèn)庫文件和編譯器的路徑設(shè)置正確,并且和系統(tǒng)版本相匹配。安裝完成后,運(yùn)行路徑的添加要符合shell語法的要求[3],如果是C shell,GAMIT安裝在根目錄,格式為
Setenv PATH“${PATH}:/gamit/bin:/gamit/kf/bin:/ gamit/com”
Setenv HELP_DIR“${HELP}:/gamit/help”
如果是B shell,GAMIT安裝在根目錄,格式為
PATH=$PATH:/gamit/bin:/gamit/kf/bin:/gamit/com
HELP_DIR=/gamit/help/
2.數(shù)據(jù)解算階段
數(shù)據(jù)處理所需要的各類文件都有規(guī)范的文件名和格式,比如ut1.表文件的后綴點(diǎn)就必不可少,需要重置的文件要按照標(biāo)準(zhǔn)格式編輯好,從Windons系統(tǒng)中拷貝過來的文件最后都應(yīng)該執(zhí)行dos2unix命令轉(zhuǎn)換為RINEX格式。與解算數(shù)據(jù)日期同步的文件應(yīng)該及時更新,其中 soltab.、luntab.、nutabl.、leap.sec每年更新一次,ut1.、dcb.dat每月更新一次,pole.每周更新一次,有新衛(wèi)星加入時,svnav.dat需要更新;有使用的衛(wèi)星異常時,svs_exclude.dat需要更新;當(dāng)有新的接收機(jī)或天線出現(xiàn)時,與其有關(guān)的文件都需要更新[3]。數(shù)據(jù)處理階段要保證各類參數(shù)、文件名、命令的輸入準(zhǔn)確無誤。每個模塊正常執(zhí)行完畢提示語句為:Normal end;解算完成提示語句為:Normal Stop。
1.算 例
選用2006年3月31日(年積日090)BJFS(北京房山)、WUHN(武漢)、KUNM(昆明)3個IGS站的原始觀測數(shù)據(jù),采用 IGS快速星歷,觀測時間24 h,歷元間隔30 s。解算控制參數(shù)見表2。
表2 解算控制參數(shù)的選擇
解算完成后,從生成的o文件(ogigga.090)中查看標(biāo)準(zhǔn)化均方根殘差(nrms)、解算結(jié)果和精度,其中nrms是衡量基線解算質(zhì)量的最重要指標(biāo),一般為0.25左右,原則上應(yīng)小于0.3,如果nrms符合要求,解算結(jié)果就比較可靠,甚至不需要檢查其他指標(biāo)[1]。本例中nrms為0.24,基線解算成果的精度均勻合理,基線長度的相對精度都可以達(dá)到10-9量級,滿足高精度測量的要求。基線解算成果及精度見表3。
表3 基線解算成果及精度
2.精度分析
GAMIT解算精度不僅受原始觀測數(shù)據(jù)精度的影響,還會受到解算控制參數(shù)的影響。不同的控制參數(shù)可以用來達(dá)到不同的解算目的,但精度也會受到影響,為了能得到理想精度的解算成果,下面分析其對精度的影響??刂茀?shù)選擇截止高度角、天頂延遲參數(shù)、觀測量和測站坐標(biāo)約束,這4類參數(shù)在解算過程中變動頻繁,能比較全面地反映控制參數(shù)對精度的影響[4],基線選擇為BJFS(北京房山)— KUNM(昆明),精度指標(biāo)選擇標(biāo)準(zhǔn)化均方根殘差(nrms)、基線分量誤差和基線長度的相對精度。分析結(jié)果見表4~表7。
表4 不同截止高度角對基線(BJFS_KUNM)精度的影響
表5 不同天頂延遲參數(shù)對基線(BJFS_KUNM)精度的影響
表6 選取不同觀測量對基線(BJFS_KUNM)精度的影響
表7 不同測站坐標(biāo)約束對基線(BJFS_KUNM)精度的影響
由表4可見,截止高度角從5°到25°,nrms呈微量減小趨勢,但都在0.24左右,表明解算結(jié)果都比較可靠,基線分量各個方向誤差和基線長度相對誤差呈增大趨勢,5°和10°的解算結(jié)果精度指標(biāo)完全相同,不過高度角太低時路徑延遲對水汽變化非常敏感,因此在一般的解算情況下選擇10°的截止高度角比較適宜。
表5中各項(xiàng)基線精度指標(biāo)僅有微小變化,表明天頂延遲參數(shù)變化對長基線的精度影響不是非常明顯,這對于利用GAMIT來獲取對流層天頂延遲是一個有利的因素,不過隨著估計的參數(shù)增多,對流層天頂延遲改正值精度有一定的提高,這在表5中沒有列出,同時也會延長解算所需的時間。一般情況下,天頂延遲參數(shù)取為13,即每2 h產(chǎn)生一個天頂延遲估值是比較合適的。
由表6可以看出,選擇觀測量LC_AUTCLN(觀測值是無電離層的線性組合)進(jìn)行解算得到的基線分量精度明顯要高于選擇另外3種組合得到的基線分量精度,所以一般應(yīng)該選擇LC_AUTCLN作為解算觀測量,不過選擇不同的觀測量能達(dá)到不同的解算目的,應(yīng)該弄清各項(xiàng)觀測量的含義,在解算過程中酌情選用。
測站坐標(biāo)約束是通過對一個或多個基準(zhǔn)站的坐標(biāo)分量加以約束,為數(shù)據(jù)分析定義參考系統(tǒng)。表7中隨著測站坐標(biāo)約束由緊到松,基線精度由高到低明顯變化,表明測站約束對基線精度的影響很大。但是最強(qiáng)約束項(xiàng)(0.01/0.01/0.02)導(dǎo)致基線分量誤差比站點(diǎn)坐標(biāo)約束還要大,這表示解算過程中并沒有進(jìn)行合理估計的足夠數(shù)據(jù),這種約束條件下產(chǎn)生的成果是不能接受的。另外4組約束解算的結(jié)果都是可以接受的,其中以約束項(xiàng)(0.05/0.05/ 0.06)得到的基線精度最高。因此設(shè)置測站坐標(biāo)約束時,應(yīng)該對解算數(shù)據(jù)質(zhì)量、初始坐標(biāo)精度和其他參數(shù)設(shè)置進(jìn)行綜合考慮,太強(qiáng)的約束得到的基線成果并不可靠。
GAMIT由于其結(jié)構(gòu)的復(fù)雜性,需要準(zhǔn)備的文件很多,在安裝和解算過程中有時嚴(yán)格按照步驟操作也會遇到許多問題。對輸入文件的內(nèi)容和格式作更多的了解和研究,不但能快速解決解算中出現(xiàn)的問題,更能充分利用和挖掘其強(qiáng)大的高精度解算能力。
由于現(xiàn)在的主流操作系統(tǒng)仍然是Windows系統(tǒng),而GAMIT是基于UNIX或LINUX平臺的,其處理的數(shù)據(jù)和得到的成果需要在兩個不同系統(tǒng)之間頻繁流轉(zhuǎn)。一個可行的方法是[3],在UNIX系統(tǒng)需要得到Windows系統(tǒng)的數(shù)據(jù)可以執(zhí)行磁盤掛載命令mount;反之可以通過第三方軟件explore2fs,方便地從UNIX系統(tǒng)中獲取數(shù)據(jù)。
從對解算成果及精度的分析可知,GAMIT解算的長基線的全長相對精度達(dá)到10-9量級,完全能滿足地球動力學(xué)、GPS氣象學(xué)等學(xué)科的精度要求。配置文件的參數(shù)取舍和設(shè)置對成果精度有很大影響,設(shè)置不當(dāng)會使精度降低,成果不可靠,甚至造成解算失敗,除以上分析的主要參數(shù)外,其他參數(shù)設(shè)置所造成的影響也是值得研究的內(nèi)容。
[1] Department of Earth,and Planetary Sciences Massachusetts Institute of Technology.Document for GAMIT GPS Analysis Software.Release10.3[R].USA:MIT,2002.
[2] 劉大杰,施一民,過靜珺.全球定位系統(tǒng)(GPS)的原理與數(shù)據(jù)處理[M].上海:同濟(jì)大學(xué)出版社,1999.
[3] 馬洪濱,賀黎明.新版GAMIT軟件的功能特點(diǎn)與應(yīng)用實(shí)例分析[J].礦山測量,2008(4):35-39.
[4] 李征航,黃勁松.GPS測量與數(shù)據(jù)處理[M].武漢:武漢大學(xué)出版社,2005.
[5] 梁光民,王隆杰.LINUX操作系統(tǒng)實(shí)用教程[M].西安:西安電子科技大學(xué)出版,2004.
Method and Precision Analysis of High-precision GPS Baseline Solution by GAMIT
ZHAO Jiansan,YANG Chuang,WEN Debao
0494-0911(2011)08-0005-04
P228.4
B
2010-09-20
國家自然科學(xué)基金資助項(xiàng)目(40804002)
趙建三(1955—),女,湖南長沙人,教授,主要從事GPS、GIS及其工程應(yīng)用,公路CAD及“3S”技術(shù)研究工作。