人们!我想将它包含在原始问题中,但没有。
投票时,您可以评论您为什么投票?
请使用它来让学习者完成他们的事情,并以更好的方式将他们的想法/问题传达给他人。不是每个人都知道你的想法。谢谢
简而言之: 我需要将两部 Android 手机的时钟(彼此靠近或不放置;两种情况)相互同步,并且精度高达几毫秒(最大 10、20 毫秒)。
- 要么同步时钟
- 或者从另一个得到一个偏移量
我在做什么: 我有一个开发的应用程序,用于测量不同的 GSM 网络统计数据。我正在使用电话管理器来获取三种状态(摘机、空闲、振铃)。电话 A 呼叫电话 B。两部电话都在运行一个应用程序,该应用程序正在保存与上述状态有关的时间戳。在进行多次调用后,我将时间戳导出到数据文件中并分析它们以获取不同的网络统计信息。
我的问题是什么: 我必须交叉匹配时间戳才能获取统计信息。现在的问题是,如果手机的时钟没有同步,那么我将无法获得准确的统计数据(例如,在手机 A 发起呼叫后,手机 B 处于振铃状态需要多长时间?)。
我尝试过的:到目前为止,我尝试过将时钟与 NTP、GPS 或原子钟同步。我使用ClockSync(Android 应用程序)从原子钟获取两个手机时钟的偏移量。问题是这个偏移量取决于从我的手机到服务器的网络数据包的 RTT。当我两次检查偏移量(连续点击刷新两次)时,我给出了最多 100 毫秒的差异。两部手机的偏移可能导致高达 200 毫秒的误差,这对我来说是不可接受的。
所有其他同步应用程序/方法都有相同的问题。
可能的前进方向:(我的想法)。我可能会开发一个应用程序
- 在电话 A 上获取时间戳
- 通过蓝牙或WiFi(连接到同一路由器)将其传输到手机B,
- B 然后将该时间戳与其自己的时钟进行比较,计算偏移量,
- 我运行我的原始应用程序,运行实验,并且,
- 在处理数据之前使用偏移量来更正时间戳
您的意见/建议:怎么做?并对上一部分中描述的方法进行评论..