根据rssi计算距离
2019-01-31 本文已影响4人
ScottX
在某个项目当中因为部署了一些无线设备进行数据的采集,需要对采集到的数据进行距离的判定。所以会用到根据rssi来进行计算(rssi是设备的信号强度,为负数)。
其计算公式为
d=10^((ABS(RSSI)-A)/(10*n))
其中
A为距离设备1米时的rssi 绝对值。
n为环境衰减因子。
Python的代码实现为
def rssiRange(rssi):
A = -38.0
n = 27.0
iRssi = abs(rssi)
power = float(( iRssi - A ) / ( 10 * n ))
result = pow(10 , power)
return result
其中在实际运用当中,因为部署环境不同,比如信号干扰等因素。如两个部署在一起的设备,如果采用同样的n去计算距离的话会有一定的偏差。所以在进行设备部署的时候,需要根据设备的部署情况手动矫正一下n的设定。 一般可以采用计算平均值的方式来设定。
。