Androidデバイスの場合、センサーのサンプルレートを調整するために、SensorManagerのパラメーターを定義できることだけを知っています。しかし、センサーのサンプリングレートを正確に測定する方法はありますか?
1500 次
2 に答える
1
GPSは1Hzで動作し、変更することはできません。内部サンプリングレートについて質問する場合は、デバイスに搭載されているGPSチップを確認し、その仕様を確認する必要があります。
タイムスタンプを取得して測定できるその他のセンサー。しかし、デバイスの範囲は、アクセラレーション呼び出しごとに10ミリ秒から30以上(最速のレート)までです。
于 2012-10-22T08:04:36.903 に答える
0
あなたは以下のようなことをすることができます:
private float calculateSensorFrequency() {
if (startTime == 0) {
startTime = System.nanoTime();
}
long timestamp = System.nanoTime();
return (count++ / ((timestamp - startTime) / 1000000000.0f));
}
次に、たとえば加速度センサーの場合、以下のようにcalculateSensorFrequencyメソッドを呼び出します。
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
int sensorType = sensorEvent.sensor.getType();
switch (sensorType) {
case Sensor.TYPE_ACCELEROMETER:
System.out.println("Frequency: " + calculateSensorFrequency());
break;
default:
throw new IllegalStateException("Unexpected value: " + sensorType);
}
}
計算された周波数は、明らかにあなたが設定したセンサー遅延に依存します。
于 2021-05-31T10:06:25.370 に答える