4、GPS基础原理:GPS系统构成、伪距测量与载波相位测量、单点定位与差分定位原理
各位同学,欢迎来到第四章。前面几章我们把惯性导航的底子打好了,从今天开始,咱们正式进入GPS的世界。
说实话,我刚入行那会儿,觉得GPS就是个黑盒子——天线一接,数据就来了。后来做组合导航,才发现这里面门道多着呢。你想想看,一个在天上飞行的卫星,怎么就能告诉你在地球上的精确位置?
这一章,我们就来拆解这个黑盒子。
4.1 GPS系统构成:天上、地上、手上
GPS系统说白了就三大部分:空间段、地面段和用户段。我习惯叫它们「天上飞的、地上管的、手上拿的」。
4.1.1 空间段
就是那24颗(实际更多)在距地面约20200公里轨道上运行的卫星。它们分布在6个轨道面上,每个轨道面4颗。为什么要这么设计?
保证你在地球上任何地方、任何时间,至少能看到4颗卫星。4颗是定位的最低要求,后面会讲为什么。
每颗卫星都带着高精度的原子钟(铯钟或铷钟),时间精度在纳秒级别。嗯,这里要注意,卫星上的时间和我们手上的手表,可不是一回事。
4.1.2 地面段
地面段包括主控站、注入站和监测站。它们负责监控卫星的健康状态、计算卫星的轨道参数(星历)、修正卫星钟差。
我在项目中遇到过一件事:有一次定位精度突然变差,排查了半天,最后发现是地面段更新星历数据时出了点小问题。所以别以为卫星数据永远可靠,地面段才是真正的「幕后操盘手」。
4.1.3 用户段
就是你的GPS接收机。它接收卫星信号,解算出位置、速度和时间(PVT)。
接收机内部其实是个小型计算机,干的事就是:捕获信号、跟踪信号、解调导航电文、计算伪距、解算位置。
4.2 伪距测量:看似简单,实则坑多
伪距测量是GPS定位的基础。什么叫伪距?就是「看起来的距离」,但不是真实距离。
原理很简单:卫星发射信号,接收机收到信号,记录时间差,乘以光速,就是距离。
公式长这样:
ρ = c × (t_r - t_s)
其中:
ρ —— 伪距
c —— 光速(299792458 m/s)
t_r —— 接收机收到信号的时间
t_s —— 卫星发射信号的时间
为什么叫「伪」?因为这里面有误差。卫星钟和接收机钟不同步,信号穿过大气层会延迟,还有多路径效应等等。
核心误差源:
- 卫星钟差:卫星原子钟虽然准,但也会漂移
- 接收机钟差:你的接收机用的是石英钟,便宜但不准
- 电离层延迟:信号穿过电离层,速度变慢
- 对流层延迟:靠近地面的大气层,也会影响信号
- 多路径效应:信号反射后进入接收机,路径变长
我曾经在市区做测试,旁边有栋玻璃幕墙的大楼,结果定位结果跳来跳去。后来才发现是多路径效应在捣鬼。从那以后,我选测试场地都先看看周围有没有反光面。
4.3 载波相位测量:精度更高,但更复杂
伪距测量的精度大概在米级。如果你想要厘米级甚至毫米级的精度,就得用载波相位测量。
载波相位测量,说白了就是测量卫星发射的载波信号和接收机本地产生的载波信号之间的相位差。
公式:
φ = λ × N + λ × δφ
其中:
φ —— 卫星到接收机的几何距离
λ —— 载波波长(L1波段约19cm)
N —— 整周模糊度(未知整数)
δφ —— 相位小数部分(可测量)
你看,这里有个大问题——整周模糊度N。你只能测到相位的小数部分,整数部分不知道。这就好比你知道自己站在第几级台阶的中间,但不知道这是第几级台阶。
⚠️ 整周模糊度:这是载波相位测量最大的坑。一旦信号失锁(比如经过桥下、树荫),整周计数就会中断,产生周跳。处理不好,定位精度直接崩掉。
我建议初学者先别碰载波相位,先把伪距搞明白。等伪距定位做到心里有数了,再研究载波相位。我自己也是做了两年组合导航,才开始真正用载波相位数据。
4.4 单点定位:最基础的定位方式
单点定位,就是只用一台接收机,接收卫星信号,解算自己的位置。
原理是空间后方交会。你想想看,知道三颗卫星的位置和到你的距离,就能确定你的位置。但因为有接收机钟差这个未知数,所以需要第四颗卫星。
方程组:
√[(x - x₁)² + (y - y₁)² + (z - z₁)²] + c·δt = ρ₁
√[(x - x₂)² + (y - y₂)² + (z - z₂)²] + c·δt = ρ₂
√[(x - x₃)² + (y - y₃)² + (z - z₃)²] + c·δt = ρ₃
√[(x - x₄)² + (y - y₄)² + (z - z₄)²] + c·δt = ρ₄
四个方程,四个未知数(x, y, z, δt),解算即可。
单点定位的精度一般在5-10米。为什么?因为前面说的那些误差源,一个都没消除。
我记得刚毕业那会儿,用单点定位做车载导航,结果定位点经常跑到马路对面去。当时觉得GPS也不过如此。后来才知道,是我太年轻了。
4.5 差分定位:消除共同误差
差分定位的原理其实很简单:两个接收机,一个放在已知位置(基准站),一个放在未知位置(流动站)。它们接收同一颗卫星的信号,误差是相关的,做差就能消除大部分误差。
为什么能消除?因为卫星钟差、电离层延迟、对流层延迟,对两个位置相近的接收机来说,几乎是相同的。做差之后,这些共同误差就被抵消了。
差分定位的精度可以做到亚米级甚至厘米级。
💡 个人经验:差分定位的关键是基准站和流动站的距离。距离越近,误差相关性越强,效果越好。一般建议不超过20公里。超过这个距离,电离层误差就开始不相关了,精度会下降。
差分定位主要有两种:
| 类型 | 原理 | 精度 | 应用场景 |
|---|---|---|---|
| 位置差分 | 基准站计算位置误差,发送给流动站 | 米级 | 简单,但要求基准站和流动站看到相同卫星 |
| 伪距差分 | 基准站计算伪距误差,发送给流动站 | 亚米级 | 常用,RTCM格式传输 |
| 载波相位差分(RTK) | 利用载波相位观测值,解算整周模糊度 | 厘米级 | 测绘、精准农业、自动驾驶 |
我曾经用RTK做过一个农业自动驾驶项目。拖拉机在田里跑,要求路径偏差不超过5厘米。刚开始用单点定位,拖拉机直接开到田埂上去了。后来上了RTK,效果立竿见影。嗯,那感觉就像从近视眼镜换成了显微镜。
4.6 小结
这一章我们讲了GPS的基础原理。从系统构成到测量方法,再到定位方式,每一步都有坑,但也都有解决办法。
我个人觉得,理解GPS的关键在于理解误差。你想想看,卫星在两万公里外,信号穿过大气层,最后落到你的接收机上,这个过程充满了不确定性。而组合导航要做的,就是把这些不确定性降到最低。
下一章,我们会把GPS和INS结合起来,看看它们是怎么互补的。到时候你会发现,1+1真的可以大于2。
公众号:蓝海资料掘金营,微信deep3321