Technical background
Explaining more in depth how the LoRa Geolocation algorithms work.
Last updated
Explaining more in depth how the LoRa Geolocation algorithms work.
Last updated
This section simply explains the math behind both types of algorithms.
The mathematical principle behind Geolocation is Time Difference of Arrival (TDoA). An uplink message of an end device is received by a gateway and the exact arrival time (timestamp) at this gateway (nanoseconds) is attached to the uplink. The different timestamps between the gateways are used by the “Locsolver” to calculate the exact position of the device. In order for multilateration of arrival times to work properly, it is required to use a minimum of three gateways. The formula and visualization of this principle are shown in the figure below.
You can read more about multilateration on Wikipedia:
The Received Signal Strength Indication gives a course indication about the distance between the sender and the receiver. Since we theoretically know the signal strength of a message when departing from the device, and since we theoretically know the loss of signal strength when the signal is traveling through the air (learn more about free-space path loss), we can use the received signal strength to determine the distance the message must have traveled from the Device to the Gateway.
Now if we have multiple gateways receiving the same message, we have multiple distances to calculate with. The mathematics employed in this case is called trilateration. The drawing below illustrates how you can calculate a location with these known distances.
You can read more about trilateration (also known as True-range multilateration) on Wikipedia:
The downside of this method of localization is its accuracy. Because there are a lot of unknowns in wireless communication. The free-space path loss is not constant, but can depend on temperature and air pressure at the moment of transmission. Also, who says that the signal only travels through air? Sometimes a building is in between a Device and a Gateway, resulting in additional signal loss, meaning the Gateway things the Device is farther away than it really is. And these inaccuracies are quite significant, resulting in sometimes kilometers of measurement errors.
This section highlights some parts of the LoRa Geolocation algorithm in the KPN LoRa network.
When using the Both algorithm, the locsolver (short for Geolocation solver) will first try to calculate a location for an incoming message using TDoA. If this does not succeed, the locsolver will try to use RSSI. This way, the Both algorithm should leave the performance of TDoA calculated locations intact, and fill in the missing locations by using RSSI.
Compared to a TDoA only configuration, you can expect the following:
The success rate will go up, since the gaps of missing localizations will be filled with RSSI.
All messages that would be solved by the TDoA only algorithm will also be solved by TDoA when using the Both algorithm.
The average and mean accuracy of all localizations will go up, but only because messages that first were not solved, are now solved with the less accurate RSSI algorithm. And since the theoretical accuracy of individual localizations is provided to the application, you are able to determine what to do with each incoming localization.
The locsolver algorithm uses different clusters, cluster sizes, time windows and historical data to calculate new locations of a device. Several operational examples are found below; they are summarized in the table below.
The algorithm uses the information it receives within a time window of 30,000 seconds. This is combined with the data in the cluster of the last 8 calculated locations. If the motion indicator Static is used, the algorithm also tries to detect if the device has moved in the last hour and it adopts the cluster size used in the calculation of the location.
This table is subject to change with the optimization of the locsolver algorithm.
Motion indicator
Time (seconds)
Cluster
History (seconds)
Near static
70,000
8
3,600
Walking speed
60
1
0
Bicycle speed
60
1
0
Vehicle speed
60
1
0
Random
60
1
0