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

Die WLAN Round Trip Time (RTT) von Android 9 ermöglicht es, Entfernung zu anderen unterstützenden Geräten messen: ob es sich um Zugangspunkte handelt (ZPs) oder bei ähnlichen WLANs (bei Verwendung von Wi-Fi Aware) auf dem Gerät unterstützt wird). Diese Funktion basiert auf dem IEEE 802.11mc und IEEE 802.11az-Protokoll (verfügbar ab Android 15) ermöglicht es Apps, die Standortgenauigkeit und die Standorterkennung zu verbessern.

Beispiele und Quelle

Implementieren Sie zur Verwendung dieser Funktion die HAL-Schnittstelle des Anbieters. Unter Android 14 und höher Die HAL-Schnittstelle des Anbieters wird mithilfe von AIDL definiert. Unter Android 13 und niedriger Die HAL-Schnittstelle des Anbieters wird mithilfe von HIDL definiert. In Android 8.0: HIDL die vorherige HAL-Struktur (Hardware Abstraktionsschicht) ersetzt hat, Implementierungen optimieren, indem Sie Typen und Methodenaufrufe angeben, Schnittstellen und Pakete.

Folgen Sie der WLAN-Benutzeroberfläche, um die WLAN-RTT-Funktion zu verwenden. Je nachdem, welche Schnittstelle implementiert ist, geschieht Folgendes:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 oder höher.

Sie können dem alten WLAN-HAL entnehmen, wie er mit dem AIDL- und HIDL-Schnittstellen: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h

Implementierung

Zur Implementierung von Wi-Fi-RTT müssen Sie sowohl das Framework als auch HAL/Firmware bereitstellen. Support:

  • Rahmenwerk:

    • AOSP-Code
    • WLAN-RTT aktivieren: Funktions-Flag erforderlich
  • Wi-Fi RTT (IEEE 802.11mc oder IEEE 802.11az) HAL-Unterstützung (was impliziert) Firmware-Unterstützung)

Implementieren Sie zur Implementierung dieser Funktion die Wi-Fi AIDL- oder HIDL-Schnittstelle. und aktivieren Sie das Funktions-Flag:

  • Ändern Sie in device.mk, die sich in device/<oem>/<device> befindet, die PRODUCT_COPY_FILES-Umgebungsvariable zur Unterstützung von WLAN RTT-Funktion:

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

Andernfalls ist alles, was für diese Funktion erforderlich ist, in AOSP enthalten.

Randomisierung bei MAC

Um den Datenschutz zu verbessern, muss die bei WLAN-RTT-Transaktionen verwendete MAC-Adresse lauten: Das heißt, sie darf nicht mit der nativen MAC-Adresse des WLANs übereinstimmen. . Wenn ein Gerät jedoch mit einem ZP verknüpft ist, kann die MAC-Adresse verwenden, mit der es für alle RTT-Transaktionen verknüpft ist. mit diesem oder anderen ZPs.

Zertifizierungsstufe

Für diese Funktion gibt es CTS-Tests (Android Compatibility Test Suite). CTS erkennt wenn die Funktion aktiviert ist. Die zugehörigen Tests werden automatisch eingeschlossen. Diese Funktion kann auch mit dem Vendor Test Suite (VTS):

Einheitentests

Die Tests des WLAN-RTT-Pakets werden folgendermaßen ausgeführt:

Diensttests:

atest com.android.server.wifi.rtt

Tests für Manager:

atest android.net.wifi.rtt

Logo: CTS

Für diese Funktion gibt es CTS-Tests (Android Compatibility Test Suite). CTS erkennt wenn die Funktion aktiviert ist. Die zugehörigen Tests werden automatisch eingeschlossen. Eine Zugangspunkt, der Wi-Fi RTT (IEEE 802.11mc) unterstützt, muss sich in Reichweite das zu testende Gerät.

Die CTS-Tests können folgendermaßen ausgelöst werden:

atest WifiRttTest

Kalibrierung

Damit die WLAN-RTT eine gute Leistung erzielt, werden die in 802.11mc oder 802.11az zurückgegebenen Bereiche Protokolle sollten im Rahmen der Leistungsindikatoren (KPIs) genau wie die in diesem Abschnitt beschrieben werden.

Für das 11mc-Protokoll wird bei den angegebenen Bandbreiten (80 MHz, 40 MHz, 20 MHz) und eine Burst-Größe von 8 haben, wird der KPI für eine Bereichsschätzung voraussichtlich die folgende Genauigkeit beim 90. Perzentil des Fehlers erreichen.

  • 80 MHz:2 Meter
  • 40 MHz:4 Meter
  • 20 MHz:8 Meter

Für das 11az-Protokoll, die Antennen-MIMO-Konfiguration und das lange Training Wiederholungen beeinflussen die Genauigkeit. Mit einem herkömmlichen Mobiltelefon (2 Antennen) und einem Zugangspunkt (4 Antennen) hinzugefügt wurde, verfügt das System über eine 2x4-MIMO- Konfiguration. Für eine solche Konfiguration mit einem LTF-Wiederholungsfaktor von zwei und bei den angegebenen Bandbreiten (160 MHz, 80 MHz, 40 MHz, 20 MHz), wird für den KPI für eine Bereichsschätzung Folgendes erwartet: Genauigkeit beim 90. Perzentil des Fehlers.

  • 160 MHz:0,5 Meter
  • 80 MHz:1 Meter
  • 40 MHz:2 Meter
  • 20 MHz:4 Meter

Um sicherzustellen, dass die Funktion korrekt implementiert wird, Tests erforderlich sind.

Dazu wird ein Ground-Truth-Bereich mit dem geschätzten RTT-Wert verglichen. bei immer größer werdenden Entfernungen. Für die grundlegende Konformität sollten Sie für ein Gerät, das bekanntermaßen RTT-kalibriert ist. Bereichskalibrierung sollte unter folgenden Bedingungen getestet werden:

  1. Ein großes offenes Labor oder ein Korridor, in dem nicht viel Metall vorhanden ist -Objekten, die zu ungewöhnlich vielen Mehrpfaden führen können.
  2. Mindestens eine Sichtverbindung oder ein Pfad mit einer Länge von 25 m
  3. Markierungen in 0,5-Meter-Schritten von einem Ende des Tracks zum anderen.
  4. Einen Ort zum Sichern eines RTT-fähigen Zugriffspunkts an einem Ende des Tracks 20 cm über dem Boden angebracht und einer beweglichen Halterung für ein Android-Smartphone (oder einem anderen zu testenden Android-Mobilgerät), das entlang der und an den 0, 5-m-Markierungen ausgerichtet, ebenfalls 20 cm darüber auf dem Boden.

  5. An jeder Markierung sollten 50 Entfernungsergebnisse aufgezeichnet werden, zusammen mit den Abstand zum Zugangspunkt. Statistiken, wie z. B. Bereichsmittelwert und Varianz, für jede Markierungsposition berechnet werden soll.

Aus den Ergebnissen in Schritt 5 kann ein Diagramm mit Grundwahrheit erstellt werden (x-Achse). mit dem geschätzten Bereich (y-Achse) und einer geschätzten Regressionsgerade am besten anpassen. Optimal Die Gerätekalibrierung führt zu einer Linie mit einem Farbverlauf von 1,0 mit einem Offset von 0,0 m. auf der Y-Achse. Abweichungen von diesen Werten sind akzeptabel, wenn sie innerhalb der KPI für die entsprechende Bandbreite. Wenn die Ergebnisse außerhalb des KPI liegen, Gerätefunktion neu kalibriert werden, damit die Ergebnisse dem KPI entsprechen Spezifikation zu ändern.