At Link Labs we are hearing increased interest in doing “native” geolocation with LoRa. This would mean using 3 or more gateways to make a time difference of arrival (TDOA) calculation on the received LoRa signal and calculating the position. Sounds easy right?
Update: Semtech has now announced this capability is "now available," which should prove very interesting. See this press release.
Update #2: According to this report on localization released by Semtech, the 10% error rate for a single packet using 11 gateways in an urban environment is just over 500 meters. To draw a circle your location will be within 90% of the time, it would be just over 1km in diameter. To understand why, keep reading.
This is one of the hardest problems to solve in radio, and at Link Labs we have a extensive experience in building “time domain” based localization systems. While we recognize that people and companies are excited about the prospect of native LoRa localization, our professional expertise leads us to the conclusion that accurate localization using LoRa (or any low power, narrowband, RF technology- Sigfox, etc.) is extremely difficult or impossible to successfully develop into a usable approach.
This article is going to try to stay high level - please see our reading list at the bottom if you want to dive more into the technical details.
1. Direct Path Energy
It is fairly straightforward that if you want to measure the distance between two points, you should measure the direct path, not a meandering one. One of the best features of LoRa is that it does so well in a multipath channel, that you can easily receive the signal after it’s gone through two walls, bounced down the hall, and up the elevator shaft. We have a customer using a LoRa Gateway on the 4th floor, which is communicating with a Symphony Link module on the 44th floor of the same building. The signal is not penetrating 40 ten inch slabs of concrete. It’s going right out the window, bouncing off the building across the street, and heading back inside. The length of this path is probably at least twice the direct path length.
The ability to detect the direct path (vs. a multipath signal) is a function of (TIME on AIR) x BANDWIDTH x POWER. The LoRa signal has decent bandwidth and time on air, but the signals are, by the nature of their use cases, and regulations, low in power.
Conclusion: Unless there is a near direct line-of-sight between the transmitter and the receiver, there is not enough channel energy to detect the direct path, which is further complicated by the fact that the “correlation noise floor” (weakest time-based signal that is detectable) is elevated by limited time-bandwidth product.
2. Multipath Correlation Resolution
This is the bigger issue for LoRa, but it is complicated mathematically. Read the following sentence three times, until it really sinks in:
The ability to determine the difference in two different radio path lengths is solely a function of the signal bandwidth.
Say it again (x2)…
Let me give you a human based example…. Have you ever heard a loud and annoying tone, like an alarm? I’m talking about a tone that is at a single frequency, like a high pitched musical note. Was it hard to figure out where it was coming from? That’s because your brain is extremely sophisticated when determining the time-of-arrival difference between your two ears. That’s how you know which way a sound is coming from. In the case of this alarm tone, you had no idea, because the signal did not have enough bandwidth for your ears to make a TDOA determination. This is a big focus in the siren and truck-backing-up alarm industry, as broadband buzzers and alarms are introduced. If you watch someone hearing such a sound, they will wiggle their head back and forth to make use of the “back up” localization technique our brain has, using our ear shape to find the direction of strongest signal (i.e. Angle of Arrival).
A standard LoRa signal has 125 kHz of bandwidth. The relationship that governs a receiver's ability to receive a signal with multipath components and tell the difference between two different path lengths is c/B. (Speed of Light / bandwidth).
c / 125 kHz = 2398 m
So….If a LoRa base station receives a signal, which has a direct path component (might be hard, see #1) and several multipath signals, it will be IMPOSSIBLE to determine the difference unless those paths are greater than 2.4km in difference. The direct path signal will thus be “pulled long” by the presence of any and all multipath.
In this figure you can see a simplified range calculation based on 2 paths, one direct and one reflected. Since the difference between the lengths of path 1 and path 2 less than 2.4km, in the correlation for a 125 kHz signal, the correlation cannot resolve them as separate, and thus groups them together. This has the effect of introducing error to the range calculation.
If you rerun this example but use a signal with 10 MHz of bandwidth, you can now resolve path differences of more than 30m. (c / 10Mhz = 30m). Assuming 1 and 2 are more than 30m in length difference, the correlation function can now discern the paths as discrete, and thus the calculated range is very close to the true range.
In conclusion: To measure radio range you need enough energy in the direct path to detect it, and you need enough bandwidth to resolve what is a reflected signal and what is not.
The 3GPP community tried for many years to do TDOA of GSM signals, but gave up for these very reasons. A GSM transmitter is also up to 2W and 200 kHz of bandwidth. So with more power and more bandwidth a multi-billion dollar industry found that they were no match for physics. While there is a chance that the community investigating TDOA with LoRa may have some novel ideas, they are still fighting an uphill battle.
What about averaging?
The only way that averaging signals over time helps very much is if the receiver and the transmitter can stay locked in phase between transmissions. This helps increase the effective energy in the channel, and helps solve problem #1. LoRa transmitters go to sleep and run with rough oscillators, so averaging would just be the same measurement over and over.
What about using more gateways?
This will absolutely help, because the likelihood that some receivers will have a strong direct path signal is much better. If the power of the direct path signal is very high, the multipath signals have a negligible effect on range area. This is why sub-10m accuracy is achievable in ideal scenarios. The issue with a ton of gateways, is just that, you have to buy and install a ton of gateways. At that point the cost of the system could exceed that of alternatives, even with inexpensive gateways.
Why is Link Labs publishing this??
Link Labs is, at heart, an engineering company, and as such we are driven more by solving engineering challenges than building up marketing hype. A core value at Link Labs is being absolutely transparent with our customers and partners when it comes to what is possible with our systems. We believe that by being upfront and honest about the limitations of any technology we’ll do better in the long run. Additionally, we get asked quite a bit about localization with LoRa and feel strongly that an honest assessment regarding its commercial viability is needed.
That’s great, but geolocation is still the killer LoRa app.
We agree! Here are three ways to use the power of LoRa and couple that with localization:
- GPS. Figure out position using a GPS chip, and ship that back via LoRa. Easy. However, this is more power hungry and expensive than doing native LoRa geolocation and only works outside.
- Proximity/RSSI reverse beaconing. In this case an endpoint (like a Bluetooth transmitter) sends a message to a fixed LoRa enabled reader. This reader then sends the signal strength and time back to the LoRa network. Check out www.AirFinder.com for a good example of this.
- Signal of opportunity/PHY reporting. In this use case, a LoRa transmitter is paired with something like a WiFi base station scanner. The endpoint reports which WiFi base stations it sees and at what RSSI. Then a database like Skyhook is used to figure out where a node actually is.
This is just the start! If you want to work together on position tracking using any of these techniques (or another that we haven’t thought of yet), please get in touch.
This Paper addresses the above points (and more). It specifically talks about the challenges of doing TDOA with GSM at 200 kHz.
This paper does a great job of carefully laying out the whole space.
This paper is focused more on ultra-wideband systems, but gives some good mathematical background.