I wanted to know why on the Estimote App if I set the Tx Power of a Beacon at -4dBm, the method of the Estimote SDK getMeasuredPower() says it is -66 and according to the javaDocs it’s in dBm.
I also noticed that if I set the power at -12dBm, with getMeasuredPower() I get -74dBm. So I guess that the relationship between the two is linear, but nothing more.
Second issue: to get the distance of a Beacon I use the method Utils.computeAccuracy(), but the results aren’t correct. In one of the tests that I made the real distance was about 4m and the method gave me values around 1m. I did many tests with different power settings and distances and always without any obstacle between the smartphone and the Beacon.
So, what formula uses the Utils.computeAccuracy()? I saw on other posts that it has already been asked this question but I haven’t found anything useful.
Thanks to whoever answer!
Measured Power is just the strength of the signal that you expect to receive from the beacon when in distance of 1 meter from the beacon. The lower the Tx power, the weaker the signal, and thus the lower the measured power.
You should not expect accurate distance estimations from beacons. There’s a reason the method is called
computeAccuracy and not
computeDistance. Distance estimations are based on the strength of the beacon signal, and the strength of the signal is susceptible to a multitude of environmental factors. For example, the radio waves bounce of walls and the ceiling, so if the BLE receiver picks up such a reflected wave, it’s gonna be much weaker, and the distance estimation is gonna be much greater than in reality. Or, if you cover the beacon with your hand, the strength of the received signal will go down, and the distance estimation will also increase. etc., etc.
computeAccuracy to figure out more or less how close the beacon you are (e.g., right next to it, up to a few meters away, or 20 m away, etc.)
(All of this is NOT to say it’s absolutely impossible to compute more accurate distance estimations, but this is a VERY complex topic, with advanced mathematical and statical models to account for the fluctuations. We’ve been working on these for the past two years, and plan to bring them to our SDK soon.)
(For more details, I recommend this guest blog post from our blog: http://blog.estimote.com/post/125261523625/elegy-for-forgotten-sounds-installation-at-the)
Thanks for the thorough answer!
Especially the part about the Measured Power since on the javaDocs wasn’t explained.