我正在使用Radius Networks的iBeacon。目前我正在尝试使用RSSI计算android设备和RadBeacon标签之间的距离。就像David Young提到here时,Android设备有不同的天线。我对以下论坛的经验与我的Nexus 7相结合并不是很好。
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;
}
}
任何人都可以为我提供不同的距离计算公式或不同距离的RSSI /距离测量数据吗?
答案 0 :(得分:0)
通过测量不同距离的RSSI并根据上述公式进行回归,找到最佳拟合系数,可以获得特定设备的最佳结果。您可以在此处阅读建议距离的说明:
http://altbeacon.github.io/android-beacon-library/distance-calculations.html
然后,您可以将数据导入R(自由统计计算软件)并使用nls函数(非线性最小二乘法)使数据与功率曲线拟合。这是功率曲线方程:function(x,b0,b1,b2){b0 + b1 *(x ^ b2)}
nls函数求解系数b0,b1和b2,它们用于A,B和C的公式。
以下是R中曲线拟合的教程,以获取更多信息:
答案 1 :(得分:0)
此应用程序可以帮助您直接获取距离公式的系数或收集所有必要的数据来自己计算 https://play.google.com/store/apps/details?id=com.msl.ibeaconchef