2012-10-09 62 views
4

我想在我的應用程序中使用android中的加速度計。 在其文檔給出如下: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; 

我查詢,爲什麼我們正在採取重力作爲輸入和傳感器事件與以前的輸出? 它必須是其他方式。

回答

0

技術上它使用兩個輸入的線性混合:mix(α,x,y) = α * x + (1-α) * y

現在mix(α,x,y)相當於mix(1-α,y,x)。 所以你可以按照你的意願反轉信號,使alpha = 0.2和一切都會工作。

+0

謝謝了。問題是我作爲時間常數與alpha混淆,我不知道線性混合。 – nayab