【问题标题】:Finding the direction between two bluetooth devices (localization)查找两个蓝牙设备之间的方向(定位)
【发布时间】:2014-04-16 22:48:07
【问题描述】:

我有一个应用程序,它可以扫描另一部手机正在广播的特定 UUID,并测量它们之间的信号强度,并告诉你是离它们越来越近还是越来越远。我想为方向添加一个箭头。我知道如果你有 3 个点,你可以使用三角测量,但我想用 2 个点得到一些准确的东西。

有什么算法或建议有用吗?

我目前的想法(因为对于这个应用程序的用例,一个节点将相对静止)是在你走路时进行一些算法学习。就像如果你走得更远,箭头知道会忽略这个方向,并在你走不同的方向时不断完善自己。

我找到了一堆关于该主题的研究论文,但我不是电气工程师,所以很容易迷路。我也读了这篇文章,了解了很多陷阱How to measure distance between two iphone devices using bluetooth?

谢谢!

【问题讨论】:

    标签: android ios bluetooth


    【解决方案1】:

    这样的解决方案非常复杂。

    获取信号的方向需要的数据量远远超过正常应用程序所能提供的数据量。用户必须缓慢旋转手机,同时从各个方向采集许多样本。

    使用下面发布的公式可以在 12 米范围内获得相对距离,如您所说的“越来越近”或“越来越远”。超过 12 米,它变得非常有问题。但它相当复杂,需要您使用长度合适的移动平均解决方案。

    您可以使用以下公式计算RSSI与距离之间的关系:

    RSSI = -(10*n*log10(d) + A)
    

    在这种情况下, n = 路径损耗指数,因为您不需要精确的距离,只是一种检查距离是否更近或更远的方法,您可以使用 2 作为值,我发现这是大多数情况下最现实的值。 A = 在 1 米距离处测得的 RSSI 值,您需要提前测量该值以进行计算,但由于变化很大,请使用 -60dB 之类的值。在大多数情况下,这也是平均水平。

    因此可以通过以下公式来粗略地猜出以米为单位的距离:

    distance = 10 ^ ((-RSSI - 60) / (10 * 2));
    

    这不是很准确,但足以告诉您它是否在有限范围内更近/更远。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      相关资源
      最近更新 更多