2. 定位系统基础
做定位这行,天天跟卫星打交道。但说实话,很多人用了好几年,对头顶上这些卫星到底怎么工作的,还是一知半解。
我记得刚入行那会儿,总觉得卫星定位就是“天上掉坐标”。后来被一次漂移问题折磨了整整两周,才老老实实把原理啃了一遍。嗯,今天我就用最直白的方式,把这四大系统讲清楚。
2.1 四大系统,一个道理
GPS、BDS(北斗)、GLONASS、Galileo,名字不同,但核心逻辑一模一样。说白了就是:卫星告诉你它在哪,它啥时候发的信号,你收到信号后算时间差,然后解出自己的位置。
你想想看,这跟“听声辨位”一个道理。你听到雷声,数几秒后听到,就知道雷离你多远。卫星也一样,只不过它发的是无线电波,速度是光速。
| 系统 | 所属国家 | 卫星数量(约) | 轨道高度 | 特点 |
|---|---|---|---|---|
| GPS | 美国 | 31 | 20200 km | 最成熟,全球覆盖 |
| BDS | 中国 | 35 | 21500 km | 有地球静止轨道卫星,亚太地区优势明显 |
| GLONASS | 俄罗斯 | 24 | 19100 km | 高纬度地区表现好 |
| Galileo | 欧盟 | 26 | 23222 km | 精度高,民用信号免费 |
2.2 卫星到底在发什么?
卫星每时每刻都在广播。广播的内容,专业叫法叫导航电文。这里面包含三样核心信息:
- 星历:卫星自己的精确位置和速度。说白了就是“我在哪”。
- 历书:所有卫星的粗略轨道参数。帮你快速搜星用的。
- 时间戳:信号发出的精确时间。这是定位的关键。
我遇到过不少新手,以为定位不准是算法问题。查了半天,最后发现是星历过期了。嗯,这里要注意:星历的有效期只有 2-4 小时。冷启动时如果星历太老,定位精度会差得离谱。
2.3 定位的数学本质
别怕,我不跟你推公式。你只要记住一句话:定位就是解四元方程组。
为什么是四元?三个坐标(x, y, z)加上一个时间误差。所以理论上,你至少需要4颗卫星才能定位。
核心逻辑:
每颗卫星给你一个方程:
卫星位置(已知) + 信号传播时间(测量值) = 你的位置(未知)
4颗卫星 = 4个方程 = 解出4个未知数(x, y, z, 时间误差)
我曾经在项目里犯过一个低级错误:只搜到3颗星,就强行定位。结果位置跳了上百米。后来才明白,3颗星只能做2D定位,高度是假设的,稍微一动就飘。
2.4 信号频率与多普勒效应
卫星信号频率,各家不太一样:
- GPS:L1(1575.42 MHz)、L2(1227.60 MHz)、L5(1176.45 MHz)
- BDS:B1(1561.098 MHz)、B2(1207.14 MHz)、B3(1268.52 MHz)
- GLONASS:L1(1602 MHz 附近,频分多址)
- Galileo:E1(1575.42 MHz)、E5(1191.795 MHz)
这里有个有意思的现象——多普勒效应。卫星高速运动,你收到的信号频率会偏移。我刚开始做接收机时,发现锁频环老是失锁,后来一查,是多普勒频移没补偿好。
2.5 四大系统的差异与互补
每个系统都有自己的脾气。我简单总结一下:
- GPS:老大哥,稳定。但单系统在城市里容易“断粮”。
- BDS:亚太地区信号强,尤其有地球静止轨道卫星,遮挡环境下优势明显。
- GLONASS:高纬度地区表现好,但频分多址导致接收机设计复杂一点。
- Galileo:精度高,民用信号免费,但卫星数量还没完全到位。
我个人建议:能做多模就做多模。单系统定位,在城市里漂移是常态。多模融合后,可用卫星数量翻倍,定位稳定性和精度都会上一个台阶。
2.6 一张图看懂卫星定位流程
下面这张图,是我自己画的卫星定位核心流程。你把它记住,后面讲漂移原因时,你就知道问题出在哪个环节了。
2.7 为什么了解这些能帮你解决漂移?
你想想看,漂移的本质是什么?是定位结果和真实位置之间的偏差。而这个偏差,就来自上面流程中的每一个环节。
- 卫星广播环节:星历误差、卫星钟差
- 信号传播环节:电离层延迟、对流层延迟、多径效应
- 接收机环节:噪声、天线设计、算法缺陷
后面几章,我会一个一个拆开来讲。但今天这一章,你得先把基础打牢。尤其是那张流程图,我建议你多看几遍。定位漂移的根因,十有八九都能在那张图上找到对应位置。