我正在开发一个Android应用程序,用来记录智能手机上的惯性数据,然后再对其进行处理。不同的Android设备有不同的行为,这取决于与Android的惯性传感器的固件接口,这是非常清楚的。但是,有一件事我自己也不能回答,为什么只有moto第二代才能显示,当应用程序在录制时,我的传感器样本数量有很大的不同?
例如,几秒钟的录音,我看到:
假设我记录的活动在任何时候都会影响到所有的传感器,因此我希望onSensorChange函数被均匀地调用。这种情况发生在我尝试过的每一款智能手机上(5到6个不同的智能手机)。
有什么建议吗?为什么磁电机似乎不像其他传感器那样经常改变值以便让onSensorChange记录下来呢?
显而易见的答案是因为固件,但你知道如何减轻我看到的影响吗?
谢谢各位!
发布于 2015-08-06 23:29:00
这个问题真的很老,但我想为了社区的缘故,我应该回答它:
我在一家专门从事智能手机传感器处理的初创公司做应用程序开发人员。我们有一对第二代Moto G,我们发现他们在给一个传感器和跨传感器的采样率方面做得非常糟糕。
为了缓解这些问题,每次我们从加速度计中得到一个样本时,我们都会同时用最新的数据编写一整行的样本。如果从上一次加速度计样本开始,新的样本没有出现在任何其他传感器上,那么相同的值会被打印两次。
(Ie)
Accel (3-axis) | Gyro (3-axis)
0,0,0|0,0,0
<new accelerometer sample>
1,1,1|0,0,0
<5 gyro samples and 1 accelerometer>
2,2,2|5,5,5
...不管怎么说,希望这能帮到别人!
第二代Moto的对于一个传感器和多个传感器具有不一致的采样率。
https://stackoverflow.com/questions/28138417
复制相似问题