第三章 全球定位系统(GPS)基础

各位同行好。今天我们来聊聊GPS。说实话,GPS这东西,搞组合导航的人天天跟它打交道,但真正把它吃透的,不多。我见过不少工程师,一遇到定位跳变就怀疑是GPS坏了,其实很多时候是没搞懂GPS的脾气。

这一章,我们就从原理到工程,把GPS的底裤扒干净。

3.1 GPS工作原理:它怎么知道你在哪?

GPS的原理,说白了就是三球交会。你想想看,如果你知道一颗卫星到你的距离,那你就在以这颗卫星为球心的球面上。知道两颗卫星的距离,交会成一个圆。三颗卫星,交会出两个点。四颗卫星,就能唯一确定你的位置和时间。

但工程实现上,远没这么简单。我当年刚入行时,以为GPS就是解个方程组的事。后来在项目里被现实狠狠教育了一顿——卫星在动,接收机在动,信号在延迟,时钟在漂移。嗯,这里要注意,GPS定位的核心其实是测距

测距怎么测?靠的是信号传播时间。卫星发一个信号,接收机收到,记下时间差,乘以光速,就是距离。但问题来了——卫星的钟和接收机的钟,不是同步的。卫星上有原子钟,精度高得吓人。接收机呢?就是个石英钟,一天能差好几微秒。所以,我们测出来的距离不是真距离,叫伪距

核心公式:

伪距 = 真距 + 接收机钟差 × 光速 + 各种误差

所以至少需要4颗卫星,才能解出3个位置坐标 + 1个钟差参数。

我个人习惯,在调试GPS数据时,第一件事就是看可见卫星数。少于4颗,基本别指望定位。少于6颗,定位精度就要打问号了。

3.2 GPS信号结构:藏在噪声里的信息

GPS信号有多弱?相当于你在地球上,看一个50瓦的灯泡挂在两万公里外。信号到达地面时,功率比热噪声还低。那怎么解调?靠的是扩频通信

GPS使用两个载波频率:

  • L1:1575.42 MHz,承载C/A码(粗捕获码)和P码(精码)
  • L2:1227.60 MHz,主要承载P码

每个卫星分配一个独特的C/A码,长度1023个码片,周期1毫秒。接收机通过本地复现这个码,与接收信号做相关运算,就能把信号从噪声里捞出来。

我记得有一次,客户说他们的接收机在市区定位不准。我一看数据,发现C/A码相关峰被多径信号干扰了,主峰旁边多了好几个小峰。这就是典型的多径效应,后面我们会细讲。

工程小技巧:

在分析GPS信号质量时,我习惯看载噪比(C/N0)。正常值在35-50 dB-Hz之间。低于30 dB-Hz,信号基本不可用。高于45 dB-Hz,说明信号质量很好。

3.3 GPS误差源:谁在捣乱?

GPS的误差来源,我把它分成三类:卫星端、传播路径、接收机端。下面这张图,是我自己总结的误差树,你一看就明白。

GPS误差源分类 GPS总误差 卫星端误差 星历误差 钟差 群延迟 传播路径误差 电离层 对流层 多径 相对论 接收机端误差 噪声 天线相位 量化 典型误差量级(单点定位) 电离层:2-10米 对流层:0.5-2米 多径:0.5-5米 星历误差:1-3米 卫星钟差:1-2米 接收机噪声:0.3-1米 总误差(典型值):5-15米

下面我们挑几个重点误差源,展开聊聊。

3.3.1 电离层误差

电离层是大气层中带电粒子最密集的区域,高度约60-1000公里。GPS信号穿过时,传播速度会变慢,路径也会弯曲。说白了,就是信号被"拖慢"了。

电离层误差有多大?白天能到10米,晚上好一些,2-3米。太阳活动剧烈的时候,能飙到50米以上。我经历过一次太阳耀斑爆发,那天的GPS定位精度直接崩到30米开外。

怎么消除?

  • 双频接收机:利用L1和L2两个频率的延迟差异,可以精确估算电离层延迟。这是最有效的方法。
  • 模型修正:单频接收机可以用Klobuchar模型,能消除约50%的电离层误差。
  • 差分GPS:基准站和流动站的电离层误差高度相关,差分后能大幅削弱。

避坑指南:

我曾经在赤道附近做项目,发现电离层误差比中纬度地区大得多。后来查资料才知道,赤道附近电离层活动最剧烈。如果你在低纬度地区做组合导航,一定要把电离层修正的权重调高。

3.3.2 对流层误差

对流层是大气层最下面10-15公里,GPS信号在这里的延迟主要受温度和湿度影响。对流层延迟分两部分:干延迟(约90%)和湿延迟(约10%)。

干延迟可以用模型精确计算,误差很小。湿延迟就麻烦了,水汽分布变化快,很难精确建模。我有个同事,在沿海城市做测试,湿度从30%变到90%,对流层误差直接翻了一倍。

工程建议:

  • 使用Saastamoinen或Hopfield模型,能修正80-90%的对流层误差
  • 如果精度要求高,可以考虑使用水汽辐射计实时测量
  • 在组合导航中,对流层残差可以当作状态量来估计

3.3.3 多路径效应

多路径,说白了就是GPS信号不是直接到接收机的,而是被建筑物、地面、水面反射后,绕了个弯才到。反射信号比直达信号晚到一点点,两者叠加,就会干扰测距。

多路径有多讨厌?我举个例子。有一次在港口做测试,集装箱码头全是金属结构,反射信号强得离谱。接收机定位结果在5米范围内来回跳,根本没法用。后来我们换了扼流圈天线,又在软件里加了多径检测算法,才算稳住。

多路径的典型特征:

  • 低仰角卫星更容易受多径影响(建议仰角截止15度以上)
  • 载噪比会出现周期性波动
  • 伪距残差会呈现非高斯分布

我的经验:

判断是否有多径,最简单的方法是看伪距残差。如果残差突然变大,而且不是所有卫星同时变大,那多半是某颗卫星被多径污染了。这时候,我建议直接剔除这颗卫星,别犹豫。

3.4 GPS的优缺点:没有完美的系统

搞了这么多年组合导航,我对GPS的感情很复杂。它好用,但毛病也不少。

优点 缺点
  • 全球覆盖:24颗卫星,任何时间任何地点至少能看到4颗
  • 全天候:不受天气影响,下雨下雪都能用
  • 精度尚可:单点定位5-15米,差分可达厘米级
  • 时间同步:提供高精度UTC时间,精度优于100纳秒
  • 免费使用:民用信号完全免费,没有授权费
  • 信号弱:室内、隧道、地下完全不能用
  • 易受干扰:射频干扰、故意压制都能让它失效
  • 多径敏感:城市峡谷、室内环境误差急剧增大
  • 更新率低:民用GPS通常10Hz,动态场景不够用
  • 依赖卫星几何:卫星分布不好时,精度会下降(DOP值大)
  • 受控于美国:虽然承诺民用信号不降级,但毕竟不是自己的系统

所以,搞组合导航的人,从来不会把GPS当作唯一的依赖。我们做的是融合——用IMU补GPS的短处,用GPS校正IMU的漂移。这才是组合导航的精髓。

好了,这一章的内容就到这里。GPS的基础知识,是后面所有章节的基石。下一章,我们会深入惯性导航系统,看看那个"闷头算"的IMU到底是怎么工作的。


公众号:蓝海资料掘金营,微信deep3321