本文是一个资源汇总和学习总结,这里的参考资料包括
GPS从入门到放弃(六)、开普勒轨道参数
https://blog.youkuaiyun.com/hltt3838/article/details/120501755
卫星位置计算基础讲解
https://zhuanlan.zhihu.com/p/146359075
Matlab解决卫星位置计算和可见性分析
https://zhuanlan.zhihu.com/p/569208023
GPS广播星历参数共有16个,其中包括1个参考时刻,6个对应参考时刻的开普勒轨道参数和9个反映摄动力影响的参数,这些数据一般以RINEX格式的文件进行传递,导航电文文件扩展名为:.n。
RINEX数据的格式如下:
第一列只在第一行存放PRN,后面全空。
第一行第二列往后依次是toc(时钟时间,对应年月日时分秒)、a0(卫星钟差)、a1(卫星钟数)、a2(卫星钟数变化率)。
第二行第二列往后依次是IODE(数据龄期)、Crs、Delta_n(由精密星历计算得到的卫星平均角速度与按给定参数计算所得的平均角度速度之差)、M0(参考时刻的平近点角)。
第三行第二列往后依次是Cuc、e(轨道偏心率)、Cus、sqrt(A)(轨道长半轴的平方根)。
第四行第二列往后依次是toe(星历参考时刻)、Cic、OMEGA(参考时刻的升交点赤经)、Cis。 第五行第二列往后依次是i0(参考时刻的轨道倾角)、Crc、omega(近地点角距)、OMEGA_DOT(升交点赤经变化率)。
第六行第二列IDOT(轨道倾角变化率)。以上为卫星位置计算需要用到的数据。
这些参数通过GPS卫星发射的含有轨道信息的导航电文传递给用户。
时间信息:
- 星历参考时刻
卫星轨道的关键参数主要包括以下几个:
- 轨道半长轴 (A): 轨道椭圆的半长轴是轨道的主要尺度,决定了轨道大小。
- 轨道偏心率 (e): 描述轨道椭圆形状,e=0表示圆形轨道,e<1表示椭圆形轨道。
- 轨道倾角 (i): 轨道平面相对于地心赤道面的倾角。
- 升交点赤经 (Ω): 轨道平面与赤道平面的交点在赤道上的经度。
- 近地点幅角 (ω): 描述近地点相对于升交点的角度。
- 真近点角 (ν): 描述卫星在椭圆轨道上相对于近地点的角度,提供了卫星在轨道上的具体位置信息。
需要注意的是,真近点角一般通过进行迭代求解平近点角后,通过平近点角进行计算。
9个反映摄动力影响的参数:
- 平运动差(由精密星历计算得到的卫星平均角速度与按给定参数计算所得的平均角速度之差)
- 轨道倾角变化率(弧度/秒)
- 升交点赤经变化率(弧度/秒)
- 纬度幅角的余弦调和项改正的振幅(弧度)
- 纬度幅角的正弦调和项改正的振幅(弧度)
- 轨道半径的余弦调和项改正的振幅(m)
- 轨道半径的正弦调和项改正的振幅(m)
- 轨道倾角的余弦调和项改正的振幅(弧度)
- 轨道倾角的正弦调和项改正的振幅(弧度):
以下是引用 知乎虞於同学文章的参数说明,原文连接
https://zhuanlan.zhihu.com/p/56920802
下图是各轨道参数定义的示意图:
平近点角计算真近点角的具体的计算参数如下:
其他的步骤在几篇引用的文章里都有详细的介绍并提供了代码,见文章开头的入口。