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的底牌是什么,才能打好IMU、视觉、激光雷达这张牌。