altbeacon - 计算距离的常数

Posted

技术标签:

【中文标题】altbeacon - 计算距离的常数【英文标题】:altbeacon - constants for calculating distance 【发布时间】:2015-01-14 11:15:08 【问题描述】:

我正在使用 iBeacons 撰写关于室内导航的学士论文。为此,我使用三边测量来找到我的位置。我一直在使用 android beacon 库,现在称为 AltBeacon 库来检测信标并计算距离。我注意到,我得到的距离不是那么准确,在这里搜索了一些之后,我看到了 DavidYoung 的一篇文章,说因为大多数设备都有不同的蓝牙天线,所以我在计算距离时必须考虑到这一点。 AltBeacon 库像这样计算距离(取自 DavidYoungs post):

protected static double calculateAccuracy(int txPower, double rssi) 
  if (rssi == 0) 
    return -1.0; // if we cannot determine accuracy, return -1.
  

  double ratio = rssi*1.0/txPower;
  if (ratio < 1.0) 
    return Math.pow(ratio,10);
  
  else 
    double accuracy =  (0.89976)*Math.pow(ratio,7.7095) + 0.111;    
    return accuracy;
  
   

我现在的问题是: 我如何计算我的 Lg G2 的这些值(0.89976、7.7095、0.111),并从信标以特定米的间隔进行 RSSI 测量? 我发现this 作为计算系数的测量值的示例。

Nexus 5 距离数据

仪表 RSSI 0.25 -41 0.5 -43 1 -49 2 -65 3 -58 4 -57 5 -67 6 -67 7 -77 8 -70 9 -69 10 -75 12 -72 14 -72 16 -78 18 -83 20 -81 25 -81 30 -75 40 -83

Android 设备: 版本:4.4.2 内部版本号:LPV79 型号:Nexus 5 制造商:LGE 信标信息: RadBeacon 标签 每秒广告数:10 发射功率:最大 iPhone 5s 平均 RSSI @1m:-51

为这些值计算的距离公式系数: 拦截:0.1820634 乘数:0.8229884 电源:6.6525179

术语截距表示线性回归,但是当我将值放入线性回归计算器时,它给出的结果与这些值相去甚远。 我希望你能帮助我,我的问题很清楚:)

【问题讨论】:

【参考方案1】:

在进行最佳拟合回归时,您可以使用多种公式。对于距离计算,我们使用功率曲线,免费的 R 统计包支持拟合。您可以在此处阅读有关如何执行此操作的更多信息:

https://github.com/AltBeacon/android-beacon-library/issues/47

虽然获取特定于设备的公式将帮助您获得更好的距离估计,但您从三边测量输出中看到的大部分错误可能来自信号噪声、衰减障碍物和多路径。了解即使使用特定于设备的公式,信标测距也是不精确的,并且距离设备越远,精度就越差。为减轻这些影响,请尽可能将您的信标隔开,尽可能让您的信标与移动设备保持清晰的视线。

【讨论】:

谢谢你,我已经到了不得不说这不是很实用的地步。我有多个阶段,我取值的平均值并考虑实施步行路径,这大大限制了可能的位置。但这一切都需要花费大量时间,这要归功于广告间隔缓慢。我刚刚查看了您发布的链接,这解决了我的问题,谢谢:) 关于缓慢的广告间隔,有帮助的一件事是将其增加到至少 10Hz。这会在一段时间内为您提供更多样本以进行平均,这有助于滤除噪音。 在配置信标时我还没有找到该选项。我会再次检查,谢谢:)

以上是关于altbeacon - 计算距离的常数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 地理定位:检查距 2 gps 坐标的距离

[计算几何]离大海的最远点在哪里

[COCI2009]Dvapravca 计算几何

圆锥曲线总结一(椭圆)

双曲线,抛物线上的三角形面积一般都咋求,?

点到平面的距离怎么计算?