3. 误差源之卫星端:卫星钟差、星历误差、卫星硬件延迟
各位同学,咱们接着聊定位误差。上一节我们把误差源分成了三大类:卫星端、传播路径端、接收机端。今天咱们就一头扎进卫星端,看看天上那些卫星到底给我们挖了哪些坑。
说白了,卫星端误差就是卫星自己“不老实”造成的。你想想看,卫星在几万公里外高速飞着,它上面的钟、它报的位置、它发射信号的过程,都不可能完美无缺。这些缺陷,最终都会变成你定位结果里的漂移。
3.1 卫星钟差:时间就是位置
定位的核心原理,就是测距。测距靠什么?靠时间。卫星说“我在时刻T0发了信号”,接收机说“我在时刻T1收到了”,那距离就是 (T1 - T0) × 光速。这里面的时间精度,直接决定了定位精度。
卫星上装的是原子钟,铯钟、铷钟这些。理论上非常准,但再准的钟也有误差。卫星钟差,就是卫星上的时钟与GPS标准时间(GPST)之间的偏差。
其中 a0 是钟偏,a1 是钟速,a2 是钟漂率。
这个公式看着复杂,其实意思很简单:卫星钟的误差会随时间变化,而且不是线性的。导航电文里会广播这三个系数,接收机拿到后就能修正。
我在项目中遇到过一个挺坑的事。有一次做高精度测试,发现定位结果总是有规律地漂移,大概每过一小时就偏个几米。查了半天,最后发现是接收机没有正确解析卫星钟差参数,用的还是上一小时的旧值。嗯,这种低级错误,排查起来最费时间。
3.2 星历误差:卫星报的位置不准
卫星钟差影响的是时间测量,那星历误差影响的就是空间位置。卫星在广播导航电文时,会告诉接收机“我现在在轨道上的哪个位置”。这个位置是通过地面监控站观测、计算、预报出来的。
预报嘛,肯定有误差。星历误差就是指卫星广播的轨道位置,与卫星实际位置之间的偏差。
为什么会这样?
- 摄动力模型不完美: 太阳光压、月球引力、地球非球形引力……这些力的模型再精细,也不可能100%准确。
- 预报时效性: 广播星历一般是每2小时更新一次。在这2小时内,卫星实际位置会逐渐偏离预报值。
- 卫星机动: 卫星偶尔需要调整轨道,这时候星历误差会突然变大。
| 星历类型 | 精度(RMS) | 更新频率 | 典型应用 |
|---|---|---|---|
| 广播星历 | ~1米 | 2小时 | 普通导航、单点定位 |
| 精密星历(IGS最终) | ~2.5厘米 | 约13天 | 高精度后处理、科研 |
| 实时精密星历 | ~5厘米 | 实时/近实时 | RTK、PPP-RTK |
你看,广播星历的精度大概在1米左右。如果你做的是普通导航,这个误差还能接受。但如果你做的是厘米级定位,就必须用精密星历了。
我曾经帮一个客户排查无人机定位问题。无人机在固定点悬停时,水平位置很稳,但高度方向有周期性的波动,周期大概2小时。我一看就明白了——这是星历更新周期导致的。广播星历每2小时更新一次,每次更新后卫星位置有个“跳变”,反映在定位结果上就是高度波动。后来换成实时精密星历服务,问题就解决了。
3.3 卫星硬件延迟:信号在卫星内部“磨蹭”了
这个误差源,很多初学者容易忽略。卫星硬件延迟,指的是信号从卫星的原子钟产生,到最终从天线发射出去,中间经过的电缆、滤波器、放大器等硬件电路,都会引入一个微小的时间延迟。
你想想看,信号在卫星内部走一圈,虽然距离很短,但电子器件会引入群延迟。这个延迟对不同频率的信号还不一样。GPS有L1和L2两个频率,它们的硬件延迟就不同。
硬件延迟通常分为两类:
- 码延迟(群延迟): 影响伪距测量,对定位精度影响较大。
- 相位延迟: 影响载波相位测量,在高精度定位中需要特别关注。
卫星硬件延迟的值,通常由地面监控系统标定,然后以参数形式(比如TGD参数)放在导航电文里广播给用户。
我个人习惯在做单频定位时,一定会检查TGD参数的有效性。有些老旧卫星的TGD参数可能已经不准了,这时候我会选择不使用这颗卫星的数据,或者用模型估算一个替代值。
3.4 知识体系总览
说了这么多,咱们用一张图把卫星端误差源串起来。这张图是我自己画的结构图,方便你理解这三类误差之间的关系。
这张图把卫星端的三类误差源并列展示。你注意看,它们虽然都是卫星端的问题,但修正方法完全不同。钟差靠广播参数,星历靠精密产品,硬件延迟靠双频组合或TGD参数。做项目时,这三块都要照顾到。
好了,卫星端的误差源就讲到这里。下一节我们会进入传播路径端,聊聊电离层和对流层这两个“大气捣蛋鬼”。嗯,那才是真正让人头疼的东西。