我最近知道目录gps.conf
中有一个文件/system/etc/
。似乎将 NTP_SERVER 值调整到更靠近通常位置的 NTP 服务器可以提高 TTFF。
阅读课堂上的源代码LocationProvider
,似乎在启动时,时间是从 NTP 服务器检索并在计算中“注入”的。AFAIK 每个 GPS 卫星都有一个非常精确的原子钟,并且星座中的每一个都与所谓的“GPS 时间”同步。一旦接收器获得 4 颗或更多卫星,它就会(通过某种方法)求解一个方程,其中有四个未知数:x、y、z、b;其中 (x,y,z) 是接收器位置,b 是接收器内部时钟与(正确的)GPS 时间之间的时间差。一旦它得到修复,接收器时钟就会与正确的时间同步。(如果我错了,请纠正我)。
到目前为止,我对 NTP 时间注入的工作方式有一些疑问:
- GPS 时间大致是 TAI(国际原子时间)加上偏移量。这两个时间不取决于地球自转,但是 UTC 确实如此。鉴于 NTP 服务器返回 UTC 时间,是否可以从 UTC 时间推断 GPS 时间?
- 从较近的服务器检索 NTP 时间如何提高 GPS 时间近似的“质量”?
- 假设我们有一个初始 GPS 时间值(以某种方式从 NTP 时间推断),注入是关于什么的?这个时间值是否被认为是正确求解只有 x,y,z 作为未知数的方程?如果是这样,那么第一个修复也只是一个近似值,不是吗?
- GPS 时间的更高质量初始近似值如何提高 TTFF?是否因为 NTP 时间质量较低,第一次修复被认为是不可接受的并被丢弃?
- 有一个近似的初始位置是否有助于检索下一个正确的修复(比如只听一个 sats 的子集)?