Distance Estimation

Giacomo's Avatar


18 Oct, 2016 12:03 PM

We are programming an android app for indoor localization, but we found some troubles with the Rssi signal, the reading of which is very fluctuating, and so is the distance estimation between a bluetooth device and a beacon.
As of now, we estimate the "real" rssi value executing an average of 10-15 values received and we use the Friis equation in order to obtain the distance (Rssi = 10^(( TxPower - Rssi ) / 20 )). However, the final values are out of range (with discrepancies of over 30 metres).

So: how can we obtain a more "real value"? Is there a way to calibrate the beacons and read a more consinstent distance?
What is the method you would use to get this value? Can you give me some other API to use to get it?

Thanks for your consideration, and I hope to hear from you soon

  1. 1 Posted by Michal Gasztold on 09 Nov, 2016 09:48 AM

    Michal Gasztold's Avatar


    I am also very sorry for the late answer.

    1) The linear value of power is :

    P_linear [mW] = 10^(P_dBm/10)

    2) RSSI returned by the phone Bluetooth module is just an approximation of received signal power in [dBm]. In basic theory you could put the received power value and transmitted power value into Friis equation but please remember that you should also put precise gain values of both TX and RX antennas.
    I do not think it is really possible to know precise value of the phone's antenna gain for the Friis equation if you do not do your measurement in a multipath-free conditions knowing precis 3D radiation pattern of your phone's antenna. This varies a lot between many phones available on the market. Moreover please remember that the gain of the antenna changes in the function of angle towards the device's antenna and can vary a lot in some cases.

    Because of the reasons described above, what you could have in the mobile world is just a rough approximation based on some reference measurements. In the IBeacon community people agreed at some point to use the following approximation:


    where A, B, C are device specific contants, r is the RSSI in dBm measured by the device, t is the reference RSSI measured with the device at 1 meter distance (source: https://altbeacon.github.io/android-beacon-library/distance-calcula...).
    Ubudu distance estimation is based on this agreement with some additional tweaks hidden in the backstage.

    Also what we do more is providing our own database of the A,B,C coefficients for Android devices which we update over time doing measurements of all devices that come to our hands. Our SDKs asks for proper coefficients of the device on which they are being launched and if they are available they are fetched and used to improve the distance values returned for the beacons.

    I hope that clarifies the topic for you a bit.

  2. 2 Posted by Giacomo on 31 Jan, 2017 04:33 PM

    Giacomo's Avatar

    Hi there,

    We are in the process of developing an android app for proximity localization based on Ble beacon technology, but we found some troubles reading the Rssi signal, which is producing very fluctuating values.

    We have noticed that the Rssi signal shifts between three different values, and we suppose the reported Rssi signal is picked randomly from one of the three advertising channel (37, 38, 39) used on Ble beacons.

    So: is there any method to determine the channel on which the advertisement report is broadcast? And furthermore is there any method to force the device to stick to any given channel during the whole communication session?

  3. 3 Posted by Michal Gasztold on 31 Jan, 2017 05:25 PM

    Michal Gasztold's Avatar

    Unfortunately, as far as I know there is no way to determine or lock on the single BLE advertising channel from the Android mobile app level.

  4. Support Staff 4 Posted by francois on 31 Jan, 2017 05:26 PM

    francois's Avatar

    Ok maybe we should answer him. Also I think the variation is more related to MultiPath then channel.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac