4

关于陀螺测量计时的技术细节和限制已经有一个很好的答案: Movesense、imu 数据的时间戳源和一般的计时问题

但是,我想从使用两个传感器的 Android 应用程序开发人员的角度提出更实际的问题,以及对陀螺测量计时的高精度要求。

同步/合并来自两个传感器的时间戳并将测量值放在同一时间轴上的最准确方法是什么?

传感器软件版本 1.7 引入了 Time/Detailed API 来检查传感器设备上设置的内部时间戳和 UTC 时间。这就是我想象的使用两个传感器的方式:

  1. 在订阅任何内容之前,请根据 Android 设备时间 (PUT /Time) 在传感器 1 和传感器 2 上设置 UTC 时间(微秒)
  2. 获取“传感器打开以来的时间”(以毫秒为单位)和“传感器上设置的 UTC 时间”(以微秒为单位)(在传感器 1 和传感器 2 上)(GET /Time/Detailed)的差异。
  3. 计算这两个时间戳的差异(以毫秒为单位)(对于两个传感器)。
  4. 使用内部时间戳从传感器获取陀螺仪值。将步骤 3 中的计算值添加到内部时间戳,以获得正确的/全球 UTC 时间值。

这个程序正确吗?有没有更有效或更准确的方法来做到这一点?例如,在链接的帖子中提到了设置时间的 GATT 服务是最快的方式。还要别的吗?

陀螺仪传感器时间的可能漂移如何?之后有什么技巧可以限制漂移的影响吗?在较长的测量期间获取 /Time/Detailed 信息并检查内部时钟与 UTC 时间相比是否漂移/改变是否有意义?

谢谢!

4

1 回答 1

1

非常好的客串!

查看晶体的精度 (+- 20 ppm),这意味着传感器之间的典型漂移不应超过40 ppm。这相当于一个小时内大约 0.14 秒。对于更长的测量时间和或更好的精度,需要更好的同步。

幸运的是,除非传感器的温度快速变化,否则时钟漂移应该保持相对恒定。因此,在测量开始和结束时比较手机时钟和每个传感器的UTC就足够了。每个传感器的任何漂移都应该是可见的,并且时间戳很容易补偿。

如果需要更准确的时间戳,则定期从每个传感器采集 /Time/Detailed 样本并将其与手机时钟进行比较,可以提供一种估计可能的传感器时钟漂移的方法。

全面披露:我为 Movesense 团队工作

于 2019-11-01T09:38:58.527 回答