3、GPS测高原理:高程系统与垂直精度分析

聊到GPS测高,很多同学第一反应就是“卫星定位嘛,高度不就是算出来的?”
嗯,这话没错,但实际做起来,坑比想象中多得多。
我最早做无人机定高的时候,就被GPS高度坑过一次——飞机悬停高度明明设了50米,结果飞控显示高度一直在45到55米之间跳。后来一查,问题出在高程系统上。

说白了,GPS测高不是简单的“算个Z坐标”就完事了。
你得先搞清楚:它算出来的高度,到底是以什么为基准的?

3.1 三个高程系统:大地高、椭球高、正高

这三个概念,我建议你记牢。做飞控定高时,它们会反复出现。

  • 大地高:GPS直接输出的高度。以WGS-84椭球面为基准。
  • 椭球高:和大地高基本是一回事。只是叫法不同。
  • 正高:以大地水准面(平均海平面)为基准。我们平时说的“海拔高度”就是它。

你想想看,GPS卫星测的是你到椭球面的距离。但无人机飞行的相对高度,通常是以起飞点的海拔为参考的。
这两个基准面之间,差了多少?

我做过实测:在华北平原,大地高和正高之间大约差20-30米。到了青藏高原,这个差值能到50米以上。
所以,如果你直接用GPS输出的大地高去做定高控制,飞机很可能“飞偏”。

核心结论:GPS输出的是大地高。飞控里需要做高程系统转换,才能得到可用的正高或相对高度。

3.2 GPS垂直精度分析

GPS的水平定位精度,现在能做到2-3米(单点定位)。
但垂直精度呢?
说实话,差很多。

为什么会这样?
因为卫星的几何分布。GPS卫星都在天上,它们在你头顶方向上的“视线”角度变化范围有限。水平方向上有4颗以上卫星就能解算,但垂直方向上的几何强度(DOP值)通常比水平方向大1.5到2倍。

我习惯用一个经验值:
GPS垂直精度 ≈ 水平精度 × 1.5 ~ 2.5

举个例子:
如果水平精度是3米,那垂直精度可能在4.5米到7.5米之间。
这个误差,对于无人机定高来说,太大了。

定位模式 水平精度(CEP) 垂直精度(2σ)
单点定位 2-5米 4-10米
DGPS 0.5-1米 1-2米
RTK 0.02-0.05米 0.05-0.1米

你看,单点定位的垂直精度,基本没法直接用。RTK虽然好,但成本高、复杂。
所以,在飞控里,我们通常不会只依赖GPS测高。

我的经验:在消费级无人机上,GPS高度只用来做“长期漂移校正”。短时间的定高,还是靠气压计和IMU融合。

3.3 多路径效应

多路径效应,说白了就是GPS信号不是直接到接收机的。
它可能先打到地面、建筑物、水面,再反射到天线。
反射信号比直达信号多走了路,时间上就有延迟。接收机一算,位置就偏了。

多路径效应对高度的影响,尤其明显。
为什么?
因为反射信号通常来自地面或低角度障碍物。它们会引入一个“虚假的低高度”分量。

我曾经在测试中遇到过:
无人机在湖边悬停,GPS高度突然往下跳了8米,然后又弹回来。
查了半天,发现是湖面反射了卫星信号。水面的反射系数很高,多路径效应特别严重。

避坑指南

  • 天线安装位置要远离机身金属结构
  • 避免在大型水面、玻璃幕墙附近飞行
  • 使用扼流圈天线或抗多路径天线
  • 在飞控软件里加入多路径检测和剔除算法

3.4 知识体系图

下面这张图,帮你理清GPS测高的核心逻辑:

GPS测高核心知识体系 高程系统 大地高(WGS-84) 椭球高 正高(海拔) 垂直精度 DOP值影响 精度 ≈ 水平×1.5~2.5 RTK可提升 多路径效应 信号反射延迟 虚假高度分量 水面/建筑区严重 飞控中的处理策略 GPS高度做长期校正 + 气压计/IMU做短期融合 三个模块相互影响,共同决定GPS测高的可用性 需要转换到正高才能用 垂直精度差,不能单独用于定高 环境选择+算法滤波

3.5 实际工程中的处理建议

说了这么多理论,最后给点实在的:

  1. 不要直接用GPS高度做控制。它的噪声和延迟都太大。
  2. 做高程系统转换。至少要知道你用的高度是大地高还是正高。
  3. 多路径效应要重视。特别是城市峡谷、水面、雪地这些场景。
  4. GPS高度适合做“慢速校正”。比如每10秒修正一次气压计的零点漂移。

一个小技巧:在飞控初始化时,记录GPS大地高和气压计高度的差值。飞行过程中,用这个差值来实时修正气压计的零点。这样既保留了气压计的短时精度,又消除了长期漂移。

嗯,GPS测高这块,内容其实不少。但核心就三点:
高程系统要分清、垂直精度要心里有数、多路径效应要防着点。
搞懂了这些,后面做融合定高时,你就能少踩很多坑。