GPS卫星位置的计算(C++程序计算)_第1页
GPS卫星位置的计算(C++程序计算)_第2页
GPS卫星位置的计算(C++程序计算)_第3页
全文预览已结束

下载本文档

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

文档简介

1、GPS卫星位置的计算利用C+编写了一段能计算单一瞬时卫星坐标的程序,在运行程序之前,需做部分准备工作:(1) 在F盘下建立一名为“单一卫星广播星历”的txt文件。(2) 从“广播星历.txt”文件中拷贝从卫星PRN号开始的8行数据到“单一卫星广播星历.txt”中(3) 在编辑选项中,将全部的“D”替换为“E”。下面为我所选取的一个广播星历:18 06 8 25 6 0 0.0-2.0E-04-1.5E-12 0.0E+00 1.0E+02-1.0E+01 4.0E-09 1.7E+00 -7.1E-07 7.9E-03 1.3E-05 5.2E+03 4.0E+05-1.2E-08-1.1E-

2、01 1.9E-07 9.0E-01 1.0E+02-2.5E+00-8.9E-09 -5.1E-10 1.0E+00 1.0E+03 0.0E+00 2.0E+00 0.0E+00-1.7E-08 1.0E+024.0E+05 4.0E+00程序设计部分:#include#includeint main()int i = 0;double n50, n0, nn, t, tk, Mk, Ek, Vk, Yk, Gu, Gr, Gi, uk, rk, ik, xk, yk, zk, X, Y, Z, Lk, UT, yy, mm, JD, gpsz;FILE *fp;fp = fopen(F:

3、单一卫星广播星历.txt, r);if (fp = NULL)printf (文件打开失败!n);return 0;while (! feof (fp)fscanf(fp, %lf, &ni);i+;n0 = (sqrt(E+8)/pow(n17, 3);nn = n0 + n12;/*计算卫星运行的平均角速度*/UT = n4 + (n5 / 60) + (n7 / 3600);/*民用日的时分秒化为实数时*/if (n1 = 80)/*广播星历中年只有后两位,化为4位,参考1980年1月6日0点*/if (n1 = 80 & n2 = 1 & n3 6)n1 = n1 + 2000; n1

4、 = n1 + 1900;elsen1 = n1 + 2000;if (n2 2)yy = n1;mm = n2;JD = (int)(365.25 * yy) + (int)(30.6001 * (mm + 1) + n3 + (UT / 24) + .5;/*化为儒略日*/gpsz = (int)(JD - .5) / 7);/*计算GPS周*/t = (JD - .5 - 7 * gpsz) * 24 * 3600;/*得出GPS秒*/tk = t - n18;/*tk1为中间值,用以判断tk与正负的关系,然后返回到tk上*/while (tk | tk )tk = tk - ;else

5、tk = tk + ;/*计算归化观测时间*/Mk = n13 + nn * tk;/*观测时刻的卫星平近点角*/Ek = Mk;Ek = Mk + n15 * sin(Ek);Ek = Mk + n15 * sin(Ek);/*迭代两次计算观测时刻的偏近点角*/Vk = atan(sqrt(1 - n15 * n15) * sin(Ek) / (cos(Ek) - n15);/*真近点角*/Yk = Vk + n24;/*升交距角*/Gu = n14 * cos(2 * Yk) + n16 * sin(2 * Yk);Gr = n23 * cos(2 * Yk) + n11 * sin(2

6、* Yk);Gi = n19 * cos(2 * Yk) + n21 * sin(2 * Yk);/*摄动改正项*/uk = Yk + Gu;rk = n17 * n17 * (1 - n15 * cos(Ek) + Gr;ik = n22 + Gi + n26 * tk;/*经摄动改正后的升交距角、卫星矢径、轨道倾角*/xk = rk * cos(uk);yk = rk * sin(uk);zk = 0;/*卫星在轨道坐标系的坐标*/Lk = n20 + (n25 - 7.E-5) * tk - 7.E-5 * n18;/*观测时刻t的升交点经度*/X = xk * cos(Lk) - yk * cos(ik) * sin(Lk);Y = xk * sin(Lk) + yk * cos(ik) * cos(Lk);Z = yk * sin(ik);/*卫星在WGS-84坐标系的坐标*/printf(该卫星在WGS-84坐标系中的坐标为:nX = %

温馨提示

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

最新文档

评论

0/150

提交评论