3、全球定位系统(GPS)基础:GPS定位原理、伪距与载波相位观测、GPS误差源分析

好,咱们进入GPS的部分。说实话,搞组合导航这么多年,我见过太多人一上来就搞松耦合、紧耦合,结果GPS的基本原理都没吃透。这就像盖楼不打地基,迟早要塌。今天我就把GPS最核心的三个东西掰开揉碎了讲:定位原理、两种观测值、还有那些让人头疼的误差源。

3.1 GPS定位原理:三边测量与时间同步

GPS定位,说白了就是「三边测量法」的升级版。你想想看,如果我知道自己离A点10米,离B点15米,离C点20米,那我就能算出自己的位置。GPS卫星就是这些已知点,用户接收机就是待求点。

但这里有个坑——时间同步。卫星上有原子钟,精度极高。接收机呢?用的是石英钟,便宜但不准。这就导致一个问题:测出来的距离不是真实距离,而是「伪距」。

为什么会这样?因为接收机时钟和卫星时钟不同步。假设卫星在t时刻发信号,接收机在t+Δt时刻收到。这个Δt里包含了真实的传播时间,也包含了钟差。所以我们需要解4个未知数:三维位置(x,y,z)和接收机钟差δt。

方程长这样:

ρ_i = sqrt((x - x_i)² + (y - y_i)² + (z - z_i)²) + c * δt

其中ρ_i是第i颗卫星的伪距观测值,(x_i,y_i,z_i)是卫星位置,c是光速。4颗卫星就能解4个未知数。实际中我们通常用更多卫星,做最小二乘解算。

我的经验: 刚入行时我总觉得4颗卫星就够了,多一颗少一颗无所谓。直到有一次在峡谷里测试,4颗卫星的几何构型极差,定位误差直接飙到上百米。从那以后,我至少保证6颗以上可见星才敢说定位可靠。

3.2 伪距与载波相位观测

GPS接收机输出两种基本观测值:伪距和载波相位。这两兄弟各有各的脾气。

3.2.1 伪距观测值

伪距,就是上面说的那个带钟差的距离。它的精度大概在米级(1-10米)。优点是整周模糊度固定,没有歧义。缺点是噪声大,受多路径影响严重。

伪距的观测方程:

P = ρ + c*(δt_r - δt_s) + I + T + ε_P

其中I是电离层延迟,T是对流层延迟,ε_P是测量噪声。

3.2.2 载波相位观测值

载波相位就厉害了。它的精度能达到毫米级,比伪距高两个数量级。但有个致命问题——整周模糊度。你只能测到不足一周的小数部分,整数部分N是未知的。

载波相位方程:

λ * φ = ρ + c*(δt_r - δt_s) + λ * N - I + T + ε_φ

注意这里电离层项I前面是负号,和伪距相反。这是高频信号穿过电离层时的特性。

关键区别: 伪距精度低但无歧义,载波相位精度高但有模糊度。组合导航里,我们通常用伪距做粗定位,用载波相位做精确定位。紧耦合架构中,载波相位是提升精度的关键。

3.3 GPS误差源分析

GPS误差源,我把它分成三类:卫星端、传播路径端、接收机端。每一类都有几个大头。

误差类别 误差源 典型量级 特性
卫星端 星历误差 1-5米 缓慢变化,可用差分消除
卫星端 卫星钟差 1-3米 广播星历修正后残余
传播路径 电离层延迟 2-20米(天顶) 与频率相关,双频可消除
传播路径 对流层延迟 2-25米(天顶) 与频率无关,模型修正
传播路径 多路径效应 0.5-10米 环境相关,最难处理
接收机端 接收机噪声 0.1-1米(伪距) 随机噪声,滤波可抑制

这里我想重点说说多路径效应。我曾经在深圳一个高楼林立的区域做测试,伪距误差直接跳到了30米。为什么?因为信号从楼面反射过来,比直达路径长了十几米。接收机分不清哪个是直达信号,结果定位就偏了。

避坑指南: 多路径效应在紧耦合架构中特别危险。因为INS短时间内精度高,如果GPS伪距被多路径污染,滤波器可能会把INS往错误方向拉。我建议在紧耦合里加一个「残差检测」模块,一旦发现伪距残差异常,立刻降低该卫星的权重。

3.4 差分GPS与RTK

讲完误差源,自然要讲怎么消除它们。差分GPS(DGPS)和RTK就是干这个的。

差分GPS的原理很简单:在已知位置架设基准站,基准站算出伪距误差,然后发给流动站。流动站用这个误差修正自己的观测值。这样,卫星钟差、星历误差、电离层延迟这些空间相关的误差就能被大幅消除。

RTK(实时动态差分)更进一步,它用载波相位观测值,通过解算整周模糊度,实现厘米级定位。但RTK有个前提:基准站和流动站的距离不能太远,一般不超过20公里。否则电离层和对流层的差异会变得不可忽略。

我记得有一次在野外做RTK测试,基准站架在楼顶,流动站在2公里外的开阔地。整周模糊度固定率只有60%左右。后来发现是基准站的天线被楼顶的金属围栏遮挡了一部分,导致多路径严重。换了天线位置后,固定率提升到了95%以上。

3.5 小结

嗯,这一章内容不少。总结一下:

  • GPS定位本质是解4个未知数(位置+钟差),需要至少4颗卫星
  • 伪距精度米级,无歧义;载波相位精度毫米级,有整周模糊度
  • 误差源分三类:卫星端、传播路径、接收机端。多路径是最头疼的
  • 差分GPS和RTK能有效消除空间相关误差,但受基线长度限制

下一章我们会讲INS和GPS怎么融合。但如果你连GPS的这些基础都没搞明白,那融合起来肯定一头雾水。建议你把这一章的内容消化透了再往下走。

个人建议: 如果你刚开始接触组合导航,不妨先拿一个便宜的GPS模块(比如Ublox M8N)和一台笔记本,自己写个最小二乘定位程序。把伪距数据录下来,看看定位结果怎么随卫星数量、几何构型变化。这种动手经验比看十篇论文都管用。