Wi-Fi RTT (IEEE 802.11mc, IEEE 802.11az)

Функция Wi-Fi Round Trip Time (RTT) в Android 9 позволяет поддерживаемым устройствам измерять расстояние до других поддерживаемых устройств: точек доступа или устройств с поддержкой Wi-Fi Aware. Эта функция, основанная на протоколах IEEE 802.11mc и IEEE 802.11az (доступна в Android 15 и более поздних версий), позволяет приложениям использовать более точную геолокацию и получать больше информации о местоположении.

Примеры и источник

Чтобы использовать эту функцию, реализуйте интерфейс HAL поставщика. В Android 14 и более поздних версий интерфейс Vendor HAL определяется с помощью AIDL. В Android 13 и более ранних версиях интерфейс Vendor HAL определяется с помощью HIDL. В Android 8.0 язык HIDL заменил прежнюю структуру аппаратно-зависимого уровня (HAL), которая использовалась для оптимизации реализаций за счет указания типов и вызовов методов, собранных в интерфейсы и пакеты.

Чтобы использовать функцию Wi-Fi RTT, следуйте инструкциям в интерфейсе Wi-Fi. В зависимости от того, какой интерфейс реализован, это:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 или более поздняя версия.

Вы можете посмотреть, как устаревший HAL Wi-Fi соотносится с интерфейсами AIDL и HIDL: hardware/libhardware_legacy/+/android17-release/include/hardware_legacy/rtt.h.

Реализация

Чтобы реализовать Wi-Fi RTT, необходимо обеспечить поддержку на уровне фреймворка и HAL/встроенного ПО:

  • Платформа:

    • Код AOSP
    • Как включить Wi-Fi RTT (требуется флаг функции)
  • Поддержка HAL для Wi-Fi RTT (IEEE 802.11mc или IEEE 802.11az) (что подразумевает поддержку встроенного ПО).

Чтобы реализовать эту функцию, используйте интерфейс Wi-Fi AIDL или HIDL и включите флаг функции:

  • В файле device.mk, расположенном в каталоге device/<oem>/<device>, измените переменную среды PRODUCT_COPY_FILES, чтобы включить поддержку функции Wi-Fi RTT:

    PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
    

В противном случае все необходимое для этой функции включено в AOSP.

Случайное назначение MAC-адреса

Чтобы повысить конфиденциальность, MAC-адрес, используемый при транзакциях Wi-Fi RTT, должен быть случайным, то есть не совпадать со встроенным MAC-адресом интерфейса Wi-Fi. Однако в качестве исключения, когда устройство связано с ТД, оно может использовать MAC-адрес, с которым оно связано, для любых транзакций RTT с этой или другими ТД.

Проверка

Для этой функции существуют тесты Android Compatibility Test Suite (CTS). CTS определяет, когда функция включена, и автоматически включает связанные с ней тесты. Эту функцию также можно протестировать с помощью набора тестов поставщика (VTS).

Модульные тесты

Тесты пакета Wi-Fi RTT выполняются с помощью:

Тесты сервисов:

atest com.android.server.wifi.rtt

Тестирование на уровне управляющего аккаунта:

atest android.net.wifi.rtt

CTS

Для этой функции существуют тесты Android Compatibility Test Suite (CTS). CTS определяет, когда функция включена, и автоматически включает связанные с ней тесты. Точка доступа, поддерживающая Wi-Fi RTT (IEEE 802.11mc), должна находиться в радиусе действия тестируемого устройства.

Тесты CTS можно запустить с помощью:

atest WifiRttTest

Calibration (Совещание);

Чтобы Wi-Fi RTT работал хорошо, диапазоны, возвращаемые в протоколах 802.11mc или 802.11az, должны быть точными в пределах ключевых показателей эффективности (KPI), как описано в этом разделе.

Для протокола 11mc при указанной ширине полосы пропускания (80 МГц, 40 МГц, 20 МГц) и размере пакета 8 ожидается, что KPI для оценки диапазона достигнет следующей точности при 90-м процентиле ошибки.

  • 80 МГц: 2 метра
  • 40 МГц: 4 м
  • 20 МГц: 8 метров.

Для протокола 11az на точность влияют конфигурация антенны MIMO и повторение длинного поля обучения (LTF). В типичном мобильном телефоне (с двумя антеннами) и точке доступа (с четырьмя антеннами) используется конфигурация MIMO 2x4. При такой конфигурации с коэффициентом повторения LTF, равным двум, и указанной пропускной способностью (160 МГц, 80 МГц, 40 МГц, 20 МГц) ключевой показатель эффективности для оценки диапазона должен достигать следующей точности на 90-м процентиле ошибки.

  • 160 МГц: 0,5 м.
  • 80 МГц: 1 метр
  • 40 МГц: 2 м
  • 20 МГц: 4 метра

Чтобы убедиться, что функция работает правильно, необходимо провести калибровку.

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

  1. Большая открытая лаборатория или коридор, в котором нет большого количества металлических предметов, которые могут привести к необычно частому возникновению многолучевого распространения.
  2. Трек или путь в пределах прямой видимости (LOS) длиной не менее 25 м.
  3. Маркеры с шагом 0,5 метра от одного конца трека до другого.
  4. Точка доступа с поддержкой RTT должна быть закреплена на одном конце дорожки на высоте 20 см от пола.Подвижное крепление для телефона Android (или другого тестируемого мобильного устройства Android) должно перемещаться по дорожке и выравниваться по отметкам 0,5 м на высоте 20 см от пола.

  5. Мы рекомендуем записывать по 50 результатов определения расстояния в каждом маркере, а также расстояние до точки доступа. Для каждой позиции маркера необходимо рассчитать статистические показатели, такие как среднее значение диапазона и дисперсия.

На основе результатов, полученных на шаге 5, можно построить диаграмму, где по оси X будет откладываться фундаментальная истина, а по оси Y – расчетный диапазон, и определить линию регрессии. При идеальной калибровке устройства получится линия с градиентом 1,0 и смещением 0,0 м по оси Y. Отклонения от этих значений допустимы, если они находятся в пределах KPI для соответствующей пропускной способности. Если результаты не соответствуют KPI, рекомендуем повторно откалибровать функцию устройства, чтобы привести результаты в соответствие с требованиями KPI.