Bluetooth篇 开发实例之六 蓝牙RSSI计算距离

时间:2024-03-10 11:54:53

计算公式:

    d = 10^((abs(RSSI) - A) / (10 * n))

其中:

    d - 计算所得距离

    RSSI - 接收信号强度(负值)

    A - 发射端和接收端相隔1米时的信号强度

    n - 环境衰减因子

 

计算公式的代码实现

- (float)calcDistByRSSI:(int)rssi
{
    int iRssi = abs(rssi);
    float power = (iRssi-59)/(10*2.0);
    return pow(10, power);
}

传入RSSI值,返回距离(单位:米)。其中,A参数赋了59,n赋了2.0。

 

由于所处环境不同,每台发射源(蓝牙设备)对应参数值都不一样。按道理,公式里的每项参数都应该做实验(校准)获得。

当你不知道周围蓝牙设备准确位置时,只能给A和n赋经验值(如本例)。

原文:http://blog.csdn.net/njchenyi/article/details/46981423