用户注册 登录
珍珠湾全球网 返回首页

岳东晓 -- 珍珠湾全球网 ... http://ydx.zzwave.com [收藏] [复制] [分享] [RSS] 岳东晓 -- 珍珠湾全球网

日志

GPS与相对论之指点迷津

热度 3已有 8489 次阅读2016-4-8 05:14 |个人分类:科普|系统分类:科技| GPS导航仪, 方舟子, 相对论, 小学数学, 经纬度

这两天科学网就 GPS 是否依赖于相对论(狭义与广义)才能运转进行了激烈的辩论。参见这篇《剪不断,理还乱 。。。》内中提到方舟子这个“非理工男”的错误,这简直是对喜欢用文科傻妞一词的舟子莫大的侮辱。但要知道,涉及相对论的时候,很多隐含的假设就不能做了,尤其是小学数学里 距离等于速度乘以时间的公式要谨慎。所以,我来给一个清楚一点的解释。

我现在手里拿着一个 GPS导航器(简称导航器),打开之后,它给出了我现在在地球上的位置(经纬度与高度),这是它根据接收到的GPS卫星信号算出来的。那么这个卫星信号里面有什么信息呢?一是卫星本身的轨道参数,二是发出这个信号时卫星上时钟的时间。卫星上这个时钟是所谓原子钟,是非常精确的。从卫星轨道与卫星发出信号时间,导航器的程序 可以算出发射这个信号时的卫星的位置。导航器本身也有一个时钟,因此还有一个数据: 导航器根据自己的时钟收到卫星信号的时间。导航器时钟当然不是原子钟,而且也没有跟卫星上的时钟对准。比如说,卫星上的时钟可能指向上午9点,但导航器上的时钟可能指向10点,对准差达到了一个小时。显然,导航器时钟与卫星时钟的对准差是一个随机的未知数。导航器的位置坐标是另外三个未知数。初中数学告诉我们,一般来说,要有四个方程才能解出四个未知数。所以,我们需要四颗卫星的GPS数据才能算出自己的位置。

我在《电影Interstellar中的引力延时》一文中提到引力场不同地方时间流逝速度不同,并进行了计算。类似的计算得出在GPS卫星高度(约2万公里),用于引力延时,卫星上时间流逝比地面快(比例) [ix]\frac{GM_e}{c^2 R_e^2} \frac{(R_s -R_e) R_e}{R_s} = \frac{g}{c^2} \frac{(R_s -R_e) R_e}{R_s} \approx 5.3 \times 10^{-10} [/ix]。另外,根据狭义相对论,从静止观察者角度,运动时钟要慢些。卫星速度约每秒 4000 米 ([ix]\sqrt{9.8 * 10^3 *6300^2/26300}[/ix]),则运动学效应导致的卫星上时钟变慢比例为[ix] 1-\sqrt{1-v^2/c^2} \approx 8.9 \times 10^{-11}[/ix]。因此,每天24小时累计卫星上时钟相对于地面来说,应该快 [ix](5.3 \times 10^{-10} - 8.9\times 10^{-11} ) \times 24 \times 3600 [/ix] ,也就是约为 38微妙。这个38微妙的差别将被包括在天-地时钟的对准误差中。初看起来这似乎没有问题。

但是卫星运行一天之后,导航器程序员根据接收到的卫星轨道参数以及卫星时间而计算卫星位置时误差会达到:4000*38*10^-6 = 0.15米 (卫星速度乘以时间误差)这个误差是不断积累的。运行100天后,卫星上的原子钟时间会快 38* 100 微妙,或者约4毫秒。那么卫星位置的计算误差将达到 15米。三年之后,卫星位置计算误差将达到150米,而相应的卫星定位误差将达到 40米左右 (注一)。因此,假如我们处于一个非相对论文明,人们会发现由于某种神秘原因,这个GPS系统开始还好用,但误差越来越大。

GPS卫星的设计者及运行者当然考虑到了相对论效应,因而把卫星上的原子钟报出的时间进行了调整以消去相对论效应,而且卫星可以不断进行轨道修正。那么导航器程序员计算卫星位置的时候是否还要考虑相对论呢。答案似乎是否定的。由于GPS信号本身已经考虑到了最主要的相对论效应,导航器程序员也许根本都不要知道什么相对论。但是,如果导航器开发商承认自己没考虑相对论,那将是一个严重的市场错误 -- 广大客户会觉得这个产品也太原始了。

现在回到根据四颗卫星的数据计算四个未知数的方程的问题。小学数学给出的方程是: 卫星到 导航器的距离等于光速乘以信号传播的时间。卫星的位置可以根据卫星的轨道及卫星信号发出的时间进行计算,卫星到导航器的距离根据勾股定理计算,时间则是导航器接受信号的时间减去卫星信号发出时间再根据对准误差进行修正。四个未知数是:导航器所在的坐标(经度、纬度、高度)与天地时钟对准差。四颗卫星,四个方程。但如果要考虑相对论,这个距离计算又不是那么简单的了。不过,这个误差相对其他误差较小。另外,如果假定高度(如海拔为零),那么三个卫星也能算出位置。

还有一个问题,卫星发出的无线电信号经过大气层时其传播会受到影响,这也就影响了信号传播时间,这个影响是未知的,因此定位精度也就打了折扣。美军使用的GPS跟民用的信号的内容并没有不同,但美军信号还有一个不同频率的频道。根据同一卫星两个频道信号的差别,美军可以在计算中消去大气层的部分影响而得出更为精确的定位。

注一:方舟子科普到:“...如果我们考虑到GPS系统要求纳秒级的时间精度,这个误差就非常可观了。38微秒等于38000纳秒,如果不加以校正的话,GPS系统每天将累积大约10千米的定位误差,这会大大影响人们的正常使用..”这显然是不求甚解。



路过

鸡蛋
2

鲜花

支持

雷人

难过

搞笑

刚表态过的朋友 (2 人)

 

发表评论 评论 (11 个评论)

回复 大清太平 2016-4-9 02:16
我没有时间看科学网的大讨论,谢谢你的介绍。我觉得你的解释有点问题。
(1)GPS卫星的时间精度,误差积累、相对论修正等等,并不是太核心,最核心的应该是这些卫星,或者至少在地面接收机所接受的四个卫星,必须高精度地时间上同步。各卫星的时间同步最重要,但具体时间是多少则是对定位没有影响。原因在于你所提到的四个未知数,其中一个是卫星与接收机之间的相对偏差。要点是这个时间偏差在这四个卫星的信号测量时,是唯一的,不因为卫星不同而不同。
(2)说到相对论修正等误差积累问题,并不影响定位。原因如上。在每一次定位,都是”重新定位“,都需要把我上面说的相对偏差确定,(而不是延续利用刚才、昨天、去年等等所确定的偏差。虽然我使用的都是同一个接收机,但偏差可以是变化的),所以卫星时间累积误差没有关系,要紧的是,误差累积必须也是各卫星同步的。
回复 大清太平 2016-4-9 02:41
(3)大气修正问题。不进行大气层电离层的修正,误差可能在好几十米,不修正是绝对不行的。不过大部分情况下可以用一个大气层和电离层标准模型进行估算,最终使得误差平均能控制到几米。
(4)当实际电离层等偏离模型时(如太阳风暴扰动引起),可造成10-30米误差。对飞行导航、定位会产生很大影响。消除的办法,是你说到的双频系统。双频(L1,L2)并不是为美军完全控制不开放的,其实民用系统都可以用到部分双频的 (如L2C),只是接收机必须是双频系统比较高级和昂贵,在基础科学研究领域被广泛使用。我们的手机、汽车的导航目前都还是单频接收机,未来10年应该能有便宜的双频系统大众化地安装,使得我们可以更精密定位。美军保密的是GPS卫星信号L2波段的某些编码的信号。
回复 岳东晓 2016-4-9 03:28
大清太平: 我没有时间看科学网的大讨论,谢谢你的介绍。我觉得你的解释有点问题。
(1)GPS卫星的时间精度,误差积累、相对论修正等等,并不是太核心,最核心的应该是这些 ...
不同卫星的时钟是对准的,这是隐含的假设。否则,还得考虑每个卫星的时间对准偏差,未知量陡然增加。既然只有一个卫星-导航器对准偏差,就是假定了卫星时钟对准。

导航器是根据卫星信号的时间标记来推算卫星位置,如果这个时间有偏差,那么卫星位置计算就会偏。我文中提到,实际上卫星的报时已经考虑到了最主要的相对论效应,所以,导航器程序员计算卫星位置的时候可能不需要考虑这一点。但更精确的计算还是需要的,因为如果考虑广义相对论,距离计算与勾股定理将存在偏差。
回复 岳东晓 2016-4-9 04:11
大清太平: (3)大气修正问题。不进行大气层电离层的修正,误差可能在好几十米,不修正是绝对不行的。不过大部分情况下可以用一个大气层和电离层标准模型进行估算,最终使 ...
从卫星位置与导航器位置当然可以根据一个稳定模型计算时间修正,问题是未知的随机扰动,特别是电离层的扰动。

美军信号除了双频(用于修正大气扰动),还有加密抗干扰的能力。美国政府确实是计划向民用开放双频非加密信号,但目前只有新发射的部分卫星发射L2C。
回复 大清太平 2016-4-9 05:28
岳东晓: 不同卫星的时钟是对准的,这是隐含的假设。否则,还得考虑每个卫星的时间对准偏差,未知量陡然增加。既然只有一个卫星-导航器对准偏差,就是假定了卫星时钟对准 ...
卫星的位置,是由卫星专门传输下来的轨道信息来确定的,导航器上的接收机有内置处理,能把轨道信息转换成具体位置。而GPS上播发的时间,其精度其实是非常“粗糙”的,只有 1.5秒精度,并不是拿来定轨道的!

最后,所谓”更精确的包含广义相对论的计算“,对于定位的实质意义也有限。这种误差,都比电离层误差要小很多。当然,包含的物理概念是没有问题的。
回复 岳东晓 2016-4-9 06:06
大清太平: 卫星的位置,是由卫星专门传输下来的轨道信息来确定的,导航器上的接收机有内置处理,能把轨道信息转换成具体位置。而GPS上播发的时间,其精度其实是非常“粗糙 ...
参见 http://www.navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf

GPS卫星信号发射的时间精度是10纳秒(第13页)。这个时间的精度是导航的关键。

导航器是根据这个时间与轨道参数计算卫星位置(第37页)。

你提到的1.5秒是报时的单位。
回复 lfyhao 2016-4-11 16:37
周五写了两遍一直没能发出来,不知道为什么?

GPS卫星所谓的相对论修正可以忽略不计,因为,所说的GPS卫星时间会变是假如人在星上才能感觉得到,可GPS卫星的时间是由星载时钟来守时的,星载时钟的精度大约是10的负13到14次方。我们在做定位导航计算时,你不是也说到有第四个未知数吗,这个未知数一般用△t表示,它是个时间差。正是因为每部接收机不可能用原子钟做时间频率的同步,因此这个△t就需要解算一下。我们所说的距离等于时间乘以速度,这个时间实际上是个时间差。因为星载时钟精确度非常高,所以星上发出来的信号起点是非常精确的。

星的位置是不用计算的,它由六个轨道参数来表示,是地面站早已经预置进去的,GPS系统在全球有24个主地面站,24小时不间断的监测每颗卫星,然后将结果传至美国一个总站,再由这个总站将下一圈的轨道参数输入给每一颗星。我们所说的GPS参数,实际上它是通过广播的形式播发出来的,民码就是把编码方式告诉了大家,因此谁都能用。军码就不同了,他的编码方式只有美军或者他们授权的国家才能用。

GPS的测距基本原理叫伪随机码测距,这个博士应该比我清楚。简单的说因为军码的编码长度长,所以测距精度高。

因为,GPS的星载时钟精度高,所以现在的移动通信等对于时间精度,或者说频率同步精度要求高的系统,大多用GPS来做频率同步。
回复 岳东晓 2016-4-11 16:56
lfyhao: 周五写了两遍一直没能发出来,不知道为什么?

GPS卫星所谓的相对论修正可以忽略不计,因为,所说的GPS卫星时间会变是假如人在星上才能感觉得到,可GPS卫星的时 ...
是博文不能发出,还是评论问题?

如果不考虑相对论效应,定位误差我在上面计算了。但是由于GPS卫星播报的时间已经考虑了相对论效应,导航器程序员就不必费心了。

星载时钟的精度是10的负13次方或者更高(几十万亿分之一秒),但是GPS信号频率大约是1.5GHz(10的9次方),考虑器件延迟等,所以它播报的时间只能是在10纳秒量级的精度(亿分之一秒)。

卫星下传的轨道数据参见 http://www.navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf 第26页。这些数据是某个参考时间 t_oe 的值,卫星即时的位置得根据轨道参数与时间进行计算。

我找到了一个文件详细讲解GPS导航器怎么计算 http://wenku.baidu.com/view/cfe5160c844769eae009ed32.html

http://www.zzwave.com/zzw/upload/up/2/cddeffc.jpg
回复 lfyhao 2016-4-11 18:32
岳东晓: 是博文不能发出,还是评论问题?

如果不考虑相对论效应,定位误差我在上面计算了。但是由于GPS卫星播报的时间已经考虑了相对论效应,导航器程序员就不必费心了 ...
博士,说别的不行,我大学学的就是这个,现在干的也是这个。在解算时根本用不到这么复杂。
回复 岳东晓 2016-4-12 00:30
lfyhao: 博士,说别的不行,我大学学的就是这个,现在干的也是这个。在解算时根本用不到这么复杂。
具体应用开发应该有现成的函数库调用,我想GPS接收器的硬件供应商应该会提供相应的接口代码,从硬件读出的数据就是导航器位置了 --- 但这个位置计算原理是这样的。
回复 大清太平 2016-4-12 00:56
lfyhao: 周五写了两遍一直没能发出来,不知道为什么?

GPS卫星所谓的相对论修正可以忽略不计,因为,所说的GPS卫星时间会变是假如人在星上才能感觉得到,可GPS卫星的时 ...
岳博士的说法是对的:在计算轨道时,必须对卫星广播的时间,进行相对论效应修正,才能得到准确的卫星位置。计算位置时需要时间+轨道参数。而卫星的轨道参数确实如你说言,播放的信息中轨道不是实时的,需要修正。不过,人们定位用的轨道参数,都是这种非实时的轨道信息,据此计算得到的卫星位置其精确度大约是米的量级,并不太影响实时的定位应用。而后期公布(如JPL网站发布)的修正轨道(从前需要几天才能更新,现在只要几十分钟),轨道位置精度可以达到厘米量级。但这些的前提条件是,卫星播放时间需要做各种修正。

时间修正的信息,也在GPS卫星的播发的信息里。各种地面接收系统自动使用了这些修正。

facelist

您需要登录后才可以评论 登录 | 用户注册

Archiver|手机版|珍珠湾全球网

GMT+8, 2024-4-30 02:47 , Processed in 0.024806 second(s), 9 queries , Apc On.

Powered by Discuz! X2.5

回顶部