根据 RSSI 和 TxPower 计算距离的正确方法

Pet*_*der 3 android altbeacon

我正在使用AltBeacon库来获取RSSITxPower值。

RSSI = -90 发射功率 = -83

我发现计算距离是通过使用以下公式完成的:

d = 10 ^ ((TxPower -Rssi) / 10n) (n ranges from 2 to 4)
Run Code Online (Sandbox Code Playgroud)

所以就我而言,这将是(n = 2):

d = 10 ^ (7 / 10 * 2) = 2.2387211385683394
Run Code Online (Sandbox Code Playgroud)

我的计算正确还是这个公式不好?另外,如果存在更好的距离计算公式是否可以获得可以在学士论文中使用的参考?

dav*_*ung 5

得出公式有两种方法:使用 (1) 科学或 (2) 工程。

科学的方法是尝试理解 RSSI 与距离的关系理论,并根据理论和实验提出一个预测公式。根据其他人的工作,与您所显示的类似的路径损耗公式是正确的方法。

然而,这是假设完美的条件和数据(RSSI 测量)不受与信号损失理论无关的因素的影响,信号损失理论为我们提供了方程。这些因素包括 A/D 转换器误差和 RSSI 传感器的偏差、每个蓝牙无线电通道上天线灵敏度的变化以及许多其他因素。

由于很难甚至不可能提出一个科学公式来解释所有这些复杂情况,因此常见的工程方法是绘制 RSSI 与距离的曲线,查看该曲线以找到形状相似的数学曲线,然后运行回归得出一个将数据拟合到该数学曲线的公式。然后可以使用该公式将 RSSI 转换为距离。

使用这种方法,理论并不重要,重要的是使用公式来预测距离的能力。我在第一部支持 BLE 的 iPhone 和 Nexus 4 上使用了这种技术,并得出了这个公式。 它并不完美,并且在不同的手机型号上效果不佳。但它比科学建议的路径损耗公式效果更好,可能是因为它考虑了路径损耗公式没有考虑到的其他现实因素。为了获得最佳结果,请在每个设备/信标对中运行您自己的回归。

无论您使用什么公式,请记住,您距离越远,距离估计就越差,因为信噪比会变弱,并且障碍物和多路径的影响会变得更加深远。期望在 1-3 米处获得合理的结果,但在 10m 和 30m 之间几乎无法辨别。