首页 > 解决方案 > 蓝牙RSSI值波动

问题描述

我正在尝试使用 RSSI 值在我的家中创建定位系统。

我使用 neXenio 库作为基础,我对此所做的唯一更改是实现对数据库的日志记录: https ://github.com/neXenio/BLE-Indoor-Positioning

我正在为信标使用 4 个 Minew I7,它们目前设置为仅以 300 毫秒广播 iBeacon 类型的广告。它们位于方形房间和十字型布局中,每个信标相距约2.2m。除了普通的客厅家具外,没有明显的障碍物。对于每次测试,我都会将手机放在房间中央,一次收集大约 10-15 分钟的数据。数据被发送到数据库供我查看。

我遇到的问题是信号强度一直波动很大,以至于数据基本上无法使用。 典型测试运行的图表

当手机完全静止时,应该会有那么大的差异吗?我希望与信号传播的性质有一些细微的差别,但不会有这么大。

这是可以预料的还是可以以某种方式改进这些?如果这是预期的,那么我将不得不考虑结合其他一些传感器数据来帮助提高准确性。

谢谢

编辑:

在运行了更多测试之后,我比较了一段时间内的值(我之前只比较了 rssi、distance 和 mac 地址)。这导致找到一个持续的振荡模式最新的测试运行

这也让我想到了这个overstack问题: 蓝牙RSSI中出现的规律振荡是否有解释?

如果我只宣传 iBeacon 类型的广告,那么这不适用吗?但它与我的问题相匹配似乎很奇怪。

标签: androidbluetoothbluetooth-lowenergyindoor-positioning-system

解决方案


您不能对当前使用的设备做太多事情。即使你静态地稳定信号,移动过程中也会有很多噪音。您可以尝试:

  • 将信号加厚到 100 毫秒。不幸的是,这会影响电池消耗,

  • BLE 在 3 个通道(37、38、39)上传输数据包。天线可能没有调谐到所有 3 相同。如果您可以选择更改广告渠道,请尝试测试不同的设置。

  • 如果您可以选择焊接或连接外部天线,定向天线可能有助于室内定位系统。

有很多方法可以稳定 rssi 信号。如果您对此主题感兴趣,我建议您查看以下文章:

https://scholar.google.com/scholar?hl=pl&as_sdt=0%2C5&q=stabilization+rssi+method&btnG=

在我看来,这个方法对你最有用:

https://www.wouterbulten.nl/blog/tech/kalman-filters-explained-removing-noise-from-rssi-signals/ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5461075/

AoA 和 AoD 方法也可能让您感兴趣:

https://www.bluetooth.com/blog/new-aoa-aod-bluetooth-capabilities/

我希望这会有用


推荐阅读