GNSS基础:四大系统的架构、信号与观测值
各位同学,今天我们来聊聊GNSS的基础。说白了,GNSS就是一套“天基的定位系统”。你手机里能定位,靠的就是它。
我个人习惯把GNSS理解成“天上的灯塔”。这些灯塔在不停地广播自己的位置和时间。你只要收到四颗以上的信号,就能算出自己在哪里。嗯,道理很简单,但工程实现上,坑可不少。
一、四大系统架构:谁在天上飞?
目前全球有四大GNSS系统:美国的GPS、俄罗斯的GLONASS、中国的北斗,以及欧盟的Galileo。我当年刚入行时,主要只跟GPS打交道。现在嘛,接收机基本都是多模的了。
| 系统 | 卫星数量(约) | 轨道高度 | 轨道倾角 | 特点 |
|---|---|---|---|---|
| GPS | 31 | 20200 km | 55° | 最成熟,全球覆盖 |
| 北斗 | 30+ | 21500 km (MEO) + GEO/IGSO | 55° | 有地球静止轨道卫星,亚太地区优势明显 |
| GLONASS | 24 | 19100 km | 64.8° | 高纬度地区覆盖好,频分多址 |
| Galileo | 24 | 23222 km | 56° | 民用信号精度高,搜救功能 |
这里有个细节。GPS和北斗用的是码分多址(CDMA),所有卫星在同一频率上发信号,靠不同的伪随机码来区分。GLONASS用的是频分多址(FDMA),每颗卫星频率不同。我在做多模接收机时,GLONASS的射频前端设计就比GPS麻烦一些,因为要处理更宽的频带。
核心架构差异:北斗有独特的GEO(地球静止轨道)和IGSO(倾斜地球同步轨道)卫星。这意味着在亚太地区,你抬头就能看到几颗“不动”的卫星。这对提高城市峡谷中的可用性很有帮助。我曾在重庆做过测试,北斗的GEO卫星确实能缓解一些遮挡问题。
二、信号结构:卫星到底在广播什么?
每颗GNSS卫星都在不停地发送信号。信号里包含三样东西:载波、测距码和导航电文。
- 载波:就是高频的正弦波。GPS的L1频率是1575.42 MHz,L2是1227.60 MHz。北斗的B1I是1561.098 MHz。频率越高,穿透性越差,但测距精度潜力越大。
- 测距码:也叫伪随机噪声码(PRN)。GPS的C/A码就是它。码速率是1.023 MHz,一个码片(chip)对应约300米。嗯,这个精度用来做定位,显然不够。
- 导航电文:包含卫星的星历(位置)、钟差、电离层参数等。接收机必须解调出电文,才知道卫星在哪。
为什么会用伪随机码?因为码的自相关特性很好。接收机本地生成一个同样的码,跟接收到的信号做相关,就能精确地找到信号到达的时间。说白了,就是“对表”。
个人经验:我建议初学者先搞懂GPS的L1 C/A码结构。它最简单,也最经典。北斗的B1I码结构稍微复杂一点,但原理相通。你只要吃透一个,其他系统就是换了个码表和频率而已。
三、伪距观测值:粗糙但稳定
伪距,就是卫星到接收机的“伪”距离。为什么叫“伪”?因为里面有误差。
伪距的计算公式很简单:
ρ = c × (t_r - t_s)
其中,c是光速,t_r是接收机收到信号的时间,t_s是卫星发射信号的时间。但这两个时间,都不是绝对准确的。卫星钟有偏差,接收机钟也有偏差。所以算出来的距离,不是真距,是“伪距”。
伪距的精度,一般在米级。C/A码的码片宽度约300米,理论上测距精度能做到码片的1%左右,也就是3米。但实际受多路径、电离层等影响,通常在5-10米。
避坑指南:我曾经在项目里遇到过伪距跳变的问题。现象是定位结果突然跳了几十米。排查了很久,发现是接收机跟踪环路失锁后重新锁定,导致码相位计数出现了整周模糊。嗯,从那以后,我每次做伪距平滑时,都会加一个周跳检测。
四、载波相位观测值:精密但模糊
载波相位,是GNSS高精度定位的核心。它的精度比伪距高两个数量级。
载波波长很短。GPS L1的波长约19厘米。如果能测量载波相位的整周数和小数部分,测距精度就能达到毫米级。但问题来了——你只能测到小数部分,整周数(N)是未知的。这就是“整周模糊度”。
载波相位的观测方程可以写成:
φ = ρ/λ + N + 误差项
其中,φ是载波相位观测值(以周为单位),ρ是几何距离,λ是波长,N是整周模糊度。
你想想看,如果N解错了,定位结果就会差几十厘米甚至几米。所以,高精度定位的核心工作之一,就是解算这个N。
关键区别:伪距是“绝对测量”,但精度低。载波相位是“相对测量”,精度高,但有整周模糊度。实际应用中,我们通常用伪距来辅助解算载波相位的模糊度。这叫“伪距-载波相位组合”。
五、知识体系总览
下面这张图,是我自己总结的GNSS基础知识框架。你可以把它当作一个“地图”,随时回来对照。
这张图把四大系统、信号三要素、以及两种观测值串在了一起。你顺着箭头看,就能理解它们之间的关系。我个人习惯把这张图打印出来贴在工位上,每次遇到问题,先回来看看自己卡在哪一层。
好了,GNSS的基础就讲到这里。记住:伪距是“粗活”,载波相位是“细活”。搞高精度定位,就是想办法让“细活”变得可靠。