2012-07-01 75 views
1

我有從Android手機計算的傳感器數據。我使用xyz座標上的矩陣進行轉換。然後我通過手機獲取的加速度來查找速度和位移。這是我的代碼來找到位移和速度。它總是得到相應的前值:Android傳感器數據位移

velocity[e] = (accel[e-3]) * (time[i]-time[i-1])+velocity[e-3]; 

velocity[e+1] = (accel[e-2]) * (time[i]-time[i-1]) +velocity[e-2]; 

velocity[e+2] = (accel[e-1]) * (time[i]-time[i-1])+ velocity[e-1]; 



     displacement[e] = (velocity[e-3])*(time[i]-time[i-1])+.5*(accel[e-3])*pow((time[i]-time[i-1]),2) + displacement[e-3]; 
     displacement[e+1] = (velocity[e-2])*(time[i]-time[i-1])+.5*(accel[e-2])*pow((time[i]-time[i-1]),2) + displacement[e-2]; 
     displacement[e+2] = (velocity[e-1])*(time[i]-time[i-1])+.5*(accel[e-1])*pow((time[i]-time[i-1]),2) + displacement[e-1]; 

但是我得到像-3436.0 19206.2 11373.5越來越號碼這不應該是差不多高的位移。我甚至做了一個測試文件來測試我的公式,就我得到的數字而言,一切都是正確的。但是,它與真實數據不一樣。另外,我讀了一些關於從加速度,速度和位移中去除平均值的內容,但不太明白,那麼有人可以解釋一個解決方案,以便獲得正確的數字嗎?

+0

代碼中存在錯誤,但即使您修復它們也不起作用。看到我的答案。 – Ali

+0

很高興看到它的幫助。 – Ali

回答

1

It won't work,這些傳感器不夠精確以計算位置。

這個問題出現的次數很驚人。