第4章 卫星导航原理:GPS/北斗信号结构、伪距与载波相位观测方程、单点定位与差分定位(RTK)原理、卫星导航误差源分析
各位同学,欢迎来到第四章。这一章我们聊聊卫星导航的核心原理。说实话,很多做组合导航的工程师,对卫星导航的理解就停留在“收星、解算、出位置”这个层面。但真正遇到信号遮挡、多径干扰、或者需要做RTK的时候,就抓瞎了。
我个人习惯是,先把信号结构吃透,再谈定位算法。你想想看,连卫星发下来的是什么都不知道,怎么去解算?好,我们开始。
4.1 GPS/北斗信号结构
GPS和北斗的信号结构,说白了就是“载波+伪码+导航电文”三层叠加。我当年刚入行时,总觉得这玩意儿太抽象,直到有一次在实验室用频谱仪看信号,才真正理解。
GPS信号结构:
- 载波频率:L1(1575.42 MHz)、L2(1227.60 MHz)、L5(1176.45 MHz)
- 伪随机噪声码(PRN码):C/A码(粗捕获码,1.023 MHz码率)、P码(精码,10.23 MHz码率)
- 导航电文:50 bps数据率,包含星历、历书、电离层参数等
北斗信号结构(BDS-3):
- 载波频率:B1I(1561.098 MHz)、B2a(1176.45 MHz)、B3I(1268.52 MHz)
- 伪码:采用分层码结构,码率更高,抗多径能力更强
- 导航电文:D1/D2电文,速率有50 bps和500 bps两种
核心要点:GPS和北斗虽然频率不同,但基本原理一致——卫星发射的信号,本质上是“载波+伪码+数据”的调制波。接收机通过捕获伪码的相位,就能测量出信号传播的时间。
嗯,这里要注意:北斗的B1I和GPS的L1频率很接近,但码结构不同。我在做多模接收机时,就遇到过因为码相位搜索策略不对,导致北斗信号捕获失败的情况。后来我调整了搜索步长,问题就解决了。
4.2 伪距与载波相位观测方程
这是定位的核心。伪距和载波相位,是接收机输出的两种基本观测量。很多初学者搞不清它们的区别,我简单解释一下。
伪距观测方程:
ρ = r + c·(δt_u - δt_s) + I + T + ε_ρ
其中:ρ是伪距测量值,r是卫星到接收机的几何距离,c是光速,δt_u是接收机钟差,δt_s是卫星钟差,I是电离层延迟,T是对流层延迟,ε_ρ是测量噪声。
载波相位观测方程:
φ = (r + c·(δt_u - δt_s) - I + T + λ·N) / λ + ε_φ
其中:φ是载波相位测量值(以周为单位),λ是载波波长,N是整周模糊度(整数),其他符号同伪距方程。
个人经验:伪距精度在米级,载波相位精度在厘米级。但载波相位有个整周模糊度问题,需要解算。我曾经在一个项目中,因为整周模糊度解算失败,导致RTK定位结果跳了半米。后来我改用LAMBDA算法,才稳定下来。
为什么伪距和载波相位的电离层延迟符号相反?因为伪距是群延迟,载波相位是相延迟,两者在电离层中的传播特性不同。这个细节,很多教材都没讲清楚。
4.3 单点定位与差分定位(RTK)原理
单点定位,就是只用一台接收机,解算自己的位置。精度一般在3-10米。差分定位,则是利用基准站和流动站的观测值做差,消除公共误差,精度可达厘米级。
单点定位(SPP):
- 使用伪距观测值
- 至少需要4颗卫星
- 解算位置(x,y,z)和接收机钟差
- 精度受电离层、对流层、星历误差影响
差分定位(RTK):
- 使用载波相位观测值
- 基准站和流动站做双差
- 消除卫星钟差、接收机钟差、电离层延迟(短基线)
- 需要解算整周模糊度
核心区别:单点定位是“绝对定位”,差分定位是“相对定位”。RTK的精髓在于,通过差分消除了大部分误差,剩下的就是整周模糊度和多路径。
我记得有一次在野外做RTK测试,基准站和流动站距离超过20公里,电离层延迟差异太大,双差后残差依然很大。后来我改用网络RTK(通过CORS站),才解决了这个问题。
4.4 卫星导航误差源分析
误差源分析,是组合导航工程师的基本功。你只有知道误差从哪里来,才能在融合滤波中合理设置噪声参数。
主要误差源:
| 误差源 | 典型量级 | 特性 | 消除方法 |
|---|---|---|---|
| 卫星钟差 | 1-5米 | 缓慢变化 | 广播星历修正、差分 |
| 星历误差 | 0.5-2米 | 缓慢变化 | 精密星历、差分 |
| 电离层延迟 | 2-20米(天顶) | 与频率相关、白天大 | 双频改正、模型修正、差分 |
| 对流层延迟 | 2-25米(天顶) | 与气象相关 | 模型修正(Saastamoinen、Hopfield) |
| 多路径效应 | 0.5-5米 | 与周围环境相关 | 抗多径天线、扼流圈、信号处理 |
| 接收机噪声 | 0.1-0.5米(伪距) | 随机噪声 | 滤波平滑 |
避坑指南:我曾经在一个城市峡谷项目中,多路径效应导致定位误差达到10米以上。当时我以为是卫星几何不好,后来发现是旁边玻璃幕墙反射的信号。从那以后,我每次做城市测试,都会先观察周围环境,必要时加装扼流圈天线。
电离层延迟,说白了就是信号穿过电离层时速度变了。白天太阳活动强,电离层电子密度大,延迟就大。双频接收机可以通过两个频率的观测值做无电离层组合,直接消除一阶电离层延迟。这个技术,在RTK和PPP中非常关键。
对流层延迟,则与温度、气压、湿度有关。我建议在组合导航中,至少使用Saastamoinen模型做干延迟修正,湿延迟可以用随机游走估计。嗯,这里要注意:对流层延迟在低仰角卫星上特别大,所以一般会设置15度或10度的仰角截止角。
多路径效应,是最头疼的误差。它不像电离层那样有规律可循,完全取决于环境。我常用的方法是:在信号处理层面,使用窄相关技术;在天线层面,使用扼流圈或抗多径天线;在算法层面,使用多路径检测和剔除。
4.5 知识体系总览
为了让大家更直观地理解本章的知识结构,我画了一张图。这张图展示了从信号结构到定位解算的完整链路。
这张图把本章的核心内容串起来了。从信号结构出发,到观测方程,再到定位方法,最后是误差源分析。你会发现,误差源分析是贯穿始终的——无论是单点定位还是RTK,都需要考虑这些误差。
我的建议:初学者可以先从单点定位入手,理解伪距方程和最小二乘解算。等熟悉了,再研究载波相位和RTK。不要一上来就啃整周模糊度,容易劝退。
好了,这一章的内容就到这里。卫星导航原理是组合导航的基础,后面的章节我们会基于这些原理,讨论如何与IMU进行深度融合。记住:理解误差源,才能做好融合。
公众号:蓝海资料掘金营,微信deep3321