谁能帮忙去除加速度计读数中的 g 因子?
我正在使用带有 onSensorChanged()
方法的 SensorEventListener 来获取 Sensor.TYPE_ACCELEROMETER 数据。我只需要各个方向的纯加速度值。所以在任何状态下,如果设备是稳定的(或恒速),它应该大致给出(0.0,0.0,0.0)。
目前,根据它的俯仰和滚动,它会根据作用在每个轴上的 g 力为我提供可变输出。
我希望有一些公式可以删除它,因为我还从 Sensor.TYPE_ORIENTATION 监听器获取方向值(俯仰和滚动)。我用过一些,但没有用。
最佳答案
您可以使用低通滤波器。
对每个传感器值执行此操作:
g = 0.9 * g + 0.1 * v
其中 v
是您当前的传感器值,g
是初始设置为零的全局变量。请注意,您需要与轴一样多的 g 变量。
使用 v = v - g
,您可以从传感器值中消除重力因素。
关于android - 如何从 Android 3 轴加速度计中的加速度计读数中删除重力因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3377288/