3、误差源分析(上):卫星钟差、轨道误差、电离层延迟、对流层延迟
各位好,咱们今天聊聊定位误差的源头。
做定位这么多年,我最大的感触就是:误差不可怕,可怕的是不知道误差从哪来。你想想看,一个定位结果飘了十几米,如果连是哪个环节出了问题都搞不清楚,那还怎么修?
这一章,咱们先把四个最基础的误差源掰开揉碎了讲清楚。说白了,就是卫星端两个、传播路径上两个。
核心观点:卫星钟差和轨道误差属于“卫星端”的硬伤,电离层和对流层延迟属于“信号传播”的软伤。前者靠精密星历和钟差产品修正,后者靠模型或双频技术消除。
3.1 卫星钟差:时间不准,距离就偏
GPS定位的本质是什么?说白了就是测距。而测距靠的是时间差——卫星发信号的时间,和你收到信号的时间,两者一减,乘以光速,就是距离。
问题来了:卫星上的原子钟虽然精度极高,但也不是绝对完美的。它跟GPS系统时间之间,始终存在一个微小的偏差。这个偏差,就叫卫星钟差。
我的经验:卫星钟差一般控制在几纳秒以内。但别小看这几纳秒,1纳秒的时间误差,对应光速就是30厘米。如果钟差达到5纳秒,那就是1.5米的距离误差。我在做车载导航项目时,就遇到过因为钟差参数更新不及时,导致定位突然跳变的情况。
卫星钟差的修正,通常靠导航电文里的钟差参数。广播星历会给出三个系数:a₀(钟偏)、a₁(钟速)、a₂(钟漂)。用下面这个公式就能算出来:
Δt_sv = a₀ + a₁·(t - t_oc) + a₂·(t - t_oc)²
其中 t_oc 是钟差参数的参考时刻。嗯,这里要注意:这个公式算出来的是近似值,精度大概在2-5纳秒。如果你做高精度定位,比如RTK或者PPP,那广播星历的钟差就不够用了,得用精密钟差产品,精度能到0.1纳秒级别。
3.2 轨道误差:卫星位置算不准
卫星钟差影响的是时间,轨道误差影响的则是空间位置。你想啊,如果卫星说自己在天上某个坐标,但实际上它在另一个位置,那你算出来的接收机位置自然就偏了。
广播星历给出的轨道参数,精度大概在1-5米。这个误差主要来自两方面:
- 星历预测误差:地面监控站对卫星轨道的预测不可能100%准确
- 摄动力影响:太阳光压、月球引力、地球非球形引力等,都会让卫星偏离理想轨道
我曾经踩过的坑:有一次做无人机定位测试,发现水平精度突然从2米恶化到8米。排查了半天,最后发现是卫星的轨道机动(轨道调整)导致广播星历失效了。卫星在机动期间,广播星历不会立即更新,这时候用它的数据,定位结果就是飘的。所以,做实时定位系统时,一定要加一个星历健康状态检查。
轨道误差的修正方法,跟钟差类似:
- 普通定位:用广播星历,精度够用
- 高精度定位:用精密星历(IGS发布的SP3文件),精度能到2-5厘米
3.3 电离层延迟:信号被“拖慢”了
信号从卫星传到地面,要穿过大气层。大气层里的电离层,含有大量自由电子,会改变电磁波的传播速度。说白了,就是信号被“拖慢”了,导致测得的距离比实际距离要长。
电离层延迟有多大?白天强的时候,天顶方向能有2-5米,低仰角卫星甚至能达到15米以上。这个量级,在单点定位里是最大的误差源之一。
怎么消除?我个人习惯用两种方法:
- 双频消除法:电离层延迟跟频率的平方成反比。用L1和L2两个频率观测,做一个线性组合,就能把电离层延迟几乎完全消除。这是最干净的方法。
- 模型改正法:如果只有单频接收机,那就用Klobuchar模型。广播星历里会带8个模型参数,能修正掉大约50-60%的电离层延迟。
关键点:双频消除法不是万能的。在电离层闪烁剧烈的时候(比如赤道附近日落之后),两个频率的观测值都可能受到严重干扰,这时候组合出来的结果反而更差。我建议在这种场景下,加一个电离层闪烁监测,发现问题就切换到模型改正或者干脆降低权重。
3.4 对流层延迟:湿分量最头疼
对流层是大气层最下面那一层,从地面到大概50公里高度。信号穿过对流层时,也会被延迟。这个延迟分成两部分:
- 干分量:由干燥空气引起,占总延迟的90%左右。可以用模型精确计算,误差很小。
- 湿分量:由水蒸气引起,只占10%左右,但变化非常快,很难精确建模。
对流层延迟在天顶方向大概2-3米,低仰角时能到20-25米。干分量用Saastamoinen模型或者Hopfield模型就能算得很准,但湿分量嘛……
我的做法:在做高精度定位时,我会把湿分量当作一个未知参数,跟位置参数一起估计。说白了,就是让滤波器自己去算这个延迟到底是多少。如果实在要建模,可以用GPT2w模型或者ZHD+ZWD分离的方法,但精度肯定不如参数估计法。
这里给一个Saastamoinen模型的简化公式,用来算天顶干延迟:
ZHD = 0.002277 × P / (1 - 0.00266 × cos(2φ) - 0.00028 × h)
其中P是地面气压(hPa),φ是纬度,h是海拔高度(km)。这个公式精度不错,误差通常在1-2厘米以内。
小结一下
这四个误差源,各有各的脾气。卫星钟差和轨道误差,靠精密产品能解决;电离层延迟,双频接收机是王道;对流层延迟,干分量好办,湿分量得靠参数估计。
做项目的时候,我建议你根据精度需求来选方案。如果只要米级精度,广播星历加单频模型就够了。如果要厘米级,那精密星历、双频观测、对流层参数估计,一个都不能少。
一句话总结:误差源分析,就是搞清楚“谁在捣乱”,然后“对症下药”。这一章讲的四个误差源,是定位误差的“四大金刚”,搞定了它们,你的定位精度至少能提升一个数量级。