伪距单点定位概念与原理、算例分析

2023-12-15 21:52

本文主要是介绍伪距单点定位概念与原理、算例分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 目录

一、概念与原理

1.伪距观测值

2.为何被称为"伪距" ?

3.单点定位的概念

4.伪距单点定位的原理

5.伪距单点定位的优缺点

二、伪距观测方程

三、伪距观测方程线性化

1.泰勒级数展开

2.得到线性化后的观测方程

3.在某历元接收机同时观测n颗卫星,列出观测方程

四、最小二乘迭代计算

1.最小二乘解的计算

2.根据卫星高度角定权确定权矩阵P

五、算例分析


伪距单点定位流程图如下:

一、概念与原理

1.伪距观测值

伪距观测值:由卫星发射的测距码信号到达接收机天线的传播时间乘以光速得出的量测距离

 接收机复制的复制码经过时间延迟器延迟一定时间 \tau 与测距码对齐。则延迟时间 \tau 就等于卫星信号的传播时间\Delta t,而卫星与接收机的距离等于时间乘以真空中的光速 c。

2.为何被称为"伪距" ?

  • 伪:与真实不同的事物
  • 伪距:与真实距离不同的距离
  • 由于卫星钟、接收机钟的误差以及卫星信号经过电离层和对流层中的延迟影响,得出的距离不等于卫星到接收机的几何距离,因此被称为伪距。

3.单点定位的概念

  • 根据卫星星历以及一台GNSS接收机的观测值来独立确定用户在地球坐标系绝对位置的方法称为单点定位,也叫绝对定位。

4.伪距单点定位的原理

  • 伪距单点定位是由GNSS接收机在某一时刻测得四颗以上卫星的伪距及已知的卫星位置,采用空间后方交会的方法求定接收机天线所在点的三维坐标。

5.伪距单点定位的优缺点

  • 优点:定位速度快、无多值性、一台接收机即可完成独立定位、外业观测组织方便、数据处理简单、可作为载波相位测量中解算整周模糊度的辅助资料。
  • 缺点:精度不高

二、伪距观测方程

1.

2.

3.

4.

5.为何要四颗或四颗以上卫星?

答:伪距观测方程一共有四个未知量:接收机位置三维坐标(X,Y,Z),以及接收机钟差只有四颗或四颗以上卫星才能列出足够的伪距观测方程,解出未知量。

三、伪距观测方程线性化

 伪距观测方程为非线性方程,直接求解接收机位置比较困难,需要对伪距观测方程通过泰勒级数展开进行线性化。

1.泰勒级数展开

2.得到线性化后的观测方程

3.在某历元接收机同时观测n颗卫星,列出观测方程

四、最小二乘迭代计算

1.最小二乘解的计算

2.根据卫星高度角定权确定权矩阵P

五、算例分析

假设在某历元使用一台GPS接收机同时观测 5 颗卫星,卫星的瞬时空间直角坐标如下表所示,接收机天线概略坐标为   (-2441267.856, 4790213.953, 3419994.410) ,其中综合改正包括卫星钟差、对流层延迟误差、电离层延迟误差等。

1.以20号卫星为例,在接收机概略位置处卫星到接收机距离为:

2.其观测向量方向余弦为:

同理,分别对其他卫星进行计算可得观测向量方向余弦矩阵:

3.观测向量为:

L为常数项、自由项,计算方法:伪距观测值 - 接收机与卫星之间的概略距离 - 综合误差改正

4.由原理中的公式求解接收机位置的变化值与接收机钟差值

其中,接收机钟差初始值未知,设为零。

5.得到接收机坐标平差值

6.设置迭代阈值,迭代计算

设迭代阈值设为 10^{-4},第二次迭代结果为:

迭代终止,接收机坐标平差值与上一次计算值相等(小于迭代阈值),计算结束。

这篇关于伪距单点定位概念与原理、算例分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498022

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工