Search code examples
locationdistanceibeaconrssitrilateration

Getting location from iBeacon RSSI signals


I'm trying to get accurate location with the help of 3 or more iBeacons. There are two steps

  1. Getting accurate distance from iBeacon's RSSI.
  2. Applying Trilateration algorithm to calculate the location.

For now i'm not getting the precise distance. iOS "Accuracy" is not truly distance. I'm applying different formulas to calculate distance but i'm unable to find precise distances. Till now I'm able to get precise distance up to 10 meters, but i need distances for like 20 meters at least.

(I'm using default txPower of iBeacon witch is -59 dbm and I've measured power of C3 and using Broadcast interval of 300ms.

Any help would be highly appreciated. Thanks!


Solution

  • Unfortunately, it is really not possible to get very accurate distance estimates over 10 meters. The problem is that the signal gets relatively weak at that distance and the noise overwhelms the RSSI measurement -- at least for quick responses. The signal to noise ratio, as it is known, is a general problem in all radio applications. For Bluetooth LE applications, you either have to accept inaccurate distance estimates at greater distances, or average the RSSI samples over a very long period to help filter out the noise.