RTLS – Real Time Location Systems

The Real Time Location Systems, RTLS, or tracking systems, are devices used to identify, locate and track assets and persons. This article will talk about GPS-based and UWB based Real Time Location Systems.

In a RTLS device, there are 2 types of devices, knowns as tags and anchors. The tags are the devices whose position is going to be calculated in real time, and the anchors are auxiliar devices providing the mechanisms needed for calculating this distance. Anchors can be, for instance, GPS satellites or fixed devices in some indoor areas in a building. Tags can be bracelets, mobile phones or similar devices.

In terms of precision, it is important to distinguish between the GPS systems, with a precision of some meters (can be improved using WiFi), to the modern RTLS based in Ultra Wide Band radios and Two-Way Ranging Algorithms and in modern BLE devices, using the Direction Finding mechanism. These techniques are able to get a precision in the range of some centimeters, even 3 or 5 centimeters with the appropriate calibration.

How do RTLS devices work

There are 2 basic ways of getting the position of a device:

  • Use the distances to 3 devices whose position is already known, and compute the distance with a trilateration algorithm.
  • Use the angle at which the anchor and the tags radio signals arrive or depart. This will be explained in a 2nd part of this article

Distance Calculation

Until the recent years, the distance calculation was the only method for RTLS, so let´s see first how the distance from an anchor and a tag can be calculated with the current technology. The underlying mechanism will be always to measure the Time Of Flight (ToF). That is to say, the time while the radio signal is on the air. Multiplying this time by the speed of light, we get the distance.

In order to get a realistic idea on how precise this time measurement should be, let imagine a satellite anchor at 20.000 Km, the Time Of Flight of a radio signal will be 0.06 secs. A small deviation of 1 millisecond could result in an error of 300 Km.

There are 2 mechanisms used for distance calculation: Clock Synchronization by means of a Pseudo-Random Code, and the so called Two Way Ranging (TWR) Algorithm. Old systems also used distance estimation based on RSSI, but these systems are not so precise, and they used a simple proportionality rule to compute the distance from the Radio Strength Signal. Since from BLE 5.1 there are better approaches like the Angle Of Arrival and the Angle Of Departure, we will not explain RSSI-based distance estimation this article

Clock Synchronization Mechanism

This is the mechanism used by the GPS devices. Basically, there is a pseudo-randomly generated signal from the satellite, this signal is a very complex signal of ‘0’ and ‘1’. So if both tag and anchor emits the same signal, a phase between both signals can be observed. Using this phase, in nanoseconds, the tag can compute the distance to the satellite. The picture shows an example of how the comparison between 2 Pseudo-random signals looks like to determine the time of flight between the tag and the anchor.

Fortunately, there are already modules manufactured by companies like #simcom #quectel #ublox and many other offering a GPS chip with a serial interface. So, in case that we are using a Cortex-M ARM microcontroller, we just need to implement a serial task on top of #freertos #zephyros or the #rtos of your choice, to get, through AT Commands, the tag location in real time. And these operations are continuously being done by this chip. Anyway, at least, you have now an idea of what these chips internally do.

The time used by these chips to get the first position is usually known as the time to get a fix. And there is a time in cold start, and in a warm scenario (were the chip knows its position in a range of 100km). If we are designing a device intended to use the lowest power modes, we should pay attention to this, since the time to get a fix if we power this chip off could be much greater than the time to get a fix if we just use an AT Command to put this device in a sleep mode.

Time Of Flight based on Pseudo-Random Signals

Two-way Ranging Algorithm

We started using this mechanism when some manufacturers of Ultra Wide Band (UWB) radio modules like Qorvo have been able to measure the timestamp in a so precise way that they are able to get the timestamp, in nanoseconds, at which a radio signal arrived, and they are also able to program a the next sending at a specific nanosecond. The following picture shows the communication between 2 devices using the timestamps for the Two-Way Ranging Algorithm.

When we talk about this, we often use the name initator for the tag, since it is the device initiating the algorithm, and we use the term responder for the anchor. The name of the radio messages are poll and response. The initiator starts sending the poll, and the response is a message sent by the responder.

The figure shows how important is the timestamp in the radio messages. Lets do the process step by step:

Two Way Ranging Algorithm diagram

The figure shows how important is the timestamp in the radio messages. Let do the process step by step:

  1. The initiator (tag) sends a POLL message to the responder (anchor). It sets the time at which the message is going to be sent, and stores it internally in a variable called Tsp.
  2. The responder (anchor) receives the POLL mesage, and gets the timestamp of the reception, storing it as Trp.
  3. The responder (anchor) prepares a buffer to send a RESPONSE message to the initiator (tag). It not only programs the nanosecond at which the message will be sent (Tsr), but also, it writes on the message Trp and Tsr.
  4. The initiator (tag) receives the response, and get the timestamp of the reception, storing it in a variable called Trr. It also parses the radio message received, getting Trp and Tsr. With the simple operations shown in the image, the tag knows the Time

Doing this simple communication with 3 anchors, it is able to know its position.

Nowadays #decawave is at the forefront of manufacturing UWB modules able to perform this operation.


The classic approach of GPS modules provides a way to get a position in the Earth with a precision of some meters, and it has some timing limitations like the time of fix. When a RTLS solution is required with a precision in the range of 3-5 cm, we need to go to other approaches, like those underlying in the Two-Way Ranging algorithm. In the next chapter, other techniques for Real Time Location System will be explained, like the Angle Of Arrival and the Angle Of Departure. We will see that they have disadvantages, since they need an Array of Antennas, but they have also some advantages and specific Indoor Position Services (IPS) applications like the Path Finding or the Points Of Interest.

If you are interested in this technology, or if you want to build a device with RTLS capabilities, you can contact us and follow us in LinkedIn. Please feel free to share and comment

Leave a Comment

Your email address will not be published. Required fields are marked *