首页 > 解决方案 > iPhone和Android模拟信标在相同距离下RSSI差异很大

问题描述

我写了一个应用程序来检测信标并通过 RSSI 计算距离。当我使用 iPhone/android 模拟作为信标时,RSSI 会产生很大差异。比如我把 iPhone 放在离 BLEscanner 3M 远的地方,RSSI 是 -65。但在同一个地方,android 设备的 RSSI 将是-80 或更高。 有谁知道如何调整RSSI的差异?

标签: androidiphonebeaconrssi

解决方案


正如您所发现的,每种手机型号的蓝牙传输功率都略有不同。同样,每种手机型号的接收器灵敏度也略有不同。更改用于发送和接收的手机型号会影响您接收的 RSSI。

由于两个主要原因,您无法完全纠正这些差异:

  1. 还有许多其他因素会影响 RSSI,这些因素与手机型号无关(信号反射、空气或障碍物的衰减、手机壳的影响、附近拿着手机的手或其他人身体部位。)
  2. 关于手机在蓝牙发射功率和接收灵敏度方面的差异数据有限。

考虑到这些警告,谷歌确实创建了一个有限的校正因子数据集,作为其与苹果公司的冠状病毒接触者追踪工作的一部分。

你可以在这里阅读它是如何工作的

并在此处查看完整的校正数据集

基本思想是:

  1. 从上面的 CSV 数据集中为您的测试设置获取两个值:

在下面的等式中,使用传输电话型号的“tx”列值作为其“TX_Power”。对接收电话使用“RSSI_correction”列值。

  1. 然后将它们代入这个方程:

Attenuation = TX_power - (RSSI_measured + RSSI_correction)

  1. 产生的衰减值是发射器和接收器之间的校正信号损耗(以 dB 为单位测量,可用类似于 RSSI),可用作距离公式的输入。

推荐阅读