1. GPS系统概述:从一颗卫星到全球导航

各位同学,大家好。我是你们的卫星导航系统工程师。今天咱们开始第一讲——GPS系统概述。

说实话,GPS这东西现在太常见了。手机里、汽车上、甚至手表里都有。但你真的了解它吗?它怎么来的?里面有什么?信号长什么样?

这一章,我就带你把GPS的底裤扒开看看。

1.1 GPS发展历史:一场冷战催生的奇迹

GPS的诞生,说白了是美苏冷战的产物。

1957年,苏联发射了第一颗人造卫星——斯普特尼克1号。美国科学家发现,通过监测这颗卫星的多普勒频移,可以精确计算出它的轨道。反过来想:如果卫星位置已知,不就能定位地面上的接收机了吗?

这个想法,就是GPS的雏形。

我个人觉得,人类历史上很少有哪个技术是纯粹为了民用而诞生的。GPS也不例外。它最初是美国国防部的军事项目,代号NAVSTAR。1973年正式启动,1995年达到完全运行能力。

我记得刚入行时,老工程师跟我说过一个细节:早期GPS接收机有冰箱那么大,功耗几百瓦,只能装在飞机和军舰上。现在呢?指甲盖大小的芯片就能搞定。技术迭代的速度,真是让人感慨。

关键时间节点:

  • 1973年:GPS项目正式启动
  • 1978年:第一颗实验卫星发射
  • 1983年:大韩航空007航班被击落,促使GPS向民用开放
  • 1995年:达到完全运行能力(24颗卫星)
  • 2000年:取消选择可用性(SA),民用精度从100米提升到10米

这里有个避坑指南要分享。我曾经在项目里遇到过一位客户,非说GPS是俄罗斯发明的,因为GLONASS更早。其实不是。GPS和GLONASS几乎是同时起步的,但GPS先完成全球覆盖。嗯,这里要注意区分。

3.2 GPS系统组成:三驾马车

GPS系统由三部分组成:空间段、控制段、用户段。业内俗称“三驾马车”。

1.2.1 空间段

空间段就是天上的卫星。标准配置是24颗,分布在6个轨道平面上,每个平面4颗。轨道高度约20200公里,倾角55度。

为什么要24颗?你想想看,在地球上任何地方、任何时间,至少能看到4颗卫星。4颗是三维定位的最低要求(解算x,y,z和时间)。

实际上,现在天上飞着30多颗GPS卫星。老的Block IIA、IIR,新的Block IIF、III。我建议你关注一下GPS III卫星,它发射了新的L1C信号,跟北斗、Galileo能更好地兼容。

卫星型号 发射时间 特点
Block IIA 1990-1997 老一代,大部分已退役
Block IIR 1997-2004 可自主运行180天
Block IIF 2010-2016 新增L5信号
GPS III 2018至今 L1C信号,抗干扰更强

1.2.2 控制段

控制段是地面上的“大脑”。包括一个主控站(位于科罗拉多州)、多个监测站和地面天线。

监测站负责接收卫星信号,测量距离。主控站计算卫星的轨道和钟差,生成导航电文。地面天线负责上传数据。

我曾经参与过一个地面站的项目,深刻体会到:控制段出问题,整个系统就瘫痪了。有一次监测站的原子钟漂移了,导致卫星钟差参数不准,用户定位误差大了好几倍。嗯,原子钟这东西,娇贵得很。

1.2.3 用户段

用户段就是你我手里的接收机。从高精度的测量型接收机(误差厘米级)到手机里的消费级芯片(误差米级),都属于用户段。

接收机的核心任务就四个字:捕获、跟踪、解算。这也是咱们这门课的重点。

个人经验:很多初学者以为接收机就是买个模块焊上去就行。其实不然。天线位置、射频前端设计、基带算法,每个环节都影响最终精度。我见过一个项目,因为天线接地没做好,定位误差大了10倍。

1.3 GPS信号结构:载波、测距码、导航电文

GPS信号,说白了就是卫星往地上发的一段电磁波。但这段波里藏着三层信息:载波、测距码、导航电文。

你可以把信号想象成一个三明治:

  • 最底层:载波——面包片,负责把信息运到地面
  • 中间层:测距码——火腿,用来测量距离
  • 最上层:导航电文——生菜,告诉你卫星在哪、时间对不对

1.3.1 载波

GPS使用两个主要载波频率:

  • L1:1575.42 MHz
  • L2:1227.60 MHz

为什么用这么高的频率?因为高频信号穿透电离层的能力强,而且带宽大,能承载更多信息。

这里有个知识点:L1和L2同时使用,可以消除电离层延迟误差。我在做高精度定位时,必须用双频接收机。单频机在中午电离层活跃时,误差能到十几米。

1.3.2 测距码

测距码是一串伪随机噪声码(PRN)。GPS有两种:

  • C/A码:粗捕获码,民用,码长1023个码片,周期1毫秒
  • P码:精密码,军用,码长非常长,周期7天

C/A码的码速率为1.023 MHz。这意味着每个码片对应约293米的距离。接收机通过比对本地码和接收码的相位差,就能算出卫星到接收机的距离。

你可能会问:为什么用伪随机码?因为伪随机码的自相关特性好,容易捕获,而且抗干扰。说白了,就是让不同卫星的信号能区分开,互不干扰。

注意:C/A码虽然是公开的,但P码是加密的。民用接收机只能捕获C/A码。我曾经试过用软件无线电接收P码,结果发现Y码(加密后的P码)根本解不出来。嗯,别在这上面浪费时间。

1.3.3 导航电文

导航电文是卫星播报的数据,包含:

  • 星历:卫星的精确轨道参数
  • 钟差:卫星时钟相对于GPS时间的偏差
  • 历书:所有卫星的粗略轨道信息
  • 电离层参数:用于修正电离层延迟

导航电文的速率是50 bps,每帧1500比特,需要30秒才能播完一帧。所以接收机刚开机时,至少要等30秒才能拿到完整的星历。这就是冷启动需要时间的原因。

我记得有一次做测试,接收机冷启动花了40多秒。客户问能不能再快一点?我说可以,但需要辅助数据(比如从网络下载星历)。这就是A-GPS的原理。

小结

这一章我们讲了GPS的来龙去脉、系统组成和信号结构。说白了,GPS就是24颗卫星在天上不停地喊:“我是谁、我在哪、现在几点”。接收机听到四颗以上的声音,就能算出自己的位置。

下一章,咱们深入信号捕获的细节。你会看到,从天线收到信号到解出位置,中间经历了多少“九九八十一难”。

好,今天就到这里。有问题随时问我。