Normally, in our Bluetooth beacon or Bluetooth gateway positioning project, the distance is calculated by RSSI, then how do we calculate it? The following is the specific formula:
d=10^((abs(RSSI)-A)/(10*n))
d means calculated distance
RSSI means received signal strength (negative value)
A means The signal strength when the transmitting end and the receiving end are separated by 1 meter.
n means Environmental attenuation factor.
The calculation formula Python code is implemented as def rssiRange(rssi):
A = -38.0
n = 27.0
iRssi = abs(rssi)
power = float(( iRssi – A) / (10 * n ))
result = pow(10, power)
return result
In practical applications, because of different deployment environments, such as signal interference and other factors. For example, if two devices are deployed together, if the same n is used to calculate the distance, there will be a certain deviation. Therefore, when deploying equipment, you need to manually correct the setting of n according to the deployment situation of the equipment. Generally, it can be set by calculating the average value.