4、原始观测值解析:伪距观测值、载波相位观测值、多普勒频移观测值、信噪比(SNR/CNo)的含义
各位同学,今天我们来聊聊GNSS定位中最核心的东西——原始观测值。
很多人做定位,上来就调PVT解算,结果发现定位精度上不去。我告诉你,问题多半出在原始观测值上。你想想看,如果原材料都不干净,做出来的菜能好吃吗?
原始观测值有四种:伪距、载波相位、多普勒频移、信噪比。它们各自扮演什么角色?我结合项目经验,一个一个给你讲透。
核心观点:原始观测值是定位的“原材料”。理解它们的物理含义和误差特性,是做好漂移分析与标定校正的前提。
4.1 伪距观测值(Pseudorange)
伪距,说白了就是卫星到接收机的“近似距离”。为什么叫“伪”?因为它不真实,里面掺杂了各种误差。
伪距的测量原理很简单:卫星发射信号时打上一个时间戳,接收机收到信号时记录本地时间,两者相减再乘以光速,就得到了距离。但问题是,卫星钟和接收机钟不同步,这就引入了钟差。
伪距观测方程:
P = ρ + c·(dt_r - dt_s) + I + T + ε
其中:
- P:伪距观测值(米)
- ρ:真实几何距离
- c:光速
- dt_r:接收机钟差
- dt_s:卫星钟差
- I:电离层延迟
- T:对流层延迟
- ε:其他噪声
我在项目中遇到过一件事:有一次用低成本接收机做城市峡谷测试,伪距噪声大得离谱,定位结果直接跳了十几米。后来一查,是天线附近有强反射源。嗯,这里要注意——伪距对多径效应非常敏感。
我的经验:伪距精度一般在米级(民用GPS约3-5米),适合做粗定位和接收机自主完好性监测(RAIM)。但如果你要做厘米级定位,光靠伪距是不够的。
4.2 载波相位观测值(Carrier Phase)
载波相位,这才是高精度定位的“王牌”。
它的原理是:接收机测量卫星载波信号到达时的相位,与接收机本地产生的载波相位做差。因为载波波长很短(GPS L1约19cm),所以理论上精度可以达到毫米级。
载波相位观测方程:
φ = ρ + c·(dt_r - dt_s) - I + T + λ·N + ε
注意看,这里多了一个 λ·N,这就是整周模糊度。载波相位只能测量不足一周的小数部分,整数部分N是未知的。
为什么会这样?因为接收机刚开机时,不知道卫星信号已经走了多少个整周。这个N必须通过算法解算出来,这就是RTK和PPP的核心难点。
避坑指南:我曾经在动态测试中吃过亏——载波相位一旦发生周跳(信号短暂失锁导致整周计数跳变),如果不及时修复,定位结果会直接崩掉。所以,周跳检测与修复是必须做的预处理步骤。
载波相位还有一个特点:它受电离层影响的方式与伪距相反。伪距是延迟,载波相位是超前。这个特性在双频组合中非常有用。
4.3 多普勒频移观测值(Doppler Shift)
多普勒频移,说白了就是卫星和接收机相对运动导致的频率变化。卫星朝你飞过来,频率变高;飞走,频率变低。
多普勒频移公式:
f_d = - (v·r̂) / λ
其中:
- f_d:多普勒频移(Hz)
- v:卫星与接收机的相对速度矢量
- r̂:视线方向单位矢量
- λ:载波波长
多普勒观测值有两个主要用途:
- 测速:通过多普勒频移可以直接计算接收机的运动速度,精度比位置差分高得多。
- 辅助跟踪:接收机利用多普勒预测来保持对卫星信号的锁定。
我记得有一次做车载测试,GPS信号频繁失锁。后来我在软件里加了一个多普勒辅助跟踪环路,失锁率直接降了60%。你想想看,这个值多有用。
实用技巧:多普勒观测值不受电离层和对流层延迟影响(因为它是频率差,不是绝对传播时间)。所以,用多普勒做测速,精度非常稳定。
4.4 信噪比(SNR / CNo)
信噪比,反映的是信号质量。GNSS里常用的是CNo(载波噪声密度比),单位是dB-Hz。
CNo与SNR的关系:
CNo = SNR + 10·log10(BW)
其中BW是接收机带宽。CNo越高,信号质量越好。
一般来说:
| CNo范围(dB-Hz) | 信号质量 | 典型场景 |
|---|---|---|
| > 45 | 优秀 | 开阔天空 |
| 35 - 45 | 良好 | 一般城市环境 |
| 25 - 35 | 较差 | 树荫、高楼旁 |
| < 25 | 极差 | 室内、隧道 |
信噪比在定位中有两个关键作用:
- 权重分配:在最小二乘解算中,低CNo的观测值应该被赋予低权重。
- 多径检测:多径信号会导致CNo异常波动,可以用来识别受污染的观测值。
我的习惯:在预处理阶段,我会把CNo低于30 dB-Hz的卫星直接剔除。虽然少了几颗星,但定位稳定性反而提升了。有时候,少即是多。
4.5 四种观测值的对比与选择
为了让你看得更清楚,我整理了一张对比表:
| 观测值 | 精度 | 主要误差源 | 典型应用 |
|---|---|---|---|
| 伪距 | 米级 | 钟差、电离层、多径 | 单点定位、RAIM |
| 载波相位 | 毫米级 | 整周模糊度、周跳 | RTK、PPP、变形监测 |
| 多普勒频移 | 厘米/秒级 | 动态应力 | 测速、辅助跟踪 |
| 信噪比 | — | 干扰、多径 | 质量控制、权重分配 |
在实际项目中,我一般这样搭配使用:
- 做普通导航定位:伪距 + 多普勒(测速)
- 做高精度定位:载波相位 + 伪距(辅助解模糊度)
- 做质量控制:信噪比 + 伪距残差
下面这张图,帮你理清四种观测值之间的关系:
最后说一句:原始观测值的质量,直接决定了定位结果的可靠性。我见过太多人花大量时间调解算算法,却忽略了最基础的观测值质量检查。其实,把原始观测值搞明白了,很多定位漂移问题就迎刃而解了。
总结:伪距给位置,载波相位给精度,多普勒给速度,信噪比给质量。四者缺一不可。