Go Back

Jan 28, 2025
The Practical Challenges of Using Signal Triangulation for Positioning

Have you ever stared at an idea that looked so beautifully simple on the surface, only to find yourself drowning in complexity once you tried to bring it to life? That was me, diving headfirst into GSM signal triangulation. On paper, it seemed like a clever way to locate a device using nothing but cell towers. But what began as an exciting exploration quickly unraveled into a maze of challenges that made me question if it was even worth the effort.

The Alluring Simplicity of the Theory

A few weeks ago, I was proposing an idea to one of my lecturers to create a smart mobility system using the Internet of Things (IoT) to support public transportation in my city. One of the ideas involved using the Global Positioning System (GPS). At first, I thought there was no alternative to GPS for determining location. However, my lecturer introduced me to a term I had never heard before: terrestrial positioning. He explained that we could calculate coordinates based on the signals used in IoT if we utilized a GSM module.


At its core, GSM signal triangulation feels almost magical. Picture a landscape dotted with Base Transceiver Stations (BTS)—the infrastructure that keeps our phones connected. Each BTS has its own identity markers, such as Mobile Country Code (MCC), Mobile Network Code (MNC), Location Area Code (LAC), and Cell Identifier (CID). The plan seems simple:


  1. Gather MCC, MNC, LAC, and CID
  2. Measure the received signal strength indicator
  3. Calculate the distance to each tower.

With data from three or more towers, you can theoretically triangulate and pinpoint a location where all the radius intersect.



The Treasure Hunt

The first roadblock hit me right away. Most devices, as it turns out, stay connected to only one BTS at a time—the one they’re actively using. While it’s possible to glimpse neighboring towers, the data is often incomplete or obscured behind layers of security and access restrictions set by network providers. It’s like trying to sketch a triangle when you can only see one corner.


Then came the second hurdle: calculating distance from RSSI. The idea sounds straightforward—signals weaken as you move further from the tower. There’s even a formula for it:


d=10PtRSSI10×nd = 10^{\frac{P_t - RSSI}{10 \times n}}

Where dd is the distance (in meters), PtP_t is the transmitted signal power at 1 meter (in dBm), and nn is the path loss exponent, which depends on the environment. However, there are already two major problems with this formula. While we might have the RSSIRSSI value, we’re left with two unknowns: PtP_t and nn value. The PtP_t value requires standing 1 meter away from the transmitter to measure it, and nn varies wildly and is highly unstable depending on the environment.


Even with these values, the RSSIRSSI itself is unpredictable. It fluctuates due to walls, trees, rain, or even the number of people nearby. It’s like trying to measure the distance of a whisper in a room full of shouting voices.


Another significant challenge was figuring out how to perform triangulation when the exact locations of the towers were unknown. Public databases like OpenCellID or CellMapper initially seemed like ideal solutions, but they often proved to be outdated, incomplete, or unreliable. With towers owned by various carriers scattered across urban and rural areas, the variability made the task even more complicated. A device might connect to a nearby tower, while another connects to one ten kilometers away. Without accurate tower coordinates, the entire concept of triangulation becomes fundamentally flawed.


To make matters worse, the environment added its own chaos. In cities, towers are densely packed, and their signals overlap in a confusing web. It becomes nearly impossible to distinguish one tower’s range from another. Meanwhile, in rural areas, towers are few and far between. The scarcity makes triangulation impossible since you can’t form a triangle with only one or two points.



The Moment of Truth

After countless hours of tinkering, researching, and hoping for a breakthrough, reality hit me: GSM signal triangulation, while conceptually elegant, is practically impossible with the tools I had. The challenges weren’t just technical—they were fundamental. From missing data to unreliable signal measurements to the mystery of tower locations, every step was a mountain I couldn’t climb. Even if we had the time and resources to map all the data for one tower, there are hundreds or even thousands of towers that would need to be mapped for the system to work.


This journey taught me more than just the limitations of signal triangulation. It was a humbling reminder that some ideas, no matter how beautiful, aren’t meant to work in the messy, unpredictable real world. It’s easy to fall in love with a concept on paper, but the real magic lies in understanding its limits.


Still, I’m not ready to give up on this idea entirely. If you have any alternative suggestions or insights into how we can make this work, let’s collaborate and turn this challenge into an opportunity!