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

<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 开启,否则融合位置提供商无法获取位置

    因此 我实现了新的 Fused Location Provider API 来获取用户的位置 但由于某种原因 除非 GPS 打开 否则我无法获取任何位置 并非总是如此 用户会打开 GPS 我不想要求他们每次加载应用程序时都打开 GPS 我如
  • 如果禁用 GPS,三星手机将无法获取位置信息

    我使用三星手机通过 LocationManager API 获取位置 如果禁用 GPS 我无法获取位置 通过网络提供商我无法获取位置 这是代码 这在 HTC 和索尼甚至禁用 GPS 中都可以正常工作 但在三星手机中则不行 public Lo
  • 根据 GPS 坐标计算 PNG 地图上的 X 和 Y 位置

    我正在 iPhone 应用程序上实现自定义地图 尺寸为 map width 和 map height 的图像 并尝试在该地图上显示当前用户位置 current long 和 current lat 我有 2 个参考点 具有已知的 GPS 坐
  • 东向北转纬度经度

    我有东向 北向格式的位置坐标 但我需要将其转换为正确的经纬度 以使其在 bing 地图中居中 有任何公式或详细信息如何将东距 北距转换为纬度 经度吗 编辑 更具体地说 我需要将 SVY21 坐标转换为 WGS84 东距和北距分别是基点向东和
  • 同时有多个位置提供商

    我的定位系统有一些问题 我有一个实现位置侦听器的服务 我希望尽可能使用网络获得最佳位置 如果网络不够准确 精度大于 300mt 则使用 GPS 问题是这样的 我每 5 分钟需要一次位置信息 如果可能的话准确 否则不准确 我从一个开始 Loc
  • Android 手机和模拟器中的mapView不同

    关于应用程序 这是一个简单的应用程序 可以查找用户当前位置 问题 该应用程序在模拟器上运行良好 请参见图片 但在手机中它没有显示MapView 请看图片 请告诉我手机出了什么问题 在手机中 它只下载巨大的 20 MB 数据 但不显示实际地图
  • 如何在没有“onLocationChange”方法的情况下知道 GPS 位置

    我想通过单击一个按钮来发送短信 并且在短信中我想发送位置信息 我试过 location locationManager getLastKnownLocation LocationManager NETWORK PROVIDER 但第一次显示
  • 通过js获取WebView中的位置

    我正在尝试创建 WebView 它将通过 js 获取 GPS 本地化 但是当我单击应该显示本地化的按钮时 在android 4 1 1 模拟器 中 错误代码2 无法启动地理定位服务 在 android 4 1 2 phone 中什么也没有发
  • 如何在android中离线获取纬度和经度?

    我想在 WiFi 和 Gps 关闭时获取当前位置 纬度和经度 可以从移动 SIM 网络获取纬度和经度 我在谷歌上搜索了更多 但没有得到满意的答案 从我昨天的经验来看question https stackoverflow com q 220
  • Android GPS 路由系统

    我正在开发一个 Android 应用程序 它可以定位用户 假设用户在路上 并且该应用程序将为用户创建最短路线 以便能够到达用户选择的目的地 定位用户不是问题 因为这里有一个 API http www vogella com articles
  • GPS坐标:一个点周围1平方公里

    我希望有人能给我提供一个方程来计算给定点周围 1 公里的平方 X 从 a aaa 到 b bbb Y 从 c ccc 到 c ccc 例如lat 53 38292839 and lon 6 1843984 我还需要围绕一个点 2 公里 5
  • 在带有校准点的地图上将经度和纬度转换为 X Y

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

    我正在尝试在我的 Android 应用程序中实现三边测量算法来确定用户的室内位置 我正在使用超宽带信标来获取到固定点的距离 我能够采用中建议的方法三边测量法 Android Java https stackoverflow com ques
  • 如何通过 GPRS 向 GPS 追踪器(TK103、GT02、GT06、TK102 等)发送命令

    这已经被问过这里https stackoverflow com questions 25460743 gps tracker tk103 how to send message through server https stackoverf
  • Android 中如何在不使用 getLastKnownLocation 方法的情况下获取当前的纬度和经度?

    我正在尝试获取current手机的位置 为此我使用GPS追踪器教程 http www androidhive info 2012 07 android gps location manager tutorial 问题总是使用该方法getLa
  • 从 GPS 点绘制线

    我有大约 100 个 GPS 坐标列表 我想画出每个列表所构成的线 使用散点图绘制的列表之一 看起来有点像这样 显然那里有一条线 我尝试了几种方法来对 GPS 位置进行排序并绘制它们 lats lngs with open filename
  • LocationManager requestLocationUpdates minTime OR minDistance

    我用的是安卓系统LocationManager及其方法requestLocationUpdates像这样 locationManager requestLocationUpdates LocationManager GPS PROVIDER
  • 检测wifi是否启用(无论是否连接)

    对于 GPS 跟踪应用程序来说 在打开 WIFI 的情况下记录位置信号会导致数据非常不精确或存在间隙 在开始跟踪之前 我已使用可达性查询来检测 wifi 是否可用 问题是 如果进行该查询时 wifi 已启用但未连接到网络 则表明无法通过 w
  • PWA 可以访问联系人、GPS 或使用手机摄像头吗?

    PWA 可以访问联系人 GPS 或使用手机摄像头吗 这在任何系统 ios android 中都可能吗 是否有任何开发计划来实现这些功能 PWA 无法克服一些限制 you cannot访问电话上的联系人列表 另一方面 你can拍照并使用 GP
  • Swift 将十进制坐标转换为度、分、秒、方向

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

随机推荐

  • 至今互联网上收集最全的精品教育资源【转载+补充】

    海慧为您奉上 xff01 xff01 xff01 操作指引 xff1a 第一步 xff1a 注册一个360云盘账号 xff0c 注册地址 xff1a yunpan 360 cn xff0c 拥有自己的账号和密码 第二步 xff1a 下载36
  • Linux Android 真机调试配置

    1 USB 链接手机 xff0c 打开USB调试 2 在终端中输入lsusb命令 xff0c 查看USB设备信息 xff0c 找到手机对应的USB信息 eg Bus 002 Device 003 ID 12d1 1035 Huawei Te
  • 【ROS2】类ROS1的rate定时器写法(c++&python例子)

    在ROS2官方教程里 xff0c 代码和ROS1例程有很大不同 xff0c 大部分节点都使用了类的写法 xff0c 并且用到了很多C 43 43 的新功能 其中 xff0c 发布消息是采用了一个定时器timer xff0c 并且注册一个回调
  • C++中STL常用容器的优点和缺点

    我们常用到的STL 容器 有vector list deque map multimap set和multiset xff0c 它们究竟有何区别 xff0c 各自的优缺点是什么 xff0c 为了更好的扬长避短 xff0c 提高程序性能 xf
  • APM飞控学习之路:5 串口概述与收发调试

    云中谁寄锦书来 xff0c 雁字回时 xff0c 月满西楼 当无人机在空中飞翔时 xff0c 从APM飞控到飞手之间有几条看不见的 风筝线 xff08 1 xff09 2 4GHz的遥控 xff1b xff08 2 xff09 433 91
  • 【Android车载系列】第3章 车载通讯CAN协议

    1 CAN总线的基本概念以及由来 1 1 简介 CAN 总线即控制器局域网总线 CAN xff0c Controller Area Network 是一种用于实时应用的串行通讯协议总线 xff0c 被公认为最有发展前景的现场总线之一 由 B
  • 经典面试题---linux启动流程

    linux启动流程 xff1a power on gt BIOS加电自检 xff0c 根据引导顺序启动 gt MBR gt grub stage2 gt boot grub grub conf gt 加载内核和ramfs文件系统 gt in
  • APM添加超声模块及定高程序分析

    给飞控添加新的模块 xff0c 通常的做法是写驱动文件 xff0c 然后用uORB订阅消息 xff0c 这种方法已经有文章介绍了 xff0c 下面介绍另一种更加简洁的方法 硬件连接 UARTD xff08 ttyS2 xff09 超声 Bo
  • 光流定点若干问题分析

    一 光流摄像头移动速度快慢对结果的影响 实际测试发现 xff0c 在一定高度水平慢速移动光流摄像头20个单位长度 xff0c 光流累加值为6 9 Pixel xff0c 水平快速移动光流摄像头20个单位长度 xff0c 光流累加值为50 6
  • 光流定点程序梳理

    本文主要分析飞控获取到光流数据之后 xff0c 如何实现定点 xff0c 至于光流算法 xff0c 不在本文讨论范围内 官网介绍的PX4 Flow采用STM32F4作为主控 xff0c 定点效果不错 xff0c 但价格稍贵 xff0c 而且
  • 关于SM2加密验签的操作

    对接银行的统一收单系统 xff0c 用到SM2加密验签流程 xff1a 1 xff1a 统一收单系统对接平台商户需要向CFCA申请复合证书 xff0c 一个用于商户签名 xff0c 另外一个用于报文加密 2 xff1a 平台商户入驻成功后
  • Vue脚手架运行报错multi-word-component-names

    问题描述 Vue脚手架运行的报错 error Component name Union should always be multi word vue multi word component names You may use speci
  • ucosIII学习总结

    看到以前写的ucos博客还有人看 xff0c 感到很欣慰 xff0c 写篇博客给刚学习ucos的同学一些建议 xff0c 希望对你们的学习有所帮助 写在前面 xff0c 当初学ucos完全是误打误撞 xff0c 从单片机一路走来 xff0c
  • Ubuntu 18.04 手动配置分区并安装

    环境说明 安装环境 xff1a VMWare WorkStations Pro 15 5 1 操作系统 xff1a ubuntu 18 04 4 desktop amd64 CPU xff1a 4 核 内存 xff1a 8 GB 磁盘 xf
  • Make 命令(持续更新)

    一 背景 Make是最常用的构建工具 xff0c 诞生于1977年 xff0c 主要用于C语言的项目 但是实际上 xff0c 任何只要某个文件有变化 xff0c 就要重新构建 的项目 xff0c 都可以用Make构建 make只是一个根据指
  • linux c++ 服务器端开发面试必看书籍

    摘自别人博客 xff0c 地址 xff1a http blog csdn net qianggezhishen article details 45951095 打算从这开始一本一本开始看 题外话 xff1a 推荐一个 github 上的
  • K8s网络实战分析之service调用

    在上一篇文章K8s网络实战分析之Calico ipip模式中 xff0c 我们通过Pod之间进行ping操作 xff0c 对基于Calico IPIP模式的K8s网络进行了实战学习与分析 单单进行Pod Pod的访问只是K8s的基础功能 x
  • RTK(Real - time kinematic,实时动态)载波相位差分技术

    GPS和RTK区别在于 xff1a 二者bai指代du不同 二者作用不同 二者原理不同 1 二者指代不同 xff1a RTK是载波dao相位差分技术 xff0c 是实时处理两个测量站载波相位观测量的差分方法 xff1b GPS是全球定位系统
  • RTK+GPS提高定位精度原理解析

    RTK 43 GPS提高定位精度原理解析 xff08 一个小白写给另一个小白系列 xff09 GPS定位原理回顾RTK基本概念RTK组成RTK传输差分示意RTK数据链接坐标转换RTK应用后记 我们在上一篇文章导航定位系统的原理解析 xff0
  • GPS、RTK、PPK三种定位技术的原理及应用

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