C语言用广播星历求卫星坐标,GPS广播星历计算卫星位置和速度 |
您所在的位置:网站首页 › 卫星坐标计算编程 › C语言用广播星历求卫星坐标,GPS广播星历计算卫星位置和速度 |
“GPS广播星历计算卫星位置和速度” 及“GPS伪距定位”计算试验 1.试验内容及上交成果 1.1 试验内容 应用C语言按预定格式(函数、输入输出变量之名称、类型)编写“GPS广播星历计算卫星位置和速度”函数SatPos_Vel( )、“GPS伪距定位”函数Positioning( )。将此两个函数组成文件F2.cpp,并包含于文件GPS_Positioning.cpp中。编译、连接并运行文件GPS_Positioning.cpp,逐一时刻读取广播星历(Ephemeris.dat)、观测时间及伪距、卫星号(Observation.dat)信息,计算WGS84坐标系中观测时刻相应的卫星位置、速度以及载体位置,结果保存于文件Position.dat中。 1.2 上交成果 磁盘文件F2.cpp、Position.dat,并存于“学号作者中文姓名”目录中。 2.函数说明 2.1 星历文件读取函数 void EFileReading(Efile) 功能:读取星历文件,给星历数据结构体Ephemeris赋值。 输入变量:EFile 字符串,文件名。 2.2 观测数据读取函数 int ObsReading(fp_Obs,Time,Rho,Mark) 功能:从文件Observation.dat中读取某一时刻的伪距、卫星号。读取成功函数值返回“1”,失败返回“-1”(读错,或至文件尾)。 输入变量:fp_Obs 文件指针; 输出变量:Time double,时间(秒); Rho double[12],伪距(米); Mark int[12],卫星号,“-1”表示此通道无卫星、无伪距。 2.3 最小二乘估计函数 int LeastSquareEstimation(Y,A,P,m,n, X) 功能:最小二乘方法求解观测方程Y=AX+ε,其中观测值方差阵的逆阵为P(也称为权阵),得未知参数X。成功返回“1”,失败返回“-1”(亏秩)。 输入变量:Y double[m],观测方程自由项(米); A double[m×n],系数阵(无量纲),按第1行第1、2……n元素, 1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |