卫星导航定位算法与程序设计——实验报告
卫星导航定位算法与程序设计_上机实习_第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定位导航实验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. 理解定位算法的基本原理和实现方法;2. 掌握常用定位算法的优缺点和应用场景;3. 通过实验,提高对定位算法的实践能力。
二、实验背景随着物联网、智能交通、智能家居等领域的快速发展,定位技术成为关键支撑技术之一。
定位算法是实现定位功能的核心,本文将介绍几种常见的定位算法,并通过实验验证其性能。
三、实验原理1. 指纹定位算法指纹定位算法是一种基于无线信号传播特性的室内定位方法。
通过采集一定区域内多个接入点的信号强度,建立信号强度指纹库,在定位时,根据接收到的信号强度,通过指纹匹配确定用户的位置。
2. 伪距差分定位算法伪距差分定位算法是一种基于全球定位系统(GPS)的定位方法。
通过测量接收机与卫星之间的距离差,利用已知的卫星轨道信息,计算出接收机的位置。
3. A-GPS定位算法A-GPS定位算法是一种结合了GPS和移动通信网络(如GSM、CDMA)的定位方法。
通过结合移动通信网络的位置信息,提高定位精度和速度。
四、实验内容1. 指纹定位算法实验(1)采集信号强度指纹库:在实验室内布置多个接入点,采集不同位置处的信号强度,建立信号强度指纹库。
(2)定位实验:将移动设备放置在实验室内不同位置,采集信号强度,通过指纹匹配确定设备的位置。
2. 伪距差分定位算法实验(1)卫星轨道数据获取:获取实验期间卫星轨道数据。
(2)定位实验:利用接收机测量卫星与接收机之间的距离差,结合卫星轨道数据,计算出接收机的位置。
3. A-GPS定位算法实验(1)移动通信网络数据获取:获取实验期间移动通信网络的位置信息。
(2)定位实验:结合GPS和移动通信网络的位置信息,提高定位精度和速度。
五、实验结果与分析1. 指纹定位算法实验结果实验结果显示,指纹定位算法在实验室内定位精度较高,但随着距离的增加,定位误差逐渐增大。
2. 伪距差分定位算法实验结果实验结果显示,伪距差分定位算法在实验室内定位精度较高,且受建筑物遮挡等因素影响较小。
卫星定位实习报告

《卫星定位理论与方法》实 习 报 告姓 名: 李双成一、 实验原理:(一) 卫星轨道运动卫星在地球中心引力下的运动称为无摄运动,也称为开普勒运动,其规律可以用开普勒定律来描述。
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实习报告
实习时间,2022年6月1日-2022年8月31日。
实习单位,某GPS技术公司。
实习内容:
在本次实习中,我主要负责GPS技术的研究和开发工作。
具体包括以下几个方面:
1. GPS定位算法的研究,通过阅读大量文献和参与团队讨论,我对GPS定位算法有了更深入的了解。
在导师的指导下,我学习了各种GPS定位算法的原理和实现方法,并尝试对一些算法进行了改进和优化。
2. GPS信号处理,我参与了GPS信号的采集和处理工作,学习了GPS信号的特点和处理方法。
通过实际操作,我掌握了GPS信号的解调、跟踪和定位等基本技术,并在实际应用中取得了一定的成果。
3. GPS应用开发,在实习期间,我还参与了GPS应用软件的开
发工作。
通过学习相关的开发工具和技术,我成功开发了一款简单
的GPS导航软件,并在实际测试中取得了较好的效果。
实习收获:
通过本次实习,我不仅对GPS技术有了更深入的了解,还学会
了如何将理论知识应用到实际工作中。
在与导师和团队成员的交流中,我不断提高了自己的学习能力和团队协作能力。
同时,我还学
会了如何解决实际工作中遇到的问题,提高了自己的问题解决能力。
在未来的学习和工作中,我将继续努力,不断提升自己的专业
能力,为公司的发展贡献自己的力量。
感谢实习单位给予我这次宝
贵的实习机会,让我在实践中得到了很大的提升和成长。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013 级测绘工程专业卫星导航定位算法与程序设计实验报告实验名称: 卫星导航基本程序设计班级:学号:姓名:实验时间: 2016年6月28日~2016年6月30中国矿业大学目录实验一时空基准转换 (2)一、实验目得 (2)二、实验内容 (2)三、实验过程ﻩ2四、实验感想ﻩ6实验二RINEX文件读写ﻩ7一、实验目得ﻩ7二、实验内容 (7)三、实验过程ﻩ712实验三卫星轨道计算ﻩ一、实验目得 (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”得头文件,建立类“CTimeTr”,创建变量“GPSTime”、“Time”、”JulDay",并且申明函数“TIME2JUL”、“T IME2GTIME”等,用这些函数分别实现所需要得转换。
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(){doubleJD;ﻩﻩlongm,y;intWN;ﻩ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文件得指针,通过“anheade r”函数将文件中得接收机大致位置”approx_XYZ1”,天线得偏移值”ant_delta1",观测值类型“Obs_types1”等读入成为matlab得矩阵,然后通过循环,利用“grabdata"函数将所需要得历元得观测文件依次输出来,最后通过“fprintf”函数,将所需要得数据依次打印出来、2。