国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Matlab讀取標(biāo)準(zhǔn)RINEX格式的GPS星歷數(shù)據(jù)

2010-03-13 08:54王標(biāo)標(biāo)
電子設(shè)計工程 2010年8期
關(guān)鍵詞:格式文件電文數(shù)組

張 妮,王標(biāo)標(biāo)

(1.西安工業(yè)大學(xué) 北方信息工程學(xué)院,陜西 西安 710025;2.中國人民解放軍96275部隊 河南 洛陽 471003)

全球定位系統(tǒng)GPS (Global Positioning System)以其具有多維,全天候的連續(xù)、實時導(dǎo)航、定位、定時功能,可為各類用戶實時地提供精研的三維坐標(biāo)、速度和時間等優(yōu)點而廣泛應(yīng)用于民用和軍用領(lǐng)域。為了能統(tǒng)一使用來自不同接收機的數(shù)據(jù),目前普遍采用一種與接收機無關(guān)的接收機自主交換格式 RINEX(The Receiver Independent Exchange Format)。目前,RINEX數(shù)據(jù)的讀取方法很多,例如利用Visual Basic和Visual C++來實現(xiàn),但這些方法都存在不能快速地從表面上分析出接收機接收的數(shù)據(jù)質(zhì)量,編程代碼煩瑣,循環(huán)結(jié)構(gòu)過多,而且不同的GPS網(wǎng)仍需選用不同的軟件進(jìn)行數(shù)據(jù)處理,兼容性很差[1]等缺點。本文提出了一種基于Matlab讀取RINEX文件的方法。

1 星歷數(shù)據(jù)文件格式

1.1 本機格式

本機格式是指接收機存儲數(shù)據(jù)的格式,存儲方式為二進(jìn)制存儲,存儲的數(shù)據(jù)內(nèi)容包括:觀測值、廣播星歷、電離層信息、氣象元素等,并具有如下特點:1)不同廠家的接收機具有不同的本機格式;2)與接收機配套的數(shù)據(jù)處理軟件(隨機軟件/商用軟件)一般可以直接讀取自身本機格式的數(shù)據(jù),而不能讀取其他廠家的本機格式的數(shù)據(jù);3)不利于多種型號的接收機聯(lián)合作業(yè)。

1.2 RINEX格式

RINEX格式為純ASCII碼文本文件,是與接收機無關(guān)的數(shù)據(jù)交換格式[3]。存儲內(nèi)容包括:觀測值、星歷(導(dǎo)航信息)、氣象數(shù)據(jù)、鐘數(shù)據(jù)等。它具有如下特點:1)通用性強;2)利于多種型號的接收機聯(lián)合作業(yè);3)大多數(shù)軟件能夠處理。

RINEX格式文件類型有:1)觀測數(shù)據(jù)文件:GPS觀測值;2)導(dǎo)航電文文件:GPS衛(wèi)星導(dǎo)航電文;3)氣象數(shù)據(jù)文件:在測站處所測定的氣象數(shù)據(jù);4)GLONASS導(dǎo)航電文文件:GLONASS衛(wèi)星導(dǎo)航電文;5)GEO導(dǎo)航電文文件:增強系統(tǒng)中搭載有類GPS信號發(fā)生器的地球同步衛(wèi)星(GEO)的導(dǎo)航電文;6)衛(wèi)星和接收機鐘文件:衛(wèi)星和接收機時鐘信息的。

RINEX格式文件有規(guī)定的命名方法,簡稱8+3文件名,即ssssdddf.yyt[2]。具體命名方法如圖1所示。

圖1RINEX格式文件命名規(guī)則Fig.1 Named Rule of RINEX format file

RINEX格式文件結(jié)構(gòu)是以節(jié)、記錄、字段和列為單位逐級組織的。所有類型的RINEX文件均分為2節(jié):文件頭和數(shù)據(jù)記錄。每個記錄占一行,不超過80列寬。RINEX格式的頭文件用于存放整個文件有關(guān)的全局性信息,位于每個文件的最前部,其最后一個記錄為“END OF HEADER”。文件頭中每個記錄的第61~80列為標(biāo)簽,用于說明相應(yīng)行上第1~60列中所表示的內(nèi)容。RINEX格式文件的記錄數(shù)據(jù)緊跟在文件頭的后面,隨文件類型的不同,所存放數(shù)據(jù)的內(nèi)容和具體格式也不相同[4]。

由于在實際定位中,主要使用觀測數(shù)據(jù)文件和導(dǎo)航文件,其他文件的讀取和處理與這兩類文件類似。因此,這里著重以導(dǎo)航文件為例說明RINEX格式文件的讀取方法。

1.3 導(dǎo)航文件的數(shù)據(jù)格式

衛(wèi)星星歷是取自衛(wèi)星的廣播導(dǎo)航電文,導(dǎo)航文件像其他文件一樣由頭文件和星歷數(shù)據(jù)組成,是地面位置計算的基礎(chǔ)數(shù)據(jù)。由于觀測數(shù)據(jù)內(nèi)容比較復(fù)雜,而且具有相似的數(shù)據(jù)塊。在數(shù)據(jù)文件中數(shù)據(jù)之間的間隔是以空格或回車換行字符隔開的,所以在數(shù)據(jù)讀取過程中根據(jù)這些特殊字符進(jìn)行控制。導(dǎo)航文件的頭文件主要包括RINEX版本號、觀測類型、文件綱要名稱、文件機構(gòu)名稱、文件建立日期、載波和天線的介紹內(nèi)容、電離層參數(shù)時間改正參數(shù)和秒跳。星歷數(shù)據(jù)主要包括衛(wèi)星號、星歷時間和位置參數(shù)。

2 讀取RINEX格式文件

RINEX格式文件讀取時可以根據(jù)衛(wèi)星、歷元信息來存儲數(shù)據(jù)。用Matlab讀取RINEX文件的方式即就是用Matlab由程序命令按字符串進(jìn)行讀取。一般情況下,當(dāng)讀取指定的字符串(如“END OF HEADER”)時,開始讀取有效數(shù)據(jù),即星歷數(shù)據(jù)。根據(jù)RINEX格式文件結(jié)構(gòu)特點,導(dǎo)航文件中有效數(shù)據(jù)為字符串“END OF HEADER”以后的數(shù)據(jù)。

2.1 導(dǎo)航文件的讀取及部分代碼

導(dǎo)航文件讀取時,以“END OF HEADER”作為特殊字符串,標(biāo)識導(dǎo)航文件中頭文件與星歷數(shù)據(jù)的分界點,通過簡單的循環(huán)結(jié)構(gòu),并利用Matlab強大的矩陣優(yōu)勢,將星歷數(shù)據(jù)存放于結(jié)構(gòu)體數(shù)組(其中共有38個字段名,分別存放星歷數(shù)據(jù)中的衛(wèi)星號、星歷的時間和位置參數(shù)),以方便獲取衛(wèi)星參數(shù),求取衛(wèi)星坐標(biāo)。具體代碼實現(xiàn)如下:

1)存放星歷數(shù)據(jù)的結(jié)構(gòu)體數(shù)組創(chuàng)建 結(jié)構(gòu)體數(shù)組的創(chuàng)建采用了struct函數(shù)[5],具體代碼示例如下:

所創(chuàng)建結(jié)構(gòu)體的字段名,如‘prn’,‘year’,..,類型均為NaN,共38個,在讀取RINEX的觀測文件和導(dǎo)航文件時,可將數(shù)據(jù)根據(jù)衛(wèi)星的屬性存儲至相應(yīng)的字段名。

2)打開文件,獲取星歷數(shù)據(jù)開始位置[6]利用findstr及循環(huán)語句逐行查找字符串“END OF HEADER”,獲取星歷數(shù)據(jù)開始位置。具體代碼示例如下:

3)獲取星歷數(shù)據(jù),并存放至結(jié)構(gòu)體數(shù)組 首先通過簡單的循環(huán)語句獲取數(shù)據(jù)行數(shù),計算出衛(wèi)星個數(shù),再按照衛(wèi)星編號將數(shù)據(jù)存放至所定義的結(jié)構(gòu)體數(shù)組中,部分具體代碼如下:

2.2 星歷數(shù)據(jù)的讀取

星歷數(shù)據(jù)的讀取采用結(jié)構(gòu)體數(shù)組顯示的相關(guān)命令讀取,若要獲取某個衛(wèi)星的相關(guān)參數(shù)可輸入如示例命令:>>navdata(1)。獲取結(jié)果如圖2所示,為1號衛(wèi)星參數(shù)讀取結(jié)果。

圖21號衛(wèi)星參數(shù)讀取結(jié)果Fig.2 Reading result of parameter of satliete NO.1

也可利用Matlab元包數(shù)組,將數(shù)據(jù)存放并顯示出來,具體實現(xiàn)代碼如下:

讀取結(jié)果如圖3所示。

采用Matlab軟件讀RINEX導(dǎo)航文件,可以將文件所有的數(shù)據(jù)用矩陣保存,數(shù)據(jù)的顯示精度不僅不會影響計算精度,而且可以隨時修改,并可根據(jù)衛(wèi)星坐標(biāo)的計算公式和步驟,利用Matlab矩陣的計算優(yōu)勢,很方便地計算不同時刻衛(wèi)星的坐標(biāo),此外,還可方便查看衛(wèi)星導(dǎo)航表層信息,判斷導(dǎo)航數(shù)據(jù)的質(zhì)量。

圖3讀取星歷數(shù)據(jù)結(jié)果Fig.3 Reading result of ephemeris data

3 結(jié) 論

利用Matlab以矩陣為單位進(jìn)行計算的優(yōu)勢對RINEX文件進(jìn)行讀取,較其他語言簡單易行,結(jié)果精確,程序可移植性好,便于后續(xù)數(shù)據(jù)處理,同時還可利用Matlab的仿真功能,實現(xiàn)衛(wèi)星動態(tài)變化的實時模擬。

[1]陳東銀,劉立龍,陳雷.GPS導(dǎo)航定位技術(shù)中面向?qū)ο笞x取 RINEX 格式數(shù)據(jù)[J].測繪與空間地理信,2009(6):41-43.CHEN Dong-yin,LIU Li-long,CHEN Lei.An object-oriented method of reading RINEX formatdat in GPS navigation technology[J].Geomatics and Spatial Information Technology,2009(6):41-43.

[2]Gurtner W.RINEX:The receiver independent exchange format:Version 2.10[M]Canada:Astronomical Institute University of Berne,2002.

[3]孟廣祥,郭標(biāo)明.GPS接收機(OEM)二進(jìn)制文件向RINEX文件的轉(zhuǎn)換[J].測繪工程,2009(10):18-21.MENG Guang-xiang,GUO Biao-ming.The transformation from GPS receiver(OEM) binary data to RINEX file[J].Engineering of Surveyying and Mapping, 2009(10):18-21.

[4]陳桂珍,戴建軍.GPS-OEM原始數(shù)據(jù)向RINEX格式轉(zhuǎn)換的方法[J].測繪技術(shù)裝備,2006(4):26-27.CHENG Gui-zhen,DAI Jian-jun.The transformation from GPS-OEM orignal data to RINEX Format[J].Surveying technical equipment, 2006(4):26-27.

[5]張志涌.精通 Matlab 6.5[M].北京:北京航空航天大學(xué)出版社,2004.

[6]Chapman Stephen J.Matlab Programming for engineers[M].北京:科學(xué)出版社,2003.

猜你喜歡
格式文件電文數(shù)組
JAVA稀疏矩陣算法
基于WebGL的軌道交通BIM輕量化應(yīng)用方案
一種與內(nèi)部缺陷儀設(shè)備通訊的接口模塊
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
使用“格式文件”將徠卡儀器數(shù)據(jù)導(dǎo)出成cass 格式的方法
Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
編寫徠卡TS02型全站儀格式文件的方法探索
回歸基礎(chǔ) 到底什么是RAW格式文件?
尋找勾股數(shù)組的歷程
衛(wèi)星導(dǎo)航系統(tǒng)導(dǎo)航電文編排結(jié)構(gòu)研究
武义县| 平江县| 固安县| 佳木斯市| 伊金霍洛旗| 舞钢市| 宁国市| 昭通市| 呼伦贝尔市| 巴楚县| 泌阳县| 屏东市| 红安县| 鄯善县| 鹰潭市| 资源县| 凤庆县| 柯坪县| 南宫市| 新巴尔虎左旗| 贵溪市| 阳新县| 即墨市| 萍乡市| 苍南县| 逊克县| 海林市| 鄂托克前旗| 山阴县| 宜兰市| 措美县| 商丘市| 卢龙县| 湖南省| 成安县| 英德市| 扎赉特旗| 黎川县| 于都县| 当涂县| 呼和浩特市|