版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言计算GPS卫星位置1 概述在用 GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置。卫星位置的计算是根据卫星电文所提供的轨道参数按一定的公式计算的。本节专门讲解观测瞬间 GPS卫星在地固坐标系中坐标的计算方法。2 卫星位置的计算1.计算卫星运行的平均角速度n根据开普勒第三定律,卫星运行的平均角速度n0 可以用下式计算:式中 为 WGS-84 坐标系中的地球引力常数,且 =3.986005 1014m3/s 2。平均角速度n0 加上卫星电文给出的摄动改正数n,便得到卫星运行的平均角速度nn=n +n(4-12)02. 计算归化时间 t k首先对观测时刻t 作卫星
2、钟差改正t=t -t然后对观测时刻t 归化到 GPS时系t k=t-t oc(4-13)式中 t k 称作相对于参考时刻t oe 的归化时间(读者注意:toc toe )。3. 观测时刻卫星平近点角 Mk 的计算Mk=M0+ntk(4-14)式中 M0 是卫星电文给出的参考时刻toe 的平近点角。4.计算偏近点角EkE =M+esinE(E ,M( 4-15 )kkkkk 以弧度计 )上述方程可用迭代法进行解算,即先令 Ek =Mk, 代入上式,求出 Ek 再代入上式计算,因为 GPS卫星轨道的偏心率 e 很小,因此收敛快,只需迭代计算两次便可求得偏近点角 Ek。5.真近点角Vk 的计算由于
3、:因此 :6 升交距角 k 的计算 为卫星电文给出的近地点角距。7. 摄动改正项 u, r, i 的计算 u, r, i分别为升交距角u 的摄动量,卫星矢径r 的摄动量和轨道倾角i的摄动量。8.计算经过摄动改正的升交距角uk、卫星矢径 r k 和轨道倾角 i k9. 计算卫星在轨道平面坐标系的坐标卫星在轨道平面直角坐标系(X 轴指向升交点)中的坐标为10. 观测时刻升交点经度 k 的计算升交点经度 k 等于观测时刻升交点赤经 (春分点和升交点之间的角距)与格林泥治视恒星时 GAST(春分点和格林尼治起始子午线之间的角距)之差, k= -GAST( 4-23 )又因为 :oetk(4-24)其中
4、 oe 为参与时刻 t oe 的升交点的赤经;是升交点赤经的变化率,卫星电文每小时更新一次 和 t oe。此外,卫星电文中提供了一周的开始时刻tw的格林尼治视恒星时GAST。由于地球自w转作用, GAST不断增加,所以:GAST=GASTw+ et( 4-25 )式中 e10-5rad/s为地球自转的速率;t 为观测时刻。由式( 4-24 )和( 4-25 ),得 :由( 4-13 )式,得 :其中0oeGASTw , o 、 、 toe 的值可从卫星电文中获取。11. 计算卫星在地心固定坐标系中的直角坐标把卫星在轨道平面直角坐标系中的坐标进行旋转变换,可得出卫星在地心固定坐标系中的三维坐标:
5、12. 卫星在协议地球坐标系中的坐标计算考虑极移的影响,卫星在协议地球坐标系中的坐标为利用 C 语言程序实现#include #include #include #include #define 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, ao
6、dc, wn;/* 参数说明: ADOE值, a0 卫星钟偏差 , a1 卫星钟漂移 , a2 卫星钟频率漂移 , M0 平近点角 ,n 平运动差 , e 偏心率 , a1/2 半长轴的平方根 , 0 轨道平面升交点经度 ,i0 倾角 , 近地点角距 , * 升交点速率 , IDot 倾角速率 , Cuc Cus升交角距的摄动改正项 ,Crc Crs地心距的摄动改正项 , Cic Cis倾角的摄动改正项 ,toe 参考历元 */;void wxzbjx(struct canshu *pt)long double a, n0, n, t, tk, toc, mk, ek, vk, fik, uk
7、, rk, ik;long double xk, yk ,zk, lk;long double XK, YK, ZK;int temp;pt-nian = pt-nian + 2000;t = (long double)(pt -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 = sqrt(WE/(a*a*a);/ 平均角速度 n0n = n0 + pt -dn;tk =
8、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;for(temp=0;tempe * sin(ek);/利用迭代法求偏近点角ekvk = 2 * atan(sqrt(1+ pt -e) / (1 - pt -e)* (tan(ek) / 2 ); fik = vk + pt -w;uk = fik + pt -cuc * cos(2* fik) + pt -cus *
9、sin(2*fik);rk = pt -ga * pt -ga * (1 - pt -e * ek) + pt -crc * cos(2* fik) + pt -crs * sin(2*fik);ik = pt -io + pt -cic * cos(2 * fik) + pt -cis * sin(2* fik) + pt -ii * tk; xk = rk * cos(uk);yk = rk * sin(uk);zk = 0;lk = pt -pio + (pt -pid - WE) * tk - WE * pt-toe;XK = xk * cos(lk) - yk * cos(ik) *
10、 sin(lk);YK = xk * sin(lk) + yk * cos(ik) * cos(lk);ZK = yk * sin(ik);printf(n%d 年 %d 月%d 号%d 时%.2f 秒 %d 号卫星的坐标 :, pt-nian, pt-yue ,pt-ri , pt-shi ,pt-miao, pt-prn);printf(nXk = %.9fnYk= %.9fnZK = %.9fnn, XK, YK, ZK);int main(void)FILE *fp, *fp1, *fp2;struct canshu a;int i=0, hanhao = 1;long double
11、temp1, temp2, temp3, temp5, temp4, temp6, temp7; char ch, ch1;星历文件 guangboxingli2.txt, r) = NULL)/ 请自定义星历文件位置及名称printf( 文件无法打开! );exit(0);else星历文件 guangboxingli2fu.txt, w) = NULL)printf( 文件无法打开! );exit(0);elsewhile(ch1 = fgetc(fp1) != EOF)if(ch1 = n)i +;putchar(ch1);if(i = 15)break;while(!feof(fp1)c
12、h1=fgetc(fp1);if(ch1 = D)ch1 = e;fputc(ch1,fp2);fclose(fp1);fclose(fp2);printf( 以上是星历文件的头文件!n);system(pause);printf( 读取文件参数数据 n !);星历文件 guangboxingli2fu.txt, r) = NULL) / 创建计算结果文档printf( 文件无法打开! );exit(0);while(!feof(fp)switch(hanhao)case 1:fscanf(fp,n%d%d%d%d%d%d%lf %le %le %le, &a.prn, &a.nian, &a
13、.yue, &a.ri, &a.shi,&a.fen, &a.miao, &a.a0, &a.a1, &a.a2);printf(%d %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 2:fscanf(fp,%le %le %le %le, &a.adoe, &a.crs, &a.dn,&a.mo);printf(n%le %le %le %le, a.adoe, a.crs, a.dn, a.mo); hanhao+;c
14、ase 3:fscanf(fp,%le %le %le %le, &a.cue, &a.e, &a.cus,&a.ga);printf(n%le %le %le %le, a.cue, a.e, a.cus, a.ga); hanhao+;case 4:fscanf(fp,%le %le %le %le, &a.toe, &a.cic, &a.pio,&a.cis);printf(n%le %le %le %le, a.toe, a.cic, a.pio, a.cis); hanhao+;case 5:fscanf(fp,%le %le %le %le, &a.io, &a.crc, &a.w,&a.pid);printf(n%le %le %le %le, a.io, a.crc, a.w, a.pid);hanhao+;case 6:fscanf(fp,%le %le %le %le, &a.ii, &temp1, &a.wn,&temp2);printf(n%le %le %le %le, a.ii, temp1, a.wn, temp2); hanhao+;case 7:fscanf(fp,%le %le %le %le, &temp3, &temp4, &temp5,&a.aodc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 25069-2022信息安全技术 术语》宣贯培训
- 平车搬运技巧与基础护理安全
- 乌鲁木齐市天山区城市行道树树种应用现状调查与分析
- 《JCT 171.2-2019涂覆玻璃纤维布 第2部分聚四氟乙烯乳液涂覆玻璃纤维布》专题研究报告
- 主题5 常见天气系统教学设计-2025-2026学年高中地理选择性必修1中图中华地图版
- 基层群众自治组织负责人年终总结
- 任务二 鞋带自己系说课稿2025年小学劳动一年级上册浙教版《劳动》
- 二下单元基础默写5
- 基于分子印迹和阵列传感技术的微囊藻毒素分析研究
- 2型糖尿病下肢动脉粥样硬化早期筛查方法研究
- DB51-T 2868-2022 机关事务应急保障规范
- 敦煌曲子戏研究报告
- 新疆2022年中考数学试卷(含答案)
- 人教部编版小学语文说明文阅读专项练习(一)(含答案)
- NB-T35026-2022混凝土重力坝设计规范
- LYT 2085-2013 森林火灾损失评估技术规范
- 怎样才能做到有效巡视病房
- 教师专业发展PPT完整全套教学课件
- 八年级国家义务教育质量监测德育考核试题
- 气体充装站试生产方案
- 《幼儿园游戏化美术教育活动的实践研究》结题报告
评论
0/150
提交评论