根据rssi计算距离

在某个项目当中由于部署了一些无线设备进行数据的采集,须要对采集到的数据进行距离的断定。因此会用到根据rssi来进行计算(rssi是设备的信号强度,为负数)。部署

其计算公式为
d=10^((ABS(RSSI)-A)/(10*n))
其中
A为距离设备1米时的rssi 绝对值。
n为环境衰减因子。
Python的代码实现为class

def rssiRange(rssi):
A = -38.0
n = 27.0
iRssi = abs(rssi)
power = float(( iRssi - A ) / ( 10 * n ))
result = pow(10 , power)
return resultfloat

其中在实际运用当中,由于部署环境不一样,好比信号干扰等因素。如两个部署在一块儿的设备,若是采用一样的n去计算距离的话会有必定的误差。因此在进行设备部署的时候,须要根据设备的部署状况手动矫正一下n的设定。 通常能够采用计算平均值的方式来设定。
数据