我需要实现一个摇晃识别器,我使用设备上的加速度计来实现这一点。然而,当我检查传感器得到的数据时,发现它们在不同设备上变化很大。例如,在某个设备上,经过一些计算后我得到的力值范围为0-8,而在另一个设备上则为0-4。
看起来它们有非常不同的范围。
有没有什么办法可以使这些范围相等?或者有一些变量可以用来计算出相当强烈的摇晃是什么?
看起来它们有非常不同的范围。
有没有什么办法可以使这些范围相等?或者有一些变量可以用来计算出相当强烈的摇晃是什么?
传感器应该进行校准。
显然它没有被校准。如果在不同方向(即x、y、z)上的增益没有显着差异,则足以寻找加速度计矢量长度^2的突然变化:x^2+y^2+z^2
。
如果增益也有显着差异,那么您别无选择,只能编写一个用于加速度计校准的应用程序...
顺便说一下,你不是第一个报告粗略不准确性的人,例如请参见Android:不同设备上加速度计传感器中z值的范围。
gX^2 + gY^2 + gZ^2
来计算了,其中gX = sensorevent[x-index] / EarthGravity
。 - Peterdk