वाई-फ़ाई आरटीटी (आईईईई 802.11mc, आईईईई 802.11az)

Android 9 में वाई-फ़ाई राउंड ट्रिप टाइम (आरटीटी) की सुविधा की मदद से, इस तरह के डिवाइसों को एक-दूसरे से दूरी का पता चलता है: चाहे वे ऐक्सेस पॉइंट (एपी) हों या Wi-Fi Aware वाले दूसरे डिवाइस (अगर डिवाइस पर Wi-Fi Aware की सुविधा काम करती है). यह सुविधा, IEEE 802.11mc और IEEE 802.11az प्रोटोकॉल (Android 15 से उपलब्ध) पर आधारित है. इसकी मदद से, ऐप्लिकेशन जगह की सटीक जानकारी और जगह की जानकारी का बेहतर तरीके से इस्तेमाल कर सकते हैं.

उदाहरण और सोर्स

इस सुविधा का इस्तेमाल करने के लिए, वेंडर एचएएल इंटरफ़ेस लागू करें. Android 14 और इसके बाद के वर्शन में, वेंडर एचएएल इंटरफ़ेस को एआईडीएल का इस्तेमाल करके तय किया जाता है. Android 13 और इससे पहले के वर्शन में, वेंडर एचएएल इंटरफ़ेस को एचआईडीएल का इस्तेमाल करके तय किया जाता है. Android 8.0 में, एचआईडीएल ने हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल) के पुराने स्ट्रक्चर की जगह ले ली है. एचएएल का इस्तेमाल, इंटरफ़ेस और पैकेज में इकट्ठा किए गए टाइप और तरीकों को कॉल करके, लागू करने की प्रोसेस को आसान बनाने के लिए किया जाता था.

वाई-फ़ाई आरटीटी की सुविधा का इस्तेमाल करने के लिए, वाई-फ़ाई इंटरफ़ेस का पालन करें. लागू किए गए इंटरफ़ेस के हिसाब से, यह:

  • एआईडीएल: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 या उसके बाद का वर्शन.

यह देखने के लिए कि यह एआईडीएल और एचआईडीएल इंटरफ़ेस से कैसे जुड़ा है, लेगसी वाई-फ़ाई एचएएल देखें: hardware/libhardware_legacy/+/android16-release/include/hardware_legacy/rtt.h.

लागू करना

वाई-फ़ाई आरटीटी लागू करने के लिए, आपको फ़्रेमवर्क और एचएएल/फ़र्मवेयर, दोनों के लिए सहायता देनी होगी:

  • फ़्रेमवर्क:

    • AOSP कोड
    • वाई-फ़ाई आरटीटी चालू करना: इसके लिए, सुविधा फ़्लैग की ज़रूरत होती है
  • वाई-फ़ाई आरटीटी (IEEE 802.11mc या IEEE 802.11az) एचएएल के साथ काम करना (इसका मतलब है कि फ़र्मवेयर के साथ काम करना)

इस सुविधा को लागू करने के लिए, वाई-फ़ाई एआईडीएल या एचआईडीएल इंटरफ़ेस लागू करें और सुविधा फ़्लैग चालू करें:

  • device/<oem>/<device> में मौजूद device.mk में, 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 में शामिल हैं.

एमएसी पता बदलने की सुविधा

निजता को बेहतर बनाने के लिए, यह ज़रूरी है कि वाई-फ़ाई आरटीटी लेन-देन के दौरान इस्तेमाल किए गए एमएसी पते को किसी भी क्रम में लगाया गया हो. इसका मतलब है कि यह वाई-फ़ाई इंटरफ़ेस के नेटिव एमएसी पते से मेल नहीं खाना चाहिए. हालांकि, अपवाद के तौर पर, जब कोई डिवाइस किसी एपी से जुड़ा होता है, तो वह उस एपी या अन्य एपी के साथ किसी भी आरटीटी लेन-देन के लिए, उसी एमएसी पते का इस्तेमाल कर सकता है जिससे वह जुड़ा होता है.

पुष्टि करें

इस सुविधा के लिए, Android Compatibility Test Suite (CTS) टेस्ट मौजूद हैं. सीटीएस यह पता लगाता है कि सुविधा चालू है या नहीं. साथ ही, इससे जुड़े टेस्ट अपने-आप शामिल कर लेता है. इस सुविधा की जांच, Vendor Test Suite (VTS) का इस्तेमाल करके भी की जा सकती है.

यूनिट टेस्ट

वाई-फ़ाई आरटीटी पैकेज टेस्ट, इनका इस्तेमाल करके किए जाते हैं:

सेवा की जांच:

atest com.android.server.wifi.rtt

मैनेजर टेस्ट:

atest android.net.wifi.rtt

CTS

इस सुविधा के लिए, Android Compatibility Test Suite (CTS) टेस्ट मौजूद हैं. सीटीएस यह पता लगाता है कि सुविधा चालू है या नहीं. साथ ही, इससे जुड़े टेस्ट अपने-आप शामिल कर लेता है. जांचे जा रहे डिवाइस के आस-पास, ऐसा ऐक्सेस पॉइंट होना चाहिए जो वाई-फ़ाई आरटीटी (IEEE 802.11mc) के साथ काम करता हो.

सीटीएस टेस्ट को इनके ज़रिए ट्रिगर किया जा सकता है:

atest WifiRttTest

कैलिब्रेशन

वाई-फ़ाई आरटीटी की परफ़ॉर्मेंस अच्छी हो, इसके लिए 802.11mc या 802.11az प्रोटोकॉल में दी गई रेंज, मुख्य परफ़ॉर्मेंस इंडिकेटर (केपीआई) के हिसाब से सटीक होनी चाहिए. इस बारे में इस सेक्शन में बताया गया है.

11mc प्रोटोकॉल के लिए, सूची में दी गई बैंडविड्थ (80 MHz, 40 MHz, 20 MHz) और बर्स्ट साइज़ 8 पर, रेंज के अनुमान के लिए केपीआई को, गड़बड़ी के 90वें प्रतिशत में यह सटीक जानकारी मिल सकती है.

  • 80 मेगाहर्ट्ज़: 2 मीटर
  • 40 मेगाहर्ट्ज़: 4 मीटर
  • 20 मेगाहर्ट्ज़: 8 मीटर

11az प्रोटोकॉल के लिए, ऐंटेना एमआईएमओ कॉन्फ़िगरेशन और लंबे ट्रेनिंग फ़ील्ड (एलटीएफ़) की दोहराव की सुविधा का असर सटीक होने पर पड़ता है. सामान्य मोबाइल फ़ोन (दो एंटेना का इस्तेमाल करके) और ऐक्सेस पॉइंट (चार एंटेना का इस्तेमाल करके) के साथ, सिस्टम में 2x4 MIMO कॉन्फ़िगरेशन होता है. इस तरह के कॉन्फ़िगरेशन के लिए, दो के एलटीएफ़ दोहराव फ़ैक्टर का इस्तेमाल किया जाता है और सूची में दी गई बैंडविड्थ (160 एमएचज़, 80 एमएचज़, 40 एमएचज़, 20 एमएचज़) पर, रेंज के अनुमान के लिए केपीआई को गड़बड़ी के 90वें प्रतिशत पर, यहां दी गई सटीक जानकारी मिल सकती है.

  • 160 मेगाहर्ट्ज़: 0.5 मीटर
  • 80 मेगाहर्ट्ज़: 1 मीटर
  • 40 मेगाहर्ट्ज़: 2 मीटर
  • 20 मेगाहर्ट्ज़: 4 मीटर

यह पक्का करने के लिए कि सुविधा सही तरीके से लागू की गई है, कैलिब्रेशन की जांच करना ज़रूरी है.

ऐसा करने के लिए, बढ़ती दूरी पर आरटीटी की अनुमानित सीमा के मुकाबले, असल सीमा की तुलना करें. बुनियादी तौर पर, आपको अपने समाधान की पुष्टि ऐसे डिवाइस के साथ करनी चाहिए जिसे आरटीटी के लिए कैलिब्रेट किया गया हो. रेंज कैलिब्रेशन की जांच, इन स्थितियों में की जानी चाहिए:

  1. बड़ी और खुली प्रयोगशाला या ऐसा कॉरिडोर जिसमें ज़्यादा मेटल ऑब्जेक्ट न हों. इनकी वजह से, मल्टी-पाथ की संख्या बहुत ज़्यादा हो सकती है.
  2. कम से कम 25 मीटर तक का लाइन-ऑफ़-साइट (एलओएस) ट्रैक या पाथ.
  3. ट्रैक के एक छोर से दूसरे छोर तक, 0.5 मीटर के अंतराल पर मार्कर.
  4. ट्रैक के एक छोर पर, फ़र्श से 20 सेंटीमीटर ऊपर, आरटीटी की सुविधा वाले ऐक्सेस पॉइंट को सुरक्षित रखने की जगह. साथ ही, Android फ़ोन (या जांच में शामिल अन्य Android मोबाइल डिवाइस) के लिए, ट्रैक के साथ-साथ घुमाया जा सकने वाला माउंट, जिसे फ़र्श से 20 सेंटीमीटर ऊपर, 0.5 मीटर के मार्कर के साथ अलाइन किया जा सकता है.

  5. हर मार्कर पर, ऐक्सेस पॉइंट से दूरी के साथ-साथ रेंजिंग के 50 नतीजे रिकॉर्ड होने चाहिए. रेंज का औसत और वैरिएंस जैसे आंकड़ों का हिसाब, हर मार्कर की पोज़िशन के लिए लगाया जाना चाहिए.

पांचवें चरण के नतीजों से, अनुमानित रेंज (y-ऐक्सिस) के मुकाबले ग्राउंड ट्रूथ (x-ऐक्सिस) के लिए चार्ट बनाया जा सकता है. साथ ही, सबसे सही रिग्रेशन लाइन का अनुमान लगाया जा सकता है. डिवाइस के सही कैलिब्रेशन से, ग्रेडिएंट 1.0 वाली एक रेखा बनेगी. साथ ही, y-ऐक्सिस पर 0.0 मीटर का ऑफ़सेट होगा. इन वैल्यू से अलग-अलग वैल्यू तब स्वीकार की जा सकती हैं, जब वे उस बैंडविड्थ के लिए केपीआई के दायरे में हों. अगर नतीजे केपीआई के दायरे से बाहर हैं, तो डिवाइस की सुविधा को फिर से कैलिब्रेट किया जाना चाहिए, ताकि नतीजे केपीआई की स्पेसिफ़िकेशन के दायरे में आ सकें.