【Rtklib入门指南】4. 使用RTKLIB进行载波相位差分定位(RTK)
RTK
RTK(Real-Time Kinematic,实时动态)定位技术是一种高精度的卫星导航技术。相比传统的GPS定位技术,RTK能够在厘米级别的精度范围内提供定位结果。这使得RTK技术在无人机、自动驾驶、工程测绘、农业机械自动化等领域具有广泛应用。
RTK技术的核心在于利用两台或多台GNSS接收器(如GPS、北斗、GLONASS等)之间的相对位置差异,实时校正位置数据。通过高精度的载波相位差分算法,RTK能将传统卫星定位的误差从几米级降低到厘米级。
RTK定位的工作原理
RTK定位的原理基于载波相位差分技术,与传统的伪距差分技术不同,RTK利用了GNSS信号中的载波相位信息。其工作流程可以概括为以下几个步骤:
1.基准站和流动站的配置
RTK系统通常由两个关键部分组成:基准站(Reference Station)和流动站(Rover Station)。基准站的GPS接收器安装在已知的精确位置上,通过接收卫星信号来计算实时的误差数据,并将这些误差信息传送给流动站。流动站则安装在需要进行实时定位的目标上(如无人机或机械设备)。
2.载波相位差分
无论是基准站还是流动站,它们都接收到来自卫星的载波信号。传统GPS主要依赖伪距信号的时间延迟来计算位置,而RTK则利用载波的相位观测量来提高定位精度。载波的波长较短约19厘米,因此通过计算载波相位的精确差异,能够实现厘米级定位。
3.误差修正与实时传输
基准站计算出与流动站之间的误差,并通过无线电台或网络将差分数据发送给流动站。流动站接收这些误差数据后,结合其自身的GNSS信号,实时修正定位结果,达到高精度的定位效果。
4.实时计算与输出
流动站接收到差分数据后,利用RTK算法进行计算,并输出高精度的定位数据。这一过程是实时的,确保了流动站的位置精度始终保持在厘米级别。
观测数据
本文观测数据使用了hk2025年1月1日的观测数据。选取同类型接收机和天线的近距离两个参考站作示范用,流动站hksc,基准站hkss。

分析工具
RTKLIB demo5 b34版本
RTK定位流程
1. 双击打开RTKPOST

配置基准站hksc,

配置基准站,
配置Setting1选项卡,RTK的模式包括Kinematic:动态RTK;Static:静态RTK;Static-Start:静态初始;Moving-Base:动对静;Fixed:固定解。此处以Static静态解作为模式选择。
- Frequencies/Filter Type:单频数据的话选L1;双频L1+L2;三频L1+L2+L5。本案例选择双频L1+L2。
- Elevation Mask(°)/SNR Mask:选择高度截止角。截止高度角选择默认15度。以及对观测卫星的信噪比进行筛选设置。
- Filter Type:kalman滤波的类型,Forward前向滤波,backward后向滤波,combined双向滤波。
- Rec Dynamics/Earth Tides Correction:设置接收机动态模式,用于估计接收机位置(仅用于动态RTK模式)/设定地球潮汐改正,其中0:不设置(默认);1:使用固体潮汐校正;2. 使用固体潮汐改正和极潮改正。短基线情况下可选择OFF,长基线情况下可开启。本案例此处选OFF。
- Ionosphere Correction:若不提供电离层数据选则Broadcast;无电离层组合模型选择Iono-Free LC;非组合模型选择Estimate STEC。在RTK模式下,长基线可选择各自改正,短基线情况下大气误差相关性高,可选择OFF。此处选择OFF。
- Troposphere Correction:选择对流层估计模式。在RTK模式下,长基线可选择各自改正,短基线情况下大气误差相关性高,可选择OFF。此处选择OFF。
- Satellite Ephemeris/Clock一栏中若提供了精密钟差选Precise;没有则选择Broadcast。此处选择Broadcast。
- Excluded Satellites一栏可排除指定PRN的卫星。
- 最后可勾选进行解算相应的系统。


接下来可配置Setting2选项卡,
Integer Ambiguity Res:可以配置不同系统卫星的模糊度固定方式,Fix and hold为固定后不发生周跳的情况下进行保持,Continuous为连续固定,instantanous为每时刻都独立固定,PPP-AR在RTK模式下不进行选择。
- Integer Ambiguity Res:设置模糊度固定策略,默认使用PPP中的模糊度固定方法,即Fix and hold选项,固定后无周跳情况下进行保持。
- Ratio to Fix Ambiguity:输入最小Ratio值,用于设置模糊度的固定阈值。默认使用3,低成本接收机可酌情调整提高模糊度固定率,但降低阈值会带来错误固定概率上升的影响。
- Min Lock / Elevation to Fix Amb:设置固定整周模糊度的最少锁定计数和最小仰角,本案例使用默认参数。
- Min Fix / Elevation to Hold Ambiguity:如果Integer Ambiguity Res一栏中设置为“Fix and Hold”,则该选项中可以设置固定整周模糊度的最小固定数和最小仰角,本案例此处默认。
- Slip Threshs Doppler(Hz)/Geom-Free:周跳探测的门限阈值Doppler/GF组合。本案例此处默认。
- Max Age of Diff(s)/ Out to Reset Amb:设置流动站和基准站之间的时间差最大值(PPP和SPP模式下该项不参与解算),设置模糊度固定算法的中断阈值,若超过这一阈值则估计的模糊度将重置为初始值,设置线性组合载波相位差的周跳阈值
- Outlier Threshold for Code/Phase:伪距和载波判定为粗差的门限阈值。本案例此处默认。
- Number of Filter Iteration/Sync Solution:设置用于测量更新的估计滤波器的迭代次数,以及时间的同步方式,本示例默认。
- Baseline Length Constraint:基线长度限制,该参数仅在Moving-Base模式下有效,PPP及SPP模式下不可选。
- Min Fix Sats/ Min Hold Sats:固定需要的最小卫星数量,以及保持需要的最小卫星数量。本示例使用默认参数。
- Max Pos Var for AR/AR Filter:AR滤波器的最大定位残差协方差以及AR滤波器是否开启。本案例默认打开。
- Hold Amb Var/Hold Amb Gain:模糊度保持的方差和增益参数设置,本案例默认。

接下来可配置output选项卡,按需选择即可,这里选择了ECEF坐标系方便偏差计算。
- solution Format可选择坐标的呈现形式,Lat/Lon/Height表示经纬高坐标,XYZ-ECEF表示地心地固系下的xyz坐标,ENU-baseline表示输出的是ENU东北天坐标系,NMEA A0183则是nema格式。按需求选择即可。
- output Header打开会输出文件头,Process Options会打开过程相关信息,这两个默认打开即可。Vel则是输出速度,静态无需打开,动态可考虑打开。
- Time Format:则可选择时间的表示形式以及小数点的显示位数。
- Latitude Longtitude Format:可配置经纬度的显示形式和位数。
- Field Separator:设置输出文件中每个值之间的分隔符
- Datum/Height:若输出格式为经纬度时设置坐标基准(包括WGS84和Tokyo)/设置高程类型,包括椭球高(Ellipsoidal)和大地高(Geodetic)
- Geoid Model:如果Height选项设置为大地高(Geodetic),则通过该选项设置大地水准面模型。
- Solution for Static Mode:PPP-Static模式下选择输出解的类型,All选项:输出处理周期内的所有结果;Single选项:只输出处理周期内的一个解,解的历元为处理周期的起始历元。
- NMEA Interval (s) RMC/GGA:设置NMEA GPRMC、GPGGA消息的输出间隔,小于0不输出,等于0输出全部(仅用于导航或实时定位模式)
- Output Solution Status/Debug Trace:设置是否输出解决方案文件(包括状态估计和残差信息)/设置是否输出调试(Debug)文件。

下面进行Statistic选项卡的配置。
- Code/Carrier-Phase Error Rate L1/L2:设置L1和L2/L5/L6伪距误差的标准差与载波相位误差的比值。
- Carrier-Phase Error a+b/sinEI (m):设置载波相位误差标准差的仰角相关项
- Carrier-Phase Error/Baseline(m/10km):设置载波相位误差标准差的基线长度相关项
- Doppler Frequency(Hz):设置多普勒误差的标准偏差(Hz)(当前版本不使用该值)
- Receiver Accel Horiz/Vertical:设置接收机加速度的过程噪声标准差为水平或垂直分量,如果“Receiver Dynamics”设置为OFF,则该选项不参与解算。
- Carrier-Phase Bias:设置载波相位偏差的过程噪声的标准差
- Vertical Ionospheric Delay:设置每10km基线的垂直电离层延迟的过程噪声标准差
- Zenith Tropospheric Delay:设置天顶对流层延迟的过程噪声标准差
- Satellite Clock Stability:设置卫星时钟稳定性(s/s)。该值用于基站观测数据的插值
无特殊要求默认即可。

接下来是Positions的配置,需要注意的是,RTK属于相对定位,基准站的坐标必须非常准确,才能避免固定bias的引入。因为香港CORS站属于静态CORS站,数据长时间收敛,使用RINEX文件头坐标即可。
如果基准站和流动站天线类型不一致的情况下,可勾选两边的Antenna Type进行天线的类型选择,避免天线相关误差的引入。如果基准站和流动站天线类型一致,同类型误差可通过RTK的差分消除,该步骤则可省略。本案例使用的hkss和hksc天线类型都属于LEIAR25.R4,因此可省略此步骤。


配置ATX文件。

配置Base Station也就是基准站路径。

配置星历,本案例此处选择对应的广播星历路径。

点击Execute运行。

执行完毕后,可以通过View查看运行结果的文本形式,注意此处Q=1表示固定解,RTK的固定解精度一般在厘米级,浮点解(Q=2)精度一般在分米级。

点击Plot则可以查看RTK运行结果的绘图输出形式。

如果要消除基准,可在配置中将Coordinate Origin按需选择,此处选择Average Pos,消去平均偏差查看bias影响。

切换为gnd rtk,可以查看偏离散点图。

切换成velocity,可以查看速度情况。

切换成Accel,可以查看加速度情况。

切换到NSAT,可以查看卫星数和Ratio值的情况。

Residual显示了伪距和相位残差以及高度角随时间的变化情况。

Resid-EL则反映了残差随高度角变化的情况。通常来说高度角越低,残差容易越大。

Ref:
https://zhuanlan.zhihu.com/p/17631039979
相关文章:
【Rtklib入门指南】4. 使用RTKLIB进行载波相位差分定位(RTK)
RTK RTK(Real-Time Kinematic,实时动态)定位技术是一种高精度的卫星导航技术。相比传统的GPS定位技术,RTK能够在厘米级别的精度范围内提供定位结果。这使得RTK技术在无人机、自动驾驶、工程测绘、农业机械自动化等领域具有广泛应用…...
【SECS】初识SECS协议
【SECS】初识SECS协议 基本知识流和功能函数数量官方文件中缩写标注正常是不是都是主机向设备端?对数据信息中第1字节第1-2位官网介绍 S1F1双向指令说明测试H发起端E发起端 参考资料 基本知识 SECS(SEMI Equipment Communications Standard)即半导体设…...
【C++项目】从零实现RPC框架「三」:项⽬抽象层实现
🌈 个人主页:Zfox_ 🔥 系列专栏:C++从入门到精通 目录 一:🔥 常⽤的零碎功能接⼝类实现🦋 简单⽇志宏实现🦋 Json 序列化/反序列化🦋 UUID ⽣成二:🔥 项⽬消息类型字段信息定义 🦋 请求字段宏定义🦋 消息类型定义🦋 响应码类型定义🦋 RPC 请求类型定…...
webcam video demo
一个 demo,使用 OpenCV,手动操作 webcam,保持相机打开,防止频繁的 开关损坏摄像头硬件。 这是ROS情景下的一个节点,展示了ROS节点的常见格式。代码很简单,单展示了持续视频流的发布,还展示了基…...
ARM-LDS链接文件
关键字 ALIGN 在链接脚本中,ALIGN关键字:ALIGN(X)中的X表示多少个字节对齐。 在汇编文件中,是伪操作 .align x 实现的:表示2的x次幂个字节对齐; 2.X的取值也是有讲究的,必须是2的整数次幂。例如…...
相机镜头景深
文章目录 定义影响因素实际应用特殊情况 参考:B站优致谱视觉 定义 景深是指在摄影机镜头或其他成像器前沿着能够取得清晰图像的成像器轴线所测定的物体距离范围。简单来说,就是在一张照片中,从前景到背景,能够保持清晰锐利的区域…...
Linux基础入门:从零开始掌握Linux命令行操作
🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 🎈有没有觉得电影里的黑客🐒酷毙了?他们只用键盘⌨就能搞定一切。今天,毛毛张要带你们体验这种快感😀&…...
C++第13届蓝桥杯省b组习题笔记
1.九进制转十进制 九进制正整数 (2022)9转换成十进制等于多少? 第一位乘9的0次方,第二位乘9的1次方,第三位乘9的二次方以此类推 #include <iostream> using namespace std;int main() {// 请在此输入您的代码int t2022;int res0;int c…...
探索 Gaggol:理解 10^^^100 的宇宙级常数
一、常数概述: Gaggol 是一个极其巨大的数学常数,其数值表示为 10^^^100。这个常数是通过对数字 10 进行超递归幂运算得到的结果。 二、Gaggol 的定义: Gaggol 被定义为 10 的超多层超递归幂,即 10 被连续地提升到自身幂的层次达…...
python-leetcode 61.N皇后
题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…...
Centos8 系統Lnmp服務器環境搭建
Centos8 系統Lnmp服務器環境搭建 服務器環境 Centos8 [rootcentos8 ~]# uname -a Linux centos8 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux# 更新軟件包列表 rootdebian:~# dnf update安裝信息 PHP 版本8.2.27 https://ww…...
产教融合|暴雨技术专家执裁江苏省职业院校技能大赛
3月28-30日,由江苏省教育厅、省发改委、省工信厅等15家单位主办的2025年江苏省职业院校技能大赛网络系统管理赛项如期举办。此次赛事吸引了全省52支参赛队伍、156名选手踊跃参与,参赛人数再创新高。 暴雨信息技术专家李明宇作为此赛项的往届省赛冠军&am…...
BUUCTF-web刷题篇(6)
15.PHP 知识点: ①__wakeup()//将在反序列化之后立即调用(当反序列化时变量个数与实际不符是会绕过)我们可以通过一个cve来绕过:CVE-2016-7124。将Object中表示数量的字段改成比实际字段大的值即可绕过wakeup函数。条件:PHP5<…...
AIP-203 域行为文档
编号203原文链接AIP-203: Field behavior documentation状态批准创建日期2018-07-17更新日期2018-07-17 在定义protocol buffer中的域时,按惯例要向用户解释域行为的某些方面(例如域是必需的还是可选的)。此外,让其他工具理解域行…...
在 Cloud Run 上使用 Gemini API 构建聊天应用
李升伟 编译 (🎨 封面由 Gemini 中的 Imagen 3 生成!) 欢迎来到我的谷歌AI工具构建系列博客!本文将带您创建一个由Gemini驱动并托管在Cloud Run上的简易聊天应用。如果您正在探索大语言模型或希望将AI集成到网页应用中,那么您来…...
周总结aa
上周学习了Java中有关字符串的内容,与其有关的类和方法 学习了static表示静态的相关方法和类的使用。 学习了继承(extends) 多态(有继承关系,有父类引用指向子类对象) 有关包的知识,final关键字的使用,及有…...
31天Python入门——第17天:初识面向对象
你好,我是安然无虞。 文章目录 面向对象编程1. 什么是面向对象2. 类(class)3. 类的实例关于self 4. 对象的初始化5. __str__6. 类之间的关系继承关系组合关系 7. 补充练习 面向对象编程 1. 什么是面向对象 面向对象编程是一种编程思想,它将现实世界的概念和关系映…...
计算机视觉准备八股中
一边记录一边看,这段实习跑路之前运行完3DGAN,弄完润了,现在开始记忆八股 1.CLIP模型的主要创新点: 图像和文本两种不同模态数据之间的深度融合、对比学习、自监督学习 2.等效步长是每一步操作步长的乘积 3.卷积层计算输入输出…...
【C语言】文件操作(2)
一、文件的随机读写 在前面我们学习了文件的顺序读写的函数,那么当我们要读取某个指定位置的内容的时候,是否只能顺序的读取到这个内容?还有在对文件进行输入的时候,需要对指定的位置进行写入,那么此时应该怎么办呢&a…...
CCCC天梯赛L1-094 剪切粘贴
题目链接: 字符串函数: 1、截取字符串: //起始位置为3,结束位置为5string s "aabcdefg";//下标从0开始 [从开始位置,结束位置]string sub s.substr(3,3);//输出cde, 有返回值string//并且原字符串不改变, s"aab…...
C语言:多线程
多线程概述 定义 多线程是指在一个程序中可以同时运行多个不同的执行路径(线程),这些线程可以并发或并行执行。并发是指多个线程在宏观上同时执行,但在微观上可能是交替执行的;并行则是指多个线程真正地同时执行&…...
livekit ICE连接失败的一些总结
在使用livekit做的项目过程中碰到了一些ICE连接失败的问题, 一个时在同网段的局域网下 ,livekti服务和客户端不能联通,后来发现是服务端是多网卡,通过网络抓包才知道服务端在stun binding的时候使用了错误的网卡,在co…...
Python神经网络1000个案例算法汇总
【2025最新版】Python神经网络优化1000个案例算法汇总(长期更新版) 本文聚焦神经网络、优化算法,神经网络改进,优化算法改进,优化算法优化神经网络权重、超参数等,现在只需订阅即可拥有,简直是人工智能初学者的天堂。…...
某地81栋危房自动化监测试点项目
1. 项目简介 房屋进入老龄化阶段后,结构安全风险越来越大。近10年来,每年都会产生房屋倒塌人员伤亡的重大安全事故。调研分析显示,老旧房屋结构安全风险管理的有效路径为,通过“人防技防”的组合模式,对房屋安全风险进…...
远程装个Jupyter-AI协作笔记本,Jupyter容器镜像版本怎么选?安装部署教程
通过Docker下载Jupyter镜像部署,输入jupyter会发现 有几个版本,不知道怎么选?这几个版本有什么差别? 常见版本有: jupyter/base-notebookjupyter/minimal-notebookjupyter/scipy-notebookjupyter/datascience-notebo…...
python文件的基本操作和文件读写
目录 文件的基本操作 文件读写 文件的基本操作 Python 中对文件的基本操作主要包括打开文件、读取文件、写入文件和关闭文件等操作。下面是一个简单的示例: 打开文件: file open(example.txt, r) # 使用 open() 函数打开一个名为 example.txt 的文…...
山东大学软件学院项目创新实训开发日志(4)之中医知识问答数据存储、功能结构、用户界面初步设计
目录 数据库设计: 功能设计: 用户界面: 数据库设计: --对话表 (1个对话包含多条消息) CREATE TABLE conversations ( conv_id VARCHAR(36) PRIMARY KEY, -- 对话ID user_id VARCHAR(36) NOT NULL, -- 所属用户 title VARCHAR(100), -- 对话…...
20.思科交换机二层链路聚合的详细配置命令解析
思科交换机二层链路聚合的详细配置命令解析 一、PAgP协议的配置SW1的配置SW2的配置二、LACP标准协议三、配置聚合组的带宽和速率四、确保所有接口的双工模式和速率一致五、故障排除和监控在Cisco设备上配置链路聚合(也称为端口通道或EtherChannel)可以增强网络连接的带宽和可…...
【FreeRtos】随手记录想法和DeepSeek的交流
纯记录个人RTOS学习过程和DeepSeek的交流,或记录一些学习过程中奇怪的想法(也会喂给deepseek哈哈) 2025/3/31 1. prvCreateTask在干啥? Question prvTaskCreate这个函数做了什么:分配内存,首先会判断栈…...
【多线程】单例模式和阻塞队列
目录 一.单例模式 1. 饿汉模式 2. 懒汉模式 二.阻塞队列 1. 阻塞队列的概念 2. BlockingQueue接口 3.生产者-消费者模型 4.模拟生产者-消费者模型 一.单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保…...
