《GPS数据处理》实验指导书资料.docVIP

  • 6
  • 0
  • 约4.97千字
  • 约 20页
  • 2019-07-21 发布于江西
  • 举报
《GPS数据处理》 实验指导书 (供测绘工程专业用) (2013年) 戴吾蛟 编 二零一三年四月 中南大学测绘与遥感科学系 前言 GPS数据处理实验是学习本门课程的重要环节之一,实验的设置是为了配合课堂教学,使学生熟练掌握和深入理解课堂教学内容,进一步强化GPS数据处理算法及流程。 实验内容 本门课程必做的实验有(在Visual C++.net 2008 环境下): GPS卫星位置计算程序设计; 伪距单点定位程序设计; GPS数据质量分析; GPS工程控制网数据处理; 实验1 GPS卫星位置计算程序设计 一、实验目的 熟悉导航文件数据格式及参数意义; 掌握利用导航星历数据进行卫星位置计算的详细步骤; 掌握卫星位置计算程序设计技巧; 二、实验内容与要求 设计一个卫星位置计算的函数;利用已有的RINEX格式导航电文数据读写函数(NavFileRead.h, NavFileRead.cpp),从导航文件中读取数据,调用自己设计的卫星位置计算函数计算每颗卫星在星历发布时刻的卫星位置(double transtime; //电文发送时间(GPS星期秒)),并保存至一个文件中。 计算的详细步骤: 1.计算真近点角fs (1)计算平均角速度 (2)计算归化观测时间tk tk-以参考时刻toe为基准的归化观测时间。 t-为观测时刻卫星的钟面时 t-经卫星钟差改正的观测时刻 (3)计算观测时刻t的平近点角Ms和偏近点角Es 令Ms=Es进行迭代计算 (4)计算观测时刻的真近点角 2.计算升交距角及轨道摄动改正项 参考历元的升交距角:u0=ws+fs 摄动改正项 3.计算升交距角、卫星的地心距离及轨道倾角 4.计算卫星在轨道坐标系中的坐标(x,y,z) 5.计算观测时刻升交点的经度 6.计算在协议地球系中的空间直角坐标 实验2 伪距单点定位程序设计 一、实验目的 熟悉RINEX观测文件的读写; 掌握卫星发射时刻位置的计算; 掌握伪距观测方程列立; 伪距观测方程系数计算及单点定位程序设计详细步骤。 二、实验内容 设计一个伪距单点计算的函数,并用测试数据进行测试。,其中RINEX格式导航电文数据读写函数(NavFileRead.h, NavFileRead.cpp)、RINEX格式观测数据读写函数(ObsFileRead.h, ObsFileRead.cpp)已给出,卫星位置计算函数为实验一设计的函数,电离层和对流层改正暂略。单颗卫星观测数据结构体及一个历元观测数据类如下: //单颗卫星观测数据结构体 typedef struct { short satID; double vCA; double vY1; double vY2; double vL1; double vL2; double vD1; double vD2; float elevation; float azim; }observation; //一个历元的观测数据类 class CEpochObs { public: CEpochObs(void); ~CEpochObs(void); public: short nSatCount;//卫星数 double GpsWeek;//观测时间GPS周 double GpsSecond;////观测时间GPS秒 observation* Obs; bool SetSize(short nSat); }; //按照Rinex标准格式(2.0以上)读取一个历元的数据 short ReadStandardEpochObs(FILE *pObsFile, CEpochObs *pEObs, char **ObsType, short ObsTypeCount); //民用时至GPS时转换函数 void DateTimeToWeekTOW(short year, short month, short day, short hour, short min, double sec, long *Week, double *TOW); 具体计算步骤: 将导航文件中所有卫星的星历全部读取,并存入ephemeris数组中 ; 调用相关函数读取一个历元的观测数据; 从ephemeris数组中找出当前历元第一颗观测卫星的导航数据,(注意一个导航文件中对一颗卫星来时可能有不同时间的星历数据,因此要查找当前历元最相近时间的星历数据) 计算卫星的钟差 (dt),调用卫星钟差改正函数Dt(); 计算信号发射时刻 TTrans = TTag – (C1/C + dt) 6.计算信号发射时刻卫星位置(调用实验一设计的函数) 7

文档评论(0)

1亿VIP精品文档

相关文档