3. GNSS定位原理:伪距定位、载波相位定位、RTK/PPK技术、多路径效应与误差源

各位同学好,我是老张。今天咱们聊点硬核的——GNSS定位原理。说实话,我入行那会儿,觉得GNSS就是个黑盒子,天线一接,坐标就出来了。后来踩了无数坑才明白,这玩意儿背后的门道深着呢。

咱们做融合定位,GNSS是绝对坐标的锚点。你IMU再准,WiFi指纹再密,没有GNSS这个"定海神针",系统迟早飘到天上去。所以,搞懂GNSS怎么算位置,误差从哪来,是调优的第一步。

核心观点:GNSS定位的本质,就是解一个四元一次方程组——三个位置坐标(x,y,z)加一个接收机钟差(dt)。四个未知数,至少需要四颗卫星。

3.1 伪距定位:最朴素的定位方式

伪距定位,说白了就是测距。卫星发一个信号,接收机收到,记录时间差,乘以光速,就是距离。但这里有个坑——卫星钟和接收机钟不同步。

卫星上装的是原子钟,精度高得离谱。接收机呢?普通石英钟,一天能差几微秒。光速是3×10⁸ m/s,1微秒的钟差就是300米。所以伪距方程里必须把接收机钟差当未知数一起解。

伪距观测方程长这样:

ρ = r + c·(dt_r - dt_s) + I + T + ε

其中:

  • ρ:伪距观测值
  • r:卫星到接收机的几何距离
  • c:光速
  • dt_r:接收机钟差
  • dt_s:卫星钟差(可通过导航电文修正)
  • I:电离层延迟
  • T:对流层延迟
  • ε:其他噪声

我在项目里遇到过一件事:有一次在郊区测试,伪距定位精度突然从3米掉到15米。排查了半天,发现是接收机晶振受温度影响,钟差模型失效了。嗯,硬件层面的坑,软件再牛也填不平。

实战建议:伪距定位精度一般在3-10米。如果你做的是车道级导航,别指望伪距。但做城市峡谷场景的粗定位,伪距够用了。

3.2 载波相位定位:厘米级的秘密

伪距定位精度不够,怎么办?用载波相位。

载波信号的波长很短——L1波段19cm,L2波段24cm。如果能测出载波相位的小数部分,理论上精度能到毫米级。但问题来了:整周模糊度怎么解?

你想想看,接收机只能测到相位的小数部分,整数部分是多少?不知道。这就是著名的"整周模糊度"问题。

载波相位观测方程:

Φ = λ·N + r + c·(dt_r - dt_s) - I + T + ε

多了一个λ·N,λ是波长,N是整周模糊度(整数)。

解N的方法有很多:

  • LAMBDA算法:最经典的方法,用最小二乘搜索整数解
  • TCAR:三频组合法,适合多频接收机
  • 运动学初始化:通过短时间运动解算N

我曾经在无人机项目上吃过亏。飞机起飞后,载波相位锁定突然丢失,重新锁定后N变了,位置直接跳了20米。后来加了周跳检测和修复算法,才算稳住。

注意:载波相位定位需要连续跟踪卫星信号。一旦发生周跳(cycle slip),整周模糊度就得重新解算。城市环境下,高楼遮挡频繁,周跳是家常便饭。

3.3 RTK/PPK技术:差分定位的两种玩法

单点定位误差太大,怎么办?差分。原理很简单:两个接收机距离不远,误差源(电离层、对流层、卫星钟差)高度相关,做差就能消掉大部分误差。

RTK(实时动态差分):

  • 基准站把观测值通过电台/4G发给流动站
  • 流动站实时解算整周模糊度
  • 精度:水平1-2cm,高程3-5cm
  • 缺点:需要数据链路,距离受限(一般<30km)

PPK(后处理动态差分):

  • 基准站和流动站各自记录原始观测值
  • 事后用软件做差分处理
  • 精度:和RTK相当
  • 优点:不需要实时数据链路
  • 缺点:不能实时出结果

我个人的习惯是:做自动驾驶路测用RTK,因为要实时看效果。做测绘或无人机航测用PPK,省去架设电台的麻烦。

关键区别:RTK是"实时算",PPK是"事后算"。RTK依赖通信链路,PPK依赖存储和后期处理。

3.4 多路径效应:定位精度的隐形杀手

多路径效应,说白了就是信号反射。卫星信号打到高楼、地面、水面上,反射后进入接收机,和直射信号叠加,造成测距误差。

多路径误差有多大?

  • 伪距:可达10-100米
  • 载波相位:可达1/4波长(约5cm)

伪距的多路径误差大得吓人。载波相位虽然小,但1/4波长也够让厘米级定位变成分米级。

怎么抑制多路径?

  • 天线设计:扼流圈天线、抗多路径天线
  • 信号处理:窄相关器、双delta技术
  • 算法层面:基于信噪比(SNR)的加权、多路径检测与剔除

我记得在深圳某高楼密集区测试,RTK定位精度从2cm掉到15cm。查了半天,发现是玻璃幕墙反射太严重。后来换了扼流圈天线,情况好了一些,但也没完全解决。多路径这东西,物理上很难根除。

避坑指南:我曾经在河边测试,水面反射导致伪距误差超过50米。后来我养成了一个习惯——测试前先观察环境,水面、玻璃幕墙、金属屋顶都是重灾区。

3.5 误差源全景图

GNSS误差源可以分成三类:

误差类别 误差源 典型大小 能否差分消除
卫星端 卫星钟差、轨道误差 1-5米 能(短基线)
传播路径 电离层延迟、对流层延迟、多路径 2-50米 部分能
接收机端 接收机钟差、噪声、天线相位中心偏差 0.5-10米 不能

做融合定位调优时,我的经验是:先搞清楚当前场景下哪个误差占主导。郊区开阔地,电离层是主要误差;城市峡谷,多路径是主要误差;高动态场景,接收机噪声和钟差是主要误差。对症下药,比盲目调参数有效得多。

3.6 知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了。你仔细看一遍,应该能理解GNSS定位的全貌。

GNSS定位原理知识体系 伪距定位 载波相位定位 差分定位 测距方程 钟差解算 精度:3-10m 整周模糊度 周跳检测 精度:cm级 RTK / PPK 差分消除误差 精度:1-5cm 误差源:卫星钟差 | 轨道误差 | 电离层 | 对流层 | 多路径 | 接收机噪声 调优方向:误差建模 → 差分处理 → 多路径抑制 → 融合滤波

这张图从定位方法出发,往下延伸到核心概念,再汇聚到误差源,最后落到调优方向。你把它打印出来贴在工位上,做融合定位调优时随时看一眼,思路会清晰很多。

本章小结:伪距定位是基础,载波相位是精度,差分是手段,多路径是敌人。做融合定位,你得知道GNSS的底牌是什么,才能打好IMU、视觉、激光雷达这张牌。

可可精品资料库