Android WLAN RTT (IEEE 802.11mc)

Android 9 中的 Wi-Fi 往返时间 (RTT) 功能允许设备测量与其他支持设备的距离:无论它们是接入点 (AP) 还是 Wi-Fi 感知对等设备(如果设备支持 Wi-Fi 感知功能)。此功能基于 IEEE 802.11mc 协议,使应用能够使用准确性更高的定位功能和增强的感知功能。

示例和源代码

如需使用此功能,请实现供应商 HAL 接口。在 Android 14 及更高版本中,供应商 HAL 接口使用 AIDL 进行定义。在 Android 13 及更低版本中,供应商 HAL 接口使用 HIDL 进行定义。在 Android 8.0 中,HIDL 取代了之前使用的硬件抽象层 (HAL) 结构,以便通过指定收集到接口和软件包的类型和方法调用来简化实现流程。

按照 Wi-Fi 接口来使用 Wi-Fi RTT 功能。取决于实现的是哪种接口,这是:

  • AIDL:hardware/interfaces/wifi/aidl
  • HIDL:hardware/interfaces/wifi/1.0 或更高版本。

您可以参考旧版 Wi-Fi HAL 来了解它与 AIDL 和 HIDL 接口之间的关系: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h

实现

要实现 WLAN RTT,您必须提供框架和 HAL/固件支持:

  • 框架:

    • AOSP 代码
    • 启用 WLAN RTT:需要功能标记
  • WLAN RTT (IEEE 802.11mc) HAL 支持(意味着固件支持)

如需实现此功能,请实现 Wi-Fi AIDL 或 HIDL 接口,另外还要启用功能标志:

  • 在位于 device/<oem>/<device> 的 device.mk 中,修改 PRODUCT_COPY_FILES 环境变量,以便支持 WLAN 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 中。

随机分配 MAC 地址

为加强隐私保护,在 WLAN RTT 事务期间使用的 MAC 地址必须是随机分配的地址,即不得与 WLAN 接口的原生 MAC 地址一致。不过,有一种例外情况:如果某个设备与 AP 相关联,则此设备可能会使用与其相关联的 MAC 地址来处理与此 AP 或其他 AP 之间的任何 RTT 事务。

验证

这项功能有适用的 Android 兼容性测试套件 (CTS) 测试。CTS 会检测何时启用了这项功能,并会自动包含相关测试。您也可以使用供应商测试套件 (VTS) 和 acts/sl4a(用于执行扩展集成测试的测试套件)测试此功能。

单元测试

使用以下测试执行 WLAN RTT 软件包测试:

服务测试:

atest com.android.server.wifi.rtt

Manager 测试:

atest android.net.wifi.rtt

集成 (ACTS) 测试

acts/sl4a 测试套件(在 /tools/test/connectivity/acts_tests/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 规范。

为了深入理解IEEE 802.11ai标准如何实现快速初始链路设置(FILL)并提升无线局域网(WLAN)的连接效率,我们有必要探讨其工作机制及对网络性能的具体影响。IEEE Std 802.11ai™-2016标准为WLAN的MAC和PHY层提供了修订,强调了在连接设置过程中的快速响应。 参考资源链接:[IEEE 802.11ai快速初始链路设置标准简介](https://wenku.csdn.net/doc/1zmxy0vtcj?spm=1055.2569.3001.10343) 在FILL机制中,设备利用缓存的信息,如之前的认证和扫描结果,来加速新连接的建立。这一技术涉及到几个关键步骤,包括快速扫描、关联请求的确认、以及优化的认证过程。快速扫描允许设备在极短的时间内识别可用的网络,而关联请求确认则是减少往返时间(RTT)的一个步骤,使得设备能够快速接收到网络的确认信号。 此外,IEEE 802.11ai标准还考虑了多用户同时连接的情况,通过高效的多用户同步机制减少了网络拥堵,提升了网络容量。这些改进使得网络不仅在连接速度上有所提升,而且在处理多个设备的并发连接时也表现更加高效。 在网络安全方面,标准也考虑到了改进,以保证尽管连接过程被加速,数据的安全性不会受到影响。这包括了对加密和认证机制的增强,确保即使在快速连接的环境下,数据传输的安全性也得到保障。 对于网络性能的提升,IEEE 802.11ai的FILL技术减少了设备从空闲状态到建立起连接状态所需的时间。这种快速响应机制特别适合于移动设备和物联网设备,它们频繁地开启和关闭连接,或是需要快速切换网络。因此,用户在使用这些设备时体验到的漫游延迟大大减少,数据传输的效率得到了显著提高。 总的来说,IEEE 802.11ai标准通过增强的FILL技术,不仅改善了连接速度,还提高了WLAN的网络容量和用户的连接体验。对于希望掌握现代无线网络技术的工程师和研究人员来说,了解这些标准和技术细节是必不可少的。IEEE Std 802.11ai™-2016标准的详细内容可以在IEEE官方资源中找到,为深入学习提供了权威资料。 参考资源链接:[IEEE 802.11ai快速初始链路设置标准简介](https://wenku.csdn.net/doc/1zmxy0vtcj?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值