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系统,原理一致,不再展开。
综上所述:单点定位的定位流程可以用以下流程图进行描述:

相关文章:
2024.1.24 GNSS 学习笔记
1.伪距观测值公式 2.载波相位观测值公式 3.单点定位技术(Single Point Positionin, SPP) 仅使用伪距观测值,不使用其他的辅助信息获得ECEF框架下绝对定位技术。 使用广播星历的轨钟进行定位,考虑到轨钟的米级精度,所以对于<1米的误差&…...
2024-01-22(MongoDB)
1.Mongodb使用的业务场景: 传统的关系型数据库/mysql在“三高”需求以及应对web2.0的网站需求面前,有点力不从心,什么是“三高”需求: a. 对数据库高并发的读写需求 b. 对海量数据的高效率存储和访问需求 c. 对数据库的高可扩…...
无人机航迹规划(六):七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划(提供MATLAB代码)
一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…...
《WebKit 技术内幕》学习之十二(2):安全机制
2 沙箱模型 2.1 原理 一般而言,对于网络上的网页中的JavaScript代码和插件是不受信的(除非是经过认证的网站),特别是一些故意设计侵入浏览器运行的主机代码更是非常危险,通过一些手段或者浏览器中的漏洞,…...
算法优化:LeetCode第122场双周赛解题策略与技巧
接下来会以刷常规题为主 ,周赛的难题想要独立做出来还是有一定难度的,需要消耗大量时间 比赛地址 3011. 判断一个数组是否可以变为有序 public class Solution {public int minimumCost(int[] nums) {if (nums.length < 3) {// 数组长度小于3时&a…...
IDEA导出jar
1、选择导出方式 2、选择Main Class 3、构建jar...
Win10/11中VMware Workstation设置网络桥接模式
文章目录 一、添加VMware Bridge Protocol服务二、配置桥接参数1.启用系统Device Install Service服务2.配置VMware 需要确认物理网卡是否有添加VMware Bridge Protocol服务 添加VMware Bridge Protocol服务 提示:以下是本篇文章正文内容,下面案例可供参…...
html Canvas粒子文字特效
代码有点长,下面是代码: <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML5 Canvas粒子效果文字动画特效DEMO演示</title><link rel"stylesheet" href"css/normalize.c…...
@JsonFormat失效,被jackson自定义配置覆盖
jackson配置类 我的jackson配置类如下,其中serializerByType(LocalDateTime.class, new LocalDateTimeSerializer()) 覆盖了JsonFormat注解 Configuration public class JacksonConfiguration {public static final DateTimeFormatter optionalDateTimePattern (n…...
SaaS系统如何助力企业数字化转型
随着科技的快速发展,数字化转型已经成为企业适应市场变化、提高竞争力的必要手段。在这个过程中,SaaS(软件即服务)系统以其独特的优势,正在成为越来越多企业的首选。乔拓云SaaS系统作为这一领域的佼佼者,更…...
nginx配置内网代理,前端+后端分开配置
安装好后nginx,进入配置文件 我这块安装在了home里面,各位根据自身情况选择 打开nginx.conf文件 在底部查看是否包含这段信息:含义是配置文件包含该路径下的配置文件 include /home/nginx/conf/conf.d/*.conf; # 该路径根据自己的安装位置自行修改 配置文件 进入conf.d文…...
i18n多国语言Internationalization的动态实现
一、数据动态的更新 在上一篇i18n多国语言Internationalization的实现-CSDN博客,可能会遇到一个问题,我们在进行英文或中文切换时,并没有办法对当前的数据进行动态的更新。指的是什么意思呢?当前app.js当中一个组件内容ÿ…...
C++笔记(二)
函数的默认参数 如果我们自己传入数据,就用自己的数据,如果没有,就用默认值 语法: 返回值类型 函数名(形参默认值){} int func(int a,int b20,int c30){} …...
【技能---构建github中SSH密钥的流程】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言SSH基于账号口令的安全验证通过SSH连接到服务器打开终端(命令行界面)使用 SSH 命令连接: 在 Ubuntu 中生成 SSH 密钥并将其添…...
linux-centos服务器离线安装yapi(包含nodejs、mongodb、yapi、pm2离线安装)
yapi是使用vue框架开发的,借助nodejs 前端直接访问的mongodb数据库,离线安装yapi步骤如下 下载离线安装包 下载地址 https://download.csdn.net/download/qq445829096/88778418 离线安装包先复制到 dev/yapi目录(根据自己习惯自定义目录) node-v12.13.0-linux-x64.tar.xz …...
手撕重采样,考虑C的实现方式
一、参考文章: 重采样、上采样、下采样 - 知乎 (zhihu.com) 先直接给结论,正常重采样过程如下: 1、对于原采样率fs,需要重采样到fs1,一般fs和fs1都是整数哈,则先找fs和fs1的最小公倍数,设为m…...
网络安全产品之认识入侵防御系统
由于网络安全威胁的不断演变和增长。随着网络技术的不断发展和普及,网络攻击的种类和数量也在不断增加,给企业和个人带来了巨大的安全风险。传统的防火墙、入侵检测防护体系等安全产品在面对这些威胁时,存在一定的局限性和不足,无…...
第20课 在Android Native开发中加入新的C++类
这节课我们开始利用ffmpeg和opencv在Android环境下来实现一个rtmp播放器,与第2课在PC端实现播放器的思路类似,只不过在处理音视频显示和播放的细节略有不同。 1.压缩备份上节课工程文件夹并修改工程文件夹为demo20,将demo20导入到Eclipse或…...
python学习笔记11(程序跳转语句、空语句)
(一)程序跳转语句 1、break 用法:循环语句中使用,结束本层循环,一般搭配if来使用。注意while/else语法 示例: i0; while i<3:user_nameinput(请输入用户名:)pwdinput("请输入密码&a…...
C. Doremy‘s City Construction(二分图问题)
思路:把集合划分成两部分,一部分中每个数都比另一部分小,这两部分连成一个完全二分图,这种情况是最优的,还需要特判所有数都相等的情况. 代码: void solve(){int n;cin >> n;vector<int>a(n 1);for(int i 1;i < n;i )cin >> a[…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
