GPS、RTK、PPK三种定位技术的原理及应用

2023-05-16

一、GPS技术

1.原理
之前做过集成GPS功能的产品,对这种不以定位为主要功能的产品,精度是没有要求的,例如我只是用它来得到当前社区的位置,一般的GPS模块都能满足要求。理论上,超过四颗卫星就能实现定位。
在这里插入图片描述
我们的GPS产品,只要集成卫星接受芯片,就可以获取定位信息了

2.弊端
卫星定位存在以下误差:

  • 轨道误差,就是卫星告诉你的位置和其真实的位置有偏差。
  • 时钟误差,就是卫星告诉你的时间和标准时间有偏差。
  • 电离层延迟,就是卫星信号在从太空穿越大气层,经过电离层时其速度会变慢,而我们却不知道它慢了多少时间。
  • 对流层延迟,与电离层延迟相似。
  • 多径,就是卫星信号碰到一些反射物体,发射的信号会对实际信号有影响,让用户误判到底哪个才是真正想要的信号。
  • 接收机噪声,就是接收机自己在测量距离时也会带入自己的误判。

正是由于这一系列误差,GPS的定位精度只能达到米级

二、RTK技术

1.原理
RTK即差分定位(把误差分离出去),在GPS的基础上,架设一个地面基站,地面基站获取卫星定位与真实位置(由于基站固定,所以位置是绝对的)对比,计算出GPS的定位误差,并通过GPRS把当前误差发送给移动站,移动站会利用这个误差纠正从卫星获得的定位。
在这里插入图片描述
言简意赅,我们需要两个东西:GPRS和基站。GPRS需要一张SIM卡,通过三大运营商和基站连接;基站可以自己架设,有一点麻烦,但可控,也可以租赁,著名RTK基站服务商有千寻位置【https://passport.qxwz.com/login】等,目前很多RTK模块都支持以千寻为基站,且模块本身都是移动站基站两用的,流动站与基准站的距离不能超过10km-15km。

2.产品选型介绍
目前市场上的RTK基本有三种类型的:

  • RTK模块 :集成了定位、GPRS、Radio功能,留有配置接口,利于二次开发(推荐
    中海达的一款RTK产品

  • RTK板卡 :一般只有定位功能,4g和电台等需要自己集成
    在这里插入图片描述

  • 手持RTK:方便测绘,不利于二次开发,淘宝一搜RTK全是那玩意
    在这里插入图片描述

3.硬件接口及解释

以中海达RTK模块为例,其他厂家大同小异,硬件上具有四个天线接口,分别为GNSS1、GNSS2、GPRS、Radio,还有两个COM口

(1)单频信号与双频信号(GNSS1、GNSS2)
GPS卫星信号分为L1和L2,频率分别为1575.42MHZ和1228MHZ。接受信号是单频还是双频却决于RTK模块,双频机通过接受两组不同频率的卫星信号,可以有效消除电离层的误差。双频机对比与单频机可以提供更为快速、更为精确、可靠的解算,但是价格相对昂贵。
在这里插入图片描述
(2)天线(GPS、GPRS)

  • 像天线这种东西,分类有很多种方法,但是任何东西,对于使用者最好是以功能分类。不同的天线的工作频率不一样,所以功能也不一样。像Wifi的工作频率分别在2.4G和5G,GPS天线的工作频率是在1.2-1.6G左右,4G天线的工作频段在1.7-2.7G之间,GPS天线有可能在4G的低频段可以工作,但是高频段的指标会很差。一般情况下是没办法共用的。所以不要看到天线就拿来用。
  • 主流定位天线:平面贴片天线、平面螺旋天线、四臂螺旋天线、蘑菇头天线
  • 定向天线:定向天线有区别于定位天线,有时需要同时使用,但对于移动物体,也可以软件处理两点的经纬度得到方向角

(3)电台
电台这功能没用过,等用了再来解释

(4)模式
目前的RTK模块大都支持多模卫星信号,即可同时从GPS、北斗、伽利略收星

(5)串口(COM1、COM2)
一般用于配置设备和数据读取

4.数据获取及二次开发

(1)串口输出报文
我们通常通过ttl或485串口连接GPS模块读取GPS报文,做相应的本地开发,大多数参数可以从【GPS报文】中读取,从而判断定位状态,格式如下:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>

<1> UTC时间,hhmmss.sss(时分秒)格式
<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<3> 纬度半球N(北半球)或S(南半球)
<4> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<5> 经度半球E(东经)或W(西经)
<6> GPS状态:0=未定位,1=非差分定位,2=差分定位,4=固定解算,5=浮动解算,6=正在估算 ;当GPS状态达到4时,为最佳状态,5为次佳
<7> 正在使用解算位置的卫星数量(00~N)(前面的0也将被传输)
<8> HDOP水平精度因子(0.5~99.9)
<9> 海拔高度(-9999.9~99999.9)
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
<12> 差分站ID号0000~1023(前面的0也将被传输,如果不是差分定位将为空)在这里插入图片描述
(2)4G输出
有的RTK设备支持数据报文回传至服务器,我们远程获得定位数据可以做相应的平台软件开发

(3)端点续传
4G信号是有可能比较差,数据无法回传,如果对实时性要求比较高,需要增加断点续传功能,即存储定位信息,等信号恢复后重新发送

5.主要厂家
RTK产品做的比较成熟的厂家,国外主要是天宝,国内主要是中海达、司南、华测和芯星通等

6.注意事项
RTK模块定位质量受诸多因素影响,若未达到最佳解算状态或精度不理想,可以尝试以下手段:

  • 检查4G天线和GPS天线是否匹配、是否松动
  • 检查SIM卡是否欠费或松动
  • 查看报文中的收星数,在空旷位置测试获得更多收星,室内GPS是无法定位的,手机之所以可以在室内定位是因为结合了Wifi定位等技术
  • 查看基站服务是否过期

二、PPK技术

1.原理
PPK即动态后处理技术,是对RTK技术的补充
利用进行同步观测的一台基准站接收机和至少一台流动接收机对卫星的载波相位观测量;事后在计算机中利用GPS处理软件进行线性组合,形成虚拟的载波相位观测量值,确定接收机之间厘米级的相对位置;然后进行坐标转换得到流动站在地方坐标系中的坐标。
一般用在无人机上,用于调整飞行姿态的。

2.应用
目前还没用到,据说天宝的rtk加上ppk可以达到mm级

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GPS、RTK、PPK三种定位技术的原理及应用 的相关文章

  • 如何查看手机是否有GPS设备?

    我正在尝试找到一段代码可以告诉我Android手机是否有GPS设备 我在搜索结果中获得的大多数示例都表明 GPS 是否启用 我感兴趣的是Android手机是否有物理GPS设备 Thanks 从 API 级别 8 Froyo 开始 您可以使用
  • 在 Iphone SDK 中显示 GPS 可用性和准确性

    如何编程以在 iPhone 中显示 GPS 可用性和准确度级别 并且它必须擦除标签中先前的纬度 经度信息 iOS sdk 中有一个类叫做 CLLocationManager 浏览 XCode 中的文档或查找一些示例 http mobileo
  • 如何在 python 中创建自己的数据类型以便覆盖算术运算符?

    我目前正在使用 Python Numpy 处理地理 GPS 数据 喜欢它 并且我面临着计算由坐标对定义的地理点之间的距离的重复任务pn lon lat 我有一个这样使用的函数 dist geodistance p1 p2 它类似于线性代数中
  • Android LocationManager.getLastKnownLocation() 返回 null

    因此 我尝试在应用程序中对 GPS 坐标进行一次采样 我不想创建 LocationListener 对象来不断获取 GPS 更新 我想等到收到坐标 然后继续执行另一项任务 这是一个代码片段 LocationManager lm Locati
  • 如何在没有“onLocationChange”方法的情况下知道 GPS 位置

    我想通过单击一个按钮来发送短信 并且在短信中我想发送位置信息 我试过 location locationManager getLastKnownLocation LocationManager NETWORK PROVIDER 但第一次显示
  • 使用 Android.Xamarin 查找纬度和经度

    我正在尝试在 Android Xamarin 中开发商店定位器应用程序 我的第一步是找到我所在位置的纬度和经度 但我的模拟器 设备屏幕没有显示任何内容 我有我的uses permissions set to
  • C#:GPS跟踪系统[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 C net 中构建带有移动设备 带 GPS 的 GPS 跟踪系统 场景是 通过支持 GPS 的手机跟踪用户 服务工程师 这里没
  • 如何在 Android 中找到附近的应用程序用户?

    我正在制作一个应用程序 需要能够找到附近的人 他们是我的应用程序的用户 我看了很多类似问题的答案 似乎我别无选择 只能不断将用户的当前位置上传到服务器 并在必要时获取附近的用户列表 那么我的问题是 1 要获取附近的列表 应该有一些计算距离的
  • 在带有校准点的地图上将经度和纬度转换为 X Y

    如果我有一张尺寸为 sizeX sizeY 的 jpeg 地图 以及地图上的一些校准点 X Y 经度 纬度 使用给定的经度 纬度对计算地图中相应 XY 点的算法是什么 这对我有用 没有那么多废话 int x int MAP WIDTH 36
  • GMSPolyline 非常大的内存峰值

    在允许用户在各种不同类型的地图上显示我们称之为轨迹的复杂位置点列表的 GPS 应用程序中 每个轨迹可以包含 2k 到 10k 个位置点 当轨迹在非 Google 地图类型上呈现时 它们会被大量剪切 修剪和路径简化 这是为了降低内存使用量并提
  • 如何通过 GPRS 向 GPS 追踪器(TK103、GT02、GT06、TK102 等)发送命令

    这已经被问过这里https stackoverflow com questions 25460743 gps tracker tk103 how to send message through server https stackoverf
  • 使用 GPS 获取 Android 手机的位置

    我还有一个关于基本 Android 编程的问题 如何访问 GPS 来获取运行应用程序的手机的当前位置 检索信息需要多长时间 在这种情况下 GPS 可能被禁用 如何再次启用 禁用它 必须在 andorid 清单中授予哪些权限 问候并感谢您的回
  • 移动应用程序在后台时的 GPS 位置(使用 ionicframework)

    我需要实现一个应用程序来存储用户从 A 移动到 B 时的旅程 路径 现在 我知道 ionicframework 可以使用 GPS 但是当我的应用程序转到后台时会发生什么 我的应用程序如何继续存储用户位置 这可能吗 有没有我可以使用的插件 请
  • GPS 坐标(以度为单位)来计算距离

    在iPhone上 我以十进制度数获取用户的位置 例如 纬度39 470920和经度 0 373192 也就是A点 我需要用另一个 GPS 坐标 同样以十进制表示 B 点创建一条线 然后 计算从 A 到 B 的线与另一个点 C 之间的距离 垂
  • Android 查找 GPS 位置一次,显示加载对话框

    我正在编写一个应用程序 它需要用户的当前位置 lastknownlocation 不会很有帮助 并显示从数据库中获取的所有最接近的 项目 的列表 我已经找到了最近的项目 效果很好 但暂时只使用硬编码的纬度和经度位置 但现在是时候实现查找实际
  • Android 中的 GPS 超时

    在黑莓中 我们使用超时来获取位置 这样如果它在这么长时间内没有重新调整位置 我们就会知道 但是在Android中 没有超时的概念 任何人都可以告诉我们替代方案 我们可以发现 在这么长时间之后 GPS没有位置更新 您可以使用两个线程来实现此超
  • 使用 iPhone 版 gmap 中的经纬度计算两个地点之间的距离 [重复]

    这个问题在这里已经有答案了 可能的重复 GPS 坐标 以度为单位 来计算距离 https stackoverflow com questions 6994101 gps coordinates in degrees to calculate
  • iPhone 网络应用程序可以获取 GPS 位置吗?

    有没有一种简单的方法来设计一个网站来促进iphone用户提供gps网站坐标 我想知道表单字段是否有命名约定 例如 让用户以自动方式输入 我正在考虑建立一个基于位置的网站 并希望为 iPhone 和其他移动用户 量身定制 我意识到 iPhon
  • requestLocationUpdates minTime 参数用途

    我正在创建一个应用程序 用于教育目的 它每 30 分钟记录一次用户的位置 并使用户能够查看地图上的所有位置 我不希望更新频率超过 30 分钟 但事实确实如此 这就是我的称呼requestLocationUpdates locationMan
  • Swift 将十进制坐标转换为度、分、秒、方向

    我怎样才能将其转换为快速 我最好的猜测是所有 int 都变成了 var 删除所有导致 的 此外 如果有的话可以给我指出一个很好的来源来了解事物如何转换 那就太好了 NSString coordinateString int latSecon

随机推荐

  • Markdown:插入图片和图注

    文章目录 在Markdown中插入图片 xff0c 调节位置 xff0c 大小 xff0c 以及插入图注 并排插入图片并排插入图片但无缝隙简单的插入可调整大小图片使用图床 xff08 腾讯云cos 43 picgo xff09 在markd
  • Vmware Esxi在线管理虚拟机

    目录 特征 占地面积小 可靠的性能 增强的安全性 生态系统卓越 用户友好的体验 管理截图 登录系统 主机虚拟机 虚拟机操作 What is ESXI Bare Metal Hypervisor ESX VMware 特征 通过将多台服务器整
  • 孤立森林(Isolation Forest)

    最近正好在做孤立森林的项目 xff0c 写下这篇推文记录下项目进程 xff0c 也给需要做这个项目的同学一点参考 1 什么叫异常点 图中红色的点偏离大部分的数据 xff0c 可以发现这些点分布稀疏且离密度高的群体较远 xff0c 这样的点称
  • 修改docker容器端口映射

    大家都知道docker run可以指定端口映射 xff0c 但是容器一旦生成 xff0c 就没有一个命令可以直接修改 通常间接的办法是 xff0c 保存镜像 xff0c 再创建一个新的容器 xff0c 在创建时指定新的端口映射 有没有办法不
  • MaxWelll常用命令

    文章目录 1 启动maxwell xff1a 1 1 控制台为输出 xff1a 1 2 kafka为输出 xff1a 1 3 配置指定某些表输出 xff1a 1 4 配置输出到kafka 分区规则为表的主键 xff1a 1 5 配置文件启动
  • Linux系统--进程与线程的区别

    看了一遍排在前面的答案 xff0c 类似 进程是资源分配的最小单位 xff0c 线程是CPU调度的最小单位 这样的回答感觉太抽象 xff0c 都不太容易让人理解 做个简单的比喻 xff1a 进程 61 火车 xff0c 线程 61 车厢 线
  • 关于锁的理解

    本文打算写一些和锁有关的东西 xff0c 谈一谈我对锁的原理和实现的理解 xff0c 主要包含以下方面 信号量互斥量条件变量 同步与互斥 其实同步与互斥都是计算机科学里面概念性的东西 xff0c 它们和什么编程语言 操作系统其实都没什么关系
  • Android 适配ipv6

    Android8 0开始支持ipv6 okhttp支持ipv6 glide支持ipv6方法 ijkplayer
  • java自我学习第一阶段的收获和感受

    1 首先对于编程的学习第一步都是基本语法的学习 xff0c 语法学习的特点有 xff1a 所有编程语言的语法定义都大体相似 xff0c 大概的是编程发展的延续 xff0c 没有人语言设计人员会标新立异 xff0c 只有站在别人的肩上不断完善
  • docker常用命令及配置

    最近使用了docker xff0c 像是发现了新大陆 真是简洁好用的东西 xff0c 为啥原来没发现 docker的安装不再赘述 xff0c 在此记录一下常用的命令 xff0c 以便于将来查询 查看docker容器版本 docker ver
  • 数字图像处理读后感

    数字图像处理读后感 前言 初步写完比赛代码后 看了机器学习看了数字图像处理还有其他的一些乱七八糟的东西 然后又觉得如果只是看完没有总结回顾那就是很失败的一件事情 所以就想写一写自己的读后感 我自己看得是B站的视频 这是西安电子科技大学的任老
  • 第七天 树莓派+计算棒配置过程

    一 xff1a 安装过程参考 xff1a https blog csdn net qqqzmy article details 85213414 1 材料硬件 树莓派3B 43 intel movidius 神经元计算棒2代显示器 鼠标键盘
  • Docker镜像推送(push)到Docker Hub

    镜像构建成功后 xff0c 只要有docker环境就可以使用 xff0c 但必须将镜像推送到Docker Hub上去 我们之前创建的镜像不符合Docker Hub的tag要求 xff0c 因为 在Docker Hub注册的用户名是boony
  • Altera FPGA 远程更新

    文章目录 1 概述2 如何生成factory jic xff1f 3 如何使用ASMI IP4 如何使用Remote updata IP xff1f 5 UART命令 以下内容均参考自官方手册 手册下载地址 xff1a ug altremo
  • 将ros的深度图像 转换成 opencv的图像 并求距离

    将ros的图像 转换成 opencv的图像并求距离 参考的博客概念将ROS图像消息转换为OpenCV图像示例计算距离 参考的博客 ROS学习笔记47 xff08 ROS图像和OpenCV图像之间的转换 xff08 C 43 43 xff09
  • ROS入门总结(二):Python定义发布器Publisher与订阅器Subscriber

    节点ROS通信系统中就是一个可执行的程序 xff0c 这边博客主要记录如何在Python代码节点中定义发布器和订阅器 发布器 xff1a import rospy from std msgs msg import String 载入Stri
  • 计算机视觉中的传统特征提取方法总结(转载)

    前言 本文对计算机视觉传统方法中的一些特征提取方法进行了总结 xff0c 主要包括有 xff1a SIFT 尺度不变特征变换 HOG 方向梯度直方图 SURF ORB LBP HAAR 目录 1 SIFT xff08 尺度不变特征变换 xf
  • docker源码分析(1)(持续更新)

    docker源码分析 xff08 1 xff09 xff08 持续更新 xff09 daemondocker DaemonClient的启动内部函数分析newAPIServerConfigloadListenersinitContainer
  • JS实现图片切割

    lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt title gt Title lt title g
  • GPS、RTK、PPK三种定位技术的原理及应用

    一 GPS技术 1 原理 之前做过集成GPS功能的产品 xff0c 对这种不以定位为主要功能的产品 xff0c 精度是没有要求的 xff0c 例如我只是用它来得到当前社区的位置 xff0c 一般的GPS模块都能满足要求 理论上 xff0c