GNSS仿真测试之三种常用坐标系与转换

作者介绍

在当今的全球导航卫星系统(GNSS)技术领域,仿真测试是评估和验证GNSS接收机性能的关键环节,全球导航卫星系统(GNSS)仿真测试是确保GNSS接收机和导航解决方案在实际部署前能够正确、可靠地工作的关键步骤。无论是为了确保定位精度、测试信号干扰的影响,还是评估在复杂环境下的导航可靠性,掌握正确的坐标系知识对于进行有效的仿真测试至关重要。

在GNSS仿真测试的领域,三种关键的坐标系构成了我们工作的核心:地心地固坐标系(ECEF)、地理坐标系(LLA,包括纬度、经度和海拔高度)以及本地水平坐标系(ENU,即东-北-上)。

本文不仅将详细介绍这三种坐标系的概念和特点,还将探讨它们在GNSS仿真测试中的具体应用。我们将学习如何在实际的仿真环境中使用这些坐标系,以及如何在不同坐标系之间进行精确的转换。这些转换对于确保仿真测试的准确性至关重要,因为它们允许我们将卫星的全球位置与接收机的局部视角相匹配。掌握这些坐标系的转换技能都将极大地提升您在GNSS仿真测试中的工作效率和成果的质量。

一、坐标系介绍

1.ECFF(Earth-Centered, Earth-Fixed)

ECEF坐标系是一个笛卡尔坐标系,一般中文叫做地心地固坐标系,其原点位于地球质心,X轴通过本初子午面和赤道的交点,Y轴位于赤道面上,通过东经90度,Z轴指向北极点。这个坐标系随着地球一起旋转,因此它固定在地球上。比如,鸟巢的ECEF坐标约为(-2175804.26,4383129.27,4077167.07),单位为米(m)。

在ECEF坐标系中,地球上的任何点都可以用三个坐标值(X, Y, Z)来表示,分别表示该点相对于地球质心的位置。这个坐标系对于全球定位系统(GPS)和其他GNSS系统尤其重要,因为卫星的位置通常以ECEF坐标来表示,经常被用来精确描述卫星的位置和计算卫星与接收机之间的距离。

2.LLA(Latitude, Longitude, Altitude)

LLA坐标系是一个球面坐标系,一般称为地理坐标系,或根据三轴命名为纬经高坐标系,用于描述地球上某一点的位置。它由三个参数组成:

● 纬度(Latitude):指从赤道(0度纬度)到北极(90度北纬)或南极(90度南纬)的角度测量,它确定了地球表面上一个点的东西位置,范围为-90°~90°,

● 经度(Longitude):指从本初子午线(0度经度,通过格林尼治天文台)到东经或西经的角度测量,它确定了地球表面上一个点的南北位置,范围为-180°~180°(或0~360°),

● 海拔高度(Altitude):指从地球表面(通常是平均海平面)到某一点的垂直距离。这个高度可以是从参考椭球体(如WGS84椭球体)的表面计算出的几何高度,也可以是从平均海平面计算出的正高或从大地水准面计算出的正常高。

比如,鸟巢的LLA坐标为(39.99°,116.40°,50m)。

LLA坐标系是我们在日常生活中最常接触到的坐标系,如地图制作、导航和地理信息系统(GIS)中广泛使用,或用于将地球表面的位置转换为其他坐标系。在GNSS仿真测试中,LLA坐标系常用于定义接收机的初始位置和移动路径。

3.ENU(East-North-Up)

ENU坐标系是一个笛卡尔坐标系,是一个局部的本地水平坐标系,也称为东北天(东北上)坐标系。其原点位于地球表面上的一个特定点,通常与接收机的位置相对应。在ENU坐标系中,东轴(East)指向当地的东方向,北轴(North)指向当地的北方向,上轴(Up)垂直于水平面,指向天空。本地原点由大地坐标( lat0、lon0、h0 )描述。请注意,原点不一定位于椭球体的表面上。

若以鸟巢本身为原点,那么他的ENU坐标为(0,0,0),单位为m。

ENU坐标系常用于描述接收机附近的物体运动,如车辆的行驶轨迹或无人机的飞行路径,因为它提供了一个与接收机位置直接相关的坐标系。

4.三个坐标系的对比

除此之外,还有一些常用的坐标系,例如NED坐标系(东北下坐标系)、AER坐标系(方位角-仰角-范围本地坐标系)等。

二、三个坐标系的转换

ECEF(地心地固坐标系)、LLA(地理坐标系)和ENU(东-北-上坐标系)之间的转换是通过一系列数学公式实现的。以下是这些坐标系之间转换的基本方法:

1.ECEF到LLA的转换:

这种转换涉及到从笛卡尔坐标(X, Y, Z)到球面坐标(纬度, 经度, 海拔高度)的转换。

● 首先,可以通过X和Y坐标计算出经度,通过Z坐标和地球的扁率计算出纬度。

● 然后,使用地球的参考椭球模型(如WGS84)来计算海拔高度。

2.LLA到ECEF的转换:

这种转换是从球面坐标到笛卡尔坐标的转换。

● 经度和纬度可以直接用于计算ECEF坐标中的X和Y值。

● 海拔高度和地球的参考椭球模型用于计算Z值。

3.ECEF到ENU的转换:

这种转换通常需要一个参考点,该点的LLA坐标已知。

● 首先,将参考点的ECEF坐标转换为LLA坐标。

● 然后,使用参考点的LLA坐标,通过一系列旋转和平移变换,将ECEF坐标转换为ENU坐标。

4.ENU到ECEF的转换:

这是ECEF到ENU转换的逆过程。

● 首先,根据参考点的LLA坐标计算坐标点的LLA坐标

● 经度和纬度可以直接用于计算ECEF坐标中的X和Y

● 海拔高度和地球的参考椭球模型用于计算Z值。

这些转换涉及到复杂的数学计算,包括球面三角学、旋转矩阵和椭球几何学。

在实际应用中,这些转换通常通过专业的数学库或GIS软件来实现,如PROJ、GDAL或MATLAB的地理工具箱等。

德思特AutoTest自动化测试平台为用户提供三种坐标轴的快速转换工具,简单输入现有坐标点即可完成对其他两个坐标系的转换。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gradle常见问题及总结

使用android studio开发项目,难免遇到gradle相关的错误,在此总结。 gradle插件与gradle home版本关系错误 参考更新 Gradle Gradle下载太慢 Index of /gradle/ (tencent.com) 是国内下载地址,手动下载对应版本即可 缓存不刷新 问题描述 maven发布…

jenkins插件之xunit

分析测试工具执行的结果,并图形化,比如phpunit,phpstan,可分析junit格式的结果 安装jenkins插件 搜索xunit并安装 项目配置 配置 - Build Steps 您的项目 - 配置 - Build Steps, 新增 Run with timeout 超时时间根据实际情况配置 Build…

Day38 贪心算法part05

LC435无重叠区间(未掌握) 思路:先对数组进行排序,找到非重叠的区间的个数,然后区间的总数减去非重叠区间的个数即是需要移除的区间的个数与LC452用最少数量的箭引爆气球类似,但是不同的是[1,2]和[2,3]在此题并不是重叠区间但是在…

oracle怎么处理json格式

向数据库导入json相关jar包 loadjava -r -f -u bsuser/XXXX192.168.10.31/bsorcl json.jar 要删除的话,删除指定jar dropjava -u bsuser/XXXX192.168.10.31/bsorcl json.jar select * from user_java_classes 然后我们就可以取到json串中任意节点的值

SpringBoot项目中redis序列化和反序列化LocalDateTime失败

实体类中包含了LocalDateTime 类型的属性,把实体类数据存入Redis后变成这样: 此时,存入redis不会报错,但是从redis获取的时候,会报错: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Ca…

Springboot项目打包:将依赖的jar包输出到指定目录

场景 公司要对springboot项目依赖的jar包进行升级,但是遇到一个问题,项目打包之后,没办法看到他里面依赖的jar包,版本到底是不是升上去了,没办法看到。 下面是项目打的jar包 我们通过反编译工具jdgui,来…

VUE3和VUE2

VUE3和VUE2 上一篇文章中,我们对VUE3进行了一个初步的认识了解,本篇文章我们来进一步学习一下,顺便看一下VUE2的写法VUE3是否能做到兼容😀。 一、新建组件 我们在components中新建一个组件,名称为Peron,…

缓存降级

当Redis缓存出现问题或者无法正常工作时,需要有一种应对措施,避免直接访问数据库而导致整个系统瘫痪。缓存降级就是这样一种机制。 主要的缓存降级策略包括: 本地缓存降级 当Redis缓存不可用时,可以先尝试使用本地进程内缓存,如Guava Cache或Caffeine等。这样可以减少对Redis…

阴影映射(线段树)

实时阴影是电子游戏中最为重要的画面效果之一。在计算机图形学中,通常使用阴影映射方法来实现实时阴影。 游戏开发部正在开发一款 2D 游戏,同时希望能够在 2D 游戏中模仿 3D 游戏的光影效果,请帮帮游戏开发部! 给定 x-y 平面上的…

再次学习History.scrollRestoration

再次学习History.scrollRestoration 之前在react.dev的源代码中了解到了这个HIstory的属性,当时写了一篇笔记来记录我对它的理解,现在看来还是一知半解。所以今天打算重新学习一下这个属性,主要从属性以及所属对象的介绍、使用方法&#xff0…

Linux信号:信号的保存

目录 一、信号在内核中的表示 二、sigset_t 2.1sigset_t的概念和意义 2.2信号集操作数 三、信号集操作数的使用 3.1sigprocmask 3.2sigpending 3.3sigemptyset 四、代码演示 一、信号在内核中的表示 实际执行信号的处理动作称为信号 递达(Delivery) 。 信号从产生到递达…

Mysql数据库——DML操作

目录 添加数据(INSERT) 修改数据(UPDATE) 删除数据(DELETE) 添加数据: (1). 给指定字段添加数据 (2). 给全部字段添加数据 (3). 批量添加数据 修改数据: 案例…

【STM32】HAL库点灯

【STM32】HAL库点灯 一、探究目标二、探究原理2.1 ST开发库2.1.1 直接配置寄存器2.1.2 标准外设库2.1.3 HAL库2.2 HAL开发2.2.1 环境配置2.2.2 时钟配置2.2.3 GPIO配置2.2.4 工程创建2.2.5 KEIL代码![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bf1c95d5c6724a6a…

NextGen Mirth Connect XStream反序列化远程代码执行漏洞(CVE-2023-43208)

0x01 产品简介 NextGen Mirth Connect是是美国NextGen公司的一个医疗集成引擎,主要用于医疗领域的系统集成和数据交换,支持多种协议和标准。 0x02 漏洞概述 NextGen Mirth Connect 4.4.1之前版本存在远程代码执行漏洞,未经身份认证的攻击者可利用该漏洞远程执行代码。 0…

混合组网VS传统网络:智能硬件混合组网优劣势浅要解析

智能硬件混合组网是一种利用多种通信技术相结合的方法,以实现更灵活、更可靠的网络连接。通过蓝牙、Wi-Fi、LoRa、4G相互之间的不同通讯方式,根据应用场景的不同以及现场实际环境,优选最佳物联网混合组网方案,以达到部署最便捷性价…

一张SSL证书如何同时保护多个域名及其子域名?

在互联网时代,数据安全和隐私保护变得至关重要,而SSL证书作为确保网站安全的重要工具,其重要性不言而喻。本文将详细探讨一种特殊的SSL证书——多域名通配符SSL证书,它为网站管理员提供了一种高效、经济的方式来保护多个域名及其子…

MyBatis从入门到“入土“

💕喜欢的朋友可以关注一下,下次更新不迷路!💕(●◡●) 目录 一、Mybatis为何物?👌 二、快速入门🤣 1、新建项目😊 2、数据库建表😊 3、导入依赖的jar包😊…

Linux学习笔记6

TFTP 服务器搭建和测试 关于TFTP:TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于UDP 协议实现 的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合 搭建服务器…

后量子密码的发展和应用

后量子算法,特别是后量子密码(PQC),是近年来密码学领域的一个热门话题。随着量子计算技术的快速发展,传统的公钥密码算法面临着被量子计算机破解的威胁。为了应对这一挑战,后量子密码应运而生,成为了一种能够抵抗量子计…

【论文笔记】| 蛋白质大模型ProLLaMA

【论文笔记】| 蛋白质大模型ProLLaMA ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing Peking University Theme: Domain Specific LLM Main work: 当前 ProLLM 的固有局限性:(i)缺乏自然…