您所在位置: 网站首页 / C语言计算GPS卫星位置.docx / 文档详情
C语言计算GPS卫星位置.docx 立即下载
2024-09-09
约4.8千字
约11页
0
35KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言计算GPS卫星位置.docx

C语言计算GPS卫星位置.docx

预览

免费试读已结束,剩余 6 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

/NUMPAGES11
C语言计算GPS卫星位置
1概述
在用GPS信号进行导航定位以与制订观测计划时,都必须已知GPS卫星在空间的瞬间位置。卫星位置的计算是根据卫星电文所提供的轨道参数按一定的公式计算的。本节专门讲解观测瞬间GPS卫星在地固坐标系中坐标的计算方法。
2卫星位置的计算
1.计算卫星运行的平均角速度n
根据开普勒第三定律,卫星运行的平均角速度n0可以用下式计算:

式中μ为WGS-84坐标系中的地球引力常数,且μ=3.986005×1014m3/s2。平均角速度n0加上卫星电文给出的摄动改正数Δn,便得到卫星运行的平均角速度n
n=n0+Δn(4-12)
2.计算归化时间tk
首先对观测时刻t′作卫星钟差改正
t=t′-Δt

然后对观测时刻t归化到GPS时系
tk=t-toc(4-13)
式中tk称作相对于参考时刻toe的归化时间(读者注意:toc≠toe)。
3.观测时刻卫星平近点角Mk的计算
Mk=M0+ntk(4-14)
式中M0是卫星电文给出的参考时刻toe的平近点角。
4.计算偏近点角Ek
Ek=Mk+esinEk(Ek,Mk以弧度计)(4-15)
上述方程可用迭代法进行解算,即先令Ek=Mk,代入上式,求出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不断增加,所以:
GAST=GASTw+ωet(4-25)
式中ωe=7.29211567×10-5rad/s为地球自转的速率;t为观测时刻。
由式(4-24)和(4-25),得:

由(4-13)式,得:

其中,、、的值可从卫星电文中获取。
11.计算卫星在地心固定坐标系中的直角坐标
把卫星在轨道平面直角坐标系中的坐标进行旋转变换,可得出卫星在地心固定坐标系中的三维坐标:

12.卫星在协议地球坐标系中的坐标计算
考虑极移的影响,卫星在协议地球坐标系中的坐标为


利用C语言程序实现
#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<math.h>

#defineu3.986004418e+14

#defineWE7.292115e-6

structcanshu
{
	intprn,nian,yue,ri,shi,fen;//卫星PRN号,年,月,日,时,分
	doublemiao;//秒
	longdoubleadoe,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倾角速率,CucCus升交角距的摄动改正项,	CrcCrs地心距的摄动改正项,CicCis倾角的摄动改正项,
	toe参考历元*/

};

voidwxzbjx(structcanshu*pt)
{
	longdoublea,n0,n,t,tk,toc,mk,ek,vk,fik,uk,rk,ik;
longdoublexk,yk,zk,lk;
	longdoubleXK,YK,ZK;
	inttemp;

	pt->nian=pt->nian+2000;
	t=(longdouble)(((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
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

C语言计算GPS卫星位置

文档大小:35KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用