0

Androidデバイスの場合、センサーのサンプルレートを調整するために、SensorManagerのパラメーターを定義できることだけを知っています。しかし、センサーのサンプリングレートを正確に測定する方法はありますか?

4

2 に答える 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 に答える