卫星导航定位算法与程序设计——实验报告

合集下载

卫星导航定位算法与程序设计_上机实习_第5次

卫星导航定位算法与程序设计_上机实习_第5次

观测类型多于9种
分析



0<n<= 9,不读(本行), 9<n<=18,读一行, 18<n<=27,读二行 ……
要读取的行数m=(int)((n-0.1)/9);
方法

读取观测值类型数 n 计算要读的行数 读取m行后,再逐行按格式读取
历元卫星数多于12颗时,读PRN号的问题
实习数据

实习数据
来源:IGS跟踪站 WUHN 日期:2010年 年积日289 版本2.11(O文件2.11,N文件2.10) 文件名:wuhn2890.10N 来源:IGS跟踪站 LHAZ 日期:2010年 4 10日 版本2.11(O文件 2.11,N文件2.10) 文件名:lhaz1000.10N,lhaz1000.10o
GPSTIME gps; gps = new GPSTIME(); gps.wn= ......; // 正确 切忌: GPSTIME gps; gps.wn = ......; // 编译时会报错,显示类没有实例化的错误信息
查错和调试方法
程序编辑到一定程度,需要进行查错。一 般是利用生成解决方案的方法来进行查错 程序模块编辑完成,查错完成后,需要用 调试跟踪方法来确定是否完成了功能 举例:Sample01.cs
C++/C#的变量先声明后使用的规范
在函数/方法中,首先要声明变量,其次再 使用变量 举例:Sample01.cs
double a,b,c;//首先声明变量 a=1.0;b=2.0;c=3.0; // 其次进行赋值操作
结构、类等的实例化后再使用
编译中经常出现的“对象未实例化”错误 举例:Sample01.cs

卫星导航定位实验报告

卫星导航定位实验报告

China University of Mining and Technology 《卫星导航定位算法与程序设计》实验报告学号: 07122825姓名:王亚亚班级:测绘12—1指导老师:王潜心/张秋昭/刘志平中国矿业大学环境与测绘学院2015-07-01实验一编程实现读取下载的星历一、实验要求:读取RINEX N 文件,将所有星历放到一个列表(数组)中。

并输出和自己学号相关的卫星编号的星历文件信息。

读取RINEX O文件,并输出指定时刻的观测信息。

二、实验步骤:1、下载2014年的广播星历文件和观测值文件,下载地址如下:ftp:///gps/data/daily/2014/2、要求每一位同学按照与自己学号后三位一致的年积日的数据文件和星历文件,站点的选择必须选择与姓氏首字母相同的站点的数据,以王小康同学为例,学号:07123077,需下载077那天的数据。

有些同学的学号365<后三位<730,则取学号后三位-365,以姜平同学为例:学号10124455,下载455-365=90 天的数据,有些同学的学号730<后三位<=999,则取学号后三位-730,以万伟同学为例:学号:07122854,则下载854-730 = 124天的数据。

可以选择wnhu0124.14n wnhu0124.14o 根据上述要求我下载了2014年第95天的数据,选择其中的wsrt0950.14n和wsrt0950.14o星历文件。

指定时刻(学号后五位对应在年积日对应的秒最相近时刻)的观测值信息如张良09123881,后五位23881,取23881-3600*6= 2281秒,6点38分01秒,最近的历元应该是6点38分00秒的数据。

根据计算与我最接近的观测时刻为2014年4月5日6点20分30.00秒。

3、编程思路:利用rinex函数读取星历文件中第14颗卫星的星历数据并输出显示。

对数据执行762次循环找到对应的2014年4月5日6点20分30.00秒,并输出观测值。

卫星导航定位技术实习报告

卫星导航定位技术实习报告

一、实习背景随着科技的不断发展,卫星导航定位技术在各个领域得到了广泛应用。

为了深入了解这一技术,提高自身实践能力,我参加了为期两周的卫星导航定位技术实习。

本次实习旨在通过理论学习和实践操作,掌握卫星导航定位的基本原理、应用领域及操作方法。

二、实习内容1. 理论学习(1)卫星导航定位技术概述实习期间,我首先学习了卫星导航定位技术的基本概念、发展历程、系统组成及工作原理。

通过学习,我了解到全球定位系统(GPS)、全球导航卫星系统(GNSS)等是我国在卫星导航领域的重要成果。

(2)卫星导航定位技术原理我深入学习了卫星导航定位技术的基本原理,包括伪距测量、多普勒测速、双曲面交会定位等。

这些原理是卫星导航定位技术实现的基础。

(3)卫星导航定位技术应用我了解了卫星导航定位技术在农业、交通、测绘、军事等领域的应用。

这些应用使卫星导航定位技术成为现代社会不可或缺的一部分。

2. 实践操作(1)GPS接收机操作在实习过程中,我学习了GPS接收机的操作方法。

通过实际操作,我掌握了GPS接收机的开机、关机、数据采集、数据传输等功能。

(2)卫星导航定位数据处理我学习了卫星导航定位数据处理的流程,包括数据预处理、坐标转换、误差分析等。

通过实际操作,我掌握了数据处理软件的使用方法。

(3)卫星导航定位技术应用实践在实习期间,我参与了以下项目实践:1. 农业机械控制:利用卫星导航定位技术实现变量施肥播种机、联合收割机、无人驾驶拖拉机等农业机械的精准作业。

2. 精准农业:通过卫星导航定位技术,对农田进行精细化管理,提高农作物产量。

3. 测绘:利用卫星导航定位技术进行大地测量、地形测绘等。

三、实习收获1. 理论知识方面通过本次实习,我对卫星导航定位技术的基本原理、应用领域及操作方法有了更深入的了解。

这为我今后从事相关工作奠定了坚实的理论基础。

2. 实践能力方面在实习过程中,我学会了GPS接收机的操作、数据处理软件的使用,以及卫星导航定位技术在实际项目中的应用。

GPS卫星导航实验

GPS卫星导航实验

GPS定位导航实验1.实验目的(1)了解卫星导航电文各部分含义,掌握导航电文解算方法。

(2)了解GPS接收机利用伪距实现GPS定位、定时的原理及定位系统组成。

(3)掌握GPS定位模型求解方法和误差评估方法。

2.实验设备实验设备由四部分构成,分别是天线、接收机、电源适配器和计算机。

各部分作用如下:(1)天线:接收卫星信号并将其送入接收机。

(2)接收机:接收天线传递过来的信号,将导航电文从载波中解调出来,并对其进行解算,从而得到天线所在位置的定位数据及误差,并将其传输到计算机进行显示。

(3)电源适配器:将220V的市电经过变压、稳压等处理,得到满足接收机供电要求的电压和电流,为接收机供电。

(4)计算机:用配套软件将接收机传递过来的导航定位数据进行可视化处理,以图表形式展示出来,方便阅读。

图 1 天线图 2 接收机图 4 计算机图 3 电源适配器3.实验原理3.1根据星历解算卫星空间位置计算卫星空间位置步骤如下:(1)数据预处理得到星历数据各变量含义及单位请查阅附录。

(2)计算规化时间k t归化时间即星历发出时间ow t 和参考时间oe t 之间的差值,即oe ow k t t t -=(1)对于一个有效星历,k t 的绝对值必须小于7200s 。

(3)计算卫星平均角速度n将星历中的椭圆轨道长半径s a 代入30sa n μ=(2)得到假想圆周轨道上的卫星平均角速度,然后经过校正得到卫星平均角速度,其中)(2314/10986005.3s m ⨯=μ。

n n n ∆+=0(3)(4)计算信号发射时刻卫星的平近角点k M将星历给出的0M 以下公式得到k k nt M M +=0(4)当k M 的值不在π20—之间时,可以将其加上或减去π2。

(5)计算信号发射时刻卫星的偏近角点k E使用迭代法将k E 从开普勒方程1sin -+=j s j E e M E(5)中解算出来,k E 的初始值0E 可置为k M ,一般经过2~3次迭代后即可得较精确的解。

卫星定位实习报告

卫星定位实习报告

《卫星定位理论与方法》实 习 报 告姓 名: 李双成一、 实验原理:(一) 卫星轨道运动卫星在地球中心引力下的运动称为无摄运动,也称为开普勒运动,其规律可以用开普勒定律来描述。

1.开普勒三大定律(1)开普勒第一定律:卫星运行轨道为一椭圆,该椭圆的一个焦点与地球质心重合。

由万有引力定律可知,卫星绕地心运动的轨道方程为:Ve e a cos 1)1(r 2+-= (1)(2)开普勒第二定律:卫星的地心向径在单位时间内所扫过的面积相等。

该定律表明,卫星在椭圆轨道上的速度是变化的,近地点处速度最大,远地点处速度最小。

(3)开普勒第三定律:卫星运行周期的平方与轨道椭圆长半径的立方之比为一常量,即:GM aT 2324π=(2)2.理想椭圆轨道前述参数a 、e 唯一确定了卫星的轨道形状、大小以及卫星在轨道上的瞬时位置。

但是卫星轨道平面与地球球体的相对位置和方向还无法确定。

尚需3个参数,来表达开普勒椭圆在天体坐标系中的位置和方向。

这组参数并不是唯一的,应用最广泛的是“开普勒轨道参数”(又称为开普勒轨道根数)。

图1 卫星轨道运动参数如图1所示,理想椭圆轨道可用以下6个参数表示:(1)轨道椭圆长半轴a ;(2)轨道椭圆偏心率e ;(3)轨道倾角i :即卫星轨道平面与地球赤道平面的夹角;(4)升交点赤经Ω:即地球赤道面上,升交点与春分点之间的地心夹角;(5)近地点幅角ω:即轨道平面上,升交点与近地点之间的地心夹角;(6)真近地点角V:即轨道平面上卫星与近地点之间的地心角距。

(二)卫星坐标计算图2 近地点轨道平面坐标系一、计算卫星在轨道坐标系中的位置首先建立一个轨道坐标系,该坐标系的坐标原点位于地心,Y X '''',位于轨道平面上,Z '' 轴和轨道平面的法线矢量N重合。

轨道坐标系是一个右手坐标系。

计算步骤如下:1. 用下式计算平近点角M )(0t t n M-=0t 为卫星过近地点的时刻;n 为卫星的平均角速度,用下式计算:3a GM n =)s rad (a 为轨道椭圆的长半径,231410986005.3s m GM ⨯==μ(注:G 引力常数,此M为地球质量)aTrue anomaly (真近点角)近地点Eccentric anomaly (偏近点角)2. 解开普勒方程E e M E sin ⋅+=,计算偏近点角E解算时采用角度制,o oe eρ⨯= (e 离心率)代入开普勒方程反复迭代,直至i i E E -+1<ε时为止。

卫星导航实习报告

卫星导航实习报告

实习单位:XX科技有限公司卫星导航事业部实习时间:2023年X月X日至2023年X月X日实习内容:在为期两周的实习期间,我深入了解了卫星导航系统的原理、应用以及研发流程。

以下是我实习期间的主要学习和实践内容:一、卫星导航系统概述首先,我对卫星导航系统有了更为全面的认识。

卫星导航系统是一种利用卫星信号进行定位、导航和授时服务的全球性系统。

目前,全球主要有四大卫星导航系统:美国的GPS、俄罗斯的GLONASS、中国的BDS以及欧洲的GALILEO。

二、卫星导航原理在实习期间,我重点学习了卫星导航的原理。

卫星导航系统主要由空间段、地面段和用户段三部分组成。

空间段包括卫星星座、地面控制站和监测站;地面段包括地面控制系统、数据注入站和地球站;用户段包括用户终端设备。

通过接收卫星发射的信号,用户终端设备可以计算出自身位置、速度和时间。

三、北斗卫星导航系统作为实习的主要内容,我深入了解了中国的北斗卫星导航系统(BDS)。

BDS是中国自主研发的全球卫星导航系统,具有独立、安全、可靠的特点。

BDS由空间段、地面段和用户段三部分组成,可为全球用户提供高精度、高可靠的定位、导航和授时服务。

四、实习实践在实习期间,我参与了以下实践项目:1. 卫星导航信号接收与处理:通过使用接收设备,接收卫星信号,并对其进行处理,以获取定位信息。

2. 卫星导航系统性能测试:对BDS进行性能测试,包括定位精度、测速精度和授时精度等指标。

3. 卫星导航系统应用开发:基于BDS,开发一款导航应用,实现实时定位、导航和路径规划等功能。

五、实习总结通过本次实习,我对卫星导航系统有了更加深入的了解,掌握了卫星导航的原理和应用。

同时,通过实际操作,提高了我的实践能力和团队协作能力。

以下是我对实习的几点体会:1. 卫星导航系统在现代社会中具有广泛的应用前景,如交通运输、军事、灾害救援等领域。

2. 北斗卫星导航系统作为中国自主研发的全球卫星导航系统,具有独立、安全、可靠的特点,值得大力推广和应用。

GPS实习报告

GPS实习报告

GPS实习报告
实习时间,2022年6月1日-2022年8月31日。

实习单位,某GPS技术公司。

实习内容:
在本次实习中,我主要负责GPS技术的研究和开发工作。

具体包括以下几个方面:
1. GPS定位算法的研究,通过阅读大量文献和参与团队讨论,我对GPS定位算法有了更深入的了解。

在导师的指导下,我学习了各种GPS定位算法的原理和实现方法,并尝试对一些算法进行了改进和优化。

2. GPS信号处理,我参与了GPS信号的采集和处理工作,学习了GPS信号的特点和处理方法。

通过实际操作,我掌握了GPS信号的解调、跟踪和定位等基本技术,并在实际应用中取得了一定的成果。

3. GPS应用开发,在实习期间,我还参与了GPS应用软件的开
发工作。

通过学习相关的开发工具和技术,我成功开发了一款简单
的GPS导航软件,并在实际测试中取得了较好的效果。

实习收获:
通过本次实习,我不仅对GPS技术有了更深入的了解,还学会
了如何将理论知识应用到实际工作中。

在与导师和团队成员的交流中,我不断提高了自己的学习能力和团队协作能力。

同时,我还学
会了如何解决实际工作中遇到的问题,提高了自己的问题解决能力。

在未来的学习和工作中,我将继续努力,不断提升自己的专业
能力,为公司的发展贡献自己的力量。

感谢实习单位给予我这次宝
贵的实习机会,让我在实践中得到了很大的提升和成长。

GPS卫星定位实践报告

GPS卫星定位实践报告

GPS卫星定位实践报告一、实践目的本次实践旨在通过使用GPS卫星定位系统,使学生了解GPS原理和应用,增强学生对GPS卫星定位技术的掌握能力和实践操作能力。

二、实践过程1.实验仪器与材料(1)GPS接收机:通过接收卫星信号并计算位置信息的设备;(2)电脑或移动终端设备:用于接收和显示GPS定位结果;(3)地图软件:用于显示实时位置和导航。

2.实验步骤(1)连接GPS接收机与电脑或移动终端设备;(2)打开地图软件,确认GPS设备已连接;(3)点击定位按钮,等待GPS设备获取卫星信号;(4)在地图上显示当前位置,并尝试进行导航。

三、实践结果在实践过程中,我们成功连接了GPS接收机与电脑,并打开了地图软件。

开始时,由于接收机与卫星的距离较远,需要较长的时间来获取卫星信号。

经过一段时间的等待,我们终于成功接收到了卫星信号,并在地图上显示出了当前位置。

在获取到位置信息后,我们还尝试了进行导航,通过地图软件提供的导航功能,我们成功完成了一段短程导航。

四、实践感想通过这次实践,我们对GPS卫星定位技术有了更深入的了解。

我们了解到,GPS是一种全球定位系统,通过接收卫星发射的信号,计算出接收机的准确位置。

在现代生活中,GPS已经广泛应用于导航、地理信息系统、交通运输等领域。

在实践中,我们可以通过地图软件实时获得自己的位置信息,在行驶、旅游等过程中,我们可以通过导航功能快速找到目的地,提高出行效率。

同时,这次实践也让我们意识到,在GPS定位中,获取卫星信号是至关重要的。

卫星信号的质量直接影响定位的准确性和稳定性。

在实践中,我们遇到了一些卫星信号较弱的情况,导致定位过程较慢或不准确。

这让我们更加珍惜卫星定位技术的便利性,并增强了对GPS设备使用和维护的重视。

总结起来,通过这次实践,我们不仅学习到了GPS卫星定位技术的原理和应用,还提高了在使用GPS设备和地图软件方面的实践能力。

这对我们今后的学习和工作都具有重要意义,我们会进一步学习和掌握相关知识,为将来更好地使用GPS卫星定位服务做好准备。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013 级测绘工程专业卫星导航定位算法与程序设计实验报告实验名称:卫星导航基本程序设计班级:学号:姓名:实验时间: 2016年6月28日~2016年6月30中国矿业大学目录实验一时空基准转换 (2)一、实验目的 (2)二、实验内容 (2)三、实验过程 (2)四、实验感想 (6)实验二RINEX文件读写 (7)一、实验目的 (7)二、实验内容 (7)三、实验过程 (7)实验三卫星轨道计算 (12)一、实验目的 (12)二、实验内容 (12)三、实验过程 (12)四、实验感想 (15)实验一时空基准转换一、实验目的1、加深对时空系统及其之间转换关系的理解2、掌握常用时空基准之间的转换模型与软件实现3、每人独立完成实验规定的内容二、实验内容本实验内容包括:内容一:编程实现GPS起点1980年1月6日0时对应的儒略日内容二:编程实现2011年11月27日对应的GPS周数与一周内的秒数内容三:在WGS84椭球的条件下,编程实现当中央子午线为117度时,计算高斯坐标x = 3548910.811290287, y = 179854.6172135982 对应的经纬度坐标?内容四:WGS84椭球下,表面x=-2408000; y=4698000;z= 3566000处的地平坐标系坐标为: e=704.8615;n=114.8683;u=751.9771的点对应的直角坐标为多少?三、实验过程1.针对第一、二部分内容:1.1解决思路:先建立” TimeStruct.h”的头文件,将格里高利历、GPS时间结构、儒略日时间结构共结构体的方式放在里面;在建立“TimeTr”的头文件,建立类“CTimeT r”,创建变量“GPS Time”、“Time”、”JulDay”,并且申明函数“TIME2JUL”、“TIME2GTIME”等,用这些函数分别实现所需要的转换。

1.2具体的实现函数:“TIME2JUL”函数:double CTimeTr::TIME2JUL()//TIME Time,JULIANDAY &JulDay{double m,y;double D;//h =Time.byHour+Time.byMinute/60.0+Time.dSecond/3600.00;if(Time.byMonth<=2){y=Time.wYear-1;m=Time.byMonth+12;}else{y=Time.wYear;m=Time.byMonth;}D=floor(365.25*(y+4716))+floor(30.6001*(m+1))+Time.byDay+Time.byHour/24.0-1537.5;JulDay.lDay = int(D);JulDay.lSecond = D-int(JulDay.lDay);return 0;}“TIME2GTIME”:void CTimeTr::TIME2GTIME(){double JD;long m,y;int WN;double Wsecend;//UT=Time.byHour+Time.byMinute/60.0+Time.dSecond/3600.00;if(Time.byMonth<=2){y=Time.wYear-1;m=Time.byMonth+12;}else{y=Time.wYear;m=Time.byMonth;}JD=int(365.25*y)+int(30.6001*(m+1))+Time.byDay+Time.byHour/24.0+1720981.5;WN = floor((JD-2444244.5)/7.0);GpsTime.lWeek=WN;Wsecend=(JD-2444244.5-7*WN)*604800;GpsTime.lSecond=Wsecend;}1.3实验结果:2 针对第三部分内容:2.1解决思路:运用实验指导书中提供的matlab高斯反算的代码,进行解算;将高斯反算的公式直接输成matlab代码,绕后在函数“function [B,L] = gauss_fansuan(x,y,L0)”中,将坐标x = 3548910.811290287,y = 179854.6172135982,L0 = 117,带入函数的坐边,即可得到所需要的经纬度。

2.2主要函数的代码:function [B,L]=gauss_fansuan(x,y,L0)a=6378137;f=1/298.257223563;b=a-a*f;c=a^2/b;e=sqrt(a^2-b^2)/a;e1=sqrt(a^2-b^2)/b;Beta0=1-(3/4)*e1^2+(45/64)*e1^4-(175/256)*e1^6+(11025/16384)*e1^8;Beta2=Beta0-1;Beta4=(15/32)*e1^4-(175/384)*e1^6+(3675/8192)*e1^8;Beta6=-(35/96)*e1^6+(735/2048)*e1^8;Beta8=(315/1024)*e1^8;B0=x/(c*Beta0);aa0=(a*cos(B0))/sqrt(1-e^2*sin(B0)^2);l0=y/aa0;N=a*sqrt(1-e^2*sin(B0)^2);t=tan(B0);in=e1*cos(B0);a1=N*cos(B0);a2=(1/2)*N*sin(B0)*cos(B0);a3=(1/6)*N*cos(B0)^3*(1-t^2+in^2);a4=(1/24)*N*sin(B0)*cos(B0)^3*(5-t^2+9*in^2+4*in^4);a5=(1/120)*N*cos(B0)^5*(5-18*t^2+t^4+14*in^2-58*in^2*t^2);a6=(1/720)*N*sin(B0)*cos(B0)^5*(61-58*t^2+t^4);F_xB=(c*Beta2+(c*Beta4+(c*Beta6+c*Beta8*cos(B0)^2)*cos(B0)^2)* cos(B0)^2)*sin(B0)*cos(B0);F_xBl=a2*l0^2+a4*l0^4+a6*l0^6;F_yBl=a3*l0^3+a5*l0^5;B1=(x-F_xB-F_xBl)/(c*Beta0);aa1=(a*cos(B1))/sqrt(1-e^2*(sin(B1))^2);l1=(y-F_yBl)/aa1;while abs(B1-B0)>=0.0001 && abs(l1-l0)>=0.0001B0=B1;aa0=aa1;l0=l1;F_xB=(c*Beta2+(c*Beta4+(c*Beta6+c*Beta8*cos(B0)^2)*cos(B0)^2)* cos(B0)^2)*sin(B0)*cos(B0);F_xBl=a2*l0^2+a4*l0^4+a6*l0^6;F_yBl=a3*l0^3+a5*l0^5;B1=(x-F_xB-F_xBl)/(c*Beta0);aa1=(a*cos(B1))/sqrt(1-e^2*(sin(B1)^2));l1=(y-F_yBl)/aa1;endL=rad2deg(l1)+L0;B=rad2deg(B1);2.3实验结果四、实验感想本次试验是花时间较多的一次实验,关于时间转换的部分全部都是自己动手将matlab代码写成“C++”的类,进行实现的。

其中遇到的较大的困难是儒略日向UTC转换的部分,这部分的函数步骤较多,关键是在一开始的时间结构里面,各时间各部分的数据类型大多定义的是“int”型的,但是在进行计算的时候有较多的小数,需要用到浮点型的函数,这部分用了较多的时间。

在做这个实验的时候,第一天花了时间主要是转换代码,使程序没有错误,能够正常的运行出来,出现黑框框,但是还只有个别功能能够用,能够运行出正确的结果;第二天时间主要是花在修改函数上头,能够使所写的功能都能运行出正确的结果。

通过做时间转换的实验,使自己产生了第一次亲自编写“C++”代码的经历,而且所有错误的解决全部都是自己解决,收获不少。

实验二RINEX文件读写一、实验目的1、深入了解RINEX文件格式2、进一步提高MATLAB程序设计能力3、掌握N文件、O文件、SP3文件的基本读写技巧二、实验内容本实验内容包括:1、任选IGS站,下载N文件、O文件与SP3文件;2、编程实现N文件读入,并采用中文标注出主要参数的名称及作用;4、编程实现O文件读入,并采用中文标注出主要参数的名称及作用;5、编程实现SP3文件读入,并采用中文标注出主要参数的名称及作用;三、实验过程1、针对第一部分内容:编程实现N文件读入,并采用中文标注出主要参数的名称及作用1.1、解决思路:按照“GPSeasy”开源代码提供的函数,按照实验要求读取了N文件的内容,先用“rinexe”函数,将N文件读取成“eph.dat”文件,然后再用“get_eph”函数将“eph.dat”文件读取成“Eph”矩阵,此矩阵中包含了N文件中的数据,在最后用“fprintf”函数将所需要的数据输出成”.TXT”文件即可。

1.2、主要函数代码:“get_eph”函数:function eph = get_eph(ephemeridesfile)fide = fopen(ephemeridesfile);[eph, count] = fread(fide, Inf, 'double');noeph = count/22;eph = reshape(eph, 22, noeph);“rinexe”函数(部分):function rinexe(ephemerisfile, outputfile)fide = fopen(ephemerisfile);head_lines = 0;while 1head_lines = head_lines+1;line = fgetl(fide);answer = findstr(line,'END OF HEADER');if ~isempty(answer), break; end;end;head_lines主函数中输出结果得函数部分:af0=data(19);%卫星中差M0=data(3);roota=data(4);deltan=data(5);ecc=data(6);omega=data(7);cuc=data(8);cus=data(9);crc=data(10);crs=data(11);i0=data(12);idot=data(13);toe=data(18);af1=data(20);%对所要输出的参数赋值fprintf(fid,'\n卫星编号:%d\n卫星钟差:%d\n平近点角距:%d\n轨道长半轴的平方根:%d\n平均运动修正量:%d\n轨道偏心率:%d\n近地点角距:%d\n纬度幅角的余弦调和项改正的振幅',prn,af0,M0,roota,deltan,ecc,omega,cuc);fprintf(fid,'纬度幅角的正弦调和项改正的振幅:%d\n轨道半径的余弦调和项改正的振幅:%d\n轨道半径的正弦调和项改正的振幅:%d\n轨道倾角:%d\n轨道倾角变化率:%d\n星历参考时刻:%d\n',cus,crc,crs,i0,idot,toe)fclose(fid);1.3、输出结果2、针对第二部分内容:编程实现O文件读入,并采用中文标注出主要参数的名称及作用;2.1、实现思路:通过matlab的函数“fopen”读取O文件,得到O文件的指针,通过“anheader”函数将文件中的接收机大致位置”approx_XYZ1”,天线的偏移值”ant_delta1”,观测值类型“Obs_types1”等读入成为matlab的矩阵,然后通过循环,利用“grabdata”函数将所需要的历元的观测文件依次输出来,最后通过“fprintf”函数,将所需要的数据依次打印出来。

相关文档
最新文档