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

ویژگی زمان رفت‌وبرگشت Wi-Fi‏ (RTT) در Android 9 به دستگاه‌های پشتیبانی‌کننده امکان می‌دهد فاصله تا دیگر دستگاه‌های پشتیبانی‌کننده را اندازه‌گیری کنند: چه «نقطه دسترسی» (AP) باشند چه همتاهای Wi-Fi Aware (اگر Wi-Fi Aware در دستگاه پشتیبانی شود). این ویژگی که براساس پروتکل IEEE 802.11mc و IEEE 802.11az (دردسترس از Android 15) ساخته شده است، به برنامه‌ها امکان می‌دهد از دقت و آگاهی مکان بهبودیافته استفاده کنند.

مثال‌ها و منبع

برای استفاده از این ویژگی، میانای Vendor HAL را پیاده‌سازی کنید. در Android نسخه ۱۴ و بالاتر، میانای Vendor HAL بااستفاده از AIDL تعریف می‌شود. در Android 13 و نسخه‌های پایین‌تر، میانای Vendor HAL بااستفاده از HIDL تعریف می‌شود. در Android 8.0،‏ HIDL جایگزین ساختار قبلی «لایه انتزاع سخت‌افزار» (HAL) شد که برای ساده‌سازی پیاده‌سازی‌ها با مشخص کردن انواع و فراخوانی‌های روش جمع‌آوری‌شده در میانه‌ها و بسته‌ها استفاده می‌شد.

برای استفاده از ویژگی Wi-Fi RTT، میانای Wi-Fi را دنبال کنید. بسته به اینکه کدام میانای پیاده‌سازی‌شده است، این موارد عبارت‌اند از:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: نسخه hardware/interfaces/wifi/1.0 یا بالاتر.

می‌توانید به Wi-Fi HAL قدیمی مراجعه کنید تا ببینید چگونه با میاناهای AIDL و HIDL ارتباط دارد: hardware/libhardware_legacy/+/android17-release/include/hardware_legacy/rtt.h.

پیاده‌سازی

برای پیاده‌سازی Wi-Fi RTT، باید هم چارچوب و هم پشتیبانی HAL/سفت‌افزار را ارائه دهید:

  • چارچوب:

    • کد AOSP
    • فعال کردن Wi-Fi RTT: به پرچم ویژگی نیاز دارد
  • پشتیبانی HAL از Wi-Fi RTT (IEEE 802.11mc یا IEEE 802.11az) (که به‌معنای پشتیبانی سفت‌افزار است)

برای پیاده‌سازی این ویژگی، میانای Wi-Fi AIDL یا HIDL را پیاده‌سازی کنید و پرچم ویژگی را فعال کنید:

  • در device.mk واقع در device/<oem>/<device>، متغیر محیطی PRODUCT_COPY_FILES را اصلاح کنید تا پشتیبانی از ویژگی RTT Wi-Fi را دربرگیرد:

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

درغیراین‌صورت، همه موارد لازم برای این ویژگی در AOSP گنجانده شده است.

تصادفی‌سازی مک آدرس

برای بهبود حریم خصوصی، نشانی MAC استفاده‌شده در تراکنش‌های Wi-Fi RTT باید تصادفی باشد، یعنی نباید با نشانی MAC داخلی رابط Wi-Fi مطابقت داشته باشد. بااین‌حال، به‌عنوان استثنا، وقتی دستگاهی با نقطه دسترسی‌ای مرتبط می‌شود، ممکن است از نشانی MAC که با آن مرتبط است برای هرگونه تراکنش RTT با آن نقطه دسترسی یا با نقاط دسترسی دیگر استفاده کند.

اعتبارسنجی

آزمایش‌های «مجموعه آزمایش سازگاری Android» (CTS) برای این ویژگی وجود دارد. ‫CTS تشخیص می‌دهد که ویژگی فعال است و به‌طور خودکار آزمون‌های مرتبط را اضافه می‌کند. این ویژگی را می‌توان بااستفاده از مجموعه آزمایشی فروشنده (VTS) نیز آزمایش کرد.

آزمون‌های واحد

آزمایش‌های بسته Wi-Fi RTT بااستفاده از موارد زیر اجرا می‌شوند:

آزمایش‌های سرویس:

atest com.android.server.wifi.rtt

آزمایش‌های مدیر:

atest android.net.wifi.rtt

CTS

آزمایش‌های «مجموعه آزمایش سازگاری Android» (CTS) برای این ویژگی وجود دارد. ‫CTS تشخیص می‌دهد که ویژگی فعال است و به‌طور خودکار آزمون‌های مرتبط را اضافه می‌کند. «نقطه دسترسی» که از Wi-Fi RTT (IEEE 802.11mc) پشتیبانی می‌کند باید در محدوده دستگاه تحت آزمایش باشد.

آزمایش‌های CTS را می‌توان بااستفاده از موارد زیر راه‌اندازی کرد:

atest WifiRttTest

وا سنجی

برای اینکه «نوشتار هم‌زمان Wi-Fi» عملکرد خوبی داشته باشد، محدوده‌های برگشتی در پروتکل‌های 802.11mc یا 802.11az باید در شاخص‌های کلیدی عملکرد (KPI) همان‌گونه که در این بخش توضیح داده شده است دقیق باشد.

برای پروتکل 11mc، در پهنای باندهای فهرست‌شده (۸۰ مگاهرتز، ۴۰ مگاهرتز، ۲۰ مگاهرتز) و اندازه انفجاری ۸، شاخص کلیدی عملکرد برای تخمین محدوده باید در صدک ۹۰ خطا به دقت زیر دست یابد.

  • ۸۰ مگاهرتز: ۲ متر
  • ‫۴۰ مگاهرتز: ۴ متر
  • ‫۲۰ مگاهرتز: ۸ متر

برای پروتکل 11az، پیکربندی آنتن MIMO و تکرار فیلد آموزشی طولانی (LTF) بر دقت تأثیر می‌گذارد. با یک تلفن همراه معمولی (بااستفاده از ۲ آنتن) و نقطه دسترسی (۴ آنتن)، سیستم دارای پیکربندی MIMO ۲×۴ است. برای چنین پیکربندی‌ای بااستفاده از عامل تکرار LTF دو و در پهنای باندهای فهرست‌شده (۱۶۰ مگاهرتز، ۸۰ مگاهرتز، ۴۰ مگاهرتز، ۲۰ مگاهرتز)، انتظار می‌رود شاخص کلیدی عملکرد برای تخمین محدوده در صدک ۹۰ خطا به دقت زیر دست یابد.

  • ‫۱۶۰ مگاهرتز: ۰٫۵ متر
  • ۸۰ مگاهرتز: ۱ متر
  • ‫۴۰ مگاهرتز: ۲ متر
  • ۲۰ مگاهرتز: ۴ متر

برای درستی‌سنجی اینکه پیاده‌سازی ویژگی به‌درستی کار می‌کند، آزمایش واسنجی ضروری است.

این کار را می‌توان با مقایسه محدوده واقعیت زمینی با محدوده تخمینی «زمان رفت‌وبرگشت» در فاصله‌های افزایشی انجام داد. برای انطباق پایه، توصیه می‌کنیم راه‌حلتان را دربرابر دستگاهی که می‌دانید «زمان رفت‌وبرگشت» آن کالیبره شده است اعتبارسنجی کنید. توصیه می‌کنیم واسنجی محدوده را تحت شرایط زیر آزمایش کنید:

  1. آزمایشگاه باز بزرگ یا راهرویی که اشیای فلزی زیادی نداشته باشد که ممکن است منجر به وقوع غیرمعمول بالای چندمسیره شود.
  2. حداقل یک مسیر یا خط دید (LOS) به طول ۲۵ متر.
  3. نشانگرهای افزایشی ۰٫۵ متری از یک سر مسیر تا سر دیگر.
  4. مکانی برای ایمن کردن نقطه دسترسی سازگار با RTT در یک انتهای مسیر که ۲۰ سانتی‌متر بالاتر از کف نصب شده است، و پایه متحرکی برای تلفن Android (یا دیگر دستگاه همراه Android تحت آزمایش) که می‌تواند درطول مسیر حرکت کند و با نشانگرهای ۰٫۵ متری که آن‌ها هم در ارتفاع ۲۰ سانتی‌متری از کف قرار دارند تراز شود.

  5. توصیه می‌کنیم در هر نشانگر ۵۰ نتیجه با فاصله‌های مختلف، همراه با فاصله از نقطه دسترسی، ضبط کنید. آمار، مانند میانگین محدوده و واریانس، باید برای هر موقعیت نشانگر محاسبه شود.

از نتایج مرحله ۵، نموداری برای حقیقت زمین (محور x) دربرابر محدوده تخمینی (محور y) رسم می‌شود و خط رگرسیون بهترین برازش تخمین زده می‌شود. واکنش ایده‌آل دستگاه به واسنجی، خطی با گرادیان ۱٫۰ و انحراف ۰٫۰ متر در محور y خواهد بود. انحراف از این مقادیر درصورتی قابل‌قبول است که در محدوده شاخص کلیدی عملکرد برای پهنای باند مربوطه باشد. اگر نتایج خارج از شاخص کلیدی عملکرد باشد، توصیه می‌کنیم ویژگی دستگاه را مجدداً کالیبره کنید تا نتایج در مشخصات شاخص کلیدی عملکرد قرار بگیرد.