下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GPS卫星位置的计算利用C++编写了一段能计算单一瞬时卫星坐标的程序,在运行程序之前,需做部分准备工作:在F盘下建立一名为“单一卫星广播星历”的txt文件。从“广播星历.txt”文件中拷贝从卫星PRN号开始的8行数据到“单一卫星广播星历.txt”中在编辑选项中,将全部的“D”替换为“E”。下面为我所选取的一个广播星历:1806825600.0-2.472363412380E-04-1.023181539495E-120.000000000000E+001.410000000000E+02-1.721875000000E+014.502687555010E-091.413760604187E+00-7.990747690201E-077.598234573379E-031.118145883083E-055.153709835052E+034.536000000000E+05-1.303851604462E-08-1.095067942661E-011.527369022369E-079.571235745530E-011.640000000000E+02-2.656176299285E+00-8.037477650349E-09-5.193073455211E-101.000000000000E+001.389000000000E+030.000000000000E+002.000000000000E+000.000000000000E+00-1.024454832077E-081.410000000000E+024.464490000000E+054.000000000000E+00程序设计部分:#include<stdio.h>#include<math.h>intmain(){ inti=0; doublen[50],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:\\单一卫星广播星历.txt","r"); if(fp==NULL) { printf("文件打开失败!\n"); return0; } while(!feof(fp)) { fscanf(fp,"%lf",&n[i]); i++; } n0=(sqrt(3986005E+8))/pow(n[17],3); nn=n0+n[12];/*计算卫星运行的平均角速度*/ UT=n[4]+(n[5]/60)+(n[7]/3600);/*民用日的时分秒化为实数时*/ if(n[1]>=80)/*广播星历中年只有后两位,化为4位,参考1980年1月6日0点*/ { if(n[1]==80&&n[2]==1&&n[3]<6) { n[1]=n[1]+2000; } n[1]=n[1]+1900; } else { n[1]=n[1]+2000; } if(n[2]<=2) { yy=n[1]-1; mm=n[2]+12; } if(n[2]>2) { yy=n[1]; mm=n[2]; } JD=(int)(365.25*yy)+(int)(30.6001*(mm+1))+n[3]+(UT/24)+1720981.5;/*化为儒略日*/ gpsz=(int)((JD-2444244.5)/7);/*计算GPS周*/ t=(JD-2444244.5-7*gpsz)*24*3600;/*得出GPS秒*/ tk=t-n[18];/*tk1为中间值,用以判断tk与正负302400的关系,然后返回到tk上*/ while(tk>302400||tk<-302400) { if(tk>302400) { tk=tk-604800; } else { tk=tk+604800; } }/*计算归化观测时间*/ Mk=n[13]+nn*tk;/*观测时刻的卫星平近点角*/ Ek=Mk; Ek=Mk+n[15]*sin(Ek); Ek=Mk+n[15]*sin(Ek);/*迭代两次计算观测时刻的偏近点角*/ Vk=atan(sqrt(1-n[15]*n[15])*sin(Ek))/(cos(Ek)-n[15]);/*真近点角*/ Yk=Vk+n[24];/*升交距角*/ Gu=n[14]*cos(2*Yk)+n[16]*sin(2*Yk); Gr=n[23]*cos(2*Yk)+n[11]*sin(2*Yk); Gi=n[19]*cos(2*Yk)+n[21]*sin(2*Yk);/*摄动改正项*/ uk=Yk+Gu; rk=n[17]*n[17]*(1-n[15]*cos(Ek))+Gr; ik=n[22]+Gi+n[26]*tk;/*经摄动改正后的升交距角、卫星矢径、轨道倾角*/ xk=rk*cos(uk); yk=rk*sin(uk); zk=0;/*卫星在轨道坐标系的坐标*/ Lk=n[20]+(n[25]-7.29211515E-5)*tk-7.29211515E-5*n[18];/*观测时刻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=%lfm\nY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务员业务年终总结
- 服装展示与礼仪专业技能教学标准
- 农业废弃物资源化利用农户参与意愿与行为研究方法
- 半导体光催化还原二氧化碳的产物选择性研究报告
- 家庭时光机维护与悖论规避指南
- T∕CNLIC 0224-2025 化妆品功效人体测试 基于双光子在体显微成像技术的测试方法
- 镇静剂中毒试题及答案
- 营销策划 -臭宝螺蛳粉X邓超营销方案
- 2026年河北省邯郸市馆陶县中考英语一模试卷(含详细答案解析)
- 2026年江苏省连云港市灌南县中考化学适应性试卷(一)(含答案)
- 护士呼吸科进修专题汇报
- 辽宁省2025年初中学业水平模拟考试 语文试卷(一)(含答案)
- 2025年高考真题-化学(河南卷) 含答案
- 电力拖动自动控制系统-运动控制系统(第5版)习题答案
- 2025年高考英语复习难题速递之语法填空(2025年4月)
- 美团电子合同协议
- 期刊图书馆管理员
- 考研动员讲座
- 【MOOC】国际商务-暨南大学 中国大学慕课MOOC答案
- 【MOOC】3D工程图学-华中科技大学 中国大学慕课MOOC答案
- DB32T 2178-2012 淮麦25 标准规范
评论
0/150
提交评论