【问题标题】:Accelerometer with Low passfilter in AndroidAndroid中带低通滤波器的加速度计
【发布时间】:2026-02-04 09:20:05
【问题描述】:

我想在我的应用程序中使用 android 中的加速度计。 在文档中给出如下:

   final float alpha = 0.8;

   // Isolate the force of gravity with the low-pass filter.

   gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];

但低通滤波器的工作原理如下:

    output = alpha*input + (1-alpha)*previousoutput;

我的问题是为什么我们将重力作为输入而将传感器事件作为先前的输出? 应该是其他方式吧。

【问题讨论】:

    标签: android accelerometer lowpass-filter


    【解决方案1】:

    从技术上讲,它使用两个输入的线性混合:mix(α,x,y) = α * x + (1-α) * y

    现在mix(α,x,y) 等同于mix(1-α,y,x)。 因此,您可以根据需要反转信号,使alpha = 0.2 一切正常。

    【讨论】:

    • 谢谢。问题是我将 alpha 作为时间常数混淆了,我不知道线性混合。