2012-11-14 35 views
3

我需要實現一個抖動識別器,並且我正在使用設備上的加速度計。但是,當我檢查從傳感器獲得的值時,它們看起來在設備間大幅變化。舉例來說,我得到的0-8值範圍爲力在一個設備上(有人計算過),並在其他0 - 4加速度計:不同設備上的不同值?

所以看起來他們有很不同的範圍。

有什麼我可以做的,使這些範圍相等。或者是否有一些變數可以用來計算相當困難的變動會是什麼?

回答

2

根據specification加速度計應返回Measures the acceleration force in m/s2。所以它應該被校準。有一兩件事,但是你可以檢查是Sensor類的getMaximumRange()getResolution()

0

在PCB上的芯片和PCB的裝置內的固定和設備的建設的實際位置均能導致性反應的不同的阻尼效應到你搖晃的輸入力。

你不說你怎麼處理傳感器數據有可能是與sampleing和過濾驅動程序級別執行效果。

很顯然你需要在你預期值的一個良好的範圍內的設備的範圍和測試你的代碼靈活。

0

傳感器應該進行校準。

顯然它不是。如果不同方向上的增益(即x,y,z)沒有顯着差異,那麼尋找加速度計矢量的長度^ 2的突然變化就足夠了:x^2+y^2+z^2

如果收益也顯著不同,那麼你別無選擇,只能寫一個加速度計校準應用程序...

順便說一句,你不是第一個報告總不準確,例如參見Android: the range of z-value in the accelerometer sensor are different on different devices

+0

我下載了一個重力測量的應用程序,它兩種設備完全一樣的功能,所以我需要想出一個辦法來得到的太多。 – Peterdk

+0

@Peterdk問題是:x,y,z方向的增益大致相同嗎?如果是,那麼你可以按照我寫的方式來做。 – Ali

+0

是的,我的確現在用gX^2 + gY^2 + gZ^2來計算它,其中'gX = sensorevent [x-index]/EarthGravity' – Peterdk

相關問題