Платформа Android Framework обеспечивает доступ к необработанным данным измерений GNSS на различных устройствах Android.
Инструменты можно найти в репозитории GPS Measurement Tools на GitHub, который включает исходный код предварительной версии GnssLogger и исполняемые файлы для настольного приложения GNSS Analysis для Linux , Windows и macOS . Руководство по установке и эксплуатации .
Google Smartphone Decimeter Challenge
Google, Спутниковое подразделение Института навигации и Kaggle спонсируют 3-й конкурс Smartphone Decimeter Challenge на конференции ION GNSS+. Соревнования начнутся 12 сентября 2023 года и завершатся 23 мая 2024 года. Более 150 новых трасс, содержащих необработанные измерения GNSS, данные датчиков и точные данные наземной проверки, будут доступны для публичного доступа. Участие в конкурсе открыто для всех желающих. Участникам рекомендуется подать тезисы для сессии под названием «Smartphone Decimeter Challenge», которая состоится на конференции ION GNSS+ 2024.
Для получения более подробной информации, включая правила и условия, посетите страницу конкурса на Kaggle , которая станет доступна 12 сентября 2023 года в 15:30 по времени MDT.
Устройства Android, поддерживающие необработанные измерения GNSS.
Поддержка необработанных измерений GNSS обязательна на устройствах под управлением Android 10 (уровень API 29) или выше. На Android 9 (уровень API 28) и ниже поддержка необработанных измерений GNSS обязательна на всех устройствах Android, аппаратное обеспечение которых выпущено в 2016 году или позже. В настоящее время более 90% существующих телефонов Android поддерживают необработанные измерения.
Поддержка некоторых необработанных полей измерений GNSS является необязательной и может различаться в зависимости от используемого чипсета GNSS. Примеры таких полей включают следующее:
- Псевдодальность и скорость генерации псевдодальности.
- Навигационное сообщение.
- Значение автоматического регулятора усиления (AGC).
- Накопленный дельта-диапазон (ADR) или фаза несущей.
- Многочастотная поддержка
Большинство флагманских телефонов от Pixel, Motorola, Samsung, Xiaomi, OnePlus и других крупных производителей уже поддерживают частоты L1 и L5. Флагманские телефоны Pixel, а также другие флагманские телефоны от крупных производителей, не использующие чипсеты Qualcomm Snapdragon, предоставляют ADR (фазу несущей) в качестве части необработанных измерений.
В статье "Краудсорсинг функций GNSS для устройств Android" приводится ссылка на базу данных, содержащую информацию о возможностях GNSS различных устройств Android, предоставленную сообществом пользователей.
Для получения дополнительной информации об определениях полей необработанных измерений, предоставляемых устройствами Android, см. раздел «Глобальные навигационные спутниковые системы» .
Производители оригинального оборудования (OEM), разработчики и исследователи могут использовать инструменты, представленные на этой странице, для тестирования новых конструкций телефонов, проверки функциональности, разработки новых алгоритмов, оценки улучшений в реализации системы GNSS, а также для создания приложений с добавленной стоимостью.
Пример кода клиента SUPL
Suplclient — это пример кода, который обращается к supl.google.com для получения эфемерид в реальном времени. Класс SuplTester предоставляет пример использования проекта SUPL Client. SuplTester устанавливает спецификации TCP-соединения SUPL, затем на заданной широте и долготе отправляет LPP-запрос SUPL и выводит ответ сервера SUPL.
Информация о калибровке антенны
Начиная с Android 11 (уровень API 30), вы можете использовать класс GnssAntennaInfo для доступа к характеристикам антенны, таким как: координаты смещения фазового центра (PCO), поправки на изменение фазового центра (PCV) и поправки на усиление сигнала. Эти поправки могут быть применены к исходным измерениям для повышения точности.
При использовании GnssAntennaInfo следует учитывать следующие особенности работы системы. Они разработаны для повышения конфиденциальности пользователей.
- Характеристики, предоставляемые этим API, относятся только к конкретной модели устройства, а не к отдельному устройству.
Запись необработанных измерений
С помощью Android Studio можно создать приложение, которое будет получать необработанные данные GNSS и другие данные о местоположении и записывать их в файл. Пример исходного кода такого приложения можно найти в разделе «Инструменты для измерения GPS» .
Google GNSSLogger — это демонстрационное приложение, разработанное с учетом этой функциональности. Для получения данных GNSS с помощью демонстрационного приложения ваше устройство должно поддерживать необработанные измерения GNSS.
После того, как вы получили журнал GNSS с помощью GNSS Logger, вы можете скопировать файлы журнала с устройства на свой компьютер для дальнейшего анализа. Из GNSS Logger вы можете отправить файлы себе по электронной почте или сохранить их на Google Диск. В качестве альтернативы вы можете сохранить файлы с помощью приложения для управления файлами на устройстве или использовать Android Debug Bridge (ADB), как описано в разделе «Копирование файлов на/с устройства» .
Анализ исходных измерений
Приложение GNSS Analysis считывает необработанные измерения GPS/GNSS, собранные регистратором GNSS, и использует их для анализа поведения приемника GNSS, как показано на рисунке 1.
Приложение можно скачать для систем Linux , Windows и macOS .

Рисунок 1. GNSS-регистратор собирает измерения, которые могут быть использованы для GNSS-анализа.
Приложение GNSS Analysis создано на MATLAB , но для его запуска вам не обязательно иметь MATLAB. Приложение скомпилировано в исполняемый файл, который устанавливает копию среды выполнения MATLAB.
Панель управления анализом GNSS
Панель управления анализом GNSS, показанная на рисунке 2, позволяет управлять функциями приложения, такими как:
- Выберите, какие спутники отображаются.
- Контролируйте опорное положение, скорость и время (PVT), используемые для расчета погрешностей измерений.
- Сгенерировать аналитические отчеты.
- Определите временной интервал в данных между временем начала и временем окончания.
)
Рисунок 2. Панель управления анализом GNSS.
Интерактивные графики анализа GNSS
Приложение GNSS Analysis предоставляет интерактивные графики, организованные по столбцам радиочастоты (РЧ), часов и измерений, как показано на рисунке 3.
)
Рисунок 3. Приложение GNSS Analysis, отображающее интерактивные графики.
В столбце RF отображаются следующие данные:
- Для каждой группировки указаны четыре спутника с наиболее сильными сигналами.
- Для каждого спутника представлен график зависимости плотности несущей частоты от плотности шума (C/No) от времени.
- Диаграмма положения спутников на небе.
В столбце «Часы» отображаются следующие данные:
- Псевдодальности.
Частота смещения тактового сигнала приемника, вычисляемая с использованием одного из следующих опорных положений:
- Автоматически вычисленное среднее положение.
- Широта, долгота и высота вводятся пользователем.
- Файл Национальной ассоциации морской электроники (NMEA) с эталонным значением PVT.
Смещение тактового генератора в режиме ожидания, которое поддерживает отсчет времени, когда приемник сбрасывает коэффициент заполнения основного генератора.
В столбце «Измерения» отображаются следующие данные:
- Результаты определения положения методом взвешенных наименьших квадратов получены из исходных псевдодальностей. Взвешивание выполняется с использованием заявленной неопределенности каждого измерения, которая является частью спецификации API для исходных измерений.
- Погрешности каждого псевдодальности для каждого измерения.
Погрешности каждой скорости псевдодальности для каждого измерения.
Отчет о результатах анализа GNSS
GNSS Analysis может сгенерировать отчет о тестировании, как показано на рисунке 4, который оценивает реализацию API, принимаемый сигнал, поведение тактовой частоты и точность измерений. Для каждого случая приложение сообщает, прошел ли приемник тест или нет, основываясь на результатах, измеренных по сравнению с известными эталонными показателями. Отчет о тестировании полезен для производителей устройств, которые могут использовать его в процессе проектирования и внедрения новых устройств. Чтобы сгенерировать отчет о тестировании, нажмите «Создать отчет» .

Рисунок 4. Отчет о результатах теста анализа GNSS.
Вкладка «Сравнение» позволяет сравнить значения C/No из нескольких файлов журналов GNSS, как показано на рисунке 5, что полезно при сравнении радиочастотных характеристик нескольких устройств.

Рисунок 5. Сравнительный анализ данных C/No из нескольких файлов журналов.
Интересуетесь исходным кодом? Проект GPS Measurement Tool предоставляет пример с открытым исходным кодом на MATLAB , который можно использовать для выполнения следующих действий с использованием сигналов спутниковой группировки GPS:
- Прочитайте данные, полученные с помощью демонстрационного приложения GNSS Logger.
- Вычислить и визуализировать псевдодальности.
- Вычислите положение и скорость методом взвешенных наименьших квадратов.
- Просмотр и анализ фазы несущей.
Примечания к выпуску приложения GNSS Analysis версии 4.6.0.1
В версию 4.6.0.1 приложения GNSS Analysis включены следующие обновления:
- Создан инструмент GnssAnalysisTool на Matlab R2022a, что обеспечивает доступ к новым функциям:
- Окно состояния автоматически прокручивается: последнее сообщение о состоянии всегда отображается.
- Добавлена таблица сравнений C/N0 по созвездиям, а также сравнение L1 и L5.
- Добавлен график остаточных значений скорости в псевдодиапазоне.
- Удалены отдельные вкладки для стационарных и подвижных эталонных PVT-датчиков, что упрощает определение выбранного типа эталонного PVT-датчика.
- Результаты функции «Создать отчет» перенесены из HTML-формата в окно состояния.
- Вкладка «Планировщик миссий» удалена. Пожалуйста, используйте gnssmissionplanning.com/ или www.gnssplanning.com/.
- Исправлены ошибки, связанные с анализом файла наблюдений RINEX.
- В случае неисправности BKG, можно использовать резервный источник эфемерид NASA CDDIS для GPS и GLO.
- Перейти с igs.bkg.bund.de на igs-ftp.bkg.bund.de
- Не завершайте анализ, если загрузка эфемерид GAL, QZSS или BDS не удалась.
- Создайте анализ CNo антенны, даже если чипсет не поддерживает BaseBandCNo.
Инструкция по установке и эксплуатации .
Оставьте отзыв
Мы хотим улучшить поддержку GNSS на Android. Сообщайте нам о любых проблемах с поддержкой GNSS на Android, используя систему отслеживания ошибок GNSS . Прежде чем публиковать свой вопрос, пожалуйста, проверьте, не был ли он уже рассмотрен в разделе часто задаваемых вопросов (FAQ) .
Если вы использовали инструменты анализа GNSS, пожалуйста, оставьте отзыв, ответив на короткий опрос . Если у вас есть другие вопросы или запрос на поддержку, см. раздел «Ресурсы поддержки разработчиков» .
Ответы на часто задаваемые вопросы можно найти в разделе «Часто задаваемые вопросы» (FAQ) по инструментам анализа GNSS .