繁体   English   中英

蓝牙低功耗RSSI会定期在Android设备上更改

[英]Bluetooth-Low-Energy RSSI changes periodically on Android devices

我注意到在Androids上接收的蓝牙低能量的信号强度在周期中是变化的。 下图表示两分钟内一个BLE信标的RSSI值。 接收Android和信标都是静态的,距离为1米。 我确保尽可能降低干扰。 Android是Nexus 5,但我和其他Android设备有相同的现象,都在API 21上运行。我还没能在iOS上测试它。

RSSI图

您可以看到RSSI每15秒重复有3个主要级别,如低 - >中 - 高 - >低 - >中 - >高等。

我的猜测是,原因在于android方面,不确定是否是因为硬件或软件原因。

为什么RSSI会随着时间的推移而循环? 谁能解释一下?

在阅读了很多主题之后,我可能会得到一个答案。

蓝牙低功耗信标使用三种不同的信道进行广告,这是他们适应跳频以避免干扰其他2.4GHz信号。 这种情况比普通蓝牙(1600 / s)慢得多 - 根据我每5秒测量一次。

更多信息: http//www.argenox.com/bluetooth-low-energy-ble-v4-0-development/library/a-ble-advertising-primer/

接收信号强度显然取决于频率,因此如果频率改变到另一个信道,则RSSI是不同的。 如何处理这个问题现在是一个不同的问题。

更新:在跟进此问题后,我必须更新我的评论:

每个5s左右的三个级别很可能不是由于信标慢速跳频而直接由于信标慢速跳频而是由于Android设备在信道上单独扫描并且在这样的时间间隔之后切换到下一个。

克服此行为的一种方法是在循环中启动和停止扫描过程,以便扫描持续时间少于5秒。 开始扫描时,设备似乎始终在同一通道上开始扫描,并且重新开始扫描,然后才能切换到其他通道。 通过重新启动,模式不再可检测 - 缺点是信道是“固定的”并且可能在该频率上受到干扰。 感谢Airsource有限公司带我回到这个问题。

根据Android AOSP - android源代码中扫描间隔和扫描窗口的定义,任何扫描模式下的扫描间隔为5000ms。

我假设您的图表是通过使用连续扫描的应用程序生成的 - 即5000ms的扫描窗口,基本上是连续的。

每次扫描间隔后,扫描仪将在通道37,38,39之间旋转,这可以解释您观察到的差异。 通道37,38,39在BLE光谱中不是连续的--37是2402Mz而39是2480Mz。 波长的差异意味着每个通道的多路径(来自反射的干扰)衰落将是不同的http://www.cl.cam.ac.uk/~rmf25/papers/BLE.pdf - 你说这些设备是静态的,所以如果没有别的东西在移动,那么干扰也是静态的。

在iOS上, 据报道扫描间隔(前景) 40ms,这意味着您不应该体验到这种精确的效果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM