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文件指针; 输出变量:Timedouble,时间(秒); Rhodouble[12],伪距(米); Markint[12],卫星号,“-1”表示此通道无卫星、无伪距。 2.3 最小二乘估计函数 int LeastSquareEstimation(Y,A,P,m,n, X) 功能:最小二乘方法求解观测方程Y=AX+ε,其中观测值方差阵的逆阵为P(也称为权 阵),得未知参数X。成功返回“1”,失败返回“-1”(亏秩)。 输入变量:Ydouble[m],观测方程自由项(米); Adouble[m×n],系数阵(无量纲),按第1行第1、2……n元素, 第2行……顺序存放; Pdouble[m],权矩阵对角线元素,0或1(无量纲); mint,观测值个数; nint,未知参数个数; 输出变量:Xdouble[n],未知参数(米)。 原理: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) 功能:计算WGS84坐标系中卫星位置、速度。成功返回“1”,失败返回“-1”(无星 历)。 输入变量:Numint,卫星号; Timedouble,时间(秒)。 (隐含引用全局变量Ephemeris[32],星历数据结构体) 输出变量:SatPosdouble[3],位置(米,WGS84); SatVeldouble[3],速度(米/秒,WGS84)。 2.5 伪距测量定位 int Positioning(Time,Rho,Mark, Pos,dt) 功能:由单一时刻伪距计算载体位置,并保存接收机钟面时、卫星位置、速度及载体 位置于定位结果文件Position.dat中。成功返回“1”,失败返回“-1”(观测 值数量不够,亏秩)。 输入变量:Timedouble,伪距观测时刻接收机钟面时(秒); Rhodouble[12],伪距(米); Markint[12],卫星号,“-1”表示此通道无信号; 输出变量:Posdouble[3],载体位置(米,WGS84); dtdouble,钟差(秒)。 3.全局变量说明 LightVelocity字符常量,光速(米/秒),299 792 458; PI字符常量,圆周率,3.141 592 653 589 793; MU字符常量,地球引力常数(米3秒-2),3.986005e14; OMEGAE字符常量,地球自转角速度(弧度·秒-1),7.292115e-5; fp_Obs文件指针,观测数据文件; fp_Pos文件指针,位置结果文件。 Structure Eph_Str { Mark整型,标识,“1”有,“-1”无 wn整型,星期数 toc卫星钟差改正参考时刻(秒) af2卫星钟差改正系数(秒/秒2) af1(秒/秒) af0(秒) aode数据龄期 deltan平均角速度改正(半周/秒) m0参考时刻平近点角(半周) e偏心率; rootaa1/2(米1/2) toe星历参考时刻(秒) cic(弧度) crc(米) cis(弧度) crs(米) cuc(弧度) cus(弧度) omega0准升交点赤经(半周) omega近地点角距(半周) i0轨道倾角(半周) omegadot升交点赤经变化率(半周/秒) idot轨道倾角变化率(半周/秒) }Ephemeris[32]星历数据结构体。 注:数据类型除注明整型外,其余为双精度型。 4.文件说明 4.1 观测数据文件Observation.dat Time,n伪距观测时间,卫星颗数 Rho_1,n_1伪距(米),卫星号 …… Rho_n,n_n伪距(米),卫星号 Time,n伪距观测时间,卫星颗数 …… 4.2 卫星星历数据文件Ephemeris.dat svprn整数,卫星号 wn整数,星期数 …… idot轨道倾角变化率(半周/秒) (详细说明请参见数据结构体Structure Eph_Str Ephemeris[32]) svprn整数,卫星号 …… 4.3 位置计算结果文件Position.dat Time伪距观测时刻(秒) n_1,x_1,y_1,z_1, xdot_1,ydot_1,zdot_1卫星号,卫星坐标(米,WGS84),速度(米/秒) …… n_n,x_n,y_n,z_n, xdot_n,ydot_n,zdot_n卫星号,卫星坐标(米,WGS84),速度(米/秒) x,y,z载体坐标(米,WGS84) Time伪距观测时刻(秒) …… 4.4 GPS_Positionin

C语言计算星历位置,GPS广播星历计算卫星位置和速度相关推荐

  1. GPS卫星位置的计算

    1. GPS卫星位置的计算 1.1 用广播星历计算卫星位置 1.1.1. 计算卫星运动的平均角速度 nnn 首先根据广播星历中给出的参数 A\sqrt{A}A​ 计算参考时刻 toet_{\mathr ...

  2. GPS卫星坐标用计算机计算,GPS卫星位置的计算

    [摘 要]针对GPS卫星导航电文的特点和里边各种参数含义及用法,阐述了利用导航电文提供的数据计算卫星位置的方法,为进行基线解算时提供准确的卫星坐标数据. 0前言 全球卫星定位系统(GPS)是一个实时的 ...

  3. matlab计算空间坐标,通过matlab计算卫星位置

    卫星星历是描述卫星运动轨道的信息.也可以说卫星星历就是一组对应某一时刻的轨道参数及其变率.有了卫星星历就可以计算出任意时刻的卫星位置及其速度.GPS卫星星历分为预报星历和后处理星历.预报星历又称广播星 ...

  4. c语言编程gps卫星坐标计算公式,C语言计算GPS卫星位置演示教学.doc

    C语言计算GPS卫星位置演示教学.doc C语言计算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置.卫星位置的计算是根据卫星电文所提供的轨道参 ...

  5. c语言实现gps坐标转化,C语言计算GPS卫星位置

    <C语言计算GPS卫星位置>由会员分享,可在线阅读,更多相关<C语言计算GPS卫星位置(8页珍藏版)>请在人人文库网上搜索. 1.C 语 言 计 算GPS卫星位置1 概述在用G ...

  6. 卫星位置计算的c语言,C语言-详细计算GPS卫星位置.doc

    C语言-详细计算GPS卫星位置.doc C语言计算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置.卫星位置的计算是根据卫星电文所提供的轨道参数 ...

  7. 用matlab计算卫星的瞬时位置,用MATLAB计算GPS卫星位置.PDF

    用MATLAB计算GPS卫星位置 高 新 技 术 用MATLAB计算GPS卫星位置 罗利娟 杨乐 (西安翻译学院 陕西西安 710061) 摘 要:本文主要介绍了GPs测量数据的常用格式RINEX标准 ...

  8. 【python】利用广播星历计算BDS卫星的位置

    前言 本程序为<卫星导航定位基础>大作业之二,功能为实现对广播星历文件的读取和处理,计算出北斗卫星的位置坐标,并绘制出二维和三维的卫星位置分布图.若需要对其他类型卫星数据处理,可根据本程序 ...

  9. 【python】读取卫星星历(RENIX 3.04)进行卫星位置的计算(北斗卫星专题)

    最近的卫星导航数据处理,老师让我们进行卫星位置的计算,从而使用绘图工具进行对卫星星下点的轨迹进行绘图,这里首先的步骤是读取卫星星历数据,计算卫星位置. 这次的课程目标主要是针对北斗卫星,进行对卫星位置 ...

  10. Java实现对某一时刻GPS中圆轨道卫星的空间位置计算

    在上两文中给出了Java编程实现对RINEX格式的观测值文件和广播星历文件的读取(读取观测值文件链接https://blog.csdn.net/qq_40449816/article/details/ ...

最新文章

  1. 基于3D的结构光的应用
  2. python怎么打印列表长度_关于python:生成器输出的长度
  3. Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
  4. 【iVX 初级工程师培训教程 10篇文拿证】06 数据库及服务
  5. 前端学习(3150):react-hello-react之DoM的diff算法
  6. python 购物车程序_Python 购物车程序(文件版)
  7. jvm 解释器和编译器
  8. 电脑开机出现英文“ERROR:System fan has failed”的错误提示
  9. 延迟队列DelayQueue原理
  10. java获取oracle自增_java相关:MyBatis Oracle 自增序列的实现方法
  11. Hive性能调优实战 总结一
  12. 关于个人的年度小目标
  13. 斯坦福全球AI报告:中国AI论文发表数首超欧洲,全球AI投资700亿
  14. 《算法导论3rd第一章》算法在计算中的作用
  15. Linux内核总线系统 —— 通用总线和平台设备
  16. 使用DirectPlay进行网络互联(4)
  17. 【一起入门MachineLearning】中科院机器学习-期末题库-【计算题3,4】-前向算法和维特比算法手算过程
  18. (附源码)python+mysql+基于springboot小型车队管理系统 毕业设计061709
  19. 灵光一闪!帮你使用Vue,搞定无法解决的“动态挂载”
  20. python爬html网站

热门文章

  1. Yolov3 Keras版本训练详细教程
  2. 机器视觉运动控制一体机应用例程|芯片引脚缺陷检测系统
  3. 创建Oracle定时任务
  4. 4场直播丨EsgynDB连接服务层、Oracle、openGauss
  5. HTML5中 audio标签的样式修改
  6. 计算机操作系统知识点总结
  7. Maxthon2.5.10.2576 beta苦菜花增强优化防假死正式版(1031)
  8. C语言 同构数的算法
  9. ssm+教务信息管理 毕业设计-附源码161124
  10. 思科防火墙ASA5506X总是自动重启查看crash日志