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

GPS定位原理及应用分析

一.定位原理

1.卫星定位(GPS,北斗导航)

在这里插入图片描述
①.硬件构成(24颗卫星,可构建一套导航系统)
为何是24颗卫星?
可以做到全球覆盖,同一地点地球上空可观测到4颗卫星。

②.为什么是4颗卫星来定位
在这里插入图片描述在这里插入图片描述

电磁波传播速度:3*10的8次方
卫星传播到地面时间:0.06s

卫星发射的信号会带自己的坐标(x,y,z),通过四颗卫星坐标计算出接收机坐标。

2.Wi-Fi定位

每一个无线AP(路由器)都有一个全球唯一的MAC地址。它主要通过扫描周围可见的 Wi-Fi 热点来确定设备的位置。(无法定位海拔)

3.蓝牙定位

蓝牙定位通常基于蓝牙信号的接收强度(RSSI)和设备之间的距离来确定位置。(无法定位海拔)

4.基站定位

基站定位是一种利用移动通信基站(如手机网络基站)信号的强度和位置信息来确定移动设备位置的定位方法。(无法定位海拔)

5.传感器定位(应用场景:机器人,汽车避障等)

超声波,激光雷达。(无法定位海拔)

二.GPS误差的情况

手机定位误差一般在几米到几十米之间

1.外部因素

①.大气层影响
大气层中的电离层和对流层对GPS信号会起到延迟的作用,电离层对电磁波的折射效应使得GPS信号的传播速度发生变化,对流层同样会对电磁波产生折射效应,从而影响GPS信号的传播速度。
②.卫星星历误差
卫星星历是由地面监控站跟踪监测卫星求定的。由于卫星运行中要受到多种摄动力的复杂影响,而通过地面监控站又难以充分可靠地测定这些作用力或掌握其作用规律,因此在星历预报时会产生较大的误差。它不仅严重影响单点定位的精度,也是精密相对定位的重要误差来源。
③.卫星时钟误差
卫星钟差是指GPS卫星时钟与GPS标准时间的差别。为了保证时钟的精度,GPS卫星均采用高精度的原子钟,但它们与GPS标准时之间的偏差和漂移和漂移总量仍在1ms~0.1ms以内,由此引起的等效误差将达到300km~30km。这是一个系统误差必须加于修正。
④.多径效应
多径效应由于接收终端周围环境的影响,使得接收机所接收到的卫星信号中还包含有反射和折射信号的影响,这也是影响在室内和城市楼宇密集的地区定位偏差大的一大因素。

2.内部因素

在这里插入图片描述

这里的内部因素是指手机主板上的GPS芯片影响定位的因素,现在主流的智能手机都将GPS芯片技术集成在CPU或基带芯片里,但是提供CPU或基带芯片的厂商不止一家,产品各种各样,所以产品的性能难免会存在差异,这也是造成GPS定位出现偏差的一个因素。

三.RTK原理(实时动态差分定位)

在这里插入图片描述

1.如上图所示,这是一个标准的传统RTK组网

其中,除了卫星之外,RTK系统包括两个重要组成部分——基准站和流动站。
两个站都带有卫星接收机,可以观测和接收卫星数据。顾名思义,基准站是提供参考基准的基站。而流动站,是可以不断移动的站。流动站其实就是要测量自身三维坐标的那个对象目标,也就是用户终端。

定位流程

第①步,基准站先观测和接收卫星数据;
第②步,基准站通过旁边的无线电台(数据链),将观测数据实时发送给流动站(距离一般不超过20公里)
第③步,流动站收到基准站数据的同时,也观测和接收了卫星数据;
第④步,流动站在基准站数据和自身数据的基础上,根据相对定位原理,进行实时差分运算,从而解算出流动站的三维坐标及其精度,其定位精度可达1cm~2cm。

2.网络RTK vs 传统RTK

传统RTK技术实施简单,成本低廉。但是,它也存在一个很大的问题,那就是流动站和基准站之间存在距离限制。距离越远,误差因素差异变大,定位精度就会下降。而且,距离远了,超过了无线电台的通信范围,也就无法工作了。
在这里插入图片描述

多个基准站组成的基准站网,它们将数据发给中央服务器。中央服务器会根据数据,模拟出一个“虚拟基准站”。(所以,网络RTK也被称为“虚拟基准站技术”或“虚拟参考站技术”。)
在这里插入图片描述

四.GPS定位实用场景

1.针对信号差的场景(车载,室内)

(不能提升精度,只能提高信号强度)

在这里插入图片描述

2.GPS定位辅助

利用现有的GPS设备,通过APP读取设备经纬度信息,从而提升精度。

在这里插入图片描述

3.高精度定位

定位精度想要达到亚米级别以内,必须要借助RTK硬件+RTK网络服务。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

综上所述:考虑成本问题,想要提升定位精度,目前最好的方案,读取现有GPS终端设备经纬度。

http://www.lryc.cn/news/340123.html

相关文章:

  • Java面试篇9——并发编程
  • [RK3399 Linux] 使用busybox 1.36.1制作rootfs
  • JavaScript入门--循环
  • 【Delphi 爬虫库 1】GET和POST方法
  • [leetcode] 快乐数 E
  • Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库
  • Java常用类 -- Random类
  • Docker安装Kong网关
  • spispispi
  • MySQL——创建和插入
  • 【BUG】element-ui表格中使用video标签,数据翻页,video中的视频仍然显示第一页的视频,没有重新加载
  • 【JavaSE】你真的了解内部类吗?
  • Vue3(二):报错调试,vue3响应式原理、computed和watch,ref,props,接口
  • 前端console用法分享
  • Matlab|电价型负荷需求响应(考虑电价变化)
  • PySide QWebChannel实现Python与JS双向通信的前后端分离桌面应用
  • 清明三天,用Python赚了4万?
  • 【C/C++笔试练习】read函数、虚拟存储、用户态、线程特点、缺页处理、调度算法、进程优先级、锁的使用、创建进程、不用加减乘除做加法、三角形
  • 设计模式(021)行为型之访问者模式
  • Linux中磁盘的分区,格式化,挂载和文件系统的修复
  • Android retrofit
  • 【C++风云录】五款 C++ 库的探索与应用:物联网、嵌入式与数据处理
  • Qt_30道常见面试题及答案
  • 【vue】v-model 双向数据绑定
  • C#创建磁性窗体的方法:创建特殊窗体
  • Gateway 基本配置指南:构建高效的网络接入网关
  • 自定义类型: 结构体 (详解)
  • 设计模式(23):访问者模式
  • 【C++】类和对象③(类的默认成员函数:拷贝构造函数 | 赋值运算符重载)
  • 掀起区块链开发狂潮!Scaffold-eth带你一键打造震撼DApp