(二)GNSS定位中的卫星轨道位置计算

根据广播星历计算卫星位置

广播星历为n,p,g为后缀的文件,精度在分米到米级,常常用在spp定位中。

计算卫星运动的平均角速度

首先根据广播星历给出的参数 A \sqrt A A 计算参考时刻 t o e {t_{oe}} toe的平均角速度 n 0 {{\rm{n}}_0} n0 n 0 = G M ( A ) 3 {{\rm{n}}_0} = {{\sqrt {GM} } \over {{{(\sqrt A )}^3}}} n0=(A )3GM G是万有引力常数,M是地球总质量,GM=3.986005×10^14。
再根据广播星历中给定的摄动参数n’计算观测时刻卫星的平均角速度: n = n 0 + n ’ n = {n_0} + n’ n=n0+n

计算观测瞬间的平近点角M

M = M 0 + n ( t − t o e ) M = {M_0} + n(t - {t_{oe}}) M=M0+n(ttoe)M0为参考时刻 t o e {t_{oe}} toe的平近点角,由广播星历给出。
这里用参考时刻而不用近地点时刻的原因:广播星历每两小时更新一次,将参考时刻设置在中间时刻,则外推时间间隔均小于等于1小时,如果用近地点时刻,外推可能达到6小时。简单模型也可获得精度较高的结果。

计算偏近点角M

弧度表示的开普勒方程: E = M + e sin ⁡ E E = M + e\sin E E=M+esinE角度表示的开普勒方程: E ∘ = M ∘ + ρ ⋅ e sin ⁡ E ∘ {E^ \circ } = {M^ \circ } + \rho \cdot e\sin {E^ \circ } E=M+ρesinE

计算真近点角

cos ⁡ f = cos ⁡ E − e 1 − e cos ⁡ E \cos f = {{\cos E - e} \over {1 - e\cos E}} cosf=1ecosEcosEe sin ⁡ f = 1 − e 2 sin ⁡ E 1 − e cos ⁡ E \sin f = {{\sqrt {1 - {e^2}} \sin E} \over {1 - e\cos E}} sinf=1ecosE1e2 sinEe为卫星轨道的偏心率,由广播星历给出. f = arctan ⁡ 1 − e 2 sin ⁡ E cos ⁡ E − e f = \arctan {{\sqrt {1 - {e^2}} \sin E} \over {\cos E - e}} f=arctancosEe1e2 sinE

计算升交角距

u ′ = ω + f u' = \omega + f u=ω+f ω \omega ω为近地点角距,由广播星历给出。

计算摄动改正项

广播星历中给出了6个摄动参数: C u c , C u s , C r c , C r s , C r s , C i s {C_{uc}},{C_{us}},{C_{rc}},{C_{rs}},{C_{rs}},{C_{is}} Cuc,Cus,Crc,Crs,Crs,Cis
可以求出由J2项而引起的升交角距u的改正项、卫星矢径r的改正项和卫星轨道倾角i的摄动改正项 δ u = C u c cos ⁡ 2 u ′ + C u s sin ⁡ 2 u ′ {\delta _u} = {C_{uc}}\cos 2u' + {C_{us}}\sin 2u' δu=Cuccos2u+Cussin2u δ r = C r c cos ⁡ 2 u ′ + C r s sin ⁡ 2 u ′ {\delta _r} = {C_{rc}}\cos 2u' + {C_{rs}}\sin 2u' δr=Crccos2u+Crssin2u δ i = C i c cos ⁡ 2 u ′ + C i s sin ⁡ 2 u ′ {\delta _i} = {C_{ic}}\cos 2u' + {C_{is}}\sin 2u' δi=Ciccos2u+Cissin2u

进行摄动改正

u = u ′ + δ u u = u' + {\delta _u} u=u+δu r = u ′ + δ r = a ( 1 − e cos ⁡ E ) + δ r r = u' + {\delta _r} = a(1 - e\cos E) + {\delta _r} r=u+δr=a(1ecosE)+δr i = i 0 + δ i + d i d t ( t − t o e ) i = {i_0} + {\delta _i} + {{di} \over {dt}}(t - {t_{oe}}) i=i0+δi+dtdi(ttoe)a为卫星轨道长半径,i0为参考时刻 t o e {t_{oe}} toe 的轨道倾角,由广播星历中的开普勒六参数给出,di/dt为i的变化率,由广播星历中的摄动九参数给出。

计算卫星在轨道面坐标系中的位置

轨道平面直角坐标系中(坐标原点位于地心,X轴指向升交点)卫星的平面直角坐标系:
x = r cos ⁡ u {\rm{x}} = r\cos u x=rcosu y = r sin ⁡ u y = r\sin u y=rsinu

计算观测瞬间升交点的经度L

若参考时刻 t o e {t_{oe}} toe 时升交点赤经为 Ω t o e {\Omega _{{t_{oe}}}} Ωtoe,升交点对时间的变化率为 Ω ˙ \dot \Omega Ω˙(从广播星历的摄动参数中给出),则观测瞬间t的升交点赤经为: Ω = Ω t o e + Ω ˙ ( t − t o e ) \Omega = {\Omega _{{t_{oe}}}} + \dot \Omega (t - {t_{oe}}) Ω=Ωtoe+Ω˙(ttoe)设本周开始时刻(星期日0时)格林尼治恒星时为 G A S T w e e k GAS{T_{week}} GASTweek,观测瞬间时间为 G A S T = G A S T w e e k + w e t GAST = GAS{T_{week}} + {w_e}t GAST=GASTweek+wet w e {w_e} we=7.292115×10^-5rad/s,为地球自转速度;t为周内秒,假设地球自转为完全匀速,则 L = Ω − G A S T = Ω t o e − G A S T w e e k + Ω ˙ ( t − t o e ) − w e t = Ω 0 + ( Ω ˙ − w e ) t − Ω ˙ t o e L = \Omega - GAST = {\Omega _{{t_{oe}}}} - GAS{T_{week}} + \dot \Omega (t - {t_{oe}}) - {w_e}t = {\Omega _0} + (\dot \Omega - {w_e})t - \dot \Omega {t_{oe}} L=ΩGAST=ΩtoeGASTweek+Ω˙(ttoe)wet=Ω0+(Ω˙we)tΩ˙toe广播星历中给出的 Ω 0 {\Omega _0} Ω0,即与本周开始时刻之差。

计算卫星在瞬时地球坐标系中的位置

通过两次旋转求解
在这里插入图片描述

计算卫星在协议地球坐标系中的位置

在这里插入图片描述
在定位中,常常需要多次计算卫星的位置和速度,每个历元都如上述计算则需要占用较多的内存和计算时间。常常用多项式来拟合时间上的卫星坐标,这样只需要保存系数即可。切比雪夫多项式拟合效果最佳,且两端的近似性很好。

精密星历计算卫星位置

精密星历也称为精密轨道,为sp3文件。精度可以达到毫米级。
通常是15min来给出卫星在空间的三维坐标、三维运动速度及卫星钟改正数等。观测瞬间卫星位置及运动速度采用内插法,常用拉格朗日内插。

  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值