簡體   English   中英

計算手機的移動速度

[英]Calculate moving speed of the phone

我需要計算 android 設備移動的速度。 我對設備經常返回起點的短距離情況很感興趣(比如當用戶拿着電話在辦公椅上旋轉 arm 時)所以 GPS 可能不適用於我的情況。 我怎樣才能用加速度計做到這一點?

我在想類似的事情:

double delta_t = current_time - previous_time

double delta_v_x = a_x * delta_t
double delta_v_y = a_y * delta_t
double delta_v_z = a_z * delta_t

current_v_x += delta_v_x
current_v_y += delta_v_y
current_v_z += delta_v_z

double v = Math.sqrt(Math.pow(current_v_x, 2) +  Math.pow(current_v_y, 2) +  Math.pow(current_v_z, 2))
  • 它會按預期工作嗎?
  • 我也必須注意重力嗎? 如果設備的方向可以改變怎么辦?
  • 我是否必須先以某種方式消除加速度測量中的噪音?
  • 高通濾波器能否同時解決噪聲和重力問題?

以防萬一有人有類似的問題。 對於重力問題,我使用了 Sensor.TYPE_LINEAR_ACCELERATION 而不是 Sensor.TYPE_ACCELEROMETER。 對於噪聲,我使用了來自 Apache Commons Math 的卡爾曼濾波器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM