4. 卫星导航基础:GPS/北斗信号结构、伪距与载波相位观测、单点定位与RTK定位原理
各位同学,今天我们来聊聊卫星导航的底层逻辑。说实话,很多做组合导航的工程师,对卫星信号的理解停留在「能定位就行」的层面。但真正遇到多径、周跳、信号遮挡这些坑时,你会发现——不懂信号结构,你连问题出在哪都找不到。
我个人习惯把卫星导航拆成三块来看:信号长什么样、我们能测到什么、怎么算出位置。咱们一个一个说。
4.1 GPS/北斗信号结构:从卫星到天线的旅程
卫星信号说白了就是电磁波,但它不是裸奔的。GPS和北斗都用了码分多址(CDMA)技术。什么意思?就是所有卫星都在同一个频率上喊话,但每颗卫星有自己的「暗号」——伪随机码。
GPS的L1频段(1575.42 MHz)上,调制着两种码:C/A码(粗捕获码)和P(Y)码(精密码)。C/A码是民用的,码速率1.023 MHz,周期1毫秒。北斗的B1I信号类似,码速率2.046 MHz。嗯,这里要注意:北斗的码长更长,捕获难度其实比GPS大一点。
核心概念:卫星信号 = 载波 + 测距码 + 导航电文
- 载波:高频正弦波,负责把信息带下来
- 测距码:伪随机序列,用来测距离
- 导航电文:卫星星历、钟差、电离层参数等「说明书」
我在项目中遇到过一件事:某次测试,定位精度突然从厘米级掉到米级。排查了半天,发现是接收机跟踪的卫星信号从L1C/A跳到了L2C,而我们的算法没做频间偏差补偿。说白了,不同频段的信号经过硬件时,延迟是不一样的。这个坑,很多新手会踩。
4.2 伪距与载波相位观测:两个尺子,一个粗一个精
接收机能给我们两种观测值:伪距和载波相位。你可以把它们想象成两把尺子。
伪距:用测距码来量。码元宽度约300米(C/A码),所以伪距的噪声在米级。优点是没有整周模糊度,直接就能用。缺点是精度低。
载波相位:用载波波长来量。L1波长19厘米,精度能到毫米级。但问题来了——接收机只能测到不足一整周的小数部分,整周数N是未知的。这就是著名的整周模糊度问题。
我的经验:伪距和载波相位要配合使用。伪距提供初始位置,载波相位提供精细修正。就像你用卷尺量房间长度,先用米尺粗测,再用游标卡尺精读。
伪距观测方程长这样:
ρ = r + c*(dt_r - dt_s) + I + T + ε
其中ρ是伪距观测值,r是真实几何距离,dt_r和dt_s是接收机和卫星钟差,I和T是电离层和对流层延迟,ε是噪声。
载波相位观测方程:
φ = (r + c*(dt_r - dt_s) - I + T)/λ + N + ε
注意电离层项符号相反!这是因为载波相位受电离层影响是「超前」的,而伪距是「延迟」的。这个细节,做双频组合时特别重要。
4.3 单点定位:最朴素的定位方式
单点定位(SPP),就是只用一台接收机,解算自己的位置。原理很简单:四颗卫星,四个方程,解四个未知数(x,y,z,dt_r)。
但实际做起来,你会发现精度只有5-10米。为什么?因为误差源太多了:
- 卫星钟差:虽然广播星历给了修正参数,但残差还有几纳秒
- 电离层延迟:单频接收机只能用模型修正,效果一般
- 对流层延迟:干分量好修,湿分量难搞
- 多径效应:信号反射导致测距偏差,这是最头疼的
我曾经在立交桥下做测试,单点定位结果直接飘了30米。后来分析数据发现,有颗卫星的信号被桥体反射了三次才到天线。嗯,多径是城市环境下的头号杀手。
避坑指南:单点定位时,一定要检查卫星的仰角和信噪比。我习惯把仰角低于10度、信噪比低于35 dB-Hz的卫星直接剔除。虽然卫星少了,但定位结果反而更稳。
4.4 RTK定位:用差分干掉公共误差
RTK(实时动态差分定位)的原理,说白了就是「你错我也错,咱俩一减就对了」。
基准站放在已知坐标点上,它算出自己的伪距/载波相位观测值与真实值的差异,然后通过数据链发给流动站。流动站用这个差分修正,就能把公共误差(卫星钟差、电离层、对流层)几乎全部消除。
RTK的核心是整周模糊度固定。一旦固定成功,定位精度就能到厘米级。固定失败的话,就只能用浮点解,精度掉到分米甚至米级。
我画了一张图,帮你理解RTK的流程:
RTK的关键技术点有三个:
- 双差观测:站间差分消除接收机钟差,星间差分消除卫星钟差
- 模糊度搜索:常用LAMBDA算法,在整数域里搜索最优的N值
- 周跳检测:载波相位一旦失锁,整周计数就会跳变,必须检测并修复
我的建议:做RTK时,一定要关注Ratio值(最优解与次优解的比值)。我一般要求Ratio > 3.0才认为固定成功。如果Ratio在2.0-3.0之间,我会用部分固定策略——只固定那些置信度高的卫星,剩下的用浮点解。
最后说一句,RTK不是万能的。在城市峡谷、隧道、高架桥下,卫星信号被遮挡,RTK很容易失锁。这时候就需要组合导航来救场了——这也是我们这门课后面要讲的重点。
好了,卫星导航的基础就聊到这儿。记住:信号结构决定你能测到什么,观测值决定你能算多准,定位算法决定你能用多稳。这三层,一层都不能少。
公众号:蓝海资料掘金营,微信deep3321