稳定 iBeacons 上的 rssi
Posted
技术标签:
【中文标题】稳定 iBeacons 上的 rssi【英文标题】:Stabilize rssi on iBeacons 【发布时间】:2019-02-12 12:49:55 【问题描述】:我们尝试稳定几个信标的信号强度。我们有来自 kontakt.io 的信标,并扫描来自树莓派零的信标。我们得到 -40db 和 -87db 之间的信号强度,我们希望它更稳定。我们希望 rssi 的差异不超过 + -10db,最好尽可能低。这是我们正在开发的室内定位系统,这就是我们试图稳定 rssi 信号强度时代码的样子。它是用python编写的。 这两个是我们在代码中使用的公式:
distance = 10^((rssi at 1m - rssi)/20)
distance = rssi *fiterFactor + oldDistance *(1 - FilterFactor)
【问题讨论】:
这可能与***.com/questions/19906019/…重复 【参考方案1】:BLE 检测的 RSSI 存在很大差异是正常的,并且是预期的。距离信标越远,该范围越大,因为信噪比越低。
在使用信标进行距离估计时,正确设置期望值至关重要。在 1 米的实际范围内,您可能在 95% 的时间里估计距离在 0.5 到 2 米之间。在 10 米等较大范围内,您的估计值可能在 5 米到 40 米之间变化。
您的用例是否会产生上述结果?如果没有,您可能需要改进您的用例或查看其他技术,例如 RSSI 指纹识别。
即使实现上述非常粗略的结果也需要做一些事情:
-
将您的发射机功率设置为制造商允许的最佳信噪比。这应该是在 1 米处为您提供大约 -59 dBm 的水平。
将您的广告频率设置得尽可能高,至少 10Hz
在您的用例允许的情况下,对所有 RSSI 测量值进行平均 - 至少需要 1 秒才能获得约 10 个样本,如果您的用例允许,甚至需要 20 秒。 (Apple Core Location 平均超过 20 秒)。平均可以减少测量中的噪音。
【讨论】:
以上是关于稳定 iBeacons 上的 rssi的主要内容,如果未能解决你的问题,请参考以下文章
iOS 上的 Cordova 地理围栏和 iBeacon 插件冲突
如何使用 Objective-C 从 iOS 上的 iBeacon 数据包中获取信号强度值