Search code examples
algorithmmathlocationtrilateration

Coarse location from cell id (OpenCellId)


I have a device which reports me the GSM cell towers in sees:

  • ID (Cell Id)
  • MCC (Mobile country code)
  • MNC (Mobile network code)
  • LA (Location Area code)
  • RxL (Received signal strength level) - mosly useless since trasmitter power is unknown
  • Ta (Timing Advance) - distance to the cell tower (only for the active one)

Having the data from OpenCellId, I can get the location of each cell tower. But how do I get the coarse location of the device itself?

  • What circle radius to use, when TA is only known for a single tower, and RxL does not map to an absolute value?
  • How to use N cells, where N=1,2,4?
  • Which algorithms are available for this?
  • Known pitfalls?

Solution

  • http://en.wikipedia.org/wiki/Trilateration and http://en.wikipedia.org/wiki/Triangulation are two algorithms commonly used in this case. How much information do you get beyond just tower ids?