2024.1.24 GNSS 学习笔记

1.伪距观测值公式

2.载波相位观测值公式

3.单点定位技术(Single Point Positionin,  SPP)

仅使用伪距观测值,不使用其他的辅助信息获得ECEF框架下绝对定位技术。

使用广播星历的轨钟进行定位,考虑到轨钟的米级精度,所以对于<1米的误差,基本不考虑。同时因为仅使用伪距,所以和载波相关的误差也不需要考虑。(不需要天线相位改正、相位缠绕改正等误差改正)

对于单频用戶,一般使用广播星历播发的电离层模型和tgd产品,进行改正。对流层误差同样使用经验模型进行改正,对于各项潮汐引起的误差以及天线相位中心偏差等误差,均可不做考虑。

4.相对定位技术

相对定位技术分两种:

第一种仅伪距参与定位,称为RTD技术(Real Time Differential);

第二种是在加了伪距进行定位的基础上增加了载波观测值的使用,称为RTK技术(Real Time Kinematic,实时载波相位差分技术)。

相对定位技术可以得到可以得到cm-dm的实时定位精度。

5.事后动态处理(Post Processed Kinematic, PPK)

相对定位技术中,还有一种和RTK相似的技术,但它需要经过事后处理得到定位结果,称为PPK技术(Post Processed Kinematic),通过事后处理,可以进一步提升RTK的定位精度。

PPK的应用场景:(要求定位精度比实时性更重要的场景,而RTK技术更注重实时性,适用于要求实时性比定位精度更重要的场景)

在一些场景中,比如地图采集/航测等,定位精度其实比实时性更重要,或者在一些场景中并不能接入电台或者互联网实时获得差分改正信息。

6.差分改正信息是指什么?

所谓差分改正信息,可以认为是另外一个安装在已知点的接收机的卫星观测信息。我们需要一定的通讯手段将差分信息发送到用戶端,供定位算法引擎对同一个卫星的观测值组站间差分。

因为对于距离相对较近的两个站点,其轨道误差对两个站的影响基本相似通过站间差分,可以消除轨道误差的影响

同时,如果两个测站观测时刻相同,对同一个卫星的伪距或者载波组站间差分(星间差分)可直接消除卫星钟差的影响。

7.精密单点定位(Precise Point Pointing, PPP)

和单点定位技术类似,可以使用单台接收机在全球任何位置获得高精度ECEF框架下的绝对坐标

为了获得高精度的定位结果,所有的厘米量级以上的误差均需要考虑

  • 需要使用高精度的轨钟产品(.SP3 .CLK文件),而不能使用广播星历中的低精度广播轨道
  • 使用无电离层组合(使用更多)或者状态参数中增加电离层误差的估计
  • 天顶的对流层湿延迟作为参数参与估计
  • 使用模型对天线相位缠绕(Phase wind-up)进行修正
  • 使用模型对卫星或者接收机的天线相位偏差进行修正
  • 使用模型对潮汐误差进行修正
  • 为了提高收敛速度和定位精度,需要使用phasebias产品,完成模糊度的固定,我们称之为PPPAR技术(PPP Ambiguity Resolution)
  • 为了进一步提高收敛速度和定位精度,可以播发高精度的格网电离层产品和对流层产品,我们称之为PPPRTK技术(PPP Real Time Kinematic)

8.SPP RTK PPP技术对比图


1.该块知识主要涉及输入以及输出。即卫星观测数据以及星历数据的存储格式,实时通信格式以及最后的定位结果输出格式等。主要涉及RINEX、RTCM、NMEA以及一些开源软件的自有格式。

2.RINEX格式的来源与介绍

GNSS观测数据从接收机通过专用软件传输到计算机中,以接收机厂商所定义的专有文件格式以二进制的形式存储。不同GNSS接收机厂商所定义的专有格式各不相同,有时甚至同一厂商不同产品型号格式也不相同。
为解决这一问题(解决不同接收机厂商的观测数据文件格式的不同),1989年提出了RINEX(Receiver Independent Exchange Format,接收机自主交换格式)格式,如今已经成为了
GNSS测量应用的标准数据格式。值得一提的是,2016年在RINEX3.03版中全面支持BDS。目前RINEX已经在2021年12月更新至4.00版本。

数据下载网址:IGS官方产品及数据下载地址汇总——亲验可用(2022.08.05持续更新)_igs下载-CSDN博客

3.RINEX 2.x & 3.x版本

RINEX 2.x版本刚发布时,由于仅有GPS和GLONASS系统,所以在协议制定时考虑不太全面。对于常用的,一般就三种文件:

  • 观测数据文件
  • 导航(星历)文件
  • 气象数据文件

对于2.x版本,文件命名规则:ssssdddf.yyt。

其中ssss表示测站名;ddd表示年积日;

f表示一个字符一天内的文件序号(时段号),f=0:文件包含当天所有观测数据;

yy表示年份后两位,如2022则yy为22;t表示数据类型,如o、n、m、p等。

对于3.x版本,包含两种扩展名

.rnx 表示标准的 RINEX 文件

.crx 表示压缩过的Compact RINEX 格式。crx格式和rnx格式可通过发布的工具进行
转换。

3.x 的命名格式如下:

文件名示例如下:

4.3.x格式的观测数据文件介绍(目前主流使用,2.x格式的过于古老,不予介绍)

观测值文件头 header 介绍

5.星历文件Header

星历导航文件数据区的特点:

  • 每行依然为 80 列;
  • 可以从接收机中导出,亦可以从互联网下载;
  • 第一部分为卫星号、发布时刻、卫星钟参数;
  • 之后以广播轨道 1 到 7 的方式给出卫星的轨道根数;
  • 广播轨道每 2h 更新一次

6.RINEX 4.x 版本

RINEX 4.00主要是为了适应现代化的导航电文信息,需要定义格式来支持所有星座,同时也是为了更加⻓久地支持存储观测值、导航电文等数据。版本号之所以会增加,是因为RINEX 4.00 导航电文文件不再兼容RINEX 3.0X。不过观测值文件仍然兼容RINEX 3.0X,对于观测值文件来说,没有太大的更新,只是一些比较小的改动。

基站存储数据将逐步过渡到RINEX 4.00,不过目前很多基站数据仍然采用RINEX 2.X,或者是正从RINEX 2.X 往RINEX 3.0X进行过渡,最终过渡到RINEX 4.00估计还需要挺⻓的时间。

可以参考官网中的文档。

7.RTCM格式

国际海运事业无线技术委员会(Radio Technical Commission for Maritime Services,简称RTCM)于1983年11月为全球推广差分GPS业务设立了SC-104专⻔委员会,制定各种数据格式标准。

其中版本1和版本2版本较老,对多系统支持相对较差,此处我们简单介绍以下最新的RTCM版本 10403.3即,3.3版本。

2004年标准第三版引入了一种针对RTK、多星系的全新电文格式,该格式使用可变⻓度格式来提高效率并增加可发送的电文数量,这对于实时差分非常重要,更新的新标准还大大增加了可能的消息类型的数量。RTCM 3.x 新定义了多种消息类型,可直接适应正在开发系统,如增加了对网络RTK的支持增加了对北斗系统与伽利略系统的支持,以及对现有系统的修改(如新的L2C与L5信号)。

3.x 版本支持的数据类型如下所示:

8. State space representation  SSR

9.NMEA格式

NMEA 是 National Marine Electronics Association 的缩写,是美国国家海洋电子协会的简称,现在是 GPS 导航设备统一的 RTCM 标准协议

NMEA-0183 协议是目前卫星导航接收机上使用最广泛的协议,大多数常⻅的卫星导航接收机、卫星导航数据处理软件都遵守或者至少兼容这个协议。

NMEA格式的数据示例如下:

在这些数据中,包含了位置、速度、时间等信息,通过解析这数据,就可以实时获取物体的位置信息,或者实现时间同步。

  • GGA 全球定位系统定位数据,如时间、定位等
  • GSA 参与定位的GNSS卫星ID号、精度因子等
  • GSV 可⻅的GNSS卫星,例如可⻅的卫星数、卫星ID号等
  • RMC 推荐的最小具体 GNSS 数据
  • VTG 矢量跟踪与对地速度

通用语句还需要加上所使用的定位系统前缀,

GPS NMEA 语句的前缀为“GP”,

BeiDou NMEA语句的前缀为“GB”,

GLONASS NMEA语句的前缀为“GL”,

Galileo NMEA 语句的前缀为“GA”,

混合定位(Mixed) NMEA语句的前缀为“GN”。 

所以对于现在的接收机,几乎所有的都使用多卫星系统进行定位,多以一般开头均为“GN”

大地水准面高度:地球椭球面相对大地水准面的高度。


1.

2.伪距观测值方程

3.伪距方程线性化及其定位方程的求取

同时我们计算卫星到接收机概略位置的单位向量,理论上来说如果概略位置偏差不太大,那么单位向量的差异就不太大,甚至可以忽略。u就可以用u0表示。

进一步整理以下公式:

先验残差:由观测值文件获取的伪距观测值 减去 由广播星历和广播钟差计算得到的卫星位置与接收机概略位置(观测值文件中读取)之间差值的平方和(即两者之间的距离) + 卫星钟差值(广播星历计算)  减去 电离层延迟模型估计值 减去 对流层延迟模型估计值 减去 观测噪声值(通常在配置文件中设置)

4.多系统定位方程(对于同时存在BDS和GPS两个系统的定位方程如何列)

因为GPS和BDS是两个系统,所以主要表现在接收机端的误差会存在差异,这些误差会被接收机钟进行吸收,所以我们一般可以为GPS和BDS系统分别估计一个接收机钟差。

即其设计矩阵和待估状态量如下:

当然如果我们将GPS的接收机钟差作为基准的话,那么也可以估计北斗接收机钟相对于GPS系统的偏差,该偏差短时相对问题,可以增加一定的时间上的约束,起到增强观测方程强度的作用。

即其设计矩阵和待估状态量如下:

至于再增加GAL/GLO系统,原理一致,不再展开。

综上所述:单点定位的定位流程可以用以下流程图进行描述:

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

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

相关文章

【STM32】STM32学习笔记-W25Q64简介(37)

00. 目录 文章目录 00. 目录01. SPI简介02. W25Q64简介03. 硬件电路04. W25Q64框图05. Flash操作注意事项06. 预留07. 附录 01. SPI简介 在大容量产品和互联型产品上&#xff0c;SPI接口可以配置为支持SPI协议或者支持I 2 S音频协议。SPI接口默认工作在SPI方式&#xff0c;可以…

ASP.NET Core 7 Web 使用Session

ASP.NET Core 好像不能像20年前那样直接使用Session函数&#xff0c;我使用如下方法 1、在NuGet安装以下2个包 2、在Program.cs注册 //注册Session builder.Services.AddSession(options > {options.IdleTimeout TimeSpan.FromMinutes(60);options.Cookie.HttpOnly fals…

放个烟花迎接龙年春节吧

不知不觉即将迎来2024龙年春节了。龙的形象在中国传统文化中有着广泛的应用&#xff0c;比如在传统文化中&#xff0c;龙代表着权力、威严、吉祥和神灵的象征&#xff0c;同时也是生命力和繁荣的象征。 今天的文章将用原生JavaScript和Canvas API实现一个烟花的效果&#xff0…

使用Docker部署MySQL并结合内网穿透实现远程访问本地数据库

文章目录 前言1 .安装Docker2. 使用Docker拉取MySQL镜像3. 创建并启动MySQL容器4. 本地连接测试4.1 安装MySQL图形化界面工具4.2 使用MySQL Workbench连接测试 5. 公网远程访问本地MySQL5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主…

以太网的 MAC 层

目录 1. MAC 层的硬件地址 48 位的 MAC 地址 2. MAC 帧的格式 以太网 V2 的 MAC 帧格式 无效的 MAC 帧 IEEE 802.3 MAC 与以太网 V2 MAC 帧格式的区别 1. MAC 层的硬件地址 硬件地址又称为物理地址&#xff0c;或 MAC 地址。 IEEE 802 标准为局域网规定了一种 48 位…

GitHub无法完成推送 的设置选项

GitHub无法完成推送 的设置选项 系统设置 VS中控制台设置【指令】 控制台调出方法 以下为VS控制台指令 git config --global --unset http.proxy git config --global --unset https.proxygit config --global http.proxy 127.0.0.1:7890 git config --global https.proxy …

JAVA学习笔记三

1.java执行流程分析 2.什么是编译 javac Hello.java 1.有了java源文件&#xff0c;通过编译器将其编译成JVM可以识别的字节码文件 2.在该源文件目录下&#xff0c;通过javac编译工具对Hello.java文件进行编译 3.如果程序没有错误&#xff0c;没有任何提示&#xff0c;但在…

AI代理产品大汇总

目前做AI Agents相关产品的&#xff0c;可以看这个最全汇总 1. 最新的AI Agents 列表编制完成。 2. 列表包括:多种使用案例、开源或闭源状态、以及最新的AI Agent产品等筛选条件。 3. 这个列表每周都在不断收到新的项目提交。 4 该列表可以让学生和AI从业者快速了解当前AI生…

C++快速幂详解简单易懂

引言&#xff1a; 如果我们计算a的k次幂&#xff0c;循环k次每次 a&#xff0c;时间复杂度O(k)&#xff0c;现在我们要把其优化为log(k)的时间复杂度。另外a的k次幂极有可能报long long&#xff0c;比如2的64次幂就已经爆long long 了&#xff0c;所以在k很小的时候就会爆掉l…

RHCE 部署Ubuntu系统(ubuntu-23.10-live-server-amd64.iso)

目录 一、新建虚拟机 二、安装系统 1、 选择安装语言&#xff0c;默认 【 English 】&#xff0c;直接回车 2、选择键盘&#xff0c;默认回车 3、安装的服务器版本&#xff0c;根据需求自行选择&#xff0c;本次安装选择 【 Ubuntu Server 】 4、网络设置&#xff0c;此…

Linux抽象文件系统

一.概念 Linux采用了抽象文件系统的概念来统一管理不同类型的文件和文件系统。抽象文件系统是对不同文件系统的封装&#xff0c;使得用户和应用程序可以以相同的方式访问和操作不同类型的文件系统。 Linux的抽象文件系统通过以下几个组件来实现&#xff1a; VFS&#xff08;V…

(七)springboot实战——springboot3集成R2DBC实现webflux响应式编程服务案例

前言 本节主要内容是关于使用新版springboot3集成响应式数据库R2DBC,完成响应式web服务案例。需要注意的是&#xff0c;此次项目使用的JDK版本是JDK17&#xff0c;springboot版本使用3.2.2版本&#xff0c;数据库使用关系型数据库mysql。WebFlux 是一个基于响应式编程模型的框…

taskflow 源码阅读笔记-1

之前写了一篇介绍Taskflow的短文&#xff1a;传送门 Taskflow做那种有前后依赖关系的任务管理还是不错的&#xff0c;而且他的源码里运用了大量C17的写法&#xff0c;觉得还是非常值得学习的&#xff0c;因此决定看一下他的源码&#xff0c;这里顺便写了一篇代码学习笔记。 概…

【新书推荐】2.6节 原码、反码和补码

回顾上一节中&#xff0c;我们讲解了整数的编码规则。 无符号整数编码规则&#xff1a;无符号整数全部都是正数&#xff0c;是什么就存什么。 有符号整数编码规则&#xff1a;有符号整数最高有效位为0是正数&#xff0c;最高有效位为1是负数。 本节内容&#xff1a;原码、反…

【C++】类和对象(中篇)(全网最细!!!)

文章目录 &#x1f354;一、类的六个默认成员函数&#x1f354;二、构造函数&#x1f35f;1、概念&#x1f35f;2、特性&#x1f369;默认构造函数 &#x1f354;三、析构函数&#x1f35f;1、概念&#x1f35f;2、特性&#x1f369;默认析构函数 &#x1f354;四、拷贝构造函数…

单片机开发板-硬件设计

开发板设计 1> 概述2> 功能2.1> GPIO类2.2> 通信类2.3> 显示类 3> 测试 1> 概述 开发板的定位&#xff1a;学会单片机&#xff1b; 目的越单纯&#xff0c;做的东西越好玩&#xff1b; 51开发板&#xff1a;DAYi STM32F103开发板&#xff1a;DAEr STM32F…

项目中从需求分析到研发上线

一、背景 应用系统从设想到需求到研发到上线会经历一些列工程化过程。比如经典的瀑布模型工作流&#xff0c;其实就是一个经过很多经验总结下来的工程方法。本节阐述项目中从需求到研发上线的过程。但是也有些根据不同的行业&#xff0c;不同的公司&#xff0c;不同管理者的风…

Go 知识for-range

Go 知识for-range 1. for-range 的用法1.1 数组1.2 切片1.3 字符串1.4 map1.5 chan 2. 原理2.1 数组2.2 切片2.3 字符串2.4 map2.5 chan 3. 总结 https://a18792721831.github.io/ 1. for-range 的用法 for-range 表达式用于遍历集合元素&#xff0c;比传统的for更加简单直观…

【微信小程序】15分钟倒计时(附带天数和时钟的实现方法在文章中)

这是制作的订单支付前倒计时&#xff0c;如果客户在规定时间内没能 支付&#xff0c;则系统自动删除&#xff0c;这样就以便有些商品冗余&#xff0c;当然了&#xff0c;这里只有分钟和秒钟&#xff0c;天数和时钟我写在了最底下&#xff0c;最后代码的显示第七行&#xff0c;可…

C++:引用

目录 概念&#xff1a; 引用的使用格式&#xff1a; 引用特性&#xff1a; 常引用 使用场景&#xff1a; 1、做参数 二级指针时的取别名 一级指针取别名 一般函数取别名 2、做返回值 函数返回值的原理&#xff1a; 引用的返回值使用&#xff1a; 引用和指针的对比&…