gpt4 book ai didi

android - GPS:NTP时间注入(inject)的工作原理

转载 作者:IT老高 更新时间:2023-10-28 21:49:22 25 4
gpt4 key购买 nike

我最近知道 /system/etc/ 目录中有一个 gps.conf 文件。似乎将 NTP_SERVER 值调整为更靠近通常位置的 NTP 服务器可以提高 TTFF。

阅读 LocationProvider 类中的源代码,似乎在启动时,时间是从 NTP 服务器检索并在计算中“注入(inject)”的。AFAIK 每个 GPS 卫星都有一个非常精确的原子钟,并且星座中的每一个都与所谓的“GPS 时间”同步。一旦接收器获得 4 颗或更多卫星,它就会(通过某种方法)求解一个方程,其中有四个未知数:x、y、z、b;其中 (x,y,z) 是接收器位置,b 是接收器内部时钟与(正确的)GPS 时间之间的时间差。一旦得到修复,接收器时钟就会与正确的时间同步。 (如果我错了,请纠正我)。

到目前为止,我对 NTP 时间注入(inject)的工作方式有一些疑问:

  1. GPS 时间大致是 TAI(国际原子时间)加上偏移量。这两个时间不取决于地球自转,但是 UTC 确实如此。鉴于 NTP 服务器返回 UTC 时间,是否可以从 UTC 时间推断 GPS 时间?
  2. 从较近的服务器检索 NTP 时间如何提高 GPS 时间近似的“质量”?
  3. 假设我们有一个初始 GPS 时间值(以某种方式从 NTP 时间推断),那么注入(inject)是关于什么的?这个时间值是否被认为是正确求解只有 x,y,z 作为未知数的方程?如果是这样,那么第一个修复也只是一个近似值,不是吗?
  4. 更高质量的 GPS 时间初始近似值如何提高 TTFF?是否因为 NTP 时间质量较低,第一次修复被认为是 Not Acceptable 并被丢弃?
  5. 拥有一个近似的初始位置是否有助于检索下一个正确的修复(例如只收听卫星的一个子集)?

最佳答案

好吧,搜索一下 wikipedia 和其他一些资源,让我有一些猜测。

  1. 是的,您可以从 UTC 时间推断 GPS 时间。您只需要知道偏移量,它每 15 秒传输一次,并在大约 18 个月内更改一次。来源:Wikipedia

  2. NTP 不会给你准确的时间。它测量消息从客户端到服务器的时间以及响应从服务器到客户端的时间。然后使用这些时间来计算连接的延迟。然后将其用作接收时间的偏移量。这适用于对称路线。如果路由不对称,则存在错误。所以离服务器越近,不对称的机会和水平就越低,从而降低错误。来源:Wikipedia再次

  3. NTP 信号不直接用于获取 GPS 定位。但要获得准确的修复,您需要非常准确的时钟。我们在这里谈论的是纳秒。 GPS 卫星确实传输当前 GPS 时间,但即使它以光速传播,也会有一些延迟。 GPS接收器无法知道延迟是多少,因此它必须从几个接收到的信号中进行近似。每次接收到传输时,时钟都会变得更加精确。因此,您在开始时拥有的时间越好,您必须接收的时间信号就越少才能获得准确的时钟。来源:Wikipedia

  4. 在 3 中已经解释得很清楚了 - 时钟误差越低,近似正确时间所需的信号就越少。

  5. 我在这里猜测得很少,但大致位置可以帮助您更好地估计与卫星的距离,从而更好地估计延迟。 (不确定是否真的使用过。)

我希望它至少有点意义;-)

关于android - GPS:NTP时间注入(inject)的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8308412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com