寻找两个蓝牙设备之间的方向(本地化)

时间:2014-04-16 22:48:08

标签: android ios bluetooth

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

任何有用的算法或建议?

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

获取信号的方向需要的数据远远超过普通应用程序的使用范围。用户必须慢慢旋转手机,同时拍摄所有方向的许多样本。

获得相对距离,就像你说的那样"越来越近了#34;或者"走得更远"使用下面公布的公式,有可能在12米范围内。超过12米,它变得非常多。但它非常复杂,需要您使用移动平均解决方案,其长度应该是您认为合适的。

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

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

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

因此可以通过以下公式获得以米为单位的粗略猜测距离:

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

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