使用广播星历进行 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} 的递推公式如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/247560.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matlab simulink PLL学习笔记

本文学习内容:【官方】2022小迈步之 MATLAB助力芯片设计系列(一):电路仿真与模数混合设计基础_哔哩哔哩_bilibili 所用规格书:https://store.skyworksinc.com/datasheets/skyworks/sky73134_11.pdf 本文所用simulink…

【无标题】创新蓄势!安全狗多项技术获颁专利

近日,安全狗《一种网络安全监测方法、终端设备及存储介质》、《一种恶意进程风险等级评估方法、终端设备及存储介质》等多项专利顺利通过了国家知识产权局的相关审核认证,并获得了发明专利证书。 厦门服云信息科技有限公司(品牌名&#xff1a…

Mistral AI发布开放权重的高质量SMoE模型Mixtral 8x7B

🦉 AI新闻 🚀 开源MoE大模型震惊开源社区 摘要:上周末,Mistral开源了一款震惊开源社区的MoE大模型。MoE是一种神经网络架构设计,能够提升大语言模型的性能。通过使用MoE,每个输入token都可以动态路由到专…

【AutoDL】使用云服务器跑深度学习代码

一、AutoDL租用服务器 1.选用服务器 1.算力市场 租用服务器,选择自己心仪的服务器 2.镜像 可以选择一些基础的镜像,社区镜像里是git上有的环境。 3.上传文件 在文件存储中,选择上传的区,在右边点击上传,选择自己的文…

羊大师提问羊奶养胃,你知道吗?

近年来,人们对于健康的关注逐渐增加,养生已经成为一种时尚。养胃是其中一种重要的养生方式,而羊奶则是备受关注的一种养胃饮品。那么问题来了,羊奶真的能够养胃吗? 羊奶是一种营养丰富的乳制品,与牛奶相比…

记录 | docker报错could not select device driver ““ with capabilities: [[gpu]].

ubuntu18.04 上启动 docker start 报错: could not select device driver “” with capabilities: [[gpu]]. docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]. ERRO[0005] error waiting for container: con…

如何在 JavaScript 中实现任务队列

任务队列的概念 任务队列就是存放任务的队列,队列中的任务都严格按照进入队列的先后顺序执行。 在前一条任务执行完毕后,立即执行下一条任务,直到任务队列清空。 任务队列的基本执行流程如下: 设置任务队列并发数; …

怎么制作GIF动图?教你这几个简单方法

怎么制作gif动图?GIF动图是一种非常有趣且实用的图片格式,它能够以短小精悍的方式展示动画效果,因此在社交媒体和聊天应用中备受追捧。本文将向您介绍几种制作GIF动图的方法,让您轻松制作出自己的动图。 GIF动图制作方法一&#x…

ubuntu pycharm 死机,如何重启

1. 找出pycharm 进程的id 进入命令行: ps -ef 是查看当前运行的进程 值输入 ps -ef 会返回所有当前执行的进程,太多了,过滤一下,找到 pycharm : ps -ef | grep pycharm 2. 使用 kill -s 9 来杀死进程 如图所是,…

WSL的导出与导入

1需求 现在我需要把我在平板上配好的系统导出来,再放到我的笔记本上。 2基本情况 笔记本电脑没装过wsl 平板上配好了wsl,并且里面的ubuntu配好了python环境。 3从平板导出 比较顺利 先关机。 wsl --shutdown 这里后两个我用不到,因为…

交叉销售与场景业务销售运营

交叉销售 交叉销售的定义 交叉销售是一种从横向角度开发产品市场的方式,是营销人员在完成本职工作以后,主动积极的向现有客户、市场等销售其他的、额外的产品或服务。 交叉销售的类型 补充销售 搭配销售个性化推荐奖励推荐 捆绑销售 交叉销售的意义 通过增加客户的转移成本…

Kafka-客户端使用

理解Kafka正确使用方式 Kafka提供了两套客户端API,HighLevel API和LowLevel API。 HighLevel API封装了kafka的运行细节,使用起来比较简单,是企业开发过程中最常用的客户端API。 LowLevel API则需要客户端自己管理Kafka的运行细节&#xf…

全栈开发中的安全注意事项:最佳实践和工具

安全性是当今数字环境中最重要的问题,而在全栈开发中这一点尤为重要。当企业努力创建强大且动态的应用程序时,他们必须应对复杂的安全威胁领域。在本文中,我们将探讨开发人员可以用来确保安全的全栈开发环境的最佳实践和工具。 1.1 全栈开发的…

YOLOv8原理深度解读,超级详细

整体架构 Backbone: Feature Extractor提取特征的网络,其作用就是提取图片中的信息,供后面的网络使用 Neck : 放在backbone和head之间的,是为了更好的利用backbone提取的特征,起着“特征融合”的作用。 Head&#xf…

金蝶云星空协同开发环境应用内执行SQL脚本

文章目录 金蝶云星空协同开发环境应用内执行SQL脚本 金蝶云星空协同开发环境应用内执行SQL脚本

电阻的运用

本文引注 https://baijiahao.baidu.com/s?id1749115196647029942&wfrspider&forpc 一、零欧电阻 在电子电路设计时经常用到的一种元件就是电阻,我们都知道电阻在电路中起到分压限流的作用。然而,实际使用时会用到一种特殊的电阻:零…

mysql数据恢复

使用MySQL第三方工具binlog2sql binlog2sql,一款基于python开发的开源工具,是由大众点评团队的DBA使用python开发出来的,从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。其功…

STM32CubeIDE串口空闲中断实现不定长数据接收

STM32F051空闲中断实现串口不定长数据接收 目的编程软件配置串口开中断中断程序 运行结果碰到的问题 目的 在串口输入不定长数据时,通过串口空闲中断来断帧接收数据。 编程软件 STM32CubeIDE STM32CubeMX配置MCU。通过对端口配置,自动生成程序&#x…

AI抽烟识别系统研发关键

为了设计一个有效的AI抽烟识别系统,我们需要考虑几个关键组成部分:图像捕捉、数据处理、模型训练、以及实际应用场景。下面是这个方案的详细阐述: 1. 图像捕捉与数据收集 摄像头部署:首先,在需要监控的区域安装高分辨…

springboot自定义starter步骤

引入相关依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional> </dependency><dependency><groupId>org.pro…
最新文章