C语言计算GPS卫星位置演示教学.doc

C语言计算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置。卫星位置的计算是根据卫星电文所提供的轨道参数按一定的公式计算的。本节专门讲解观测瞬间GPS卫星在地固坐标系中坐标的计算方法。2 卫星位置的计算1. 计算卫星运行的平均角速度n根据开普勒第三定律,卫星运行的平均角速度n0可以用下式计算 式中为WGS-84坐标系中的地球引力常数,且3.9860051014m3/s2。平均角速度n0加上卫星电文给出的摄动改正数n,便得到卫星运行的平均角速度nnn0n 4-122. 计算归化时间tk首先对观测时刻t作卫星钟差改正tt-t然后对观测时刻t归化到GPS时系tkt-toc 4-13式中tk称作相对于参考时刻toe的归化时间(读者注意toctoe)。3. 观测时刻卫星平近点角Mk的计算MkM0ntk 4-14式中M0是卫星电文给出的参考时刻toe的平近点角。4. 计算偏近点角EkEkMkesinEkEk,Mk以弧度计 (4-15)上述方程可用迭代法进行解算,即先令EkMk,代入上式,求出Ek再代入上式计算,因为GPS卫星轨道的偏心率e很小,因此收敛快,只需迭代计算两次便可求得偏近点角Ek。5. 真近点角Vk的计算由于 因此 6升交距角k的计算为卫星电文给出的近地点角距。7. 摄动改正项u,r,i的计算 u,r,i分别为升交距角u的摄动量,卫星矢径r的摄动量和轨道倾角i的摄动量。8. 计算经过摄动改正的升交距角uk、卫星矢径rk和轨道倾角ik 9. 计算卫星在轨道平面坐标系的坐标卫星在轨道平面直角坐标系(X轴指向升交点)中的坐标为 10. 观测时刻升交点经度k的计算升交点经度k等于观测时刻升交点赤经(春分点和升交点之间的角距)与格林泥治视恒星时GAST(春分点和格林尼治起始子午线之间的角距)之差,k-GAST (4-23)又因为 4-24其中oe为参与时刻toe的升交点的赤经;是升交点赤经的变化率,卫星电文每小时更新一次和toe。此外,卫星电文中提供了一周的开始时刻tw的格林尼治视恒星时GASTw。由于地球自转作用,GAST不断增加,所以GASTGASTwet (4-25)式中e7.2921156710-5rad/s为地球自转的速率;t为观测时刻。由式(4-24)和(4-25),得 由(4-13)式,得其中,的值可从卫星电文中获取。11. 计算卫星在地心固定坐标系中的直角坐标把卫星在轨道平面直角坐标系中的坐标进行旋转变换,可得出卫星在地心固定坐标系中的三维坐标 12. 卫星在协议地球坐标系中的坐标计算考虑极移的影响,卫星在协议地球坐标系中的坐标为利用C语言程序实现include stdio.hinclude string.hinclude stdlib.hinclude math.hdefine u 3.986004418e14define WE 7.292115e-6struct canshuint prn, nian, yue, ri, shi, fen;卫星PRN号,年,月,日,时,分double miao;秒long double adoe, a0, a1, a2, mo, dn, e, ga, pio, io, w, pid, ii, cuc, cus, cue, crs, crc, cis, cic, toe, aodc, wn;/*参数说明 ADOE值,a0 卫星钟偏差, a1 卫星钟漂移, a2 卫星钟频率漂移, M0 平近点角, n平运动差, e偏心率, a1/2半长轴的平方根, 0 轨道平面升交点经度, i0 倾角, 近地点角距, * 升交点速率, IDot 倾角速率, Cuc Cus 升交角距的摄动改正项,Crc Crs 地心距的摄动改正项, Cic Cis 倾角的摄动改正项,toe 参考历元*/;void wxzbjxstruct canshu *ptlong double a, n0, n, t, tk, toc, mk, ek, vk, fik, uk, rk, ik;long double xk, yk ,zk, lk;long double XK, YK, ZK;int temp;pt-nian pt-nian 2000;t long doublept -nian- 1980 * 365 * 24 * 3600 pt -yue - 1 * 30 * 24 * 3600 pt -ri * 24 * 3600 pt-shi * 3600 pt -miao;a pt -ga * pt -ga;n0 sqrtWE/a*a*a;平均角速度n0n n0 pt -dn;tk t - pt -toe;toc pt -a0 pt -a1 * t - pt -toe pt -a2 * t - pt-toe * t - pt -toe;tk tk - pt -toe;mk pt -mo n * tk;ek mk;fortemp0;temp10;temp ekmk pt -e * sinek;利用迭代法求偏近点角ek vk 2 * atansqrt1 pt -e / 1 - pt -e* tanek / 2 ;fik vk pt -w;uk fik pt -cuc * cos2* fik pt -cus * sin2*fik;rk pt -ga * pt -ga * 1 - pt -e * ek pt -crc * cos2* fik pt -crs * sin2*fik;ik pt -io pt -cic * cos2 * fik pt -cis * sin2* fik pt -ii * tk; xk rk * cosuk;yk rk * sinuk;zk 0;lk pt -pio pt -pid - WE * tk - WE * pt-toe;XK xk * coslk - yk * cosik * sinlk;YK xk * sinlk yk * cosik * coslk;ZK yk * sinik;printfnd年d月d号d时.2f秒 d号卫星的坐标, pt-nian, pt-yue ,pt-ri , pt-shi ,pt-miao, pt-prn;printfnXk .9fnYk .9fnZK .9fnn, XK, YK, ZK; int mainvoidFILE *fp, *fp1, *fp2;struct canshu a;int i0, hanhao 1; long doubletemp1, temp2, temp3, temp5, temp4, temp6, temp7;char ch, ch1;iffp1 E星历文件guangboxingli2.txt, r NULL请自定义星历文件位置及名称printf文件无法打开;exit0; elseiffp2 E星历文件guangboxingli2fu.txt, w NULLprintf文件无法打开;exit0; elsewhilech1 fgetcfp1 EOFifch1 ni ;putcharch1;ifi 15break;whilefeoffp1ch1fgetcfp1;ifch1 Dch1 e;fputcch1,fp2;fclosefp1; fclosefp2;printf以上是星历文件的头文件n;systempause;printf读取文件参数数据n;iffp E星历文件guangboxingli2fu.txt, r NULL创建计算结果文档printf文件无法打开;exit0; whilefeoffpswitchhanhaocase 1fscanffp,nddddddlf le le le, a.prn, a.nian, a.yue, a.ri, a.shi, a.fen, a.miao, a.a0, a.a1, a.a2;printfd d d d d d lf le le le, a.prn, a.nian, a.yue, a.ri, a.shi, a.fen, a.miao, a.a0, a.a1, a.a2;hanhao;case 2fscanffp,le le le le, a.adoe, a.crs, a.dn, a.mo;printfnle le le le, a.adoe, a.crs, a.dn, a.mo;hanhao;case 3fscanffp,le le le le, a.cue, a.e, a.cus, a.ga;printfnle le le le, a.cue, a.e, a.cus, a.ga;hanhao;case 4fscanffp,le le le le, a.toe, a.cic, a.pio, a.cis;printfnle le le le, a.toe, a.cic, a.pio, a.cis;hanhao;case 5fscanffp,le le le le, a.io, a.crc, a.w, a.pid;printfnle le le le, a.io, a.crc, a.w, a.pid;hanhao;case 6fscanffp,le le le le, a.ii, temp1, a.wn, temp2;printfnle le le le, a.ii, temp1, a.wn, temp2;hanhao;case 7fscanffp,le le le le, temp3, temp4, temp5, a.aodc;printfnle le le le, temp3, temp1, temp5, a.aodc;hanhao;case 8fscanffp,le, temp6;printfnle, temp6;ifchfgetcfp nfscanffp,le, temp7;printf len, temp7;wxzbjxa;systempause;hanhao 1;fclosefp;return 0; 该课程的考核主要是以课文中的词汇和语法点为主,以闭卷的形式进行。主要题型包括选择题,阅读理解和翻译英译汉和汉译英。考试时间2小时。试卷结构n 阅读理解15小题,每题2分,共30分n 词汇语法20小题,每题1分,共20分n 完型填空10小题,每题1分,共10分n 交际用语 10小题,每题1分, 共10分n 翻译英译汉3小题,每题5分,共15分汉译英3小题,每题5分,共15分 第二部分 复习指导1. 阅读理解题复习 阅读题所选材料50选自教材种的补充阅读理解练习,50与教材练习无关,但难易程度与所学课文相似。常见题型有(1)主题问题,如Whats the main idea of the passage Which is the best title of the passage 这类题一般要把全文所给信息综合起来才能归纳出答案,但是文章开头和结尾一般可找到主题句提示。(2)细节题,即针对文中涉及的各种具体信息提问,如时间、人物关系、因果关系等。这类题一般在文中可以直接找到答案。同学们可根据题目中的关键词到原文中找相关句子即可。(3)推理题,即从原文不能直接找到答案,但同学们可根据已知信息通过逻辑推理得出答案。细节题在题目中所占比重较大,而且较容易做对,同学们应认真对待。考前掌握以下练习题1 教材中第一单元至第五单元的课后阅读理解题2 教材中Quiz 1测验一中的3篇阅读题2.词汇语法复习 复习时以课文中重点讲解的语法点和词汇为重点。语法点主要涉及1动词的使用;2动词与介词和副词的搭配;3谓语的时态和语态;4

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

  1. c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...

    双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好 首页 > 软件 > 双辽c语言编程学习 作者:镀金池   发布时间:2017-12-07 05:48 一个C语 ...

  2. linux+下c语言编程项目,精通UNIX下C语言编程与项目实践

    cc -I  //include 目录 -L //静态库目录?动态也可以 -l //小写L,接静态库名称?动态也可以 -DXXX='"XXFF"' //-D直接定义宏 -c 只编译 ...

  3. c语言程序设计需要学多久,九江c语言编程学习,九江学c语言编程报班,九江学c语言编程一般要多久才能学会...

    九江c语言编程学习,九江学c语言编程报班,九江学c语言编程一般要多久才能学会 首页 > C语言 > 九江c语言编程学习 作者:镀金池   发布时间:2017-10-18 14:11 据ID ...

  4. c语言编程学多久,丰城c语言编程学习,丰城学c语言编程的学校,丰城学c语言编程一般要多久才能学会...

    丰城c语言编程学习,丰城学c语言编程的学校,丰城学c语言编程一般要多久才能学会 首页 > 软件 > 丰城c语言编程学习 作者:镀金池   发布时间:2018-04-09 16:40 在之后 ...

  5. 成都c语言编程培训机构,成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗...

    成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗 首页 > 软件 > 成都学c语言编程 作者:镀金池   发布时间:2018-09-28 14:20 近似带有序布局 ...

  6. 汕头c语言培训班,汕头c语言编程学习,汕头学c语言编程哪个好,汕头学c语言编程需要报培训班吗...

    汕头c语言编程学习,汕头学c语言编程哪个好,汕头学c语言编程需要报培训班吗 首页 > C语言 > 汕头c语言编程学习 作者:镀金池   发布时间:2017-10-18 20:12 经历:若 ...

  7. 湛江C语言培训,湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好...

    湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好 首页 > C语言 > 湛江c语言编程学习 作者:镀金池   发布时间:2017-10-19 09:51 在Swi ...

  8. c语言编程常见问题解答 pdf,[编程语言]C语言常见问题集pdf pdf文件[1.35MB]-码姐姐下载...

    原著:Steve Summit 翻译:朱群英, 孙 云 修订版0.9.4, 2005年6月23日 目录 i 前言 xvii 1 声明和初始化 1 1.1 我如何决定使用那种整数类型?......... ...

  9. AI Studio下C语言编程:一道简单的C语言作业题目

    简 介: 本文测试了在 AI Studio中进行C语言编程的过程.使用与 搭建AI Studio 中Python开发环境 同样的 "AIS" python文件,可以在Windows ...

最新文章

  1. 显示多文档标签_HTML常用基础标签,前端从入门到精通
  2. VS2010 代码前出现虚线的问题
  3. 全球 android手机排行 2013,全球Android手机性能排行 三星Note 3夺魁
  4. Shel脚本-初步入门之《03》
  5. keras的学习笔记
  6. 妙用next数组打表求最小循环节len
  7. 宝石光是什么石头_捡到这些石头,都是值钱货
  8. Coolite之数据源(store)分页,基于Sql2000存储过程(高效分页)
  9. OOM框架AutoMapper基本使用(2)
  10. 医院门诊管理系统php文献,医院门诊管理系统(源码+系统)
  11. 交互设计流程是怎样的?
  12. php的电阻率是多少,PTF65517KBT-10B14
  13. 金山的 wifi共享android手机怎莫共享台式机3g无线网络,巧妙开启笔记本WiFi共享 手机上网有神助...
  14. SysML v2配置eclipse
  15. doito-001(余光中)
  16. 一个光棍的经典呐喊 【转】
  17. 数位dp BZOJ 2757: [SCOI2012]Blinker的仰慕者
  18. Win7 + VirtualBox安装Mac OS X雪豹操作系统图文详解
  19. HDU6536 hello XTCPC
  20. 项目整合bboss框架连接Elasticsearch

热门文章

  1. 高等代数----最小多项式的矩阵表示
  2. 部署VDI虚拟桌面带来的改变
  3. 微信会员注册开发【带源码】:网页授权,得到code后在当前页面获取openid,js+php实现跨域请求
  4. 使用 JS-SDK 与 FLOW 交互
  5. The multi-part request contained parameter data (excluding uploaded files)
  6. JAVA与C、C++比较
  7. Pycharm Setting Python Interpreter
  8. 【新手上路】Java必备小游戏——Flappy Bird(飞翔的小鸟)
  9. 醉月湖畔,为谁染红妆
  10. 【嵌入式百科】003——时钟周期、指令周期、机器周期、总线周期