Необработанные данные GNSS

Фреймворк Android предоставляет доступ к необработанным данным GNSS на некоторых устройствах Android.

Инструменты можно найти в репозитории GPS Measurement Tools на GitHub. Там же вы найдете исходный код предварительной версии GnssLogger и исполняемые файлы для компьютерного приложения GNSS Analysis для Linux, Windows и macOS. Руководство по установке и использованию.

Google Smartphone Decimeter Challenge

Google, спутниковое подразделение Института навигации и Kaggle спонсируют третий конкурс Smartphone Decimeter Challenge на конференции ION GNSS+. Конкурс начнется 12 сентября 2023 года и закончится 23 мая 2024 года. В открытом доступе появится более 150 новых трассировок, содержащих необработанные измерения GNSS, данные датчиков и точные контрольные данные. Участвовать в конкурсе могут все желающие. Участникам предлагается отправить тезисы для сессии Smartphone Decimeter Challenge, которая пройдет в рамках ION GNSS+ 2024.

Дополнительную информацию, в том числе правила и регламент, можно найти на странице конкурса на Kaggle, которая станет доступна 12 сентября 2023 г. в 15:30 по горному летнему времени.

Устройства Android, поддерживающие необработанные измерения GNSS

Поддержка необработанных измерений ГНСС обязательна на устройствах с Android 10 (уровень API 29) или более поздней версии. На устройствах Android с Android 9 (уровень API 28) и более ранними версиями поддержка необработанных измерений ГНСС обязательна, если аппаратное обеспечение выпущено в 2016 году или позже. В настоящее время более 90% телефонов Android поддерживают необработанные измерения.

Поддержка некоторых полей необработанных измерений GNSS не является обязательной и зависит от используемого чипсета GNSS. Примеры таких полей:

  • Псевдодальность и скорость изменения псевдодальности.
  • Навигационное сообщение.
  • Значение автоматической регулировки усиления (AGC).
  • Накопленная разность дальностей (ADR) или фаза несущей.
  • Поддержка нескольких частот

Большинство флагманских телефонов от Pixel, Motorola, Samsung, Xiaomi, OnePlus и других крупных производителей уже поддерживают частоты L1 и L5. Флагманские телефоны Pixel и других крупных производителей, в которых не используются чипсеты Qualcomm Snapdragon, предоставляют ADR (фазу несущей) в составе необработанных измерений.

База данных о возможностях GNSS на разных устройствах Android, собранная сообществом, приведена в статье Краудсорсинг функций GNSS на устройствах Android.

Подробную информацию об определениях полей необработанных измерений, предоставляемых устройствами Android, можно найти в статье Глобальные навигационные спутниковые системы.

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

Пример кода клиента SUPL

Suplclient – это образец кода, который обращается к supl.google.com, чтобы получить эфемериды в реальном времени. Класс SuplTester показывает, как использовать проект SUPL Client. SuplTester настраивает спецификации TCP-подключения SUPL, а затем отправляет запрос LPP SUPL для заданной широты и долготы и выводит ответ сервера SUPL.

Информация о калибровке антенны

Начиная с Android 11 (уровень API 30) вы можете использовать класс GnssAntennaInfo, чтобы получать доступ к характеристикам антенны, таким как координаты смещения фазового центра, корректировки изменения фазового центра и корректировки усиления сигнала. Эти поправки можно применять к необработанным измерениям, чтобы повысить точность.

При использовании GnssAntennaInfo учитывайте следующие особенности системы. Они предназначены для повышения конфиденциальности пользователей.

  • Характеристики, предоставляемые этим API, относятся только к модели устройства, а не к отдельному устройству.

Запись необработанных измерений

Вы можете использовать Android Studio для создания приложения, которое собирает необработанные измерения GNSS и другие данные о местоположении и записывает их в файл. Пример исходного кода такого приложения можно найти в разделе Инструменты измерения GPS.

Пример приложения с такой функцией – GNSSLogger от Google. Чтобы получить выходные данные GNSS с помощью примера приложения, ваше устройство должно поддерживать необработанные измерения GNSS.

После того как вы записали журнал GNSS с помощью GNSS Logger, вы можете скопировать файлы журнала с устройства на компьютер для дальнейшего анализа. Из приложения GNSS Logger вы можете отправить файлы себе по электронной почте или сохранить их на Google Диске. Вы также можете сохранить файлы с помощью приложения для управления файлами на устройстве или использовать Android Debug Bridge (ADB), как описано в статье Копирование файлов на устройство и с него.

Анализ необработанных измерений

Приложение GNSS Analysis считывает необработанные данные GPS/GNSS, собранные GNSS Logger, и использует их для анализа поведения приемника GNSS, как показано на рисунке 1.

Вы можете скачать приложение для систем Linux, Windows и macOS.

GNSS Logger и GNSS Analysis

Рисунок 1. GNSS Logger собирает данные, которые можно использовать для анализа GNSS.

Приложение GNSS Analysis создано на базе MATLAB, но для его работы MATLAB не требуется. Приложение компилируется в исполняемый файл, который устанавливает копию MATLAB Runtime.

Панель управления GNSS Analysis

Панель управления GNSS Analysis, показанная на рисунке 2, позволяет управлять функциями приложения, такими как:

  • Выберите, какие спутники будут показываться.
  • Управлять контрольным положением, скоростью и временем, которые используются для расчета ошибок измерения.
  • Создание аналитических отчетов.
  • Определите окно в данных между временем начала и окончания.

Панель управления GNSS Analysis)

Рисунок 2. Панель управления GNSS Analysis

Интерактивные графики GNSS Analysis

В приложении GNSS Analysis есть интерактивные графики, упорядоченные по столбцам: радиочастота, часы и измерения (см. рисунок 3).

Интерактивные графики GNSS Analysis)

Рисунок 3. Интерактивные графики в приложении GNSS Analysis.

В столбце "Радиочастота" представлены следующие данные:

  • Для каждого созвездия – четыре спутника с самыми сильными сигналами.
  • Для каждого спутника – график зависимости плотности отношения несущей к шуму (C/No) от времени.
  • Небесная диаграмма положения спутников.

В столбце с часами показаны следующие данные:

  • Псевдодальности.
  • Частота смещения часов приемника, которая рассчитывается с использованием одной из следующих опорных позиций:

    • Автоматически вычисленная средняя позиция.
    • Широта, долгота и высота, введенные пользователем.
    • Файл Национальной ассоциации морской электроники (NMEA) с эталонными данными PVT.
  • Смещение резервных часов, которые отсчитывают время, когда приемник сбрасывает рабочий цикл основного генератора.

В столбце измерений представлены следующие данные:

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

Отчет о тестировании GNSS Analysis

GNSS Analysis может создать отчет о тестировании, как показано на рисунке 4, в котором оценивается реализация API, полученный сигнал, поведение часов и точность измерений. В каждом случае приложение сообщает, прошел ли приемник тест, основываясь на сравнении производительности с известными контрольными показателями. Отчет о тестировании полезен для производителей устройств, которые могут использовать его при разработке и внедрении новых устройств. Чтобы создать отчет о тестировании, нажмите Создать отчет.

Отчет о тестировании GNSS Analysis

Рисунок 4. Отчет о тестировании GNSS Analysis

На вкладке Compare (Сравнение) можно сопоставить значения C/No из нескольких файлов журнала GNSS (рис. 5). Это позволяет сравнить радиочастотные характеристики нескольких устройств.

Сравнение данных C/No

Рисунок 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 Observation.
  • Резервный источник эфемерид NASA CDDIS для GPS и GLO, когда BKG не работает.
  • Переход с igs.bkg.bund.de на igs-ftp.bkg.bund.de
  • Не выходите из анализа, если не удалось скачать эфемериды GAL, QZSS или BDS.
  • Создавать анализ CNo антенны, даже если чипсет не поддерживает BaseBandCNo

Руководство по установке и использованию.

Отправить отзыв

Мы хотим улучшить поддержку GNSS на Android. Если у вас возникли проблемы с поддержкой GNSS на Android, сообщите нам об этом через систему отслеживания ошибок GNSS. Прежде чем задавать вопрос, проверьте, нет ли ответа на него в разделе часто задаваемых вопросов.

Если вы пользовались инструментами GNSS Analysis, пройдите короткий опрос. Если у вас есть другие вопросы или вам нужна помощь, ознакомьтесь с ресурсами поддержки разработчиков.

Ответы на часто задаваемые вопросы вы найдете в разделе часто задаваемых вопросов по инструментам анализа ГНСС.