android加速度计的准确性极差

时间:2011-01-05 21:19:23

标签: android sensor

写了一个打印出加速度计输出的简单程序。

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST);     

事实证明:

  1. 加速度计输出始终设置为“最低”,由下式确定:

    public void onAccuracyChanged(Sensor sensor, int accuracy) {
      if (collectingData){  
         accelPrecision.setText("accelerometer accuracy: " + accuracy);
      }
    }
    
  2. 实际的加速度计读数非常不准确 - 即使它放在桌子上也会有大约2%-5%的波动

  3. 据我所知,它与Nexus S,Nexus One和G1相同?

    任何想法如何使模式准确/什么设置

1 个答案:

答案 0 :(得分:0)

使用过滤器。您正在查看原始数据,因此当然会出现波动。像weighted averagemoving average这样的东西就足够了。