Bluetooth LE can be used to infer distance as is being used in contact tracing and social distancing apps. This is performed from the receiving end using what’s called the Received Signal Strength Indication (RSSI). This is a number, in dBm units produced by the receiving Bluetooth hardware that gives the wireless signal strength.
[dBm stands for Decibel-milliwatt, a unit used to measure radio frequency (RF) power level. dB (without the ‘m’) measures the power of a signal as a function of its ratio to another standardized value and the m in ‘dBm’ indicates we are comparing relative to 1 mW of power.]
RSSI is a negative value where the more negative it is, the further away the Bluetooth device. Close devices are usually in the range -10 dBm to -30 dBm while devices at the limit of detection give values less than -90 dBm.
Our post on Testing if a Beacon is Working shows how to use the nRF Connect app to measure the RSSI of a Bluetooth device.
The relationship between RSSI and distance isn’t linear and also depends on electrical, physical and environmental factors. It also varies slightly, as ‘noise’, over time, even when things don’t move. The largest electrical factor is the transmission power. Physical factors include blocking and reflection.
Some Bluetooth advertising such as iBeacon includes a value, the measured power, in the advertising that can be used to take account of the fact that different beacons have different transmission power and hence different RSSI at the same distance. The measured power is usually the value of the power at 1m from the transmitter.
While there are equations and libraries that attempt to derive distance from RSSI, often the most accurate method is to measure the actual RSSI at various distances and use this calibration data with interpolation to get estimated distances.