Time PID平滑不规则GPS时间输入?

Time PID平滑不规则GPS时间输入?,time,arduino,gps,smoothing,gps-time,Time,Arduino,Gps,Smoothing,Gps Time,我有一个GPS装置连接到arduino,但具体的硬件并不重要。这可能很容易成为一台计算机,它通过互联网接收来自标准时间基准的定期更新,并且需要平滑该信号 GPS大约每100毫秒更新一次,但Arduinos上的时钟是出了名的不规则。我的处理器可能认为100ms是120ms或80ms,这取决于晶体的实际频率。我希望处理器有一个由GPS单元驱动的计算时间,但经过平滑处理,以便过程的任何部分都可以随时请求当前时间,并获得与实际时间非常接近的结果 我对PID有点熟悉,但还没有在实践中充分使用它来了解如何将

我有一个GPS装置连接到arduino,但具体的硬件并不重要。这可能很容易成为一台计算机,它通过互联网接收来自标准时间基准的定期更新,并且需要平滑该信号

GPS大约每100毫秒更新一次,但Arduinos上的时钟是出了名的不规则。我的处理器可能认为100ms是120ms或80ms,这取决于晶体的实际频率。我希望处理器有一个由GPS单元驱动的计算时间,但经过平滑处理,以便过程的任何部分都可以随时请求当前时间,并获得与实际时间非常接近的结果

我对PID有点熟悉,但还没有在实践中充分使用它来了解如何将其应用于我当前的问题。我怀疑可能有更好的方法来解决这个问题,尽管我尝试过的几种方法都受到破坏性谐波的影响

比如说。在实际时间0h 1m 10s 0ms时,GPS可能会更新时间,表示时间为0:01:10.000。如果在105ms后,GPS尚未更新cpu,即使GPS驱动程序仍认为时间为0:01:10.000,平滑功能仍应读取0:01:10.100(ish)