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

Fitur Wi-Fi Round Trip Time (RTT) di Android 9 memungkinkan perangkat yang didukung mengukur jarak ke perangkat lain yang didukung: baik itu Titik Akses (AP) atau perangkat peer Wi-Fi Aware (jika Wi-Fi Aware didukung di perangkat). Fitur ini, yang dibangun berdasarkan protokol IEEE 802.11mc dan IEEE 802.11az (tersedia dari Android 15), memungkinkan aplikasi menggunakan akurasi dan kesadaran lokasi yang ditingkatkan.

Contoh dan sumber

Untuk menggunakan fitur ini, terapkan antarmuka HAL Vendor. Di Android 14 dan yang lebih tinggi, antarmuka HAL Vendor ditentukan menggunakan AIDL. Di Android 13 dan yang lebih lama, antarmuka Vendor HAL ditentukan menggunakan HIDL. Di Android 8.0, HIDL menggantikan struktur Hardware Abstraction Layer (HAL) sebelumnya yang digunakan untuk menyederhanakan penerapan dengan menentukan jenis dan panggilan metode yang dikumpulkan ke dalam antarmuka dan paket.

Ikuti antarmuka Wi-Fi untuk menggunakan fitur Wi-Fi RTT. Bergantung pada antarmuka yang diimplementasikan, hal ini adalah:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 atau yang lebih baru.

Anda dapat merujuk ke HAL Wi-Fi lama untuk melihat korelasinya dengan antarmuka AIDL dan HIDL: hardware/libhardware_legacy/+/android16-release/include/hardware_legacy/rtt.h.

Implementasi

Untuk menerapkan Wi-Fi RTT, Anda harus menyediakan dukungan framework dan HAL/firmware:

  • Framework:

    • Kode AOSP
    • Aktifkan Wi-Fi RTT: memerlukan tombol fitur
  • Dukungan HAL Wi-Fi RTT (IEEE 802.11mc atau IEEE 802.11az) (yang menyiratkan dukungan firmware)

Untuk mengimplementasikan fitur ini, implementasikan antarmuka AIDL atau HIDL Wi-Fi, dan aktifkan tanda fitur:

  • Di device.mk yang terletak di device/<oem>/<device>, ubah variabel lingkungan PRODUCT_COPY_FILES untuk menyertakan dukungan untuk fitur 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
    

Jika tidak, semua yang diperlukan untuk fitur ini disertakan dalam AOSP.

Pengacakan MAC

Untuk meningkatkan privasi, alamat MAC yang digunakan selama transaksi Wi-Fi RTT harus diacak, yaitu tidak boleh cocok dengan alamat MAC bawaan antarmuka Wi-Fi. Namun, sebagai pengecualian, saat perangkat dikaitkan dengan AP, perangkat tersebut dapat menggunakan alamat MAC yang dikaitkan dengannya untuk transaksi RTT apa pun dengan AP tersebut atau dengan AP lain.

Validasi

Pengujian Android Compatibility Test Suite (CTS) ada untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan pengujian terkait. Fitur ini juga dapat diuji menggunakan Vendor Test Suite (VTS).

Pengujian unit

Pengujian paket Wi-Fi RTT dieksekusi menggunakan:

Uji layanan:

atest com.android.server.wifi.rtt

Pengujian pengelola:

atest android.net.wifi.rtt

CTS

Pengujian Android Compatibility Test Suite (CTS) ada untuk fitur ini. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan pengujian terkait. Titik Akses yang mendukung Wi-Fi RTT (IEEE 802.11mc) harus berada dalam jangkauan perangkat yang sedang diuji.

Pengujian CTS dapat dipicu menggunakan:

atest WifiRttTest

Kalibrasi

Agar Wi-Fi RTT berfungsi dengan baik, rentang yang ditampilkan dalam protokol 802.11mc atau 802.11az harus akurat dalam indikator performa utama (KPI) seperti yang dijelaskan di bagian ini.

Untuk protokol 11mc, pada bandwidth yang tercantum (80 MHz, 40 MHz, 20 MHz) dan ukuran burst 8, KPI untuk estimasi rentang diharapkan mencapai akurasi berikut pada persentil error ke-90.

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

Untuk protokol 11az, konfigurasi MIMO antena dan pengulangan long training field (LTF) memengaruhi akurasi. Dengan ponsel biasa (menggunakan 2 antena) dan titik akses (4 antena), sistem memiliki konfigurasi MIMO 2x4. Untuk konfigurasi seperti itu yang menggunakan faktor pengulangan LTF dua dan pada bandwidth yang tercantum (160 MHz, 80 MHz, 40 MHz, 20 MHz), KPI untuk perkiraan rentang diharapkan mencapai akurasi berikut pada persentil error ke-90.

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

Untuk memverifikasi bahwa penerapan fitur berfungsi dengan benar, pengujian kalibrasi diperlukan.

Hal ini dapat dicapai dengan membandingkan rentang kebenaran dasar dengan rentang perkiraan RTT pada jarak yang semakin jauh. Untuk kepatuhan dasar, sebaiknya Anda memvalidasi solusi terhadap perangkat yang diketahui telah dikalibrasi RTT. Sebaiknya lakukan pengujian kalibrasi rentang dalam kondisi berikut:

  1. Laboratorium terbuka yang besar, atau koridor yang tidak memiliki banyak benda logam yang dapat menyebabkan terjadinya multi-path yang sangat tinggi.
  2. Setidaknya jalur atau lintasan Line-Of-Sight (LOS) yang membentang sejauh 25 m.
  3. Penanda dengan kelipatan 0,5 meter dari satu ujung jalur ke ujung lainnya.
  4. Tempat untuk mengamankan titik akses yang kompatibel dengan RTT di salah satu ujung jalur yang dipasang 20 cm di atas lantai, dan dudukan yang dapat dipindahkan untuk ponsel Android (atau perangkat seluler Android lain yang sedang diuji) yang dapat dipindahkan di sepanjang jalur, dan disejajarkan dengan penanda 0,5 m, juga 20 cm di atas lantai.

  5. Sebaiknya Anda merekam 50 hasil pengukuran jarak di setiap penanda, beserta jarak dari titik akses. Statistik, seperti rata-rata rentang dan varians, harus dihitung untuk setiap posisi penanda.

Dari hasil pada langkah 5, diagram dapat dibuat untuk kebenaran nyata (sumbu x) terhadap rentang estimasi (sumbu y) dan garis regresi kecocokan terbaik dapat diestimasi. Kalibrasi perangkat yang ideal akan menghasilkan garis gradien 1,0, dengan offset 0,0 m pada sumbu y. Penyimpangan dari nilai ini dapat diterima jika berada dalam KPI untuk bandwidth yang sesuai. Jika hasilnya berada di luar KPI, sebaiknya Anda mengalibrasi ulang fitur perangkat untuk mendapatkan hasil yang sesuai dengan spesifikasi KPI.