蓝牙 RSSI 中出现的规律振荡是否有解释?

2023-12-05

我正在使用 kontakt.io 蓝牙 eddystone UID 信标和使用 alt-beacon 库的 Android 应用程序(在三星 Galaxy S5 上运行,尽管我怀疑这是否相关)。

我已经在不同条件下进行了一系列试验,并正在努力确定通过多个信标信号的三边测量进行高精度跟踪的可行性。

我多次注意到 Android 设备检测到信标 RSSI 的定期振荡。

这是更极端的例子之一。正如您所看到的,感知信号强度(RSSI)在 3 个不同的 RSSI 级别之间波动,每 5 秒切换一次(~-75dBm, ~-90dBm, ~-85dBm).

RSSIvsTime graph

绘制的信标距离设备 2.5 m,信标和设备之间没有障碍物。该信标以及同时测试的其他信标均设置为最小广告间隔和最大 TxPower。我不会声称测试环境周围的条件是理想的(例如,靠着玻璃墙),但它们是恒定的,环境中几乎没有移动。

我最初的想法是蓝牙的跳频,但经过进一步调查,跳频频率为 1600/s。我或我的同事的另外两个理论是 1:来自该区域的多个蓝牙信标的奇怪干扰,或 2:信标中的自适应信号强度,但信标中似乎没有逻辑(并且有该解释没有意义的其他原因)


我相信你所看到的实际上是基于在三个 BLE 广告通道 37/38/39 中每个通道上看到不同的典型 RSSI 级别。

我对广告和扫描流程的理解如下:

  1. 广告设备将在所有三个广告渠道上发送每个广告。

  2. 当扫描设备处于扫描模式时,一次将仅扫描三个广告频道之一。它将按照设备特定的时间间隔(范围从 2.5 毫秒到 10,240 毫秒)在这些通道之间切换。显然,在此间隔期间的任何检测都将针对扫描仪所在的通道。

从图中可以看出,Galaxy S5 在单个通道上扫描的时间处于该限制的上限范围内——每次大约 10 秒。我之前在三星设备上测试检测到的 BLE 广告 RSSI 级别时注意到了这一点。这是我在 Galaxy S6 Edge 上制作的图表,显示了类似的模式。请注意,RSSI 范围的常见三个频带表明了三个通道。 X 轴的单位是秒,表明频道在您看到的相似周期内发生变化。在我的图表中,每次测量的噪声都较大,可能是因为我在 5m 的两倍距离处进行了测量。

BLE RSSI vs. Time

我发现这篇论文很好地解释了广告和发现过程:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4327007/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝牙 RSSI 中出现的规律振荡是否有解释? 的相关文章

  • Android 蓝牙 Le 扫描仪在一段时间后停止

    我正在使用活动的蓝牙 LE 扫描仪运行应用程序或服务 并在日志控制台上显示扫描结果 如果我把手机锁在桌子上不再碰 一段时间后它停止了 并且没有给我更多的扫描结果 如果我按下电源按钮并且屏幕唤醒 它会给我更多扫描结果 如果我再次锁定屏幕或等待
  • 如何与OBD-II设备通信

    有OBD II类似设备http www rczd com c 2015 Car Diagnostic Tools 0223 41193 html http www rczd com c 2015 Car Diagnostic Tools 0
  • CodenameOne 用于蓝牙连接的后台任务

    我正在使用 Codename One 开发一个应用程序 它连接到蓝牙 LE 专有外部设备并记录接收到的数据 平均数据大约每秒到达一次 我正在使用蓝牙 LE CN1 库 https github com chen fishbein bluet
  • 如何使用node.js从蓝牙设备接收数据

    我是 javascript 和 node js 的新手 目前从事医疗项目 首先我将解释我的工作 我必须从蓝牙设备接收数据 正常血压率 脉搏率 并使用 node js 在 Web 应用程序中显示读数 我不知道如何从蓝牙设备 病人监护仪 接收数
  • Bluecove:以编程方式重新启动蓝牙堆栈

    我正在尝试关闭蓝牙服务 但 Bluecove 在连接关闭方法上有错误 https code google com p bluecove issues detail id 90 https code google com p bluecove
  • iOS 蓝牙应用程序仅在后台模式下“由于信号 9 而终止”

    我正在 Objective c 中开发一个 IOS 应用程序 它显示来自蓝牙 BLE 的心率以及相应的图形 如果应用程序在前台运行 则一切都可以正常分叉 没有任何问题 但是 如果应用程序进入后台模式 BLE 测量仍然会继续 我正在使用 使用
  • 没有姓名或地址。 CBCentralManager 不再在 macOS 12 上运行

    自从我将 macOS 更新到 macOS 12 以来 我每次在使用 CoreBluetooth 时都会遇到问题 在我的一个应用程序中 我将使用以下命令列出所有 BLE 设备CGCentralManager class 这已经有效多年了 但现
  • bluez 同时具有经典和低能耗设备

    Linux下的bluez是否可以同时连接多个经典和低能耗设备 bluez 网站提供这样的信息不是很有帮助 是的 我已经成功同时连接到 7 个低能耗设备 最大值因您使用的硬件而异 您还可以连接到多个经典设备 以下是我用于通过 L2CAP 连接
  • C# 32feet.Net:在单独的线程中处理两个蓝牙连接,给出 SocketException

    我正在编写一个 C 控制台应用程序 使用32feet Net该库创建两个线程来搜索并连接到不同的蓝牙设备 然后打开 TCP 套接字 以便可以通过网络连接将数据传递到设备 我知道这种情况听起来很奇怪 但一位资深同事要求我这样做 我的代码似乎在
  • 蓝牙广播

    我想使用蓝牙将数据从一台设备广播到附近的众多设备 现在 我知道蓝牙广播的存在 但是可以使用 Android 现有的 API 吗 如果没有 是否有其他可用的第三方 API 有能力实现这一点 关于蓝牙广播的另一个问题 您是否可以开始收听正在进行
  • OS X 蓝牙编程

    我想创建 OS X 应用程序以通过蓝牙与 Lego Mindstorms NXT 2 0 配合使用 我尝试用 Objective C 和 Python 来实现 但是两者都存在一些问题 关于目标 C 我只发现this https develo
  • Bonjour 通过蓝牙无需 Gamekit ?

    我想知道在 iPhone OS 3 0 或更高版本中直接通过蓝牙使用 bonjour 而不使用 GameKit 的可能性 谁能提供任何例子吗 只需宣布服务 就像tc 下面已经说了 https stackoverflow com q 3845
  • 通过蓝牙检测附近的另一台 Android 设备

    好吧 我这里有一个有点奇怪的问题 我正在开发一款 Android 游戏 我希望 Android 手机能够检测到彼此的存在 搜索其他玩家的设备将知道其他玩家设备的蓝牙 MAC 地址 来自游戏数据库 但是设备不会配对 并且设备不会处于可发现模式
  • 扫描 iPhone 范围内的蓝牙设备需要多长时间?

    我知道 iPhone 蓝牙功能要到 3 0 才能通过 SDK 访问 但是需要多长时间才能找到该区域的设备 它取决于该区域的设备数量吗 如果范围内有大约 5 个设备 扫描发现所有设备是否需要花费 30 秒的时间 我知道有很多未知因素 但我试图
  • Android BLE API:未收到 GATT 通知

    用于测试的设备 Nexus 4 Android 4 3 连接工作正常 但onCharacteristicChanged我的回调方法从未被调用 但是我正在使用注册通知setCharacteristicNotification char tru
  • 如何使 Raspberry Pi 3 可被 iOS 和 CoreBluetooth 发现?

    我有一个 Raspberry Pi 3 我正在尝试使其可供 iOS 设备发现 我跑了sudo hciconfig hci0 piscan让它被发现 我可以用我的 iMac 看到它 在 iOS 上 我使用 CoreBluetooth 并扫描附
  • Mac OS 上的 pybluez 安装错误

    我尝试安装pybluez使用以下命令 pip install pybluez sudo easy install pybluez 但对于这两个命令我最终都会出错 环境 Mac OSX 10 9 1 Python 2 7 点日志 cc fno
  • 蓝牙连接;无法正确发送字符串

    当我需要将字符串从服务器蓝牙套接字发送到客户端蓝牙套接字时 我的程序遇到了麻烦 只要我一次只发送一个字符串 例如聊天 一切都可以正常工作 但是如果我需要在短时间内编写更多字符串 以交换信息 则字符串将不会与客户端代码分离 例如 如果我发送
  • Android:每秒更新蓝牙 RSSI

    我试图每秒显示蓝牙信号强度 RSSI Timer 来自检测到的设备 但我无法调用onRecive 多次因为接收器生命周期 http developer android com reference android content Broadc
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst

随机推荐