从 RSSI 和 TxPower 计算距离的正确方法
Correct way of calculating distance from RSSI and TxPower
我正在为 RSSI
和 TxPower
值使用 AltBeacon
库。
RSSI = -90
TxPower = -83
我发现计算距离是使用这个公式完成的:
d = 10 ^ ((TxPower -Rssi) / 10n) (n ranges from 2 to 4)
所以在我的例子中是 (n = 2):
d = 10 ^ (7 / 10 * 2) = 2.2387211385683394
是我计算正确还是这个公式有问题?另外,如果有更好的计算距离的公式,是否可以得到一个可以用于学士论文的参考?
有两种方法可以得出公式:使用 (1) 科学或 (2) 工程学。
科学的方法是尝试理解RSSI与距离的关系理论,并根据理论和实验得出一个预测它的公式。根据其他人的工作,类似于您所展示的路径损耗公式是正确的方法。
但是,这假设 完美 条件和数据(RSSI 测量)不受不相关因素的影响,信号损失理论给了我们方程式。这些因素包括 A/D RSSI 传感器中的转换器误差和偏差、每个蓝牙无线电信道上天线灵敏度的变化,以及许多其他因素。
由于很难甚至不可能想出一个科学的公式来解释所有这些并发症,一个常见的工程方法是绘制 RSSI 与距离的曲线,看在曲线上找到形状相似的数学曲线,然后 运行 进行回归以得出将数据拟合到该数学曲线的公式。然后可以使用该公式将 RSSI 转换为距离。
采用这种方法,理论并不重要,重要的是使用公式预测距离的能力。我在第一个 iPhone 和支持 BLE 的 Nexus 4 上使用了这种技术,并提出了 this formula 它并不完美,并且在不同的 phone 模型上效果不佳。但它比科学建议的路径损耗公式更有效,可能是因为它考虑了路径损耗公式没有考虑的其他现实世界因素。为获得最佳结果,运行 在每个 device/beacon 对中你自己的回归。
无论您使用什么公式,请理解随着信噪比变弱以及障碍物和多路径的影响变得更加深远,您离得越远,距离估计值就越差。期望在 1-3 米处有合理的结果,而在 10m 和 30m 之间几乎没有辨别能力。
我正在为 RSSI
和 TxPower
值使用 AltBeacon
库。
RSSI = -90 TxPower = -83
我发现计算距离是使用这个公式完成的:
d = 10 ^ ((TxPower -Rssi) / 10n) (n ranges from 2 to 4)
所以在我的例子中是 (n = 2):
d = 10 ^ (7 / 10 * 2) = 2.2387211385683394
是我计算正确还是这个公式有问题?另外,如果有更好的计算距离的公式,是否可以得到一个可以用于学士论文的参考?
有两种方法可以得出公式:使用 (1) 科学或 (2) 工程学。
科学的方法是尝试理解RSSI与距离的关系理论,并根据理论和实验得出一个预测它的公式。根据其他人的工作,类似于您所展示的路径损耗公式是正确的方法。
但是,这假设 完美 条件和数据(RSSI 测量)不受不相关因素的影响,信号损失理论给了我们方程式。这些因素包括 A/D RSSI 传感器中的转换器误差和偏差、每个蓝牙无线电信道上天线灵敏度的变化,以及许多其他因素。
由于很难甚至不可能想出一个科学的公式来解释所有这些并发症,一个常见的工程方法是绘制 RSSI 与距离的曲线,看在曲线上找到形状相似的数学曲线,然后 运行 进行回归以得出将数据拟合到该数学曲线的公式。然后可以使用该公式将 RSSI 转换为距离。
采用这种方法,理论并不重要,重要的是使用公式预测距离的能力。我在第一个 iPhone 和支持 BLE 的 Nexus 4 上使用了这种技术,并提出了 this formula 它并不完美,并且在不同的 phone 模型上效果不佳。但它比科学建议的路径损耗公式更有效,可能是因为它考虑了路径损耗公式没有考虑的其他现实世界因素。为获得最佳结果,运行 在每个 device/beacon 对中你自己的回归。
无论您使用什么公式,请理解随着信噪比变弱以及障碍物和多路径的影响变得更加深远,您离得越远,距离估计值就越差。期望在 1-3 米处有合理的结果,而在 10m 和 30m 之间几乎没有辨别能力。