2024.1.30 GNSS 学习笔记

news2024/11/14 11:41:40

站星双差Kalman滤波伪距差分定位流程

1.


RTK定位技术(实时载波相位差分技术)原理-站间单差浮点解

1.RTK技术其实就是在RTD技术的基础上增加载波观测值的使用。由于伪距的噪声在分米量级,即使我们通过站间单差消除了绝大部分的误差影响,但受限于伪距的精度,我们也只能达到分米量级的定位水平
但载波不同,载波的精度在毫米量级,所以如果其他误差完全消除的话,理论上定位精度可达到的毫米水平。毫米水平的定位精度,完全可以满足我们日常生活中绝大多数应用的需求。但实际上,站间单差后依然存在误差,定位精度在厘米量级

2.载波观测方程是怎么建立的?

由于载波频率高,波⻓短,所以载波相位测量精度高

但是方程中还有一项误差没有表示出来,即相位硬件延迟。前面我们了解到不管是卫星端还是接收机端,均存在因信号通道引入的时间延迟,我们称之为伪距硬件延迟。同样的对于载波,也存在相位硬件延迟,产生机理与伪距相同
我们是否可以通过类似伪距码延迟处理的手段,来处理相位硬件延迟?
首先,对于卫星端相位硬件延迟,已经具备成熟的技术对其进行估计,终端通过使用相应的产品可以实现模糊度固定,称之为 PPPAR技术
RTK技术中卫星端的相位硬件延迟,可通过站间单差消除但接收机端的相位硬件延迟,因为只关注不满足一周的部分,所以量级太小,无法估计。但可以通过星间单差消除其影响,但是何时进行星间单差,有一定讲究。

为什么我们一定要消除相位硬件延迟的影响?
因为只有消除影响,模糊度才具有整数特性,我们才可以通过模糊度固定,进一步提升定位结果的精度和可靠性。否则如果不固定模糊度,即模糊度是浮点解,定位精度一般在cm-dm量级,相对于伪距差分有一定的精度提升;但如果模糊度固定成功,那么定位精度就是cm量级


站间单差浮点解方程

1.

2.再增加载波观测值,首先是状态量,每个卫星每个频点均要增加一个模糊度参数,因为有12个观测值,所以要增加12个模糊度参数,也要增加一倍的观测值数目

3.

问题:

理论上,对于单个系统指定卫星指定频率的伪距和载波的接收机钟肯定不相等的,但我们只估计了伪距的接收机钟参数,同样的载波也是估计该接收机钟参数,这样设计是否合理?

回答:
对于同一系统同一频点的伪距和载波,肯定存在接收机钟的差异,但该偏差会被我们新增的每个观测值的模糊度吸收,所以这也是模糊度失去整数特性的原因之一。

4.

同样的,设计矩阵也更加庞大


RTK定位技术原理-站星双差浮点解

1.站星双差浮点解方程

2.kalman滤波以及双差模糊度参数转换

3.双差观测值但使用站间单差的模糊度参数


数据预处理包含哪几个方面?

1.观测值剔除

卫星信号微弱,极易受环境影响。比如,如果有树荫遮挡或者高楼的信号反射,卫星观测值的噪声会明显增大,也会引入粗差。考虑到卫星高度⻆较低的卫星容易受环境影响,所以我们一般设置一定的卫星高度截止⻆,用来剔除可能存在误差的卫星观测值
我们一般设置卫星高度截止⻆为10°,但在一些复杂场景下可能会提高卫星高度截止⻆,以达到剔除粗差的目的。
同时,对于信噪比较低的卫星,其观测值也容易引入粗差,所以我们也会设置一定的信噪比阈值,对观测值进行剔除。针对测量性接收机,一般可设置38作为信噪比阈值。对于消费级模组或者芯片,一般其观测值信噪比均相对较低,可以适当将信噪比阈值降低。不同的接收机观测值特性和信噪比存在差异,所以算法需要不同的接收机设置合理的阈值

2.周跳探测

产生原因:

周跳的实质就是模糊度发生变化,并不仅是产生了整周的变化,也会产生小数部分的变化。客观原因可能是卫星信号被障碍物遮挡,或者外界干扰导致卫星信号失锁

个人经验,现在的周跳基本均无法修复,因为并不是整周跳变。所以对于出现周跳的模糊度,直接重置。即将模糊度设置一个新的数值,给一个较大的方差。

周跳探测的方法:

注:上面GF组合观测值的公式中,有地方写错了,应该是频率1的波长乘以模糊度值。


RTK定位技术原理-模糊度固定技术

1.双差浮点模糊度

其实上述内容中,已经讲了两种形式的模糊度估计方式--站间单差站星双差
如果我们的模糊度参数是站星双差形式,表明已消除卫星端和接收端的相位硬件延迟的影响,我们可以直接将双差模糊度进行搜索,尝试得到双差模糊度的固定解。
如果我们的模糊度参数是站间单差的形式,那么我们还要在模糊度参数层面组星间单差,进而消除接收机端相位硬件延迟的影响。再组星间单差,和之前的模糊度预测类似,填充一个对应的状态转移矩阵,但并不需要对方差协方差矩阵增加Q阵。

2.模糊度搜索

现在使用较多且最有效得模糊度固定方法,即LAMBDA方法(Leastsquare AMBiguity Decorrelation Adjustment,LAMBDA,最小二乘模糊度降相关平差法)。
该方法主要由两部分组成:
(1)为降低模糊度参数之间相关性而进行的多维整数变换
(2)在转换后的空间内进行模糊度搜索,然后再将结果转换回模糊度空间中,进而求得模糊度整数解

2.1 模糊度参数降相关

由于模糊度之间具有相关性,一个模糊度参数的变化会影响其他模糊度的搜索,使得搜索算法的计算量巨大。如果能够设法降低模糊度参数之间的相关性,使得某一模糊度的变化对其他模糊度的取值的影响尽可能小,就能大大加快模糊度的搜索过程。

LAMBDA算法通过对模糊度参数及其方差-协方差阵进行整数高斯变换(也称z变换)将他们从原空间变换到新的空间中去,实现模糊度的降相关:

2.2 模糊度搜索

模糊度搜索与前述的降相关是LAMBDA算法的两个独立的部分,就算不做降相关操作,依然可以进行模糊度搜索,整数模糊度搜索条件:

参考文献:GNSS整周模糊度固定算法(LAMBDA算法)_lambda算法原理gps-CSDN博客

3.模糊度固定解

经过模糊度搜索后,我们可以得到双差模糊度的固定解,恢复了模糊度的整数特性。我们可以直接将固定后的模糊度值作为虚拟观测值对参数进行约束,直接得到模糊度固定解。
所谓的作为虚拟观测值对参数进行约束,即设计矩阵相应的系数为1,残差为观测值减去预测值。同时给予该观测值比较大的权重,即给比较小的噪声(比如设置为1毫米)

3.1 使用滤波更新固定解

3.2 直接更新固定解


RTK定位流程

1.RTK定位引擎

2.在线定位

3.离线定位(后处理定位)

4.单个历元的定位流程

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

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

相关文章

对于this.$nextTick代码的理解

我们都知道DOM的更新是异步的,Vue的绑定原理就是用数据区驱动视图,视图也能驱动数据&#xff0c;两者是双向绑定的。 如何立马获取到更新之后的DOM呢&#xff1f; 可以使用: <template><div class"" ref"aa">{{ a }}<button click"f…

openssl3.2 - .pod文件的查看方法

文章目录 .pod文件的查看方法概述笔记初步的解决方法备注 - pod2html.bat的详细用法好像Perl就自带这个BATEND .pod文件的查看方法 概述 看到openssl源码目录下有很多.pod文件, 软件发布的帮助内容都在里面. 当make install后, 大部分的.pod都会转成html文件, 但是有一部分…

DSP系统时钟总结

一、stm32中断偏移向量介绍 1.1 为什么要设置中断向量偏移 上图可以看出程序上电先进入0x08000000开始运行&#xff0c;紧接着执行复位中断向量&#xff0c;然后执行复位中断程序&#xff0c;然后进入main函数。 如果想要app的中断正常运行&#xff0c;那就必须手动设置中断向…

【读点论文】SPTS Single-Point Text Spotting

SPTS Single-Point Text Spotting ABSTRACT 现有的场景文本识别(即&#xff0c;端到端文本检测和识别)方法依赖于昂贵的边界框注释(例如&#xff0c;文本行&#xff0c;词级或字符级边界框)。我们首次证明&#xff0c;训练场景文本识别模型可以通过对每个实例的单点进行极低成…

推特账号被冻结怎么办?检查IP是否正常

Twitter 拥有庞大的用户群和日常内容流&#xff0c;是沟通、网络和营销的重要平台。然而&#xff0c;处理其限制和潜在的帐户问题可能很棘手。有许多跨境社媒小伙伴反馈&#xff0c;账号无故被冻结&#xff0c;导致内容与客户尽失&#xff01;其实除了账户养号、被举报、广告信…

C语言基础13

今天是学习嵌入式相关内容的第十四天&#xff0c;以下是今日所学内容 1.结构体: 1.结构体类型定义 2.结构体变量的定义 3.结构体元素的访问 4.结构体的存储 内存对齐 结构体整体的大小必须为最大基本类型长度的整数倍 5.结构体作为函数参数 值传递 练习:定…

freeRTOS的第一个任务是如何跑起来的?(以RISC-V架构分析)

1、前言 要理解第一个任务是如何跑起来&#xff0c;必须先能理解下面的概念 freeRTOS的任务创建、任务切换机制架构规定的函数调用规范了解基础的汇编指令 可以参考的资料&#xff1a; 《freertos任务切换的现场保存、恢复&#xff08;任务栈空间&#xff09;深度分析&#xf…

Arduino开发实例-DRV8833电机驱动器控制直流电机

DRV8833电机驱动器控制直流电机 文章目录 DRV8833电机驱动器控制直流电机1、DRV8833电机驱动器介绍2、硬件接线图3、代码实现DRV8833 使用 MOSFET,而不是 BJT。 MOSFET 的压降几乎可以忽略不计,这意味着几乎所有来自电源的电压都会传递到电机。 这就是为什么 DRV8833 不仅比基…

【Matplotlib】科研绘图——折线图

文章目录 1、导入2、定义Font及Style3、设置图像大小及坐标刻度4、数据准备5、自定义draw6、其他设置7、效果图 1、导入 import matplotlib import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages import numpy as np import pandas as pd %…

合肥工业大学计算机试卷和笔记

总结了一些试卷和笔记&#xff0c;但是csdn上不方便上传pdf&#xff0c;所以上传到github了&#xff0c;欢迎Issue和fork 地址&#xff1a; https://github.com/Martin-share/hfut-cs-final-exams-and-note 持续更新-------2024-01-30

企业做新媒体矩阵不可忽视的四大问题

互联网进入下半场&#xff0c;存量市场竞争日益加剧&#xff0c;获客成本不断增加&#xff0c;越来越多的品牌开始数字化转型&#xff0c;而布局社交媒体矩阵则成为了大多数品牌的必然选择。 通过社交媒体的图文、短视频、直播等形式营销推广&#xff0c;不断做深、做透、做细&…

如何override已经存在的约束

文章目录 前言一、如何override已经存在的约束总结 前言 在验证过程中&#xff0c;我们基本都是基于spec&#xff0c;做正常的约束&#xff0c;当我们测特定corner场景的时候&#xff0c;希望能够用新的约束&#xff0c;去override已经存在的约束。 一、如何override已经存在的…

windows下postgresql的安装使用

一、安装 1、安装包安装 1.1 下载exe安装包 选择安装包&#xff1a;官网 或者点击下载&#xff1a;postgresql-12.12-1-windows-x64.exe Tip&#xff1a;此时若报错&#xff1a;There has been an error.An error occured executing the Microsoft VC runtime installer。 参…

性价比之王,65W 2C1A降功率方案隆重推出

随着电子市场发展&#xff0c;现在越来越多的设备都具有快充功能&#xff0c;快充设备越来越普及&#xff1b;单口快充已经很难满足人们的需求&#xff0c;市场对多口快充配件的需求量日益增加。同时随着氮化镓的普及&#xff0c;适配器功率越做越大&#xff0c;功率的合理利用…

[Bug] [OpenAI] [TypeError: fetch failed] { cause: [Error: AggregateError] }

[Bug] [OpenAI] [TypeError: fetch failed] { cause: [Error: AggregateError] } ubuntu20 win10 edge浏览器访问 服务器部署 页面打开后想使用chatgpt报错了 rootcoal-pasi1cmp:/www/wwwroot/ChatGPT-Next-Web# PORT3000 yarn start yarn run v1.22.19 warning package.json:…

c++|类和对象(下)

一、再谈构造函数 1.1初始化列表 在上一章节中&#xff0c;对于类我们可以形象的比喻为房子的图纸&#xff0c;而真正对于类的初始化可以比喻为建造了一个实体房子&#xff0c;即创建对象&#xff0c;对于房子中的各个房间都有特定的位置构造&#xff0c;那么对于类中的成员变…

运维SRE-01 目录结构体系、find

1. Linux目录结构体系 Linux 核心目录的核心文件概述 1&#xff09; /etc下面 a) /etc/hosts 主机ip地址与域名(主机名)对应关系 b&#xff09; /etc/hostname 主机名 c) /etc/sysconfig/network-scripts/ifcfg-ens33或ifcfg-eth0 Linux网卡配置文件 d&#xff09;了解 /etc/i…

Prometheus的语句

1、node_cpu_seconds_total&#xff1a;监控项数据、指标项 2、node_cpu_seconds_total{cpu"0"}&#xff1a;时间序列 node_cpu_seconds_total 监控项数据&#xff08;指标项&#xff09; {cpu"0"} 标签 node_cpu_seconds_total{cpu"0"}&…

windows设置openDNS

windows环境搭建专栏&#x1f517;点击跳转 win系统环境搭建&#xff08;十九&#xff09;——windows设置openDNS 文章目录 win系统环境搭建&#xff08;十九&#xff09;——windows设置openDNS1.什么是openDNS&#xff1f;2.openDNS的ip是多少&#xff1f;3.设置DNS3.1 设置…

Android开发学习-中级控件

Drawable Android把所有能够显示的图形都抽象为Drawable类(可绘制的)。 这里的图形不止是图片&#xff0c;还包括色块、画板、背景等。 包含图片在内的图形文件放在res目录的各个drawable目录下&#xff0c;其中drawable目录一般保存描述性的XML文件&#xff0c;而图片文件一…