第一章:GNSS基础与信号结构
各位同学,今天咱们聊聊GNSS的基础。说白了,就是搞清楚天上那些卫星到底在干什么。
我刚开始接触这个领域时,总觉得信号结构这东西太抽象。后来在项目里被折腾了几次,才明白——不懂信号结构,你连接收机为什么锁不住星都搞不清楚。
1.1 四大系统概述
目前全球有四大卫星导航系统:美国的GPS、中国的北斗、俄罗斯的GLONASS、欧盟的Galileo。嗯,这里要注意,它们虽然都是导航系统,但脾气秉性各不相同。
| 系统 | 所属国家/地区 | 卫星数量(约) | 轨道高度 |
|---|---|---|---|
| GPS | 美国 | 31颗 | 20200 km |
| 北斗 | 中国 | 44颗 | 21500 km(MEO) |
| GLONASS | 俄罗斯 | 24颗 | 19100 km |
| Galileo | 欧盟 | 24颗(满配) | 23222 km |
我个人习惯把GPS当作"老大哥"。它资历最老,技术最成熟。北斗呢,后来居上,特色是有短报文通信功能。GLONASS的轨道倾角大,在高纬度地区表现更好。Galileo精度最高,但星座还没完全建好。
1.2 信号频率与调制方式
每个系统都有自己的"嗓门"——也就是工作频率。你想想看,如果所有卫星都在同一个频率上喊话,那接收机根本分不清谁是谁。
| 系统 | 主要频段 | 中心频率 | 调制方式 |
|---|---|---|---|
| GPS | L1 / L2 / L5 | 1575.42 / 1227.60 / 1176.45 MHz | BPSK / BOC |
| 北斗 | B1 / B2 / B3 | 1561.098 / 1207.14 / 1268.52 MHz | BPSK / QPSK / BOC |
| GLONASS | L1 / L2 / L3 | 1602.00 + n×0.5625 / 1246.00 + n×0.4375 MHz | BPSK / BOC |
| Galileo | E1 / E5 / E6 | 1575.42 / 1191.795 / 1278.75 MHz | CBOC / AltBOC / BPSK |
这里有个坑,我必须提醒你。GLONASS用的是频分多址(FDMA),每颗卫星分配不同的频率。而GPS、北斗、Galileo都是码分多址(CDMA),所有卫星用同一个频率,靠不同的伪随机码来区分。
1.3 测距码结构
测距码,说白了就是卫星的"身份证"。接收机通过比对本地复制的码和接收到的码,就能算出信号传播的时间。
GPS的C/A码(粗捕获码)长度是1023个码片,周期1毫秒。北斗的B1I码长度也是1023,但码速率略有不同。Galileo的E1信号用的CBOC调制,码结构更复杂。
// GPS C/A码生成示例(简化版)
// 两个10级移位寄存器,生成Gold码
// G1多项式: 1 + x^3 + x^10
// G2多项式: 1 + x^2 + x^3 + x^6 + x^8 + x^9 + x^10
int g1[1023], g2[1023], ca_code[1023];
// 初始化寄存器全为1
// 每个时钟周期移位一次
// 输出为 g1[10] XOR g2[10]
嗯,这里要注意,不同系统的码结构差异很大。GPS的C/A码是公开的,但军用P(Y)码是加密的。北斗的民用码也是公开的,但授权码需要申请。
1.4 导航电文结构
导航电文,就是卫星告诉接收机"我在哪、几点了、天上还有谁"。每个系统的电文格式都不一样,但核心信息差不多。
| 系统 | 电文类型 | 帧长度 | 更新周期 |
|---|---|---|---|
| GPS | NAV / CNAV | 1500 bits(NAV) | 12.5分钟(完整) |
| 北斗 | D1 / D2 | 1500 bits(D1) | 6分钟(D1) |
| GLONASS | 字符串 | 100 bits/串 | 2.5分钟(完整) |
| Galileo | F/NAV / I/NAV | 250 bits/页 | 10分钟(完整) |
我记得第一次解析北斗电文时,被它的"二次编码"搞晕了。GPS的电文结构相对简单,就是帧、子帧、字。北斗的D1电文多了个"二次编码"层,用来提高捕获灵敏度。
导航电文里最重要的信息是星历参数。GPS用开普勒轨道参数,16个参数描述卫星轨道。北斗也类似,但多了几个"北斗特色"参数。GLONASS用的是地心地固坐标系下的位置、速度、加速度,共9个参数。Galileo的星历参数和GPS很像,但精度更高。
为什么会这样?说白了,GPS和Galileo都是中轨道卫星,轨道比较圆,用开普勒参数描述效率高。GLONASS的轨道稍微扁一点,用位置速度描述更直接。
好了,这一章的内容就到这里。信号结构是GNSS的根基,后面讲抗干扰、多星座融合时,都会用到这些知识。下一章咱们聊聊接收机的射频前端设计,那才是真正考验硬件功底的地方。