Android 全球定位系统:NTP时间注入的工作原理
我最近知道Android 全球定位系统:NTP时间注入的工作原理,android,time,gps,ntp,Android,Time,Gps,Ntp,我最近知道/system/etc/目录中有一个gps.conf文件。 似乎将NTP_服务器值调整到更靠近通常位置的NTP服务器可以提高TTFF 在LocationProvider类中读取源代码,似乎在启动时,时间从NTP服务器检索并“注入”到计算中。 AFAIK每个GPS卫星都有一个非常精确的原子钟,星座中的每一个都与所谓的“GPS时间”同步。一旦接收器有4颗或更多的卫星,它(通过某种方法)解出一个方程,其中有四个未知量:x,y,z,b;其中(x,y,z)是接收器位置,b是接收器内部时钟和(正确
/system/etc/
目录中有一个gps.conf
文件。
似乎将NTP_服务器值调整到更靠近通常位置的NTP服务器可以提高TTFF
在LocationProvider
类中读取源代码,似乎在启动时,时间从NTP服务器检索并“注入”到计算中。
AFAIK每个GPS卫星都有一个非常精确的原子钟,星座中的每一个都与所谓的“GPS时间”同步。一旦接收器有4颗或更多的卫星,它(通过某种方法)解出一个方程,其中有四个未知量:x,y,z,b;其中(x,y,z)是接收器位置,b是接收器内部时钟和(正确)GPS时间之间的时间差。一旦有了一个固定点,接收器时钟就会与正确的时间同步。(如果我错了,请纠正我)
到目前为止,我对NTP时间注入的工作方式有一些疑问:
好吧,我来浏览一下维基百科和其他一些资料来源,让我猜猜
我希望它至少有一点道理;-) 伊恩的评论是正确的,答案与GPS接收器的实际工作方式有关。如果接收机对接收机时钟偏差有更准确的估计,则接收机将更快地找到解决方案。许多接收机实现了一种迭代解决方案,该方案依赖于接收机位置和时钟偏差的初始估计。如果这些估计值已经接近真实值,那么将需要更少的迭代。这只是TTFF将减少的部分原因。还有其他重要因素。如果初始位置和时间估计良好,然后,获取卫星信号的搜索过程将花费更少的时间,因为接收器可以计算哪些卫星应该可见,并且还可以估计每个信号相对于接收器参考帧所经历的大致多普勒频移。我的回答将更多地集中在卫星的NTP侧你的问题。对于全球定位系统,我研究了米拉比洛斯在评论中提到的 根据该文件,对于GPS接收机的热启动,您需要知道20秒内的时间、100公里以内的位置、25米/秒以内的速度以及最多几周前的历书数据。你仍然需要从每颗卫星上下载蜉蝣数据,根据GPS接收器类型,这需要30秒到3分钟 对于热启动,您还需要星历数据(有效期为4小时)。它们也可通过A-GPS(见下文)获得 NTP协议使用从原始时间源(GPS、原子钟等)开始的服务器层次结构。。。这称为地层-0源。直接连接到此源的NTP服务器称为stratum-1。使用它作为上游服务器的服务器是stratum-2,以此类推。即使对于第1层服务器,您也需要经过特殊调整的硬件来实现小于1ms的错误(由于CPU中断延迟、串行端口延迟、温度振荡器变化) 使用普通网络上的普通硬件(例如未饱和的DSL链路),您可以达到大约10毫秒的精度。例如,如果其服务器的时间精度在100 ms以内,则认为其服务器有效且足够好。NTP的时间精度不取决于您和NTP服务器之间的地理位置,而更多取决于该服务器的层次、质量以及服务器基于网络拓扑的距离 安卓电话