五千年(敝帚自珍)

主题:【原创】说说GPS定位导航 -- honeybl

共:💬73 🌺145
全看分页树展 · 主题
家园 【原创】说说GPS定位导航

战争和军备竞赛永远是高科技产品的催生婆。由美国政府和军方出资建设的全球定位系统(Global Positioning System)就是一个伟大的冷战产品。这套系统在为美国的军事称霸全球立下汗马功劳的同时,其民用子系统部分也深深地影响了我们的日常工作和生活。

本文从科普的角度,来说说这套GPS系统是如何定位的。

几乎所有的定位计算都涉及到三角几何的计算。我们假定在北京,上海分别放置两个信号基准站,而后我们测量一下,发现北京在我们的正北方,上海在我们的正东方,那么我们通过在地图上,从北京向正南方向画一条线,从上海向正西方向画一条线,这两条线相交的地方就是我的位置了(谁能告诉我这个地方是在哪儿?)。

这种通过测量地面信号基准站的方式来定位的方式,就是最早的全球定位系统,飞机领航员们有着全球各地机场,导航站,广播电台的地址,频率等信息,时刻在地图上画线,相交,求交点。

由于地球曲面的影响,信号基准站的选址限制,以及信号的衰减和失真等问题,这类系统的缺点是导航精度差,实时性不理想,无法自动化。

于是GPS系统应运而生。

在GPS系统中,信号基准站从地面被搬到了太空,变成了在固定轨道上环绕地球运转的GPS卫星。每一颗卫星都有固定的编号,对应于固定的运行轨道。

定位卫星的信息以30秒为一个周期,通过码分多址(CDMA)的方式进行广播,每颗卫星使用与其对应的正交码,便于接收端快速同步和解码。

总共有24颗GPS定位卫星(现在应该更多了),4颗为一组,在6个轨道面上运行, 以确保在地球表面的任何一个地方,在无遮挡的情况下,可以保证有至少6颗卫星的信号覆盖。这些GPS卫星以非常精确的方式,同步地发射如下信息:

日期和时间,卫星编号,卫星轨道参数等信息。

那么接受端是如何靠这类信息进行定位的呢?

我们打开GPS定位终端,于是定位终端开始在GPS频段内,按照每个卫星分配的正交码,尝试同步和解码卫星的信息。

好了,第一颗卫星被同步解码了,于是GPS终端就可以知道第一颗卫星时间,卫星编码和轨道参数了,我们称这为同步到GPS系统上去。

第二颗卫星也被同步解码了,于是GPS终端就知道第二颗卫星时间,卫星编码和轨道参数了。通过精确测量两颗卫星的含有相同时间的信号到达定位终端的时间差,结合相应的卫星轨道参数,我们就可以知道我们所处的一个曲面S1了(如果两颗卫星的信号非常精确地同时到达,则我们处在此时这两颗卫星的垂直平分面上)。

现在第三颗卫星也被同步解码了,同样的,通过和第一颗卫星的测量时间差,我们得到了曲面S2, S1和S2相交,得到一根曲线L1;通过计算和第二颗卫星的时间差,得到曲面S3,S3和S1相交,得到曲线L2; L1和L2相交,我们得到了一个或者个点。幸运的是,如果是两个点的话,数学家会告诉我们,其中的一个点要么是在遥远的太空深处,要么是以不可思议的速度在地球上快速移动(卫星时刻相对地球在移动,比较前后两次的位置就可以计算出移动速度和方向了),因而我们可以很方便地忽略掉它,剩下的那个点,就是我们的位置了,于是我们通过GPS定位终端就知道了一个三维的地址(经纬度和高度),以及时间。

在定位终端的计算芯片中,上述计算过程均已经固化,只需要把相应的时间差值,卫星编码和轨道信息作为参数代入公式,就可以得到结果了。

上面介绍的是非常理想情况下的定位计算。在实际操作中,会存在各种各样的误差:卫星轨道的偏差,卫星上的原子时钟的快慢,定位终端的测量误差等等,考虑到无线电波是以光速在传播,因而会造成较大的定位误差。

因此,在接受端,虽然只需要解出三颗卫星的信息就可以定位了,但是他依旧会尝试同步并解码其他卫星的数据,按照不同卫星的信号质量,测量误差等对结果进行修正。

同时美国也不断地对每颗卫星测量其轨道数据偏差,时钟精度误差等,并计算出相应的矫正数据,通过专门的控制链路发射给卫星,因此卫星广播的相应参数均不是理论上数据,而是实际测量后的校正了的数据。

好了,这里面就有花头了。为了防止不友好甚至对美国有害的政府,组织和人员得到高精度的GPS定位服务,于是故意地在民用信道的校正数据中引入了误差(Selective Availability),从而有意使定位结果发生误差。94年我在外滩沿线做测量时,GPS基本上都把我定位到黄埔江的江中心线上了。

可是在局部地区,例如机场和码头等,需要高精度的定位服务(在机场的每个停机位的正前方,会有一块很大的黄色信息牌,告知飞行员该停机位的精确经纬度,以供校正),尤其是在雾天,因而就有了差分系统:在一个已经知道确切位置的点上测量GPS位置,从而计算出精确的GPS误差,通过特定的频率广播出来,这样飞机和轮船就可以精确地定位修正,从而避免相撞。

而对于军用GPS信道,一切均被数学加密笼罩在迷雾中。

90年的海湾战争是第一场高科技的战争,也是第一场GPS大显神威的战争。我们从电视上看到,只要设定好目的地的坐标,在GPS指引下,坦克部队在茫茫沙漠中急速飞奔而不会迷路。

与此同时,民用的SA被加大了干扰,以至于我在人民广场上,眼瞅着有6颗卫星被解出来,愣是没算出来位置。

可是与此同时,美军的后勤部门来不及为各个参战单位配备足够的军用GPS终端,于是美军一面掏钱从电器超市购买民用GPS终端分发给茫茫沙漠中的作战部队,一面大骂五角大楼的官僚还没有吸取在格林纳达美军靠旅游地图作战的教训,纷纷嚷着要扣他们的绩效工资。要说美军的效率还是挺高的,高层知道后,为了不让自己人被误炸,命令GPS系统取消在战争地区的SA干扰。这可是一项高优先级的重大用户需求。具体怎么改,我们不得而知,反正那几天里,我们的接收机均无法在上海市范围内定位,于是顺便给自己放假。

看到了GPS的巨大成功和广泛的应用,克林顿在2000年宣布永远关闭SA,嘴上说美国愿意为全世界人民提供无偿的高精度定位服务,心里却想着重走微软的道路:先让盗版满天飞,等其他竞争对手Over了,你又离不开时,再狠敲一笔,并且掐住你的喉咙。

可是对手们也不笨,于是就有了欧洲的伽利略,中国的北斗,还有俄罗斯的格洛纳斯的民用版和友好版。

因此,有再大的困难,北斗也是要上的。要知道在没有北斗的时候,中国的高科技炮兵是左手拿个GPS,右手拿个格洛纳斯滴。

关键词(Tags): #GPS#定位元宝推荐:水风,爱莲, 通宝推:镐梓,

本帖一共被 2 帖 引用 (帖内工具实现)
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河