Android加速计:采样率?
我想 [1] 提高手机加速计的采样率。 (传感器延迟速度最快,Xperia上的最大值约为100Hz,Nexus4上的最大值约为180Hz, 对于我的工作,我希望延迟大约1毫秒或更少 [2] 如果[1]不可能我可以使速率恒定Android加速计:采样率?,android,accelerometer,android-sensors,sampling,rate,Android,Accelerometer,Android Sensors,Sampling,Rate,我想 [1] 提高手机加速计的采样率。 (传感器延迟速度最快,Xperia上的最大值约为100Hz,Nexus4上的最大值约为180Hz, 对于我的工作,我希望延迟大约1毫秒或更少 [2] 如果[1]不可能我可以使速率恒定 mSensorManager.registerListener(this, mAccelerometer,10000);//10000 in microsec 上面的代码没有给我10毫秒的延迟。我知道这只是对Android的一个建议 我知道手机内的这些加速计能够提供更小的延
mSensorManager.registerListener(this, mAccelerometer,10000);//10000 in microsec
上面的代码没有给我10毫秒的延迟。我知道这只是对Android的一个建议
我知道手机内的这些加速计能够提供更小的延迟。这在他们的数据表中有提到。他们的任何方法或驱动程序/ADC编程都可以做到[1]或[2]。
我用的是ADT工具,还有其他工具吗
附言:我读过
-在这里,您可以下载一个应用程序的源代码,用于测试您的实际采样率。我认为您实际上无法达到100Hz或更高的频率……我正在测试采样率。
所以现在的答案不是——你无法实现1毫秒的延迟(即使在理论上也是如此)。来自:
数据延迟(或采样率)控制
传感器事件通过onSensorChanged()发送到应用程序
回调方法。默认数据延迟适用于监视
典型的屏幕方向改变,使用200000的延迟
微秒。您可以指定其他数据延迟,例如
传感器延迟游戏(20000微秒延迟),传感器延迟用户界面(60000
微秒延迟),或传感器延迟最快(0微秒延迟)。
对于Android 3.0(API级别11),您还可以将延迟指定为
绝对值(以微秒为单位)。
但是你应该知道你以微秒为单位指定的绝对值只是对Android的一个建议。根据我的经验,以下是你可以做的。让我们从最简单的开始: [2] [简而言之]在(这个)Android上你不可能有完美的准确度(读数间隔)。 [2] [long]你需要定义完美;也就是说,你必须定义你的精度。注意,这永远不会是一个完美的0;它永远不会是,即使在可以想象的最关键的应用程序中也是如此。根据我的经验,在安卓上,这甚至可能是一个完整的100毫秒 [1] 如果您的应用程序不是关键性的,即您只想分析一些历史数据,您可以尝试以下方法:使用时间戳保存每次读取;然后,以固定的间隔进行插值;您将有一个完美的时间分布,但也有一个估计
祝你好运,问问是否有什么不清楚的地方。我知道这一点,但我想要一个完美的恒定采样率。