Магнитные датчики Android дают разные значения для разных устройств
-
28-10-2019 - |
Вопрос
Я пытаюсь провести анализ, который включает интерпретацию результатов, полученных с различных датчиков устройства Android. Прямо сейчас я анализирую датчик магнитного поля , который должен сказать мне (согласно этой странице документации ) значения внешнего магнитного поля в мкТл (микротесла). Пока все ясно, но на 2 устройствах, которые я тестировал (Galaxy S, Galaxy Gio), результаты разные. Под разными я подразумеваю очень разные.
Например, при одинаковой ориентации на столе, вот что показывают эти устройства (только один пример):
родовое словоДаже если я поменяю положение, результаты будут такими же. Я также читал на эту страницу об интенсивности магнитного поля и считаю, что Учитывая географическую широту, у меня должно быть около 50 мкТл.
Кто-нибудь может объяснить, что означают эти датчики?
Кто-нибудь знает, как объяснить такое поведение?
Спасибо,
Юлиан
Решение
Я просто могу подтвердить проблему.
Как автор приложения устойчивый компас , я провели множество испытаний датчиков магнитного поля с различными устройствами. Я обнаружил, что одно из устройств сообщило абсолютное значение mf, примерно в 2 раза превышающее значение, сообщаемое другим другим устройством при тех же условиях.
Я провел много тестов после калибровки телефона и даже перевел устройства в "режим полета", пытаясь минимизировать электромагнитные помехи, исходящие от собственного устройства. Еще один комментарий заключается в том, что подключение USB-кабеля к некоторым устройствам может создавать значительные колебания магнитного поля.
Наихудшие результаты, которые я видел на данном устройстве (после калибровки, режима полета и отключения USB), заключаются в следующем: с помощью приложения компаса, когда устройство находится в горизонтальной плоскости, я снимаю показания, поворачиваю телефон на 90 градусов по горизонтали. самолет и взять новое показание компаса. Оба показания различаются более чем на 15 градусов!
К счастью, не все устройства оснащены такими плохими датчиками. У лучших устройств погрешность составляет около 2-3 градусов после поворота на 90 градусов.
Вывод: если вы не очень уверены в своем датчике магнитного поля, потому что вы проверили и подтвердили его хорошее поведение, вы должны давать ограниченную надежность показаниям, сообщаемым таким датчиком.
Другие советы
У меня тоже были проблемы с датчиками.Я считаю, что телефоны будут давать разные показания датчиков в зависимости от оборудования, используемого производителем. Попробуйте считать точность датчика для SENSOR_STATUS_UNRELIABLE.Возможно, вам придется заново откалибровать магнитометр.