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

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

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

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

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

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

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

लागू करना

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

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

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

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

  • device/<oem>/<device> में मौजूद device.mk में, PRODUCT_COPY_FILES एनवायरमेंट वैरिएबल में बदलाव करके, वाई-फ़ाई आरटीटी सुविधा को शामिल करें:

    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) टेस्ट मौजूद हैं. CTS को यह पता चल जाता है कि सुविधा कब चालू है. साथ ही, यह इससे जुड़े टेस्ट को अपने-आप शामिल कर लेता है. इस सुविधा को Vendor Test Suite (VTS) का इस्तेमाल करके भी टेस्ट किया जा सकता है.

यूनिट टेस्ट

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

सेवा की जांच:

atest com.android.server.wifi.rtt

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

atest android.net.wifi.rtt

CTS

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

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

atest WifiRttTest

कैलिब्रेशन

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

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

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

11az प्रोटोकॉल के लिए, ऐंटेना एमआईएमओ कॉन्फ़िगरेशन और लॉन्ग ट्रेनिंग फ़ील्ड (एलटीएफ़) के दोहराव से सटीक नतीजे मिलते हैं. सामान्य मोबाइल फ़ोन (दो ऐंटेना का इस्तेमाल करने वाला) और ऐक्सेस पॉइंट (चार ऐंटेना) के साथ, सिस्टम में 2x4 एमआईएमओ कॉन्फ़िगरेशन होता है. एलटीएफ़ के दोहराव के फ़ैक्टर के तौर पर दो का इस्तेमाल करके, इस तरह के कॉन्फ़िगरेशन के लिए, बैंडविड्थ की सूची (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 अलग-अलग नतीजे रिकॉर्ड करें. साथ ही, ऐक्सेस पॉइंट से दूरी भी रिकॉर्ड करें. हर मार्कर की पोज़िशन के लिए, आंकड़े कैलकुलेट किए जाने चाहिए. जैसे, रेंज का औसत और विचरण.

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