摘 要:本文主要介紹了GPS測量數(shù)據(jù)的常用格式RINEX標準文件格式,并利用MATLAB工具計算出所觀測衛(wèi)星里的五顆衛(wèi)星(14、20、29、31和32五顆)在283個歷元的瞬時位置,即所觀測時間段里五顆衛(wèi)星在WGS-84坐標下的空間運行軌跡。
關(guān)鍵詞:RINEX標準文件 WGS-84下衛(wèi)星位置 MATLAB工具
中圖分類號:P228.4 文獻標識碼:A 文章編號:1672-3791(2013)07(c)-0005-05
GPS定位的基本原理簡單來說就是在WGS-84空間直角坐標系中,確定未知點與GPS衛(wèi)星的空間幾何關(guān)系。因此利用GPS進行導(dǎo)航和測量時,衛(wèi)星是作為位置已知的高空觀測目標。那么如何精確快速的解算出衛(wèi)星在空間運行的軌跡即其軌道是實現(xiàn)未知點快速定位的關(guān)鍵。
1 標準格式RINEX格式簡述
在進行GPS數(shù)據(jù)處理時,由于接收機出自于不同廠家,所以廠家設(shè)計的數(shù)據(jù)格式也是五花八門的,但是在實際中,很多時候需要把來自不同型號的接收機的數(shù)據(jù)放在一塊進行處理,這就需要數(shù)據(jù)格式的統(tǒng)一,為了解決這種矛盾,RINEX(英文全稱為:The Receiver Independent Exchange Format)格式則應(yīng)運而生,該格式存儲數(shù)據(jù)的類型是文本文件,數(shù)據(jù)記錄格式是獨立于接收機的出自廠家和具體型號的。由此可見,其特點是:由于是通用格式,所以可將不同型號接收機收集的數(shù)據(jù)進行統(tǒng)一處理,并且大多數(shù)大型數(shù)據(jù)處理軟件都能夠識別處理,此外也適用于多種型號的接收機聯(lián)合作業(yè),通用性很強。
RINEX標準文件里不是單一的一個文件,而是包括如下幾種類型的文件[1]。
(1)觀測數(shù)據(jù)文件(ssssdddf.yyo),記錄的是GPS觀測值信息,(OBServation data,簡寫OBS,為接收機記錄的偽距、相位觀測值;O文件,如XG012191.10O)。
(2)導(dǎo)航電文文件(ssssdddf.yyn),記錄的是GPS衛(wèi)星星歷信息(NAVavigation data,簡寫NAV,記錄實時發(fā)布的廣播星歷;N文件,如XG012191.10N)。
(3)氣象數(shù)據(jù)文件(ssssdddf.yym),主要是在測站處所測定的氣象數(shù)據(jù)(METerological data,簡寫MET,記錄氣象儀器觀測的溫、壓、濕度狀況;M文件,如XG012191.10M)。
(4)GLONASS導(dǎo)航電文文件(ssssdddf.yyg),記錄的是地球同步衛(wèi)星的導(dǎo)航電文。
由上述可見,RINEX文件的命名規(guī)則為ssssdddf.yyt(t指的是數(shù)據(jù)類型,不同的文件,t所代表的字母不同),其中文件名前四個字母(ssss)指的是測站名,一般是用字母和數(shù)字的組合來定義,方便識別,用戶自己定義。緊跟著的三個字母(ddd)指的是第一組數(shù)據(jù)的年積日(年積日是僅在一年中使用的連續(xù)計算日期的方法,是從當年1月1日起開始計算的天數(shù)。例如:每年的1月1日為第1日,2月1日為第32日,以此類推)如219表示8月7號,年積日的計算可通過在網(wǎng)上下載軟件進行快速計算,也可自己編一個小程序計算。f指的是觀測當天文件的觀測序列號,其可以在0~9或A~Z中取值,如果文件序號取值為0,則其意味著今天一天觀測的所有數(shù)據(jù)都放在該文件中,用戶則不用在所有文件中一一去找當天的某個文件,只需在此文件中進行查詢即可。對于f的理解,還有一點需要注意,通過下面的例子來進行說明:在某一天,用GPS測量進行某一項目的時候,共使用了3臺GPS接收機,由于各種原因,用戶分為三個時間段來進行:第一時間段,三臺接收機全部啟用;第二時間段,啟用兩臺接收機;第三時間段,三臺接收機又全部工作,那么在第一時間段,三臺接收機所接收到的數(shù)據(jù)文件編號則都為1,在第二時間段,參與工作的兩臺接收機接收到的觀測數(shù)據(jù)文件編號為2,在第三時間段,又是所有三臺接收機參與觀測,那么在該時間段,這三臺接收機所對應(yīng)的文件編號就為3。由此可見,文件序號的編排不是以某臺接收機在該天的觀測時段為基礎(chǔ)定義,而是用用戶所進行的整體項目在該天的同步觀測時段為基礎(chǔ)的。RINEX文件命名里的yy指的是年的后兩位數(shù)字,如對于2013年,則yy為13。
RINEX文件命名里后一位o,n,m,g則標識的分別是觀測數(shù)據(jù)文件、導(dǎo)航電文文件、氣象數(shù)據(jù)文件以及GLONASS導(dǎo)航電文文件。此標準文件是純ASCll碼文本文件,所有類型的文件都由兩部分組成,文件頭和數(shù)據(jù)記錄。文件頭和數(shù)據(jù)記錄的區(qū)分界是END OF HEADER,文件頭里每條記錄占一行,列寬不超過80,并且第61~80列是對前面列數(shù)據(jù)記錄內(nèi)容的說明,稱為標簽。數(shù)據(jù)記錄里如果一行寫不下,則在第二行繼續(xù)數(shù)據(jù)的記錄。
1.1 GPS觀測數(shù)據(jù)文件
GPS觀測數(shù)據(jù)文件中儲存的數(shù)據(jù)是與確定GPS整周未知數(shù)息息相關(guān)的信息,主要包括星歷、衛(wèi)星數(shù)、測站概略坐標、偽距信息、載波相位觀測量信息等。下面分別通過表1和表2對GPS觀測數(shù)據(jù)文件的文件頭和數(shù)據(jù)記錄里每個記錄的含義進行詳細說明,以便更清楚的看懂觀測數(shù)據(jù)文件。
GPS觀測數(shù)據(jù)文件的文件頭里每個標簽的含義如表1所示。
GPS觀測數(shù)據(jù)文件里數(shù)據(jù)記錄里每一行的含義如表2所示。
本文中所使用的算例里觀測數(shù)據(jù)文件XG032191.10O的頭文件和部分數(shù)據(jù)記錄如圖1與圖2所示。
1.2 導(dǎo)航數(shù)據(jù)文件
GPS導(dǎo)航文件也是計算衛(wèi)星瞬時位置必不可少的文件,因為衛(wèi)星星歷、時鐘改正、偏心率、軌道攝動改正、大氣折射改正等導(dǎo)航信息是用戶用來實時定位和精確導(dǎo)航的必備數(shù)據(jù)。
導(dǎo)航文件仍然包括頭文件和數(shù)據(jù)記錄兩部分,數(shù)據(jù)文件中數(shù)據(jù)之間是用空格或回車符隔開的,因為有這樣的規(guī)律,所以用MATLAB編程讀取數(shù)據(jù)的時候就可利用這點進行數(shù)據(jù)的獲取的控制。
GPS導(dǎo)航數(shù)據(jù)文件的頭文件不像觀測數(shù)據(jù)文件那樣信息豐富,其僅僅只是對RINEX版本號、觀測類型、文件綱要名稱、文件機構(gòu)名稱、文件建立日期相關(guān)信息進行說明,同觀測文件一樣,前60列是數(shù)據(jù),61~80是標簽說明,并以END OF HEADER作為文件頭的結(jié)束標志。
GPS導(dǎo)航數(shù)據(jù)文件里的數(shù)據(jù)記錄部分相對較復(fù)雜,牽扯到的內(nèi)容較多,其每一行每一項的含義如表3所示。(如圖3,4)
2 衛(wèi)星坐標的計算步驟
由于在GPS定位和導(dǎo)航的時候,用戶都是把GPS衛(wèi)星的位置作為已知量來對待,并且GPS定位所用的坐標系是世界大地坐標系WGS-84。所以就先必須根據(jù)GPS接收機觀測的相應(yīng)星歷數(shù)據(jù),解算出GPS衛(wèi)星在WGS-84坐標系中的瞬時位置。
為了后面計算方便,先對廣播星歷中涉及到的計算衛(wèi)星坐標的一些軌道參數(shù)進行說明,如表4所示。
由于每隔兩個小時,GPS接收機收到的廣播星歷才更新一次,所以用戶在根據(jù)接收機收到的衛(wèi)星導(dǎo)航電文匯總的廣播星歷參數(shù)推算GPS的瞬時坐標的時候,一定要選取與GPS衛(wèi)星的瞬時坐標時刻最相近的那組廣播星歷數(shù)據(jù)[2],否則誤差將會很大。
首先由已知的GPS接收機接受時刻的鐘面時,根據(jù)公式換算出GPS衛(wèi)星發(fā)射時刻的鐘面時[3]:
其中:可由觀測文件直接讀取,為偽距,是觀測GPS衛(wèi)星與觀測GPS接收機之間的距離(由于這個距離里含有電離層誤差、對流層誤差等各種誤差,不是GPS衛(wèi)星與GPS接收機之間的真實距離,所以稱為偽距),本次算例讀取的是P2碼偽距觀測量,c為光速,值為3×108m/s。
下面就是按照公式,讀取相應(yīng)的廣播星歷參數(shù),計算觀測時刻的GPS衛(wèi)星瞬時坐標:
3 衛(wèi)星坐標的計算實例
為了驗證本文的計算衛(wèi)星坐標的理論,本人經(jīng)過實地設(shè)置觀測點XG01和XG03,從8月7日1:37:00開始觀測,8月7日2:47:30結(jié)束觀測過程。數(shù)據(jù)格式為RINEX標準格式,無需轉(zhuǎn)換。觀測數(shù)據(jù)文件XG012191.10O里觀測數(shù)據(jù)的讀取、觀測數(shù)據(jù)按照定義的衛(wèi)星名存放,XG012191.10N里定義衛(wèi)星名的相關(guān)的導(dǎo)航數(shù)據(jù)的讀取和存放,GPS衛(wèi)星瞬時位置的計算,以上的這些過程都在MATLAB環(huán)境中實現(xiàn),圖5就是在MATLAB環(huán)境里計算、繪制出的GPS衛(wèi)星名為14、20、29、31和32在觀測時間段的空間運行軌跡圖。
4 結(jié)論
快速準確計算出GPS衛(wèi)星在WGS-84坐標系下的瞬時位置是GPS定位里很基礎(chǔ)、很重要的問題,由文中描述可知,計算步驟比較繁瑣,需要注意的細節(jié)也很多,牽扯到的符號也很多。從自己對實例的計算經(jīng)歷中來看,我覺得在使用衛(wèi)星計算公式計算衛(wèi)星瞬時坐標的時候特別要注意以下三個問題。
(1)由于每隔兩個小時,GPS接收機收到的廣播星歷才更新一次,所以用戶在根據(jù)接收機收到的衛(wèi)星導(dǎo)航電文匯總的廣播星歷參數(shù)推算GPS的瞬時坐標的時候,一定要選取與GPS衛(wèi)星的瞬時坐標時刻最相近的那組廣播星歷數(shù)據(jù),否則誤差將會很大。
(2)由于GPS定位系統(tǒng)的高空動態(tài)性, 又因為衛(wèi)星的發(fā)射時刻可唯一表征該時刻GPS衛(wèi)星的坐標,因此應(yīng)先由接收機鐘面時計算出公式中所需的GPS衛(wèi)星發(fā)射時刻的鐘面時。
(3)必須把GPS接收機的觀測歷元換算成GPS秒,方可進行下一步。
參考文獻
[1]張妮,王標標.基于Matlab讀取標準RINEX格式的GPS星歷數(shù)據(jù)[J].電子設(shè)計工程,2010,18(8):23-25.
[2]王猛,張志偉.利用廣播星歷計算衛(wèi)星的瞬時坐標[J].城市勘測,2010,2:89-90.
[3]劉勤志,尹長林,易重海.計算GPS衛(wèi)星發(fā)射時刻的兩種方法[J].長沙電力學院學報,2004,19(1):65.
[4]Robert S.Radovanovic.Adjustment of Satellite-Based Ranging Observati- ons for precise Position and Deformation Monitoring,Ph.D.Dissertation,Depart- ment of Geomatics Englneering[J].University ofCa1Gary,2002.