对于android设备,我只知道我们可以定义SensorManager的参数来调整传感器的采样率。但是有没有办法准确测量传感器的采样率?
问问题
1500 次
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 回答