Android 设备处于运动状态时的 iBeacon 准确度
iBeacon Accuracy While Android Device In Motion
我正在使用 iBeacon 和 Altbeacon 测试定位系统。我发现我的三角测量结果实际上非常准确,但有时需要 5 秒以上才能看到正确的结果。
例如,假设我目前站在A点。 Altbeacon + 我的三角测量让我正确地放置在非常靠近 点 A 的位置。但是,当我移动 5 米远到 B 点 时,我在 A 点 附近停留了大约 6 秒,然后突然间我猛地站了起来就在 B 点 附近。这是 Altbeacon 的问题,还是我的 iBeacon 和我的 Android 平板电脑之间的通信问题?
注意:我使用的是 Kindle Fire 10,运行 在 Android 之上安装 FireOS 5.1.1。蓝牙 iBeacon 技术是 BLE,以 1Hz 左右的频率广播。
您描述的时滞问题可能是由信号测量的平均间隔引起的。你没有说你正在使用什么扫描框架,或者你是否使用原始 RSSI 或距离估计作为算法的输入。 Android Beacon Library 默认使用 20 秒的平均间隔(可配置)进行距离估计。其他框架使用类似的平均。
减少平均间隔会减少延迟,但会增加算法输入的噪声。
编辑: 要将距离估计采样间隔从默认的 20 秒减少到 3 秒,请调用:
RunningAverageRssiFilter.setSampleExpirationMilliseconds(3000l);
我以前试过你想做的事情。有很多问题导致无法获得正确的三角测量结果。
理论上它应该可以工作,但是
- 实际上你会遇到很多挑战,比如蓝牙Beacon使用2.4GHz频率,几乎所有的蓝牙Beacon都有非定向天线,这意味着你可能会冒着不测量信号源而是反射的风险信标包围的信号。
- 另一个事实是来自其他来源或您环境中的蓝牙信标的噪音。
- 根据Android phone型号的不同,蓝牙的接收天线不一定安装在phone的同一个地方,这意味着你如何握住phone将改变 RSSI 读数
- 将 phone 拿在手上或靠近人体也可能会给出不同的读数或根本没有读数,因为人体含有水,而水是蓝牙信号 reducer/killer 的信号。
因此即使您通过软件改善了蓝牙 Beacon 的延迟时间,您仍然会遇到这些挑战,几乎不可能获得正确的结果。
我看到了一个新的定向蓝牙信标我还没有测试它,但听起来它解决了一些提到的问题。
@davidgyoung 写的是正确的,但这不会改变现实世界的事实。
顺便说一句,我使用过 Altbeacon,这是一个非常好用且受人尊敬的工具,我使用了不同类型的蓝牙信标和不同的 phones 的 RSSI 和距离估计,但它并没有太大帮助,它是不是 Altbeacon 的问题。
关于我在评论中提到的大学 project,我们最终以不同的方式使用蓝牙 Beacon 来帮助我们找到针对视障人士的方向,并且我们已经就此开发了科学论文。
最后,为了了解你在做什么以及我在回答中提到的内容,请看这个video它展示了三角测量实验,顺便说一句,这个视频的提供者也是 Whosebug 的用户。
注意:我在这里的回答集中在三角剖分的背景上,这里的挑战使其不是一个好的解决方案。
我正在使用 iBeacon 和 Altbeacon 测试定位系统。我发现我的三角测量结果实际上非常准确,但有时需要 5 秒以上才能看到正确的结果。
例如,假设我目前站在A点。 Altbeacon + 我的三角测量让我正确地放置在非常靠近 点 A 的位置。但是,当我移动 5 米远到 B 点 时,我在 A 点 附近停留了大约 6 秒,然后突然间我猛地站了起来就在 B 点 附近。这是 Altbeacon 的问题,还是我的 iBeacon 和我的 Android 平板电脑之间的通信问题?
注意:我使用的是 Kindle Fire 10,运行 在 Android 之上安装 FireOS 5.1.1。蓝牙 iBeacon 技术是 BLE,以 1Hz 左右的频率广播。
您描述的时滞问题可能是由信号测量的平均间隔引起的。你没有说你正在使用什么扫描框架,或者你是否使用原始 RSSI 或距离估计作为算法的输入。 Android Beacon Library 默认使用 20 秒的平均间隔(可配置)进行距离估计。其他框架使用类似的平均。
减少平均间隔会减少延迟,但会增加算法输入的噪声。
编辑: 要将距离估计采样间隔从默认的 20 秒减少到 3 秒,请调用:
RunningAverageRssiFilter.setSampleExpirationMilliseconds(3000l);
我以前试过你想做的事情。有很多问题导致无法获得正确的三角测量结果。 理论上它应该可以工作,但是
- 实际上你会遇到很多挑战,比如蓝牙Beacon使用2.4GHz频率,几乎所有的蓝牙Beacon都有非定向天线,这意味着你可能会冒着不测量信号源而是反射的风险信标包围的信号。
- 另一个事实是来自其他来源或您环境中的蓝牙信标的噪音。
- 根据Android phone型号的不同,蓝牙的接收天线不一定安装在phone的同一个地方,这意味着你如何握住phone将改变 RSSI 读数
- 将 phone 拿在手上或靠近人体也可能会给出不同的读数或根本没有读数,因为人体含有水,而水是蓝牙信号 reducer/killer 的信号。
因此即使您通过软件改善了蓝牙 Beacon 的延迟时间,您仍然会遇到这些挑战,几乎不可能获得正确的结果。
我看到了一个新的定向蓝牙信标我还没有测试它,但听起来它解决了一些提到的问题。
@davidgyoung 写的是正确的,但这不会改变现实世界的事实。
顺便说一句,我使用过 Altbeacon,这是一个非常好用且受人尊敬的工具,我使用了不同类型的蓝牙信标和不同的 phones 的 RSSI 和距离估计,但它并没有太大帮助,它是不是 Altbeacon 的问题。
关于我在评论中提到的大学 project,我们最终以不同的方式使用蓝牙 Beacon 来帮助我们找到针对视障人士的方向,并且我们已经就此开发了科学论文。
最后,为了了解你在做什么以及我在回答中提到的内容,请看这个video它展示了三角测量实验,顺便说一句,这个视频的提供者也是 Whosebug 的用户。
注意:我在这里的回答集中在三角剖分的背景上,这里的挑战使其不是一个好的解决方案。