Android: значение Sensor.getResolution () - PullRequest
5 голосов
/ 15 февраля 2012

Я работаю над приложениями для Android, которые используют SensorManager для различных целей. В ходе исследования я обнаружил, что функция Sensor.getResolution() возвращает разные значения для разных устройств:

HTC Sensation имеет значение разрешения 1,0 для всех встроенных датчиков.

Motorola XOOM :

3-axis Accelerometer -> 0.009576807  
3-axis Magnetic field sensor -> 0.0625  
L3G4200D Gyroscope sensor -> 0.0012217305  
Linear Acceleration Sensor -> 0.009576807  
Gravity Sensor -> 0.009576807  

Не ясно, нужно ли мне делать дополнительные вычисления с использованием этого значения разрешения, прежде чем использовать соответствующие значения датчика. Официальная документация не проливает свет на это.

Кто-нибудь может объяснить мне эту цель «разрешения»?

Ответы [ 2 ]

4 голосов
/ 16 февраля 2012

Выход датчиков - напряжение.Это преобразуется в целое число с помощью АЦП .

Предположим,

  • чувствительность вашего акселерометра составляет 800 мВ / г

  • вы измеряете от -1,5..1,5 г

  • у вас 12-битный АЦП

Тогда ваше разрешениеприблизительно (1,5 г + 1,5 г) / 800 мВ / г = 7 * 10-4 г / единица.

То есть все, что ниже этого, не может быть различено, отсюда и разрешение имени.

Вам не нужно ничего делать с этим значением.Это просто говорит вам теоретический предел устройства. К сожалению, по моему опыту, точность датчиков хуже, чем этот предел ...: (

1 голос
/ 14 октября 2014

Разрешение определяется как наименьшее изменение, которое может быть обнаружено датчиком.

...