rine导航电文读取

上传人:大米 文档编号:512755564 上传时间:2022-12-25 格式:DOCX 页数:8 大小:89.51KB
返回 下载 相关 举报
rine导航电文读取_第1页
第1页 / 共8页
rine导航电文读取_第2页
第2页 / 共8页
rine导航电文读取_第3页
第3页 / 共8页
rine导航电文读取_第4页
第4页 / 共8页
rine导航电文读取_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《rine导航电文读取》由会员分享,可在线阅读,更多相关《rine导航电文读取(8页珍藏版)》请在金锄头文库上搜索。

1、GPS原理及应用题目RINEX格式导航文件读取学院土木建筑学院专业测绘科学与技术学生孙迅文学号 2150100002RINEX格式导航文件读取一、RINEX文件格式简介RINEX (Receiver INdependent Exchange)格式是与接收机无关的数据交换格式,该格式 采用文本文件存储数据,数据记录格式与接收机的制造厂商和具体型号无关。现在,RINEX 格式已经成为了 GPS测量应用等的标准数据格式,几乎所有测量型GPS接收机厂商都提供 将其格式文件转换为RINEX格式文件的工具,而且几乎所有的数据分析处理软件都能够直接 读取RINEX格式的数据。这意味着在实际观测作业中可以采用

2、不同厂商、不同型号的接收机 进行混合编队,而数据处理则可采用某一特定软件进行。RINEX格式文件包括6种文件类型:观测数据文件:GPS观测值导航电文文件:GPS卫星导航电文气象数据文件:在测站处所测定的气象数据GLONASS导航电文文件:GLONASS卫星导航电文GEO导航电文文件:增强系统中搭载有类GPS信号发生器的地球同步卫星(GEO)的导航电 文卫星和接收机钟文件:包含卫星和接收机时钟信息其中用的最多的是O文件、N文件,观测值文件的文件头存放有文件的创建日期、单位 名、测站名、天线信息、测站近似坐标、观测值数量及类型、观测历元间隔等信息。导航电 文的文件头存放有文件创建日期、单位名及其他

3、一些相关信息,另外,还有可能会包含电离 层模型的参数以及说明GPS时与UTC间关系的参数和跳秒等。气象数据文件的文件头则存 放有文件创建日期、观测值类型、传感器信息和气象传感器的近似位置及其他一些相关信息。RINEX格式文件的记录数据紧跟在文件头的后面,随文件类型的不同,所存放数据的内 容和具体格式也不相同。在观测值文件中存放的是观测过程中每一观测历元所观测到的卫星 及载波相位、伪距和多普勒等类型的观测值数据等,所包含的实际观测值类型与接收机所记 录的类型及格式转换时的参数设置有关。在导航电文文件中存放的是所观测卫星的钟差改正 模型参数及卫星轨道数据等。在气象数据文件中存放的是观测过程中每隔一

4、段时间在测站天 线附近所测定的干温、相对湿度和气压等数据。二、RINEX格式导航电文头文件如图一所示,导航电文头文件说明如下:RINEX VERSION / TYPE: RINEX版本号和观测值类型;PGM / RUN BY / DATE:创建本数据文件所采用程序的名称,创建本数据文件单位的名称, 创建本数据文件的日期。COMMENT:注释行。ION ALPHA:历书中的电离层参数A0A3;ION BETA:历书中的电离层参数B0B3;DELTA-UTC: A0,A1,T,W 用于算UTC时间的历书参数。A0, A1:多项式系数;T: UTC数据的参考时刻W: UTC参考周数,为连续计数,不是

5、1024的余数LEAP SECONDS :由于跳秒而造成的时间差END OF HEADER:头文件结束标签又件头叫第1/0列訶决际旳蒔又杆咲叫帯61-80判为門袴怀葢2 IQN: (FSW QATAnREhEXN 也 AIIB3宙仙OMPLE OF WStCN 2. 10 F01MT2ZMMJ7 - ii9erH - ii妙a ISCOMK 131 (IKK - I3IOXK - 1969& 13317920170X)6 . 107469688780012f&296013朗)CX VEI5KN / nre RGM / AM 8 / MTE C0MC4T az SMoaasoxraxE 4341

6、0147 S5D-O5 QE74Mia375D-Ua 499dn(OODH)5 - 2421438694XXXF IHMT3136Dai 鈕换抽DdXm 30;a).OOOCQOOOOOOOIHX) OOOOIMXKXXXXXHIMwmxrtifTiwifi (rmrrmmMn13 9 20 QG . (XK6IJie2)-0813300000000000)3 - 9E312SUDQ00EXE -B8163TCE64D-ab 3B33WJ 4l4aDOOQOOODK)6 -.S!Sl3Q6J723SJ 110192796S30OK) 1CT1187000000*01-.JM/aiS3iii J

7、 . QaoaHxnDailXD oooooooaaoooDHn . ao 4iqcoooioooooh)6 axiwanaooo*01 -.02S00Q00(naO4 oooodoooooqoooo.aXXXXXXJO(KMIMX SIOODCUDODOdXlf292961文件头结束淞END OF W每行不超过80孑字箝图一 RINEX头文件样例三、RINEX记录行格式RINEX格式GPS导航电文文件数据记录节中的内容为按卫星和参考时刻存放的各颗卫 星的时钟和轨道数据。每颗卫星一个参考时刻的数据占8行,第1行为卫星的PRN号和该 卫星时钟的参考时刻及其改正模型参数 第28行为该卫星的广播轨道

8、数据。由于导航电 文通常每2h就更新一次,因此,某些卫星可能会有多个不同参考时刻的数据。PRN号/历元/卫星钟:-卫星的PRN号-历元:OC(卫星钟的参考时刻)年(2个数字,如果需要可补0)月,日,时,分,秒-卫星钟的偏差(s)-卫星钟的漂移(s / s)-卫星钟的漂移速度(s / s2 )广播轨道一1:- IODEf Is sue-f Dmt弘 Ephemen s f数据、星肋.;疔布吋阎-2阀-An Cra/s)-叽6述i广播轨道一2:-口 (如)-日轨道偏心率4_ (radians)-电哄巳广播轨道一3:-肥应星历的参考吋刻(G0E周内的秒数-CctdOMEGA)-戛(嗣广播轨道一4:_

9、 irad )-血严川)-瘀倔创DOTJ广播轨道一5:-认曲旬DOT)厶上的码- PE周数(与TOE同表示时间X为连廡计数,不是10園的余数 -厶卫码数据标记广播轨道一6:-卫星精度(m)-卫星健康状态(第1子帧第3字第1722位)-TGD (sec)-IODC钟的数据龄期广播轨道一7:-电文发送时刻(单位为GPS周的秒,通过交接字(HOW)中的Z计数得出)-拟合区间(h),如未知则为零-备用-备用四、导航电文提取算法过程1、打开文件2、按行提取每一行记录3、判断头文件结束标志“ end of head”4、按行提取数据记录,按导航电文格式提取每一行数存到数组中5、关闭文件,文件提取结束五、关

10、键代码说明/*按指定位置及长度取字符串函数*/void xstrmid(char *szDest,char *line,int start,int len)char *src_index;char *dst_index=line;if(len0&start=0)src_index=szDest+start;while(len0&*src_index!=O)*dst _in dex=*src _in dex;src _in dex+;dst_index+;len-;*dst_index=0;GMN GETGMNREC(GMN gmn,char *filename)/* 定义读取文件记录函数*in

11、t j=0;char *temp;char str0=END OF HEADER;/* 定义文件头结束标签*char str125;char str2MAX_IN_R0W;char str321;FILE *fp;fp=fopen(filename,r);* 打开文件*do馆ets(str2,MAX_IN_ROW,fp)*按行读取文件每条记录* xstrmid(str2,str1,60,13);while(strcmp(str0,str1)!=0)* 判断头文件结束标志 */temp=fg ets(str2,MAX_IN_ROW,fp);while(strlen(str2)15&temp&jM

12、AX_Satellite)int i;for(i=0;i80)gmn.Recordj.TOC.year+=1900;elsegmn.Recordj.TOC.year+=2000;xstrmid(str2,str3,6,2);gmn.Recordj.T0C.month=atoi(str3)* 读取月份存储到记录数组 *xstrmid(str2,str3,9,2);gmn.Recordj.T0C.day=atoi(str3); xstrmid(str2,str3,12,2);gmn.Recordj.T0C.hour=atoi(str3);xstrmid(str2,str3,15,2);gmn.Re

13、cordj.T0C.minite=atoi(str3);xstrmid(str2,str3,17,5);gmn.Recordj.T0C.second=atoi(str3); xstrmid(str2,str3,22,19);gmn.Recordj.ClkBias=atof(st r3)*读取卫星钟偏差存储到记录数组*/ xstrmid(str2,str3,41,19);gmn.Recordj.ClkDrift=atof(str3)/*读取卫星钟漂移存储到记录数组*/ xstrmid(str2,str3,60,19);gmn.Recordj.ClkDriftRate=atof(st r3)*读取卫星钟漂移速度存储到记录数组*temp=fgets(str2,MAX_IN_R0W,fp/*读取星历发播时间 IODE、C、M */rsn0for(i=0;iMAXN _ROW;i+)if(str2i=D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号