Android магнитные датчики дают разные значения разных устройств - PullRequest
1 голос
/ 06 декабря 2011

Я пытаюсь провести анализ, который включает в себя интерпретацию результатов от различных датчиков устройства Android. Прямо сейчас я анализирую датчик магнитного поля , который должен сообщить мне (согласно этой странице документации ) значения окружающего магнитного поля в uT (микро Тесла). Пока все ясно, но на двух устройствах, которые я тестировал (Galaxy S, Galaxy Gio), результаты разные. И под другим я имею в виду очень другой.

Например, имея ту же ориентацию на столе, вот что показывают эти устройства (только один пример):

S2:  -2,12, 60 (approximate values on x,y,z accordingly)
Gio: -2,12,-36 (approximate values on x,y,z accordingly)

Даже если я поменяю положение, результаты будут одинаковыми. Я также прочитал на этой странице об интенсивности магнитного поля, и я считаю, что у меня должно быть около 50uT, учитывая мою географическую широту.

Может кто-нибудь объяснить, что означают эти датчики?

Кто-нибудь знает, как объяснить это поведение?

Спасибо,

Юлиан

Ответы [ 2 ]

3 голосов
/ 06 декабря 2011

Я просто могу подтвердить проблему.

Как автор приложения устойчивый компас , я провел множество испытаний датчиков магнитного поля с различными устройствами. Я обнаружил, что одно из устройств сообщило абсолютное значение mf примерно в 2 раза больше, чем сообщалось другим другим устройством в тех же условиях.

Я провел много тестов после калибровки телефона, и я даже перевел устройства в «режим полета», пытаясь минимизировать электромагнитные помехи, исходящие от собственного устройства. Еще один комментарий заключается в том, что подключение USB-кабеля к некоторым устройствам может привести к значительным изменениям магнитного поля.

Наихудшие результаты, которые я видел на данном устройстве (после калибровки, в режиме полета и при отключенном USB), таковы: используя приложение компаса с устройством в горизонтальной плоскости, я снимаю показания, поворачиваю телефон на 90 градусов в горизонтальной плоскости. самолет и возьмите новое чтение компаса. Оба показания отличаются более чем на 15 градусов!

К счастью, не все устройства имеют такие плохие датчики. Лучшие устройства имеют погрешность около 2-3 градусов после поворота на 90 градусов.

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

2 голосов
/ 06 декабря 2011

Я также испытывал эти проблемы с датчиками.Я считаю, что телефоны будут давать разные показания датчиков в зависимости от аппаратного обеспечения, используемого производителем.Попробуйте прочитать точность датчика для SENSOR_STATUS_UNRELIABLE.Возможно, вам придется откалибровать магнитометр.

...