传感器基础(GNSS):GPS/北斗信号结构、伪距与载波相位、单点定位与RTK、多路径效应
各位同学,今天我们来啃一块硬骨头——GNSS传感器。说实话,很多做导航调参的朋友,一提到卫星定位就觉得“不就是收个经纬度嘛”。但实际调参时,你会发现那些飘来飘去的定位点、突然跳变的航向角,背后全是今天要讲的东西在作怪。
我个人习惯把GNSS比作一个“超级计时器”。它不直接告诉你“你在哪”,而是告诉你“信号飞了多久”。你想想看,从两万公里外的卫星,到你的接收机天线,这中间发生了什么?嗯,这就是我们这节要拆解的核心。
4.1 信号结构:卫星到底在发什么?
GPS和北斗的信号结构,说白了就是三样东西:载波、测距码和导航电文。我刚开始接触时,总觉得这三者是分开的,后来在项目里用示波器抓了一次中频信号才明白——它们是叠在一起的。
- 载波(Carrier):GPS的L1频段是1575.42MHz,北斗的B1I是1561.098MHz。这就是信号的“卡车”,负责把信息从卫星运到地面。
- 测距码(PRN码):每个卫星有唯一的伪随机码。接收机通过本地复现这个码,跟收到的码做相关,算出信号传播时间。
- 导航电文(Navigation Message):包含卫星星历、钟差、电离层参数。没有这个,你就算出了伪距也不知道卫星在哪。
关键点:测距码的码片速率决定了测距的理论精度。GPS的C/A码码片速率1.023MHz,理论测距精度约3米。北斗的B1I码速率2.046MHz,精度略高。但注意,这只是“码相位”的精度,不是最终定位精度。
我在项目中遇到过一件事:某次用低成本接收机,发现定位结果在开阔天空下也有2-3米的跳变。排查了半天,发现是接收机内部的码跟踪环路带宽设得太宽,把噪声也跟进去了。调窄带宽后,跳变降到了0.5米以内。这就是信号结构直接影响调参的典型案例。
4.2 伪距与载波相位:两个测距手段
伪距和载波相位,是GNSS定位的两把尺子。一把是“米级”的钢卷尺,一把是“毫米级”的游标卡尺。但游标卡尺有个毛病——你不知道它量了多少整圈。
伪距(Pseudorange)
伪距的原理很简单:信号传播时间 × 光速。但为什么叫“伪”?因为传播时间里包含了卫星钟差、接收机钟差、电离层延迟、对流层延迟……说白了,你测出来的距离不是真距离,是“伪”的。
伪距方程:
ρ = r + c·(δt_u - δt_s) + I + T + ε
其中:
ρ - 伪距观测值
r - 卫星到接收机的几何距离
c - 光速
δt_u - 接收机钟差
δt_s - 卫星钟差
I - 电离层延迟
T - 对流层延迟
ε - 测量噪声
调参小技巧:伪距的测量噪声一般在0.5-3米之间。如果你在静态测试时看到伪距残差超过5米,先检查天线有没有被遮挡,再检查接收机设置里的“最小仰角”是不是设得太低(比如低于10度)。
载波相位(Carrier Phase)
载波相位测量的是接收机复现载波与卫星发射载波之间的相位差。GPS L1的波长约19cm,所以相位测量精度可以到毫米级。但问题来了——相位差只能测出不足一整周的小数部分,整周数N是未知的。这就是著名的“整周模糊度”问题。
我曾经在无人机项目里吃过这个亏。飞机起飞前初始化RTK,整周模糊度固定了,定位精度2cm。飞了5分钟后,信号短暂失锁,再锁定后整周模糊度变了,定位直接跳了20cm。嗯,这就是载波相位最头疼的地方——周跳。
避坑指南:我曾经在车载测试中,因为接收机动态太大(急转弯),导致载波相位环路失锁。后来我把接收机里的“载波跟踪环路带宽”从15Hz调到了25Hz,失锁概率明显下降。但带宽调大也会引入更多噪声,这是个trade-off。
4.3 单点定位与RTK:精度差在哪?
单点定位(SPP)和RTK(实时动态差分定位),本质区别在于“用了什么观测值”以及“怎么消除误差”。
| 对比项 | 单点定位(SPP) | RTK(实时动态差分) |
|---|---|---|
| 观测值 | 伪距 | 载波相位 + 伪距 |
| 精度 | 2-5米(开阔天空) | 1-3厘米(固定解) |
| 误差消除 | 模型改正(电离层、对流层) | 差分消除(基准站与流动站共同误差) |
| 整周模糊度 | 不需要解算 | 需要固定为整数 |
| 收敛时间 | 即时 | 10-60秒(取决于环境) |
| 依赖 | 单台接收机 | 基准站 + 数据链路 |
你想想看,单点定位为什么只能到米级?因为伪距噪声本身就米级,再加上电离层延迟在白天可以到10-15米,模型改正只能消掉60-80%。而RTK通过差分,把电离层、对流层、卫星钟差这些共同误差几乎全消掉了,剩下的就是载波相位的毫米级噪声和整周模糊度。
核心逻辑:RTK的精度天花板,取决于整周模糊度能否正确固定。固定了就是厘米级,没固定(浮点解)就是分米级甚至米级。调参时,重点关注“固定率”——如果固定率低于80%,检查基准站坐标是否准确、数据链路是否稳定、流动站附近是否有强多路径。
4.4 多路径效应:看不见的干扰源
多路径效应,说白了就是卫星信号不只有直射路径,还有反射路径。反射信号比直射信号晚到一点点,叠加在一起,让接收机测出的伪距和载波相位都变了味。
我在一个港口自动化项目里被多路径折磨过。龙门吊周围全是金属结构,反射信号满天飞。RTK固定率从平时的95%掉到了40%,定位偶尔跳半米。后来我们在天线下面加了一个扼流圈,又把接收机里的“多路径抑制”功能打开,固定率才回到85%。
多路径的影响
- 伪距:多路径延迟可达10-20米,导致定位出现系统性偏差。
- 载波相位:多路径引起的相位误差一般在1-5cm,但足以让整周模糊度固定失败。
- 信号强度:反射信号与直射信号干涉,导致载噪比(C/N0)波动,严重时信号失锁。
怎么应对多路径?
- 天线选型:用扼流圈天线或抗多路径天线。扼流圈能抑制低仰角反射信号。
- 安装位置:天线尽量远离金属平面、水面、玻璃幕墙。我建议至少保持1米以上的净空。
- 接收机设置:打开多路径抑制算法(比如Strobe Correlator、MEDLL)。代价是会增加一点点噪声。
- 仰角截止:把最小仰角从5度提高到15度。低仰角卫星更容易被反射。
避坑指南:我曾经在测试中发现,同一台接收机在同一个位置,上午和下午的多路径表现完全不同。为什么?因为卫星几何变化了,反射路径也跟着变。所以评估多路径影响时,至少要测24小时。
这张图把GNSS定位的完整链路串起来了。从卫星发射信号,经过大气传播和各种误差污染,到接收机跟踪解调出伪距和载波相位,最后通过不同的定位算法输出坐标。你调参时遇到的每一个问题,几乎都能在这条链路上找到根因。
个人经验:我建议你在做导航调参前,先把接收机的原始观测值(伪距、载波相位、C/N0)录下来,用RTKLIB或自写脚本分析一遍。看看伪距残差有多大、载波相位有没有周跳、C/N0有没有异常波动。这一步做好了,后面调参就是“对症下药”,而不是“瞎蒙”。