- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言计算GPS卫星位置
1概述
在用GPS信号进行导航定位以及制订观测计划时,都必须已知 GPS卫星在空间的瞬间
位置。卫星位置的计算是根据卫星电文所提供的轨道参数按一定的公式计算的。本节专门 讲解观测瞬间 GPS卫星在地固坐标系中坐标的计算方法。
2卫星位置的计算
1. 计算卫星运行的平均角速度 n
根据开普勒第三定律,卫星运行的平均角速度 nO可以用下式计算:
式中□为 WGS-84坐标系中的地球引力常数,且 卩=3.986005 X 1014mi/s 2O平均角速度 no加上卫星电文给出的摄动改正数 △ n,便得到卫星运行的平均角速度 n
n二e+A n (4-12)
2. 计算归化时间t k
首先对观测时刻t作卫星钟差改正
t=t - A t
t =ao a1(t—t°c) a2(t—t°c)2
然后对观测时刻t归化到GPS时系
t k=t-t oc (4-13)
式中t k称作相对于参考时刻 toe的归化时间(读者注意:toc工toe)O
3. 观测时刻卫星平近点角 M的计算
M=M+ntk (4-14)
式中M是卫星电文给出的参考时刻 toe的平近点角。
4. 计算偏近点角E
E=M+esinEk(Ek,Mk以弧度计) (4-15)
上述方程可用迭代法进行解算,即先令 E=M,代入上式,求出 Ek再代入上式计算,因
为GPS卫星轨道的偏心率 e很小,因此收敛快,只需迭代计算两次便可求得偏近点角 云。
5. 真近点角W的计算
由于:
cosVk = (cosEk-e); (1 -ecosEk) 4T6
sinVk =arctg J-e2 sin Ek .(cosEk-e)
(4 - 19)
3为卫星电文给出的近地点角距。
7. 摄动改正项S u, S r, S i的计算
6 =6。8S(2%)+Cus Sin(2 %厂
-rr =Crc cos(2 Q Crs Sin(2 k) (4—20)
6 ri = Cic cos(2 % ) + Cis sin(2 % )
S u, S r, S i分别为升交距角 u的摄动量,卫星矢径 r的摄动量和轨道倾角 i
的摄动量。
8. 计算经过摄动改正的升交距角 uk、卫星矢径rk和轨道倾角ik
rk = a(1 -ecosEk) 、r
ik = i0 、 : ltk
9. 计算卫星在轨道平面坐标系的坐标
卫星在轨道平面直角坐标系(X轴指向升交点)中的坐标为
xk = rk cosuk yk Fsinuk
10. 观测时刻升交点经度 Q k的计算
升交点经度Qk等于观测时刻升交点赤经 Q (春分点和升交点之间的角距)与格林泥治 视恒星时GAST(春分点和格林尼治起始子午线之间的角距)之差,
又因为:
(4-24)
其中Q oe为参与时刻t oe的升交点的赤经;
,?是升交点赤经的变化率,卫星电文每小时更新一次 Q和t oe。
此外,卫星电文中提供了一周的开始时刻 tw的格林尼治视恒星时 GAST。由于地球自
转作用,GAST不断增加,所以:
GAST=GASF3 et (4-25 )
式中3e=7x 10-5rad/s 为地球自转的速率;t为观测时刻。
由式(4-24 )和(4-25 ),得:
■\ = ■ 1 oe - GASTW - et
由(4-13 )式,得:
1 = f. 1 0 (门-■ ■ e )t^ -■./: etoe
其中「.b % -GASTw,门o、i ]、toe的值可从卫星电文中获取。
11. 计算卫星在地心固定坐标系中的直角坐标
把卫星在轨道平面直角坐标系中的坐标进行旋转变换,可得出卫星在地心固定坐标系 中的三维坐标:
考虑极移的影响,卫星在协议地球坐标系中的坐标为
0 xJx/I
利用C语言程序实现
#inelude stdio.h
#in elude stri ng.h
#in elude stdlib.h
#in elude math.h
#define u 3.986004418e+14
#defi ne WE 7.292115e-6
struct can shu
{
int 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平近点角,An平运动差,e偏心率,a1/2半长轴的平方根,Q0轨道平面升交点经度
i0倾
文档评论(0)