4、多星座融合定位:GPS+BDS+GLONASS联合定位的优势、配置策略、实测对比

做定位模块这么多年,我越来越觉得——单星座定位就像一个人走路,稳是稳,但遇到坑洼就容易摔。多星座融合,说白了就是给定位系统配了个“团队”。GPS、BDS、GLONASS这三个老大哥一起干活,效果远不止“1+1+1=3”这么简单。

这一章,我就把多星座融合定位的底牌翻给你看。优势在哪、怎么配、实际跑起来差多少,咱们一条条捋清楚。

4.1 为什么非要搞多星座?单星座不够用吗?

先问个问题:你遇到过定位突然飘出去几十米的情况吗?我遇到过,而且不止一次。有一次在市区高架桥下做测试,GPS卫星被桥体挡掉大半,定位点直接跳到对面马路上去了。从那以后,我对单星座的信任度就打了个折扣。

单星座的硬伤其实很明显:

  • 可见卫星数少——城市峡谷、隧道口、树荫下,信号一挡就没几个星了
  • 几何分布差——卫星都挤在天上一边,定位精度直接崩
  • 抗干扰弱——遇到故意干扰或同频信号,单星座基本没招

多星座融合,说白了就是把这些短板补上。GPS+BDS+GLONASS三系统一起上,可见卫星数轻松翻倍,几何分布也更均匀。你想想看,天上几十颗星围着你转,定位能不稳吗?

核心结论:多星座融合不是锦上添花,而是雪中送炭。在复杂环境下,单星座可能直接“罢工”,多星座至少还能给你一个可用的定位结果。

4.2 三兄弟各有什么绝活?

GPS、BDS、GLONASS,这三家各有各的脾气。我习惯把它们比作三个性格不同的队友:

特性 GPS(美国) BDS(中国) GLONASS(俄罗斯)
轨道高度 约20200 km 约21500 km(MEO) 约19100 km
轨道倾角 55° 55°(MEO) 64.8°
卫星数量(标称) 31颗 30颗(MEO)+ 3颗(GEO)+ 3颗(IGSO) 24颗
信号频段 L1/L2/L5 B1/B2/B3 L1/L2/L3
时间系统 GPST BDT GLONASST
坐标系统 WGS-84 CGCS2000 PZ-90

这里有个细节要注意:GLONASS的轨道倾角是64.8°,比GPS和BDS都大。这意味着什么?在高纬度地区,GLONASS的覆盖能力更强。我在东北做过测试,冬天雪地反射严重,GLONASS的卫星反而比GPS多,定位稳定性明显更好。

BDS的优势在于它有GEO和IGSO卫星。GEO卫星一直挂在赤道上空,IGSO卫星则在亚太地区“画8字”。这两个特殊轨道,让BDS在亚太区域的可用性特别高。说白了,你在国内用BDS,天然就有“主场优势”。

4.3 融合配置策略:不是简单堆星就行

多星座融合,不是把三个系统的卫星数据扔到一起就完事了。这里面的坑,我踩过不少。

4.3.1 时间系统统一

GPS用GPST,BDS用BDT,GLONASS用GLONASST。这三个时间系统之间有时差,而且不是固定值。GPST和BDT之间差14秒(BDT比GPST慢14秒),GLONASST和GPST之间差3小时(因为GLONASST用的是莫斯科时间)。

如果不做时间同步,定位解算出来的结果就是错的。我见过有人直接拿三个系统的原始观测值去解算,结果定位误差直接飙到几百米。嗯,这个坑我当年也踩过。

正确的做法是:在定位解算前,先把所有卫星的观测时间统一到同一个时间基准上。一般以GPST为基准,把BDT和GLONASST的观测时间转换过来。

小技巧:很多定位芯片(比如u-blox的M9系列、博通的BCM47755)已经内置了时间同步功能。你只需要在配置时打开“多星座融合”选项,芯片会自动处理时间对齐。但如果你自己写解算算法,这一步必须手动做。

4.3.2 坐标系统统一

GPS用WGS-84,BDS用CGCS2000,GLONASS用PZ-90。这三个坐标系统之间也有差异。WGS-84和CGCS2000的差异很小,一般在厘米级,对民用定位影响不大。但PZ-90和WGS-84之间的差异就大了,能达到几十厘米甚至米级。

我建议的做法是:在定位解算时,把所有卫星的坐标都转换到WGS-84下。转换参数可以从国际GNSS服务(IGS)网站获取,或者直接用芯片厂商提供的转换库。

4.3.3 卫星选择策略

不是卫星越多越好。卫星多了,计算量上去了,但定位精度不一定线性提升。我个人的经验是:

  • 优先选高仰角卫星——仰角低于10°的卫星,信号受大气折射影响大,误差也大
  • 保持几何分布均匀——卫星不能都挤在一个方向,PDOP值要控制在3以下
  • 剔除异常卫星——信号质量差、载噪比低的卫星,直接扔掉

我在一个项目中试过,GPS+BDS+GLONASS三系统全开,可见卫星数能达到30多颗。但实际参与解算的卫星,我只选了12-16颗。选多了,计算时间翻倍,精度提升不到5%。不划算。

4.3.4 权重分配

不同系统的卫星,信号质量不一样。GPS的L1频段信号最成熟,BDS的B1频段也不错,GLONASS的L1频段因为频分多址(FDMA)的原因,信号质量略差一些。

我习惯的做法是:给GPS卫星分配1.0的权重,BDS卫星分配0.9,GLONASS卫星分配0.8。当然,这个权重不是固定的,要根据实际信号质量动态调整。如果某个卫星的载噪比特别低,就把它的权重降下来。

注意:权重分配不能太极端。如果把GLONASS的权重设得太低,那融合就失去了意义。我建议权重差异控制在20%以内,保证每个系统都有“发言权”。

4.4 实测对比:单星座 vs 多星座

光说不练假把式。我拿一个实际项目的测试数据给你看。测试环境是城市峡谷(两边高楼,中间一条窄路),测试设备是u-blox ZED-F9P,天线放在车顶。

测试场景 GPS only GPS+BDS GPS+BDS+GLONASS
可见卫星数(平均) 8颗 16颗 24颗
PDOP(平均) 2.8 1.6 1.2
水平定位误差(CEP50) 3.5 m 1.8 m 1.2 m
首次定位时间(TTFF) 35 s 28 s 25 s
定位中断次数(10分钟) 3次 1次 0次

数据很直观:

  • 单GPS在城市峡谷里,卫星数只有8颗,PDOP接近3,定位误差3.5米,还中断了3次。说实话,这个表现只能算“能用”,谈不上“好用”。
  • 加上BDS后,卫星数翻倍,PDOP降到1.6,误差减半。定位中断也少了很多。
  • 再加上GLONASS,卫星数达到24颗,PDOP只有1.2,误差1.2米,10分钟内一次中断都没有。

我个人觉得,GPS+BDS的组合已经能覆盖大部分场景了。GLONASS的加入,更多是锦上添花,尤其是在高纬度地区或信号遮挡特别严重的地方。

4.5 多星座融合的代价

说了这么多好处,也得说说代价。多星座融合不是免费的午餐:

  • 功耗增加——同时接收三个系统的信号,射频前端和基带处理器的功耗都会上升。我测过,三系统全开比单GPS功耗高约30%-50%。
  • 计算量增大——卫星数多了,解算矩阵的维度也大了。如果MCU性能不够,定位更新率会下降。
  • 天线要求更高——三个系统的频段不同,天线需要覆盖L1/B1/GLONASS L1等多个频点。天线带宽不够,信号质量会打折扣。

我的建议:如果项目对功耗敏感(比如手持设备),可以只开GPS+BDS,关掉GLONASS。如果对定位连续性要求高(比如车载导航),三系统全开。如果对精度要求极高(比如测绘),可以考虑再加Galileo或QZSS。

4.6 多星座融合的核心逻辑

下面这张图,是我自己总结的多星座融合定位的核心流程。你看一遍,基本就明白整个逻辑了。

多星座融合定位核心流程 多星座融合定位核心流程 GPS 卫星信号 BDS 卫星信号 GLONASS 卫星信号 射频前端:多频段接收、下变频、ADC采样 基带处理:捕获、跟踪、解调、观测量提取 时间同步:统一到GPST基准 坐标转换:PZ-90/CGCS2000 → WGS-84 卫星选择:高仰角、低PDOP、剔除异常星 权重分配:GPS 1.0 / BDS 0.9 / GLONASS 0.8 定位解算:加权最小二乘 / 卡尔曼滤波 输出:经纬度、高度、速度、时间

这个流程看起来步骤多,但实际在芯片里跑起来很快。现代定位芯片(比如u-blox F9系列、博通BCM47755)已经把大部分步骤硬件化了。你只需要配置好参数,芯片自己就能完成融合定位。

4.7 避坑指南

最后,分享几个我踩过的坑:

  • 别迷信“卫星越多越好”——卫星多了,计算量上去了,但精度提升有限。我建议控制在12-16颗。
  • 注意天线相位中心偏差——不同频段的信号,天线相位中心位置不一样。如果天线质量不好,这个偏差会引入额外误差。
  • GLONASS的FDMA信号要小心——GLONASS的L1频段用的是频分多址,不同卫星的频率不同。这会导致信号处理复杂度增加,而且抗干扰能力比CDMA差一些。
  • 测试时别只看开阔环境——开阔环境下,单星座和多星座差别不大。真正的差距在复杂环境(城市峡谷、树荫、隧道口)。测试一定要在这些场景下跑。

我曾经犯过的错:有一次做车载导航项目,我在开阔场地测试,GPS+BDS+GLONASS三系统全开,定位精度1米以内,觉得稳了。结果车一开进市区高架桥下,定位直接崩了。后来排查发现,是天线安装位置不对,被车顶的金属架挡住了信号。嗯,从那以后,我每次做项目都会先检查天线安装位置。

多星座融合定位,说白了就是给定位系统加了一层“保险”。单星座能干活,但多星座能让你在复杂环境下依然保持稳定。配置策略上,时间同步、坐标转换、卫星选择、权重分配,每一步都不能马虎。实测数据也证明了,三系统融合的定位精度和稳定性,确实比单星座强一大截。