GPS广播星历计算卫星位置和速度_第1页
GPS广播星历计算卫星位置和速度_第2页
GPS广播星历计算卫星位置和速度_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、gpst播星历计算卫星位置和速度及“GPS伪距定位”计算试验1.试验内容及上交成果1.1试验内容应用C语言按预定格式(函数、输入输出变量之名称、类型)编写“GPST播星历计算卫星位置和速度”函数SatPos_Vel( ) 、“GPS伪距定位”函数 Positioning()。将此两个函数组成文件F2.cpp,并包含于文件GPS_Positioning.cpp中。编译、连接并运行文件GPS_Positioning.cpp ,逐一时刻读取广播星历( Ephemeris.dat )、观测时间及伪距、卫星 号(Observation.dat )信息,计算 WGS84坐标系中观测时刻相应的卫星位置、速度

2、以及载 体位置,结果保存于文件Positio n.dat 中。1.2上交成果磁盘文件F2.cpp、Position.dat ,并存于“学号作者中文姓名”目录中。2.函数说明2.1星历文件读取函数void EFileReadi ng(Efile)功能:读取星历文件,给星历数据结构体Ephemeris赋值。输入变量:EFile 字符串,文件名。2.2观测数据读取函数int ObsReadi ng(fp_Obs,Time,Rho,Mark)功能:从文件 Observatio n. dat中读取某一时刻的伪距、卫星号。读取成功函数值返回输入变量:“1”,失败返回“T (读错,或至文件尾)。 fp_Ob

3、s 文件指针;输出变量:Timedouble,时间(秒);Rhodouble12,伪距(米);Markin t12,卫星号,1表示此通道无卫星、无伪距。2.3最小二乘估计函数int LeastSquareEstimation(Y,A,P,m,n, X)功能:最小二乘方法求解观测方程y=ax+£ ,其中观测值方差阵的逆阵为P (也称为权阵),得未知参数X。成功返回“ 1 ”,失败返回“1”(亏秩)。输入变量:Y doublem,观测方程自由项(米);A doublem x n,系数阵(无量纲),按第1行第1、2n兀素,第2行顺序存放;P doublem ,权矩阵对角线元素, 0 或 1

4、(无量纲) ; m int ,观测值个数;n int ,未知参数个数;输出变量:X doublen ,未知参数(米) 。原理: X=(ATPA)-1ATPY例:Y= 1,2,3,6,A=1,0,0, 0,1,0, 0,0,1, 1,1,1,P=1,1,1,1,m=4,n=3。调用 LeastSquareEstimation(Y,A,P,m,n, X) ,求得 X=1,2,3 。2.4 计算卫星位置、速度函数int SatPos_Vel(Num,Time, SatPos,SatVel)功能:计算 WGS8坐标系中卫星位置、速度。成功返回“1 ”,失败返回“一1”(无星历)。输入变量:Numint

5、 ,卫星号;Timedouble ,时间(秒) 。(隐含引用全局变量 Ephemeris32 ,星历数据结构体)输出变量:SatPos double3 ,位置(米, WGS8)4; SatVel double3 ,速度(米 / 秒, WGS8)4。2.5 伪距测量定位int Positioning(Time,Rho,Mark, Pos,dt) 功能:由单一时刻伪距计算载体位置,并保存接收机钟面时、卫星位置、速度及载体位置于定位结果文件 Position.dat 中。成功返回“ 1”,失败返回“ 1”(观测值数量不够,亏秩)输入变量: Time double ,伪距观测时刻接收机钟面时(秒) R

6、ho double12 ,伪距(米) ;Mark int12,卫星号,“ 1”表示此通道无信号;输出变量: Posdtdouble3 ,载体位置(米, WGS8)4; double ,钟差(秒) 。3全局变量说明LightVelocity 字符常量,光速(米 / 秒), 299 792 458 ;PI字符常量,圆周率, 3.141 592 653 589 793;3 2MU字符常量,地球引力常数(米3秒2), 3.986005e14;OMEGAE字符常量,地球自转角速度(弧度秒1), 7.292115e-5 ;fp_Obs 文件指针,观测数据文件; fp_Pos 文件指针,位置结果文件。Str

7、ucture Eph_StrMark 整型,标识, “1”有,“1”无wntoc整型,星期数 卫星钟差改正参考时刻(秒)af2 卫星钟差改正系数(秒 /秒 2)af1(秒 / 秒)af0(秒)aode数据龄期deltan平均角速度改正(半周 / 秒)m0参考时刻平近点角(半周)e偏心率;1/2 1/2rootaa (米 )toe星历参考时刻(秒)cic(弧度)crc(米)cis(弧度)crs(米)cuc(弧度)cus(弧度)omega0准升交点赤经(半周)omega近地点角距(半周)i0轨道倾角(半周)omegadot升交点赤经变化率(半周 / 秒)idot轨道倾角变化率(半周 / 秒)Eph

8、emeris32 星历数据结构体。 注:数据类型除注明整型外,其余为双精度型。4文件说明4.1 观测数据文件 Observation.datTime,nRho_1, n_1伪距观测时间,卫星颗数伪距(米),卫星号Rho_n, n_n伪距(米),卫星号Time,n伪距观测时间,卫星颗数4.2 卫星星历数据文件 Ephemeris.dat svprn 整数,卫星号 wn 整数,星期数idot 轨道倾角变化率(半周 / 秒) (详细说明请参见数据结构体 Structure Eph_Str Ephemeris32 ) svprn 整数,卫星号4.3 位置计算结果文件 Position.datTimen

9、_1,x_1,y_1,z_1, xdot_1,ydot_1,zdot_1n_n,x_n,y_n,z_n, xdot_n,ydot_n,zdot_nx,y,z伪距观测时刻(秒)卫星号,卫星坐标(米, WGS84,速度(米/秒)卫星号,卫星坐标(米, WGS8)速度(米/秒)载体坐标(米, WGS8)4Time伪距观测时刻(秒)4.4 GPS_Positioning.cpp作为主函数,调用 Parameter.h 、 Function.h 、F1.cpp 、F2.cpp 。逐一时刻读取广播星 历、伪距等信息,计算卫星位置、速度及载体位置。4.5 Parameter.h字符常量定义、全局变量说明。4

10、.6 Function.h函数说明。4.7 F1.cpp 包含辅助函数如下; 广播星历读取函数 EFileReading() ; 观测数据(时间、卫星个数、伪距、卫星号)读取函数 ObsReading() ; 最小二乘法求解函数 LeastSquareEstimation() ; 矩阵相乘计算函数 MatrixMultiply() ; 高斯选主元消去法矩阵求逆函数 MatrixInverse() ; 三维向量长度计算函数 VectorLength() 。4.8 F2.cpp 包含函数如下: 卫星位置、速度计算函数 SatPos_Vel() ; 伪距定位函数 Positioning() 。5首历元观测时刻参考答案( Position.dat )1936457945675.621321624.5249.3-2743.6303.3014665363.69394841.820224091.6-2310.31043.61194.920-10127606.021492092.3-10899994.3-90.1-1466.0-2807.921-1578334.526219741.9-284477.9-409.9-14.9 3151.828-20375527.015214719.77639734.1-975.7140.2-2976.324-2456690.11

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论