问题标签 [nexus-6p]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
232 浏览

java - Nexus 6P 上硬件传感器的 Android 采样率变化

我正在开发一个 Android 应用程序,用于研究,并且我正在读取几个传感器数据,如加速度计、陀螺仪、气压计等。所以我有 4 台 Nexus 6P 设备,所有设备都安装了最新的出厂映像,并且除了安装其他应用程序之外,没有安装其他应用程序。预先安装的标准一次。所以现在出现的问题是其中一部手机一直落后,所以例如我以 105 Hz 记录加速度计半小时(因此加速度计的最大可能速率为 400Hz),只是为了确保我得到至少大约是我对 100Hz 的预期样本量,结果如下:

以 100Hz 采样半小时 -> 180000 个样本

以 105Hz 采样半小时 -> 189000 个样本

(现在这只是加速度计的一个示例,但对于每个设备上的每个其他传感器都是相同的。因此设备 1、3、4 对其他传感器的结果大致相同,而设备 2 在所有其他传感器上获得相同的坏结果)。

  • 设备 1:180000 个样本
  • 设备 2:177273 个样本 <- 落后的手机
  • 设备 3:181800 个样本
  • 设备 4:179412 个样本

所以问题出在 2 号设备上,我丢失了近 3000 个样本(我知道这在高水平上哭了),我对这个问题的猜测是它可能与硬件有关。这可能是一个性能问题,我可能可以排除,因为我读取的传感器数量以及以 400Hz 的频率读取它们都可以按预期工作(如果需要,我也可以为此提供样本)。我还尝试将采样率设置为 400Hz,以便最快,然后根据导致相同结果的时间戳进行记录。

因此,以防万一我将提供如何注册传感器侦听器:

所以我想要的是至少得到我应该期望的样本数量,所以上面没有问题,稍微低于一点也是可以接受的。因此,如果有人知道我还可以尝试什么或可能导致问题的原因,我将非常感激。

这是我的第一篇文章,所以如果有什么遗漏或者我解释的不好,我很抱歉,我会尽力修复它。