Android 如何利用RSSI改进蓝牙测距?
对于我的项目,我需要估计智能手机和蓝牙模块之间的距离。估计不一定要非常精确。我只需要确定距离,误差范围约为Android 如何利用RSSI改进蓝牙测距?,android,bluetooth,bluetooth-lowenergy,ibeacon,rssi,Android,Bluetooth,Bluetooth Lowenergy,Ibeacon,Rssi,对于我的项目,我需要估计智能手机和蓝牙模块之间的距离。估计不一定要非常精确。我只需要确定距离,误差范围约为50cm 我测试了两个蓝牙模块的RSSI,距离步长为10厘米。我测量了每一步的RSSI 5次,得到了5次测量的平均值。平均值如下图所示: 红色和蓝色线条类似于两个蓝牙模块。你可以看到结果不是很线性的。其中一个原因是干扰,所以我寻找解决干扰问题的方法。我发现有两种方法: 信噪比(SNR): iBeacon信号强度(rssi)与校准发射机功率(txPower)之比。txPower是rssi距
50cm
我测试了两个蓝牙模块的RSSI,距离步长为10厘米。我测量了每一步的RSSI 5次,得到了5次测量的平均值。平均值如下图所示:
红色和蓝色线条类似于两个蓝牙模块。你可以看到结果不是很线性的。其中一个原因是干扰,所以我寻找解决干扰问题的方法。我发现有两种方法:
- 信噪比(SNR):
- iBeacon信号强度(
)与校准发射机功率(rssi
)之比。txPower
是txPower
距离rssi
1米处的已知测量信号强度:
rssi
/txPower
,我只需从模块测量1米处的rssi
即可获得txPower
。所以我知道所有需要的值。但我不知道从现在起该怎么办。如何使用这些值获得更精确的距离估计
我还可以使用其他技术来提高准确性吗?您正遇到这项技术的实际限制。在理想条件下,短距离(2米以下)而非长距离超过10米时,可以获得+/-50厘米的估计精度
我在这里写了一篇关于限制的博文:
要回答您的具体问题:
不,没有实用的方法知道单个RSSI测量的哪一部分来自信号,哪一部分来自噪声。您可以对多个采样进行平均,如果发射机和接收机在采样间隔内保持静止,则可以部分消除噪声
您询问的技术确实可以为您提供距离估计,但它们具有上述技术的局限性
嗨,谢谢你的链接,非常有洞察力的信息。我测试了蓝牙模块的txRadio值,精确到59 dBm。我在您提供的链接中使用了示例代码,其准确性足以满足我的需要。但是,只有当蓝牙模块与手机之间没有任何连接时,才会出现这种情况。即使将我的手放在两者之间,也会引起几米的波动,而rssi值的波动要小得多。这与您的调查结果相符吗?是的,由于衰减,障碍物会导致不同的RSSI水平。你所描述的用手看到的东西似乎比我所看到的要多一些,但这肯定是可能的。