WLAN RTT (IEEE 802.11mc)

WLAN RTT (IEEE 802.11mc)

Android 9 中的 WLAN 往返時間 (RTT) 功能容許設備測量與其餘支持設備的距離:不管它們是接入點 (AP) 仍是 WLAN 感知對等設備(若是設備支持 WLAN 感知)。此功能基於 IEEE 802.11mc 協議,使應用可以使用準確性更高的定位功能和加強的感知功能。android

示例和來源

要使用此功能,請採用在 Android 開源項目 (AOSP) 中提供的 WLAN 硬件接口設計語言 (HIDL)。在 Android 8.0 中,HIDL 取代了以前使用的硬件抽象層 (HAL) 結構,以便經過指定收集到接口和軟件包的類型和方法調用來簡化實現流程。框架

藉助 WLAN HIDL 使用 WLAN RTT 功能:hardware/interfaces/wifi/1.0 或更高版本。性能

您能夠參考舊版 WLAN HAL 來了解它與新 HIDL 接口之間的關係:hardware/libhardware_legacy/+/master/include/hardware_legacy/rtt.h單元測試

實現

要實現 WLAN RTT,您必須提供框架和 HAL/固件支持:測試

  • 框架:google

    • AOSP 代碼
    • 啓用 WLAN RTT:須要功能標記
  • WLAN RTT (IEEE 802.11mc) HAL 支持(意味着固件支持)spa

要實現此功能,請採用 WLAN HIDL,另外還要啓用功能標記:設計

  • 在位於 device/<oem>/<device> 的 device.mk 中,修改 PRODUCT_COPY_FILES 環境變量,以便支持 WLAN RTT 功能:code

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

除此之外,實現此功能所需的全部內容都會包含在 AOSP 中。orm

隨機分配 MAC 地址

爲增強隱私保護,在 WLAN RTT 事務期間使用的 MAC 地址必須是隨機分配的地址,即不得與 WLAN 接口的原生 MAC 地址一致。不過,有一種例外狀況:若是某個設備與 AP 相關聯,則此設備可能會使用與其相關聯的 MAC 地址來處理與此 AP 或其餘 AP 之間的任何 RTT 事務。

驗證

這項功能有適用的 Android 兼容性測試套件 (CTS) 測試。CTS 會檢測什麼時候啓用了這項功能,並會自動包含相關測試。您也可使用供應商測試套件 (VTS) 和 acts/sl4a(用於執行擴展程序集成測試的測試套件)來測試此功能。

單元測試

使用如下測試執行 WLAN RTT 軟件包測試:

服務測試:

% ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh -e package
com.android.server.wifi.rtt
 

Manager 測試:

% ./frameworks/base/wifi/tests/runtests.sh -e package android.net.wifi.rtt
 

集成 (ACTS) 測試

acts/sl4a 測試套件(在 /tools/test/connectivity/acts/tests/google/wifi/rtt/README.md 中有相應說明)提供了功能測試、性能測試和壓力測試。

CTS

這項功能有適用的 Android 兼容性測試套件 (CTS) 測試。CTS 會檢測什麼時候啓用了這項功能,並會自動包含相關測試。支持 WLAN RTT (IEEE 802.11mc) 的接入點必須位於被測設備的覆蓋範圍內。

您可使用如下命令觸發 CTS 測試:

% atest WifiRttTest
 

校準

爲了確保 WLAN RTT 可以正常運行,802.11mc 協議中返回的距離的精確度應在關鍵績效指標 (KPI) 範圍內(理想狀況下)。對於所列帶寬出現的 90% 的 CDF 錯誤,針對距離估算值建議的 KPI 具備如下容差:

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

爲確保正確實現功能,您必須進行校準測試。

您能夠經過如下方式來實現這項測試:經過不斷增長距離,比較地面真實距離和 RTT 估算距離。若是真實距離和 RTT 估算距離基本一致,則您應該針對已知已進行 RTT 校準的設備驗證解決方案。距離校準應在下列條件下進行測試:

  1. 大型開放實驗室或沒有大量金屬物體(金屬物體可能會致使多路徑異常高發)的走廊。
  2. 視線 (LOS) 路線/路徑至少要延長 25 米。
  3. 從路線一端到另外一端以每次增長 0.5 米的方式標記。
  4. 選擇一個位於路線一端的位置來安裝支持 RTT 的接入點(位於地面以上 20 釐米處);一個可移動支架(也位於地面上方 20 釐米處),用於沿路線移動 Android 手機(或接受測試的其餘 Android 移動設備),可移動支架應與每隔 0.5 米出現的標記對齊。注意:這項重複性任務可由小型機器人來完成,也能夠由人工操做員來完成。
  5. 每一個標記處應記錄 50 個距離結果,同時應記錄相應標記距離接入點的距離。應在每一個標記位置處計算統計信息(例如距離均值和方差)。

您能夠根據第 5 步中的結果繪製一個圖表,其中 X 軸爲地面真實距離,Y 軸爲估算距離,以及一條估算出的最合適的迴歸路線。理想的設備校準會產生一條梯度爲 1.0 的線,且 Y 軸的誤差爲 0.0 米。若是這些值的誤差落在相應帶寬的 KPI 範圍內,則這些誤差是可接受的。若是結果超過 KPI 範圍,則應該從新校準設備功能,以使結果符合 KPI 規範。

相關文章
相關標籤/搜索