0

对于android设备,我只知道我们可以定义SensorManager的参数来调整传感器的采样率。但是有没有办法准确测量传感器的采样率?

4

2 回答 2

1

GPS 以 1 Hz 的频率工作,您无法更改。如果您询问内部采样率,您必须检查设备中的 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 回答