GPS:如何NTP时间注射作品时间、作品、GPS、NTP

2023-09-04 07:58:56 作者:花开未到,人也徒劳。

我最近知道一个 gps.conf 文件中的 /系统的/ etc / 目录。 看来,调整NTP_SERVER值NTP服务器接近平时的位置,提高TTFF。

阅读源$ C ​​$ c。在 LocationProvider 类,似乎在启动,时间从NTP服务器中检索,并在计算中注入。 AFAIK每个GPS饱和具有非常准确的原子钟,并且每一个在星座同步到所谓的GPS时间。一旦接收器已经得到了4个或更多的卫星,它解决了(用某种方法)的方程,其中有四个未知:X,Y,Z,B;其中(x,Y,Z)是接收器位置,和b是接收机内部时钟和(正确)的GPS时间之间的时间差。一旦有AA修复,接收时钟同步到正确的时间。 (请纠正我,如果我错了)。

到目前为止,我已经就这样NTP时间注射的作品一些问题:

GPS时间大约是TAI(国际原子时间)加上偏移。这两个时间不依赖于地球旋转,然而UTC一样。鉴于NTP服务器返回UTC时间,就可以推断出GPS时间与UTC时间? 如何从接近服务器检索NTP时间提高了GPS的时间近似的质量? 假设我们有一个初步的GPS时间值(从NTP时间莫名其妙地推断),什么是注射呢?正在这个时候值作为正确的解决方程只有X,Y,Z为未知?如果是这样,那么第一个补丁也只是一个近似值,不是吗? 如何为GPS时间更高质量的初始近似改善TTFF?是不是因为用低质量的NTP时间的第一个补丁被认为是不能接受的,丢弃? 是否有一个近似初始位置帮助检索下一个正确的定位点(只喜欢听SATS的一个子集)? 解决方案

嗯侦察了一下维基百科和其他来源的,让我有一些guessses。

是的,你可以推断出UTC时间GPS时间。你只需要知道的偏移量,这是在大约18个月发送每15秒变化一次。资料来源:Wikipedia

NTP不给你确切的时间。它测量的时间得到消息从客户端到服务器和从服务器的响应到达客户端的时间。这些时间,然后用于计算连接的延迟。然后将其作为偏移到接收的时间施加。这适用于对称的路线。如果路由不对称,有错误。因此,越接近服务器,降低的机会和的对称性的水平,从而降低了错误。资料来源:Wikipedia再次

NTP信号不直接用于获取GPS定位。但是,对于一个准确的修复则需要非常精确的时钟。我们正在谈论纳秒这里。 GPS卫星做发射当前的GPS时刻,但即使当其行进在光的速度,有一定的延迟。 GPS接收机没有办法知道的延迟是什么,因此具有从几个接收到的信号来近似。随着每一个传输接收时钟获得更多的precise。所以,更好的时间,你必须在一开始,你有更少的时间信号接收有一个准确的时钟。资料来源:Wikipedia

那么pretty的在第3多的解释 - 较低的时钟误差近似正确的时间需要更少的信号

我有点猜在这里,但其大致位置可以帮助你更好地逼近于卫星的距离因而延迟。 (不知道这是真正使用。)

我希望它使至少有一点意识; - )

I've recently known about a gps.conf file in the /system/etc/ directory. Seems that tweaking NTP_SERVER values to NTP servers nearer to the usual location improves TTFF.

Reading the source code in the LocationProvider class, seems that at boot, time is retrieved from NTP server and "injected" in the calculations. AFAIK each GPS sat has a very accurate atomic clock, and every one in the constellation is synchronized to the so called "GPS time". Once the receiver has got 4 or more satellites, it solves (by some method) an equation where there are four unknowns: x,y,z,b; where (x,y,z) is the receiver location, and b is the time difference between the receiver internal clock and the (correct) GPS time. Once it has a a fix, the receiver clock is synced with the correct time. (Please correct me if I'm wrong).

GPS时钟源价格 GPS时钟源批发 GPS时钟源厂家 Hc360慧聪网

So far, I've some questions regarding the way NTP time injection works:

GPS Time is roughly TAI (International Atomic Time) plus an offset. Those two times do not depend on the Earth rotation, however UTC does. Given that NTP servers return UTC time, it is possible to infer GPS Time from UTC time? How does retrieving NTP time from a nearer server improve the "quality" of the GPS time approximation? Assuming that we have an initial GPS Time value (inferred from NTP time somehow), what is the injection about? Is this time value taken as correct to solve the equation with only x,y,z as unknowns? If so, then the first fix is also just an approximation, isn't it? How does a higher quality initial approximation for GPS time improve TTFF? Is it because with a lower quality NTP time the first fixes are considered not acceptable and discarded? Does having an approximate initial position help retrieving the next correct fix (like listening only to a subset of sats)?

解决方案

Well scouting a bit of wikipedia and some other sources, let me have a few guessses.

Yes, you can infer GPS time from UTC time. You just have to know the offset, which is transmitted every 15 seconds and changes once in approximately 18 months. Source: Wikipedia

NTP does not give you exact time. It measures the time message gets from client to server and the time the response gets from server to client. These times are then used to calculate the delay of the connection. Which is then applied as an offset to received time. This works for symmetrical routes. If the routes are assymetrical, there is an error. So closer the server, lower the the chance and level of assymetry, thus lower the error. Source: Wikipedia again

NTP signal is not directly used to obtain the GPS fix. But for an accurate fix you need very accurate clocks. We're talking nanoseconds here. GPS satellites do transmit current GPS time, but even as it travels at speed of light, there is some delay. GPS receiver has no way to know what the delay is, so it has to approximate from several received signals. With every transmission received the clock get more precise. So the better time you have at the beginning, the less time signals you have to receive to have an accurate clock. Source: Wikipedia

Well pretty much explained in 3. - the lower clock error the less signals needed to approximate the correct time.

I'm little guessing here, but having approximate location can help you better approximate the distance from satellite and thus the delay. (Not sure if that is really used.)

I hope it makes at least a little sense ;-)