当前位置: 首页 > news >正文

NXP i.MX8系列平台开发讲解 - 4.1.2 GNSS 篇(二) - 卫星导航定位原理

专栏文章目录传送门:返回专栏目录

Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】


文章目录

关注+星号公众号,不容错过精彩

图片

作者:HywelStar

Hi, 我是你们的老朋友HywelStar,  根据前一章节介绍(传送门 -> GNSS篇(一) - 定位基础知识),对GNSS 系统的四大全球系统和区域定位系统有了简单介绍,以及一些定位原理进行阐述,本章节将对卫星定位原理进行分析。

本章节你将收获内容:卫星定位原理,卫星定位精度影响,如何提高定位精度,还有距离测量方法。

本章专用名词与概念

星历(Ephemeris):描述卫星运动轨道的信息,是一组对应某一时刻的轨道根数及其变率。根据卫星星历可以计算出任一时刻的卫星位置及其速度,精密的轨道信息是精密定位的基础。在这里我理解的为卫星未来的运动轨迹相关信息的天气预报,可能存在一些误差。

DGPS - 差分全球定位系统

SBAS - 星基增强系统

1. GNSS定位原理

1.1 三边测量(Trilateration)原理

根据上一章节已经了解到采用三遍策略的方法进行计算,可以计算出各个的坐标值。下图采用更加形象的立体图进行展示,

图片

通过Satlite1,  Satlite2, Satlite3, 正常来说可以确定交叉点的位置。这里需要声明,关于天上的卫星坐标是已知的,虽然说随着时间变化会有变化,但是都会有已知的数据通过导航电报文发送。

对于测量定位就回到了:测量卫星到接收机的距离;忽略一些其他因素影响,目前只要知道了4颗卫星到接收机的距离就可以确定位置。

1.2 定位模式分类

根据定位模式可以分三类:

  • 单点定位(绝对定位):

    以地球为质心为参考点,测定接收机天线在协议地球坐标系中的绝对位置,精度低。

  • 静态相对定位:

    静态相对定位是在已知基准站位置的情况下,通过长时间观测两个接收机之间的相对距离差异来提高定位精度。该方法通过消除共同误差,特别是对流层延迟和电离层延迟的影响,实现高精度的坐标计算。由于采用静态观测,定位结果的精度极高,常用于大地测量、变形监测等高精度场景,定位精度可达到毫米级。

  • 差分定位(DGPS):

    差分定位是一种基于修正信号的定位方法,通过使用一个或多个已知坐标的参考站(基准站)对卫星信号进行误差校正,来提高流动站(用户端)的定位精度。差分定位系统可以实时传输修正数据,消除部分卫星钟差、轨道误差及大气误差,从而大幅提升定位精度。典型的差分定位系统包括地基增强系统(GBAS)和卫星增强系统(SBAS),其精度通常可达亚米级甚至更高,广泛应用于航空、航海及车辆导航等领域。

2. 卫星定位精度影响分析

卫星定位精度影响从整个定位原理所涉及的源,路径,接受这些部分进行一个分析。

卫星端

  • 星历误差:由星历给出的卫星在空间的位置与实际位置之差称为卫星星历误差,这是一种属于系统中的误差。

  • 卫星钟差:指的是卫星的时钟误差与卫星标准时钟的误差,虽然GNSS 卫星采用了高精度的原子钟保证时钟的进度,但随着时间长期运行下去还存在频率偏差和老化的问题,所以这也会出现一个误差。

  • 相对论效应:卫星钟和接收机钟所处的运动状态(运动速度和重力位)不同而引起卫星钟和接收机钟之间产生相对钟误差的现象。

  • 卫星天线相位中心偏差:卫星天线和接收机天线的天线相位中心既不是一个物理点,也不是一个稳定的点,对任一天线,天线相位中心都会随着来自卫星信号方向的变化而变化。天线相位中心的误差由两部分组成,一部分是相对于天线物理参考点的平均相位中心偏差(PCO),另一部分是与高度角和方位角有关的瞬时相位中心变化(PCV)。

传输路径

  • 电离层影响:电离层中含有气体分子,由太阳灯天体各种射线辐射,产生电离,形成大量的自由电子和正离子。GNSS 信号经过电离层时候,信号路径可能发生弯曲,传播速度也会发生变化。

  • 应对措施:双频观测方法

  • 对流层:对流层是靠近地面这一层,大气层密度最高,含有几乎所有水汽以及其他。对流层的折射影响,在天定方向可以产生2~3M。

  • 多路劲效应:GPS计算中一个可能的误差源是多径效应。当 GPS 卫星信号从附近的建筑物和山脉等结构反弹时,就会发生多路径。这些反射信号会产生干扰,并在计算接收器位置时引入错误,从而导致 GPS 测量不准确。   

       

图片

GPS多径效应

接收机端

  • 接收机钟差:接收机的时钟一般没有卫星端的时钟源好,一般采用石英晶体振荡器,由于这种远没有原子钟好,将会带来一定的误差。

  • 天线相位中心位置偏差:(和卫星端类似)

  • 接收机本身装置:

  • 相对论效应:(和卫星端类似)

表格总结

3. 如何提高定位精度

尽管所有潜在的错误类型都会降低 GNSS 定位的准确性,但还是有一些方法可以提高准确性。根据影响的因子,现实中很多都无法避免,只能去减弱它的影响或者修正。这里以GPS 为例介绍两种校正方法:

  • DGPS(差分全球定位系统)

DGPS 来说比GPS 这种更加准确,它添加了能够纠正GPS信号中的错误,其实就是在已经精确测定坐标的参照物上设置GPS接收机,并和移动台上的GPS接收机同步观测不少于四颗的同一组卫星,求得差分数据进行校正。

图片

 

固定式 GPS 接收器检测到与您的 GPS 接收器相同的卫星信号,它就可以根据其精确测量的位置向您的接收机发送校正数据

  • SBAS(星基增强系统)

是一种区域或全球导航卫星系统,可提高来自现有全球导航卫星系统的信号的准确性、完整性和可用性。

增强系统将校正后的错误与GPS信号一起实时广播。事实上,这是基于卫星的增强系统(SBAS)的主要思想,可以提供亚米级的GPS精度

图片

对于SBAS 各个定位系统存在不一样,目前北斗BDSBAS是对北斗系统的扩展,为我国以及周边地区提供更加精准的定位。WAAS 是美国开发,为GPS 校正定位提供很大帮助。

4. 距离测量

确定接收机与卫星之间的距离,这里简单介绍两种方法:伪距测量和卫星载波相位测量。这是两种主要的距离测量方法,通过原理测量到距离从而进行定位。它们在原理、精度和应用上有显著不同。在实际过程中,这两种往往会结合一起使用。

4.1 伪距测量

原理:伪距测量基于卫星发送的伪随机码(PRN码)。当卫星发送信号时,它会发送一个时间标记,接收机接收到这个信号后,会比较接收到的伪随机码与它自己生成的伪随机码,计算出信号传播所需的时间。通过乘以光速,得出接收机到卫星的距离,这个距离称为“伪距“。

4.2 卫星载波相位测量

原理:卫星载波相位测量是通过测量GNSS信号的载波相位来确定接收机与卫星之间的距离。载波的波长非常短,因此通过测量载波相位的变化,可以获得极高的精度。

通俗来讲,通过载波进行传输信号,载波的波长短,远远小于卫星到接收机的距离,知道中间产生了整数个N周期的差别,这个也叫做周整模糊度,再计算卫星到接收机的距离。另外还需要考虑精度影响,那么可以更加精确计算出距离。对于精度相关的测量对于不同的模型计算方式。

总结

卫星定位原理并不复杂,但是在对于测量的影响度却是非常多,如何去克服这些影响因子是对整个系统的一个挑战,本章节主要对理论知识一个概述理解,对于深度还需要更多时间去思考,查询相关数据,对于这些专业知识,笔者还需继续学习。目前我国北斗导航卫星精度与GPS精度相当,有些数据好于GPS,到达了亚米级别,北斗地基增强系统的实时定位精度可达厘米级别,对于高精度定位将会是趋势。

作为大部分嵌入式开发者来说,对于这些原理和相关测量大概需要了解,当开发者拿到一个定位模块,该如何去使用,如何放到自己设备上运行,测试呢?这将是下一个章节进行分享的内容,关注码思途远,下一期动手操作。

参考:

https://www.keysight.com.cn/cn/zh/solutions/gnss-receiver-sensitivity-testing.html

http://kjdzjs.ijournals.cn/kjdzjs/article/pdf/201804008?st=article_issue

https://malagis.com/principle-and-application-gps-course-summary.html

https://gssc.esa.int/navipedia/index.php/SBAS_Systems

  

往期推荐

  • GNSS篇(一) - 定位基础知识

  • USB PD 协议介绍与交互过程

  • Type-C 的工作原理

  • 认识Type-C 与快充相关知识

相关文章:

NXP i.MX8系列平台开发讲解 - 4.1.2 GNSS 篇(二) - 卫星导航定位原理

专栏文章目录传送门:返回专栏目录 Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 文章目录 关注星号公众号,不容错过精彩 作者:HywelStar Hi, 我是你们的老朋友HywelStar, 根…...

怎样在 SQL 中对一个包含销售数据的表按照销售额进行降序排序?

在当今数字化商业的浪潮中,数据就是企业的宝贵资产。对于销售数据的有效管理和分析,能够为企业的决策提供关键的支持。而在 SQL 中,对销售数据按照销售额进行降序排序,是一项基础但极其重要的操作。 想象一下,您面前有…...

DIAdem 与 LabVIEW

DIAdem 和 LabVIEW 都是 NI (National Instruments) 公司开发的产品,尽管它们有不同的核心功能和用途,但它们在工程、测试和测量领域中常常一起使用,以形成一个完整的数据采集、分析、处理和报告生成的解决方案。 1. 功能和用途 LabVIEW (Lab…...

UE虚幻引擎可以云渲染吗?应用趋势与挑战了解

虚幻云渲染技术是基于虚幻引擎的云端渲染技术,将虚幻引擎的渲染计算任务通过云计算的方式进行处理和渲染、并将渲染结果传输到终端设备上进行展示。虚幻引擎云渲染技术在近年来得到了迅猛的发展,并在各个领域得到了广泛的应用,包括游戏、电影…...

实战分享:DefenderUI在企业环境中的部署与应用

前言 想象一下,你的电脑就像一座坚固的城堡,但城门却时常被一些不速之客窥探甚至企图入侵;Defender,作为城堡自带的守护者,实力自然不容小觑;但你是否觉得它有时候太过低调,有些隐藏技能还没完…...

中英双语介绍金融经济中的鹰派 (Hawkish)和鸽派 (Dovish)

中文版 在金融和经济政策中,“鹰派”和“鸽派”是两种对货币政策和经济管理有不同立场的群体。 鹰派 (Hawkish) 鹰派倾向于担心通货膨胀的风险,通常支持较高的利率和更紧的货币政策,以防止经济过热和控制物价上涨。具体特征包括&#xff1…...

Android 开发中常用的布局类型及其选择指南

在 Android 开发过程中,选择正确的布局类型对于构建高效、美观且响应式的用户界面至关重要。本文将介绍 Android 中几种最常用的布局类型,并对比它们的特点和适用场景,帮助开发者们做出明智的选择。 1. LinearLayout - 线性布局 特点: LinearLayout 是最基本的布局类型之一…...

短视频SDK解决方案,降低行业开发门槛

美摄科技匠心打造了一款集前沿技术与极致体验于一体的短视频SDK解决方案,它不仅重新定义了短视频创作的边界,更以行业标杆级的短视频特效,让每一帧画面都闪耀不凡光芒。 【技术赋能,创意无限】 美摄科技的短视频SDK,…...

【C++】String常见函数用法

一、string类对象的常见构造 我们可采取以下的方式进行构造,以下是常用的接口: //生成空字符串 string; //拷贝构造函数 string(const string& str); //用C-string来构造string类对象 string(const char* s); //string类对象中包含n个字符c strin…...

LeetCode49.字母异位词分组

题目大意 给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。 字母异位词是由重新排列源单词的所有字母得到的一个新单词。 思路分析 示例 1: 输入: strs ["eat", "tea", "tan", "ate", &…...

Nginx日志按天分割

需求、日志按照天的单位进行分割存储。 如果你直接百度,可能会搜到很多教你用各种脚本或是三方插件来按天分割的,这边我用nginx服务本身来分割日志。 方法一 通过使用 $time_iso8601 变量和 map 指令,实现了日志文件按天分割的功能。以下是…...

文本摘要简介

文本摘要是从一段长文本中提取出最重要的信息,并生成一个简短而有意义的摘要。这个过程可以分为两种主要方法: 抽取式摘要(Extractive Summarization):从原文中直接提取出关键句子或段落,组成摘要…...

3.MySQL面试题之Redis 和 Mysql 如何保证数据一致性?

Redis 和 MySQL 数据一致性是分布式系统中的一个常见挑战。保证数据一致性通常涉及几种策略,我会详细解释这些策略并提供相应的代码示例。 先更新数据库,再更新缓存 这种方法先更新 MySQL,然后更新或删除 Redis 缓存。 Transactional publ…...

浅谈TCP协议、UDP协议

一、介绍说明 TCP(传输控制协议) 面向连接:TCP在数据传输之前必须建立连接。这通过一个称为三次握手的过程来完成,确保连接的两端都准备好进行数据传输。 可靠性:TCP提供可靠的数据传输,确保数据包正确无…...

SQL业务题: 从不订购的客户

1️⃣题目 Customers 表: ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | ---------------------- 在 SQL 中,id 是该表的主键。 该表的每一行都表示客户的 ID 和名…...

怎么直接在PDF上修改内容?随心编辑PDF内容

PDF(Portable Document Format)作为一种专用于阅读而非编辑的文档格式,其设计的核心目的是保持文档格式的一致性,确保文档在不同平台和设备上都能以相同的布局和格式呈现。然而,在实际工作和生活中,我们经常需要对PDF文档进行编辑…...

聊天室项目测试报告

项目介绍 本项目是一个基于Spring Boot框架开发的聊天室应用。一个实时的文本消息交流平台,允许多个用户同时在线聊天。系统采用了Spring Boot作为后端框架,集成了WebSocket技术以实现消息的实时推送与接收提供一个简单、易用且功能完备的在线聊天环境。…...

语音识别(实时语音转录)——funasr的详细部署和使用教程(包括实时语音转录)

阿里达摩院开源大型端到端语音识别工具包FunASR: FunASR提供了在大规模工业语料库上训练的模型,并能够将其部署到应用程序中。工具包的核心模型是Paraformer,这是一个非自回归的端到端语音识别模型,经过手动注释的普通话语音识别…...

【网络编程】TCP机械臂测试

通过w(红色臂角度增大)s(红色臂角度减小)d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂 注意:关闭计算机的杀毒软件,电脑管家,防火墙 1)基于TCP服务器…...

笔记:在WPF中如何注册控件级全局事件和应用程序级全局事件

一、目的:在WPF中如何注册控件级全局事件和应用程序级全局事件 二、实现 应用程序级全局事件 //注册应用程序级全局事件 EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(ic_event_Click)); 如上代码既会注册全局…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...