altbeacon - 用于计算距离的常数

时间:2015-01-14 11:15:09

标签: android ibeacon altbeacon


我正在使用iBeacons撰写关于室内导航的学士论文。为此,我使用trilateration来找到我的位置。我一直在使用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
  build_number:LPV79
  型号:Nexus 5
  制造商:LGE
  
  灯塔信息:
  RadBeacon标签
  每秒广告数:10
   发射功率:最大
  
  IPhone 5s平均RSSI @ 1m:-51

     

为这些值计算的距离公式系数:

  拦截:0.1820634
  乘数:0.8229884
  功率:6.6525179

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

1 个答案:

答案 0 :(得分:3)

在进行最佳拟合回归时,您可以使用多种公式。对于距离计算,我们使用功率曲线,自由R统计包支持拟合。您可以在此处详细了解如何执行此操作:

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

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