第4章 伪距测量原理
各位同学,今天我们来聊聊伪距测量。说实话,这是卫星导航里最基础、也最核心的内容。我当年刚入行时,师傅就跟我说:「搞懂伪距,你就入门了一半。」后来我发现,这话一点不夸张。
4.1 伪距观测方程
伪距,说白了就是「看起来的距离」。为什么叫「伪」?因为这里面有误差。
卫星发信号,到我们接收机收到信号,中间有个时间差。把这个时间差乘以光速,就是伪距。但问题是——卫星的钟和接收机的钟,它俩不是同步的。
伪距观测方程长这样:
ρ = r + c·(δt_u - δt_s) + I + T + ε
我来拆解一下:
- ρ:伪距测量值(我们实际测到的)
- r:卫星到接收机的真实几何距离
- c:光速(约3×10⁸ m/s)
- δt_u:接收机钟差(我们最关心的)
- δt_s:卫星钟差(广播星历会给出)
- I:电离层延迟
- T:对流层延迟
- ε:其他噪声和误差
关键点:伪距方程里有4个未知数——接收机三维坐标(x,y,z)加上接收机钟差δt_u。所以理论上,至少需要4颗卫星才能解算位置。
我在项目中遇到过一件事:有一次在山区测试,明明看到6颗卫星,定位精度却很差。后来排查发现,其中两颗卫星的仰角太低,信号穿过大气层的路径太长,误差大得离谱。嗯,这就是伪距方程里I和T项在作怪。
4.2 码相位测量
码相位测量,是伪距测量的第一种实现方式。你想想看,卫星发了一个伪随机码,接收机也本地生成一个同样的码。两个码对齐,就能算出传播时间。
具体怎么对齐?靠的是相关峰。
接收机不断调整本地码的相位,跟卫星信号做相关运算。当两个码完全对齐时,相关值达到最大——这就是我们要找的峰值。
实战技巧:码相位测量的精度大约在码片长度的1%左右。对于C/A码(码片长度约293米),精度大概在3米左右。够用,但不够好。
我曾经调试过一个接收机,发现码相位测量总是跳变。查了半天,原来是本地码生成器的时钟有抖动。换了个温补晶振,问题就解决了。所以啊,硬件底子很重要。
4.3 载波相位测量
如果说码相位测量是「粗测」,那载波相位测量就是「精测」。精度能到厘米级甚至毫米级。
原理是这样的:接收机不光跟踪伪随机码,还跟踪载波信号。载波的波长很短——L1波段是19厘米,L2波段是24厘米。测量载波相位的分数部分,精度可以做到波长的1%以内。
但有个大坑——整周模糊度。
载波相位测量只能测到不足一整周的部分,整周数N是多少?不知道。这就是所谓的整周模糊度问题。
Φ = λ⁻¹·r + N + f·(δt_u - δt_s) + ...
这里的N就是整周模糊度,是个整数。解出N,才能得到高精度定位。
注意:载波相位测量还有一个头疼的问题——周跳。信号短暂失锁后,整周计数会跳变。我有个同事,处理数据时没发现周跳,结果定位结果偏了十几米。后来我们写了个自动检测周跳的算法,才算解决了这个问题。
我个人习惯是:先用码相位测量做个粗定位,再用载波相位测量做精化。两者结合,效果最好。
4.4 多普勒频移测量
多普勒效应,大家中学都学过。火车靠近时汽笛声变尖,远离时变低沉。卫星信号也一样。
卫星在轨道上高速运动,接收机也在动。相对运动导致接收到的载波频率发生变化。这个频率变化量,就是多普勒频移。
f_d = f_r - f_t = -(v·e)/λ
其中:
- f_d:多普勒频移
- f_r:接收频率
- f_t:发射频率
- v:卫星相对接收机的速度矢量
- e:视线方向单位矢量
- λ:载波波长
多普勒频移有什么用?
- 测速:根据频移量反算接收机速度
- 辅助捕获:缩小频率搜索范围,加快卫星信号捕获
- 定位:早期 Transit 系统就是靠多普勒定位的
我记得有一次做车载测试,车速120km/h时,多普勒频移能达到好几千赫兹。如果不补偿这个频移,接收机根本锁不住信号。所以现在的接收机都有多普勒跟踪环路,实时调整本地频率。
知识体系总览
下面这张图,把四种测量方式的关系梳理清楚了:
四种测量方式的对比
| 测量方式 | 精度 | 优点 | 缺点 | 典型应用 |
|---|---|---|---|---|
| 伪距观测方程 | 米级 | 无模糊度问题 | 精度受大气影响大 | 标准定位服务 |
| 码相位测量 | 3~10米 | 实现简单,鲁棒性好 | 精度有限 | 民用导航 |
| 载波相位测量 | 厘米级 | 精度极高 | 需解整周模糊度,有周跳 | 测绘、精密定位 |
| 多普勒频移测量 | 0.1~1 m/s | 测速精度高 | 需连续跟踪 | 测速、信号捕获 |
我的建议:实际项目中,别指望一种测量方式包打天下。码相位做粗定位,载波相位做精化,多普勒做测速和辅助——这才是工程上常用的组合策略。
好了,伪距测量原理就讲到这里。这四种测量方式,是卫星导航的四大支柱。搞懂了它们,后面的定位解算、误差分析、差分技术,学起来就轻松多了。
公众号:蓝海资料掘金营,微信deep3321