使用广播星历进行 GPS 卫星位置的计算

目录

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

2.计算观测瞬间卫星的近地点角

3.计算偏近点角

4.计算真近点角 f

5.计算升交角距 

6.计算摄动改正项

7.进行摄动改正 

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

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

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

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


使用广播星历进行GPS卫星位置的计算的详细步骤如下:

关于在广播星历中各参数的分布情况可以参考下图:

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

首先根据广播星历中给出的参数 \sqrt{A} 计算参考时刻(TOE) t_{oe} 的平均角速度 n_{0}

n_{0} = \frac{\sqrt{GM}}{(\sqrt{A})^{3}}

式中,GM为万有引力常数 G 与地球总质量 M 之乘积,其值为 GM = 3.986005 \times 10^{14} m^{3} / s^{2}然后根据广播星历中给定的摄动参数 \Delta n 计算观测时刻卫星的平均角速度 n

n = n_{0} + \Delta n 

注:观测时刻:地面站观测的时间;参考时刻:卫星发出信号的时间

2.计算观测瞬间卫星的近地点角

式中,M_{0} 为参考时刻 t_{oe} 时的平近点角,由广播星历给出。

问:为什么要用参考时刻 t_{oe} 来替代卫星过近地点时刻 t_{0} 来计算呢?

答:因为广播星历每 2h  更新一次,将参考时刻设在中央时刻时,外推间隔小于等于 1h。而卫星的运行周期为 12h 左右,采用卫星过近地点时刻 t_{0} 来计算时,外推间隔最大有可能达 6h 。用 t_{oe} 来取代卫星过近地点时刻 t_{0} 后,外推间隔将大大减小,用较简单的模型也能获得精度较高的结果

3.计算偏近点角

弧度表示的开普勒方程为:

角度表示的开普勒方程为:

        

解上述方程可用迭代法或微分改正法。

4.计算真近点角 f

式中,e 为卫星轨道的偏心率,由广播星历给出。

所以,真近点角 f 可以表示为:

5.计算升交角距 u^{'}

式中,\omega 为近地点角距,由广播星历给出。

6.计算摄动改正项 \delta _{u} 、\delta _{r} 、\delta _{i}

广播星历中给出了下列6个摄动参数

据此可以求出引起的升交角距 u 的摄动改正项 \delta _{u}卫星矢径 r 的摄动改正项 \delta _{r}卫星轨道倾角 i 的摄动改正项 \delta _{i}

卫星矢径 r :接收机与卫星之间的绝对距离(直线距离),以米为单位。

计算公式如下: 

7.对 u^{'} 、r^{'} 、i_{0}^{'} 进行摄动改正 

式中,a 为卫星轨道的长半径,a = (\sqrt{A})^{2}\sqrt{A} 由广播星历给出;

          i_{0} 为 t_{oe} 时刻的轨道倾角,由广播星历中的开普勒六参数给出;

          \frac{di}{dt} 为轨道倾角 i 的变化率,由广播星历中的摄动九参数给出。

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

轨道平面直角坐标系中(坐标原点位于地心, 轴指向升交点),

卫星的平面直角坐标为:

卫星矢径 r 、升交角距 u

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

参考时刻 t_{oe} 时升交点的赤经为 \Omega _{t_{oe}} , 升交点对时间的变化率为 \dot{\Omega } ,

那么观测瞬间 t 升交点赤经 \Omega 应为:

\dot{\Omega }  可从广播星历的摄动参数中给出。

本周开始时刻(星期日 0 时)格林尼治恒星时为 GAST_{week} ,则观测瞬间的格林尼治恒星时为:

其中,\omega _{e} 为地球自转角速度,其值为 \omega _{e} = 7.292115 \times 10^{-5} rad/s

t 为本周内的时间(s),从本周开始时刻起算至本周观测时刻瞬间的秒数

显然,上述算法中把地球自转看成是完全匀速的,未顾及地球自转的不均匀性。

这样就可以求得观测瞬间升交点的经度值 L 

令:

则有:

注意:广播星历中给出的并不是参考时刻 t_{oe} 的升交点赤经 \Omega _{t_{oe}} ,而是该值与本周起始时刻的格林尼治恒星时 GAST_{week} 之差(即上述的 \Omega _{0} )。

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

已知升交点的大地经度 L 以及轨道平面的倾角 i 后,

就可通过两次旋转方便地求得卫星在地固坐标系中的位置:

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

观测瞬间卫星在协议地球坐标系中的位置为:

在GPS定位中,常常需要多次计算卫星的位置和速度如用上述方法计算需占用较多的内存和计算时间。为此,常将卫星星历用一个时间多项式来表示,在内存中仅保存该多项式的系数,供计算时调用。

在各种多项式中,切比雪夫多项式的拟合效果最佳,即使在该时间段的两端近似性也很好。用 n 阶切比雪夫多项式来逼近时间段 \left [t_{0} , t_{0} + \Delta t \right ] 中的卫星星历时,先将变量 t \epsilon \left [t_{0} , t_{0} + \Delta t \right ] 变换为变量 \tau \epsilon \left [-1,1\right ] :

于是卫星坐标就可以表示为:

式中,n 为多项式的阶数,C_{x_{i}} 为切比雪夫多项式的系数。
根据已知的卫星坐标,用最小二乘法拟合出多项式系数 C_{x_{i}} ,就可用上式计算出该时段中任一时刻的卫星位置。

切比雪夫多项式 T_{i} 的递推公式如下:

广播星历卫星导航系统中用于描述卫星位置和速度的信息集合。通过广播星历,可以计算卫星在任意时刻的坐标。以下是广播星历计算卫星坐标的基本步骤: 1. **获取广播星历数据**:这些数据通常由卫星导航系统(如GPS、GLONASS、BeiDou等)通过无线电信号广播,包含卫星的轨道参数、时钟校正参数等信息。 2. **解析广播星历数据**:从广播信号中提取出轨道参数和时钟校正参数。这些参数包括: - 轨道半长轴(a) - 轨道偏心率(e) - 轨道倾角(i) - 升交点赤经(Ω) - 近地点角距(ω) - 平近点角(M) - 时钟校正参数(a0, a1, a2) 3. **计算卫星的平均运动(n)**: \[ n = \sqrt{\frac{\mu}{a^3}} \] 其中,\(\mu\) 是地球引力常数,\(a\) 是轨道半长轴。 4. **计算卫星的平近点角(M)**: \[ M = M_0 + n(t - t_{oe}) \] 其中,\(M_0\) 是参考时间的平近点角,\(t\) 是当前时间,\(t_{oe}\) 是星历参考时间。 5. **求解开普勒方程**,得到偏近点角(E): \[ M = E - e \sin E \] 这通常通过迭代法求解。 6. **计算真近点角(v)**: \[ v = 2 \arctan \left( \sqrt{\frac{1+e}{1-e}} \tan \frac{E}{2} \right) \] 7. **计算卫星在轨道平面内的坐标**: \[ r = a(1 - e \cos E) \] \[ x_{orb} = r \cos v \] \[ y_{orb} = r \sin v \] \[ z_{orb} = 0 \] 8. **计算卫星在惯性坐标系中的坐标**: \[ \begin{pmatrix} x_{ECI} \\ y_{ECI} \\ z_{ECI} \end{pmatrix} = \begin{pmatrix} \cos \Omega & -\sin \Omega & 0 \\ \sin \Omega & \cos \Omega & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \cos \omega & -\sin \omega & 0 \\ \sin \omega & \cos \omega & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \cos i & -\sin i & 0 \\ \sin i & \cos i & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x_{orb} \\ y_{orb} \\ z_{orb} \end{pmatrix} \] 9. **考虑地球自转**,将惯性坐标系中的坐标转换为地心地固坐标系(ECEF): \[ \begin{pmatrix} x_{ECEF} \\ y_{ECEF} \\ z_{ECEF} \end{pmatrix} = \begin{pmatrix} \cos \theta & \sin \theta & 0 \\ -\sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x_{ECI} \\ y_{ECI} \\ z_{ECI} \end{pmatrix} \] 其中,\(\theta\) 是地球自转角度。 通过以上步骤,可以计算卫星在任意时刻的坐标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code_ADing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值