GNSS 地球自转改正算例分析

文章目录

  • Part.I Introduction
  • Part.II 由地球自转引起的误差的概念和改正方法
    • Chap.I 误差概念
    • Chap.II 改正方法
  • Part.II 算例分析
    • Chap.I 基础数据
    • Chap.II 计算过程
  • Appendix
  • Reference

Part.I Introduction

为了更好地理解 地球自转改正,本文将介绍一个算例。

在这里插入图片描述

Part.II 由地球自转引起的误差的概念和改正方法

Chap.I 误差概念

如下图所示,假设在 t 0 t_0 t0 时刻,卫星的在 E C E F 0 ECEF_0 ECEF0 下的坐标为 ( X 0 S , Y 0 S , Z 0 S ) (X^{S}_0,Y^{S}_0,Z^{S}_0) (X0S,Y0S,Z0S) ,此时它发射了一个信号。信号穿越层层大气,最终在 t 1 t_1 t1 时刻到达地球,被接收机所接收,此时接收机在 E C E F 1 ECEF_1 ECEF1 下的坐标为 ( X R 1 , Y R 1 , Z R 1 ) (X_{R1},Y_{R1},Z_{R1}) (XR1,YR1,ZR1)所有的计算都是在 E C E F 1 ECEF_1 ECEF1 下开展的,存在这样一个矛盾,因此将其称之为地球自转引起的一个误差项。

在这里插入图片描述

Chap.II 改正方法

改正方法有两种

  • §1 改正坐标 :将卫星的坐标从 ( X 0 S , Y 0 S , Z 0 S ) (X^{S}_0,Y^{S}_0,Z^{S}_0) (X0S,Y0S,Z0S) 转换为 ( X R 1 , Y R 1 , Z R 1 ) (X_{R1},Y_{R1},Z_{R1}) (XR1,YR1,ZR1) .
  • §2 改正距离 :看上面的图,接收机是固联在地球上与地球一起转动的(静态情况下),对于卫星而言,接收机在信号传播的过程中有一个旋转。但是从数字层面考量,接收机的坐标并没有发生变化(因为坐标系是地固系),换句话说,信号接收时刻和信号发射时刻,卫星认为接收机的坐标是一样的。通过数据计算得到的卫星至接收机的距离是图中的 ρ \rho ρ ,但是真实的卫星至接收机的距离是 ρ + Δ ρ \rho+\Delta\rho ρ+Δρ !所以,只需要改掉 Δ ρ \Delta\rho Δρ 就行了。

下面只放结论,细节请 移步这里。


改正坐标
[ Δ X S Δ Y S Δ Z 1 S ] ≈ [ α ⋅ Y 0 S − α ⋅ X 0 S 0 ] = [ ω τ ⋅ Y 0 S − ω τ ⋅ X 0 S 0 ] (4) \left[ \begin{array}{ccc} \Delta X^{S} \\ \Delta Y^{S} \\ \Delta Z^{S}_1 \\ \end{array} \right]\approx \left[ \begin{array}{ccc} \alpha\cdot \color{red}Y^{S}_0 \\ - \alpha \cdot \color{red}X^{S}_0 \\ 0 \\ \end{array} \right] = \left[ \begin{array}{ccc} \omega \tau\cdot Y^{S}_0 \\ - \omega \tau \cdot X^{S}_0 \\ 0 \\ \end{array} \right] \tag{4} ΔXSΔYSΔZ1S αY0SαX0S0 = ωτY0SωτX0S0 (4)


改正距离
Δ ρ = ω c [ Y 0 S ( X 0 S − X R 0 ) − X 0 S ( Y 0 S − Y R 0 ) ] (8) \Delta \rho=\frac{\omega}{c}\left[ Y^S_0(X_0^S-X_{R0})- X^S_0(Y_0^S-Y_{R0}) \right]\tag{8} Δρ=cω[Y0S(X0SXR0)X0S(Y0SYR0)](8)

Part.II 算例分析

Chap.I 基础数据

卫星坐标

G03  12712.882254  23247.798196  -2637.709427

接收机坐标

-2267752.0605993434, 5009151.1456511570, 3221301.4797024932

常量

OMEGA = 7292115.1467e-11    # rad/s
CLIGHT = 2.99792458e+8      # m/s

Chap.II 计算过程

卫星至接收机的距离

distance = np.linalg.norm(sat_crd - rec_crd)
# 卫星至接收机的距离:  24318627.829295974 m

信号传播时间

tau = distance / CLIGHT     # [s]
# 信号传播时间:  0.08111821088339712 s

地球自转角度

ang = OMEGA * tau           # [rad]
ang_deg = ang * 180 / G_PI  # [deg]
# 地球旋转角度:  0.00033891790536376496 °

卫星坐标改正量

delta_X_sat = OMEGA * ang * sat_crd[1]
delta_Y_sat = -OMEGA * ang * sat_crd[0]
# 卫星坐标改正量 (delta_X_sat,delta_Y_sat):  (0.010027836078424127, -0.005483646160923473) 
m

卫星至接收机的距离改正量

delta_rho = OMEGA / CLIGHT * (
    sat_crd[1] * (sat_crd[0] - rec_crd[0]) - 
    sat_crd[0] * (sat_crd[1] - rec_crd[1])
)
# 卫星至接收机的距离改正量:  28.313234929582023 m

可见,由于地球自转,对于此颗星的距离量测有 28 m 误差之多!

Appendix

所用源码如下:

import numpy as np

def compute():
    # Initail value
    sat_crd = np.array([12712882.254, 23247798.196, -2637709.427])
    rec_crd = np.array([-2267752.0605993434, 5009151.1456511570, 3221301.4797024932])
    OMEGA = 7292115.1467e-11    # [rad/s]
    CLIGHT = 2.99792458e+8      # [m/s]
    G_PI = 3.14159265358979311599796346854419e0
    # Calculate
    distance = np.linalg.norm(sat_crd - rec_crd)
    tau = distance / CLIGHT     # [s]
    ang = OMEGA * tau           # [rad]
    ang_deg = ang * 180 / G_PI  # [deg]
    delta_X_sat = OMEGA * ang * sat_crd[1]
    delta_Y_sat = -OMEGA * ang * sat_crd[0]
    delta_rho = OMEGA / CLIGHT * (
        sat_crd[1] * (sat_crd[0] - rec_crd[0]) - 
        sat_crd[0] * (sat_crd[1] - rec_crd[1])
    )
    # Output
    print("卫星至接收机的距离: ", distance, "m")
    print("信号传播时间: ", tau, "s")
    print("地球旋转角度: ", ang_deg, "°")
    print("卫星坐标改正量 (delta_X_sat,delta_Y_sat): ", (delta_X_sat, delta_Y_sat), "m")
    print("卫星至接收机的距离改正量: ", delta_rho, "m")

Reference

  • Kaplan E D , Hegarty C .Understanding GPS/GNSS: Principles and Applications[M]. 2017.
  • 地球自转改正(附图文)
  • 【GNSS】地球自转改正

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

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

相关文章

手动交互式选点提取三维点云轮廓边界线 附python代码

一种新的三维点云轮廓边界提取方案: 1 手动选择一个边界或者其附近的点 2 自动搜索临近区域,并找到附近的平面和进行平面分割 3 提取平面的交点 4 该交点就是点云的轮廓边界点,把它往两边延展,就是完整的点云轮廓边界 import open3d as o3d import numpy as np import …

Java模块化系统:引领代码革命与性能飞跃

JDK工程结构的问题 在说Java模块化系统之前,先来说说Java9之前的JDK在工程结构上的问题,从JDK本身的问题说起,Java从1996年发布第一版到2017年发布Java9,中间经历了近20年的时间,在这期间发布了无数个大大小小的版本用…

RESTFul风格设计和实战

四、RESTFul风格设计和实战 4.1 RESTFul风格概述 4.1.1 RESTFul风格简介 RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量级的通信协议&#x…

YAML如何操作Kubernetes核心对象

Pod Kubernetes 最核心对象Pod Pod 是对容器的“打包”,里面的容器(多个容器)是一个整体,总是能够一起调度、一起运行,绝不会出现分离的情况,而且 Pod 属于 Kubernetes,可以在不触碰下层容器的…

存储或读取时转换JSON数据

一、 数据库类型 二、使用Hutool工具 存储时将数据转换为JSON数据 获取时将JSON数据转换为对象 发现问题: 原本数据对象是Address 和 Firend但是转换完成后数据变成了JSONArray和JSONObject 三、自定义TypeHandler继承Mybatis的BaseTypeHandler处理器 package …

Feign 和 OpenFeign 的区别

Feign 和 OpenFeign 都是用来进行服务间调用的客户端库,它们旨在简化HTTP API客户端的编写过程,使得编写对外部服务的接口就像调用本地方法一样简单。尽管它们有相似之处,但也存在一些关键差异: 归属和演进: Feign 最初…

硬件设计计划与APQP

硬件设计的关键节点: 大的里程碑milestone分为: Kickoff->A Samples->做出第一批B样总成件->B Samples/OTS->C Samples->PPAP->SOP 具体到硬件,A/B/C sample阶段,又可细分为: 关键器件选型&硬件系统方案设计原理图绘制PCB LayoutA_BOM输出PCB制板…

3. 深度学习笔记--优化函数

深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、Adagrad、Adadelta、RMSprop、Adam、Nadam、AdaMax、AdamW ) 0. GD (梯度下降) Gradient Descent(梯度下降)是一种迭代优化算法&#xf…

FreeRTOS内存管理(1-20)

FreeRTOS内存管理简介 在使用FreeRTOS创建任务,队列,信号量等对象时,一般都提供两种方法 1:动态创建任务(方法)自动地从FreeRTOS管理的内存堆中申请创建对象所需要的内存,并且在删除对象后可以…

九州金榜|孩子沉迷于网络:家庭教育的挑战与对策

随着时代的进步,科技的发展,网络现在成为了我们日常生活不可分割的一部分。然而,随着网络的普及也出现了一些列的问题,其中孩子沉迷于网络就是当前家长最为关心的问题,对于这种情况的发生,家庭教育就显得尤…

Linux主机重启后报错:[FAILED] Failed to start Switch Root.

一、问题描述 某次云主机因计费问题,导致批量重启,重启后发现某台云主机竟进入紧急救援模式(emergency模式),如下所示: 二、原因及处理 1)原因:加载根分区失败,导致无…

Libcity笔记:原子文件

1 介绍 Libcity中的数据以原子文件的形式存在 2 原子文件类别 对于不同的交通预测任务,可能用到不同的原子文件,同一个数据集不一定包含全部六种原子文件 网格数据需要按照先行后列的顺序遍历OD数据需要按照先起点后终点的顺序遍历 2.1 geo 存储地理…

Netty 实现dubbo rpc

一、RPC 的基本介绍 RPC (Remote Procedure Call) 远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外的为这个交互编程。也就是说可以达到两个或者多个应用程序部署在不同的服务器上&…

OpenCV 入门(七)—— 身份证识别

OpenCV 入门系列: OpenCV 入门(一)—— OpenCV 基础 OpenCV 入门(二)—— 车牌定位 OpenCV 入门(三)—— 车牌筛选 OpenCV 入门(四)—— 车牌号识别 OpenCV 入门&#xf…

德国韦纳WENAROLL滚压刀,液压缸,滚光刀,挤压刀,滚轧刀

德国韦纳WENAROLL滚压刀,液压缸,滚光刀,挤压刀,滚轧刀(百度一下,西安尚融) 德国韦纳(WENAROLL)的滚压刀、液压缸、滚光刀、挤压刀和滚轧刀在工业领域享有很高的声誉,这些产品因其高…

SM618卡件SM480模块和利时

SM618卡件❗电:183-6998-1851❗SM480模块和利时。自动化程度的提高,I/O点数大幅增 加,传统单一配线的方式已经无法满足发展的需 要SM618卡件SM480模块和利时。.对简单、可靠的配线方式的需求日益强烈. 传统接线 - 以并联方式连 接…

C# WinForm —— 12 ListBox绑定数据

ListBox加载大量数据时,避免窗体闪烁的方法: 在加载语句的前后分别加上 BeginUpdate()方法 和 EndUpdate()方法 指定一个集合为绑定的数据源 1. 首先,右键项目,添加类 2. 在新建的类文件中添加属性值信息 3. 构建初始化的对象…

访问学者在外访学期间,是否可以中途回国?

在全球化的今天,访问学者制度已成为促进国际学术交流与合作的重要桥梁。然而,对于许多国外访问学者来说,一个常见的问题是:在访学期间,我是否可以中途回国?这个问题涉及到多个方面,包括政策法规…

7步教程从零开始搭建跨境电商平台开发

跨境电商平台开发一直是创业者们追逐的热门领域之一。本文将为您提供一个7步教程,帮助您从零开始搭建跨境电商平台,让您在这个充满机遇的领域中抢占先机。 步骤一:市场调研和定位 在开始搭建跨境电商平台之前,第一步是进行充分的…

大数据与会计专业主要学什么课程

大数据与会计专业是一个结合了传统会计知识与现代大数据技术的交叉学科,旨在培养既懂会计又熟悉大数据分析的复合型人才。该专业的学生将会学习以下主要课程内容: 会计基础课程:包括基础会计、财务会计、成本会计、管理会计等,这些…
最新文章