1. 从单点GPS到多系统GNSS:为什么我们需要“组合”?
十年前,我刚入行做高精度定位的时候,手里拿的还是单频GPS接收机。那时候,为了消除电离层误差这个“老大难”,我们得架设基站,做差分,流程繁琐得很。一个项目下来,光是处理各种信号误差就让人头疼。现在呢?你打开手机,可能已经用上了支持北斗、GPS、伽利略的多系统定位,精度也从米级跃升到了亚米甚至厘米级。这背后的核心功臣之一,就是多频观测值组合技术。
简单来说,卫星信号从两万公里高空传到我们手里,会经历各种“磨难”:电离层会让信号“跑偏”(延迟),对流层会让信号“减速”,还有卫星和接收机自身的钟差、噪声等等。单个频率的信号,就像单兵作战,很难同时对付这么多敌人。而多频组合,就像是把不同特长的士兵(L1, L2, L5, B1, B3等频点信号)编成一个特种小队,让他们优势互补,从而精准地干掉主要误差源——尤其是电离层延迟。
你可能听过“无电离层组合”、“宽巷组合”这些词,感觉很高深。其实道理很生活化:就像你用两种不同颜色的滤镜去看同一个物体,每种滤镜会过滤掉不同的干扰光,结合两张照片的信息,你就能更清晰地看到物体原本的样子。多频组合也是这个思路,利用不同频率信号受电离层影响程度不同的特性(影响大小与频率的平方成反比),通过数学方法把它们“揉”在一起,构造出一个新的、几乎不受电离层影响的“超级观测值”。
所以,这篇文章不是来复述教科书公式的。我想和你分享的是,这些写在论文里的漂亮公式,到底是怎么一步步变成接收机芯片里的算法、变成数据处理软件里的模块,并最终让你的定位精度实现“跃迁”的。我会结合我这几年在算法开发和工程落地中踩过的坑、试过的方案,把其中的门道掰开揉碎讲清楚。无论你是正在开发高精度定位算法的工程师,还是想深入理解手中设备原理的开发者,相信都能找到实用的“干货”。
2. 核心组合形式:从公式到工程实现的跨越
理论公式很美,但直接扔进工程里,多半会“趴窝”。我们得先理解每种组合到底在解决什么问题,以及为了让它跑起来,我们需要做哪些妥协和改造。
2.1 无电离层组合:精度与模糊度的“跷跷板”
无电离层组合是工程中的“万金油”,也是入门必学。它的目标非常纯粹:彻底消除一阶电离层延迟。以GPS的L1和L2频率为例,公式大家都很熟悉:
伪距无电离层组合: P_IF = (f1^2 * P1 - f2^2 * P2) / (f1^2 - f2^2)
载波相位无电离层组合(常见形式): L_IF = (f1^2 * L1 - f2^2 * L2) / (f1^2 - f2^2)
看起来很简单,对吧?但第一次把它写进代码时,我就踩了坑。公式里的 L1 和 L2,你拿到手的数据单位是什么?是米还是周?这直接决定了系数和计算结果。接收机原始输出的载波相位观测值,单位通常是“周”。如果你直接把它代入上面那个以米为单位的公式里,结果肯定是错的。正确的工程做法是:先统一量纲。要么把周乘以波长转换成米,要么推导一个直接使用周为单位的组合公式。
我比较推荐后者,因为能减少一次乘法运算和可能的舍入误差。基于周为单位的载波相位观测值 φ1 和 φ2(周),无电离层组合可以写成: φ_IF = (f1^2 * φ1 - f2^2 * φ2) / (f1^2 - f2^2) 注意,这样得到的 φ_IF 单位仍然是周,但它对应的波长已经不是一个物理意义上的波长,而是一个“组合波长”。这个组合波长非常短,大约只有几厘米。这意味着什么?意味着组合后的观测值噪声被放大了!大约是原始L1观测值噪声的3倍。
这就是工程上经典的权衡:你用无电离层组合消除了电离层误差(可能几十米),但代价是引入了更大的观测噪声(几厘米到分米级)。所以,无电离层组合观测值本身“很脏”,不能直接用于高精度解算。它的主要舞台是在模糊度固定之后。一旦我们成功固定了宽巷、窄巷模糊度,得到了纯净的相位信息,再用无电离层组合来构造最终的高精度定位解,这时噪声的影响就相对可控了。
在实际的RTK或PPP软件中,无电离层组合是构建观测方程、进行参数估计(如接收机坐标、钟差)的基石。但它的计算并非在第一步,而是在模糊度分解的后期。
2.2 宽巷与窄巷组合:模糊度固定的“神兵利器”
如果说无电离层组合是负责“收官”的大将,那么宽巷和窄巷组合就是冲锋陷

486

被折叠的 条评论
为什么被折叠?



