Geolocation Techniques

There are four major classifications when it comes to the different approaches to geolocation:

  • Proximity Detection
  • Signal-Strength-based Ranging
  • Time-based Geolocation
  • Scene Analysis

Let's explore each of these.

Proximity Detection

When detecting proximity, a fixed device sends a message that is received by a mobile device. The signal strength of these messages and the time it takes between when they are sent and when they are received can be used to determine whether the fixed device is physically near a mobile device. Similarly, a mobile device could be the one sending the message, and the fixed infrastructure could be the receiving entity.

The advantage of using proximity detection is that the algorithm is simple and easy to implement. Additionally, this approach is generally inexpensive. The downside is that the accuracy of this approach is limited to the presence of a certain fixed device in the vicinity.

When it comes to the range-based techniques, it is important to understand that these techniques take the concept of signal strength and time even further. First though, let’s take a look at the different types of range-based techniques.

Typically, there are always two steps involved in range-based geolocation. The first is estimating the distance of a mobile device from each of several fixed anchor points (such as access points or gateways) using signal strength, time, etc. The second step is to combine the information about these distances into an algorithm to estimate the location of the mobile device. Possible approaches include multilateration, least squares, and maximum likelihood, among others. Let’s start by looking at single-property location techniques.

Signal-Strength-Based Ranging

As we’ve mentioned, signal strength can be used to determine the distance between two devices. In free space, there is a direct link between the distance and the received signal strength, depending on the power of the transmitted signal, the directivity of the antenna, etc. In the real world, however, there are usually obstacles between the two devices, resulting in reflection and other complications.

Take a look at the following graphs. The data in these graphs comes from some measurements we did on the 868MHz band. You can clearly see that there are some points where there is a big attenuation, likely due to reflection from buildings in the area. In this case, determining the location of the device isn’t so straightforward. If you receive a message from -80dBm, or even -100dBm, determining the real position can be challenging. The results can show the device to be anywhere between 100m to 250m of the actual location.

Most signal-strength-based algorithms try to use indoor or outdoor models to infer a location, and then map them on a predetermined test to see which model is the best fit for this location.

Sigal Strength Based Ranging


Time-based Geolocation

If you choose to use a time-based method, the accuracy of the on-board clocks involved with the timing of the received signal is quite important. Take sound waves, for example. Sound propagates at 344m/second at 21 degrees Celsius. This means that to achieve an accuracy of within five meters, you need a clock accuracy of 14.5ms. In contrast, when sending radio waves, which travel at about 300,000 kilometers per second, for the same level of accuracy, you need 16.7 nanoseconds of accuracy. This means that the accuracy of the device and gateway clocks is very important.

You may be wondering how this type of geolocation actually works. As we’ve discussed, the transmitter sends a message to the receiver, which tries to determine how long the message has been “in flight” as it were, from the transmitter to the receiver. This requires that the outgoing message has a very accurate timestamp of when it was sent. Getting that timestamp is tricky. To compensate, we generally use the time difference of arrival (TDOA). By using TDOA, you don’t need to know the exact time the signal was first sent. Rather, you’ll look at the times each of the fixed gateways or access points actually receives the message. Next, using hyperbolic measurements, you can infer the distance and position of the sending device.

Another way to infer the location of a device is to measure the round-trip time it takes for one device to send a message, and for the second device to send a response. In this scenario, so long as you know the processing time of the second device, you can infer the distance and then the location of the first device.

The advantages of using time-based geolocation solutions are:

  • It typically provides higher accuracy than the signal-strength method.
  • It can be combined with the received signal strength indicator (RSSI) information.

This method also has a few disadvantages however:

  • Your devices and gateways must have clocks that are both synchronized and very accurate
  • There needs to be a line-of-sight signal between the devices. If there isn’t a line-of-sight signal, the resulting measurements can be wrong, leading to incorrect results.


Scene Analysis

With scene analysis, we use a “fingerprint” of how certain signal strengths are behaving, and then try to match the measurements to some previous lead absorption measurement.

There are always two steps when using this method.

  1. The offline phase (also called training). In this step, you create a database of different positions. Using that data, you then measure the different signal strengths of an access point that is not stored in the database.
  2. The online phase (also called the localization phase). In this step, you try to match the measurement of what is already stored in the database. From that data, you can then infer the position of the sending device.

Let’s look at this process in more detail. For example, say you have five access points in a corridor, you’ll measure the signal strength of the different access points and  then store that information in a database, known as the trainee fingerprint database.

Scene Analysis: The Training Step

With this data, you can identify and visualize the different signal strengths of the access points.

RF Pattern Matching

In the localization step of our example, a person then walks into the corridor and takes a measurement, which will be matched using the indoor localization system in conjunction with the training fingerprint database.

In the training phase, different statistics can be stored in the database, such as the average signal strength, the minimum, maximum, or standard deviation, distribution types, frequency tables, etc. The data stored will depend on the information needed for the algorithm you’re using. The information you choose to store will also have an impact on the number of measurements and samples you need to do for each location.

The pattern matching is set (deterministic) such as the k-Nearest Neighbor (kNN) algorithm. Probabilistic particle filtering can also be used. In general, you’ll use the average signal strength, possibly taking into account the standard deviation. The Euclidean distance or Kullback Leiber distances can also be used to try to match the position with a measurement. This is quite challenging.

Data Collection example


This graph shows that there is a significant fluctuation in the measurements of different access points. This fluctuation can be attributed to people walking down the corridor, opening doors, and so on. As you can tell, matching the measurements needed for geolocation isn’t always straightforward.

Last modified: Wednesday, February 22, 2023, 2:59 PM