Does accuracy depend on the location update rate?
Background
Does accuracy depend on the location update rate?
Whether accuracy depends on the location update rate splits into several questions and answers. There are even seemingly contradictions. But there are no contradictions – just different usage scenarios.
Key topics to understand:
- Positioning accuracy doesn’t depend on the location update rate
- It is easy to achieve a high location update rate but difficult to get low latency
- Tolerating higher latency, it is possible to get better accuracy
Positioning accuracy doesn't depend on the location update rate
Let’s first consider NIA as an example. It is the easiest-to-understand architecture:
- Modem commands via radio, which mobile beacon to emit the ultrasound pulse
- At the same time, all beacons – stationary and mobile – synchronize their clocks very precisely. They immediately know not only who will be emitting and on which ultrasound frequency but also when exactly
- Since there is only one mobile beacon emitting in a pure NIA system at a given timeslot (time reset), any received ultrasound pulse will be the signal from our mobile beacon (hedgehog). Of course, we need to filter out the noise and other false signals, but that is a different task. Purely from distinguishing “our” signal from “non-our” signal, it is very simple and very straightforward
- Since the ultrasound pulse is very short (0.15-1.5ms), it is effectively a flash. The location measurements are kind of frozen at that particular moment. The mobile beacon emits the pulse, the pulse flies towards the stationary beacons, and when all measurements and calculations are done, we will know the location very precisely
Thus, the biggest misconception of linking between location update rate and accuracy is the following:
“If you have a 1Hz location update rate or 10Hz location update, will the accuracy be higher in the 10Hz, because the object is moving and while it is moving, its location is changing? Therefore, if it changes, we cannot measure it precisely if our location update rate is slow, right?”
No, it is not a correct assumption because:
- The location measurement is a very short process – ~1ms or even less in some cases. During this time, even the fastest indoor mobile objects can be considered nearly static. But even if they are not static, the impact on the accuracy of the measurement is not substantial
- The misconception is in timing. Thus, there are questions like the one above
- Yes, we will know the measured location very precisely. But what location? – not the location of the object when we finally calculate the location, but the location of the object when the location was sampled. That is the key. That is the source of the misunderstanding
It is easy to achieve a high location update rate but difficult to get low latency
Imagine that we don’t care about latency and care only about the location update rate. It is possible to gather several location updates, interpolate them, and populate with as many intermediate location measurement points, thus, effectively having as high a location update rate as you wish.
For example, this is precisely what the Realtime Player in the Dashboard does:
- Based on several location points before the time stamp and several location points after the time stamp, the system interpolates with a function the location in between those actual measurements
- The function is returning, though artificial (calculated – not purely measured), but even more accurate points than just measured points because of embedded noise filtering the function
- As a result, you can have as high an update rate as you wish but with high latency
Reducing latency for ultrasound-based systems is difficult because of the slow speed of ultrasound wave propagation. The very reason ultrasound-based location systems are so precise is the core reason it is challenging to have low latency. Let’s calculate:
- For example, we have a submap of 20m
- The time of flight of ultrasound will be roughly 20m/340m/s, and the upper limit of location update rate 340m/s/20m = 17Hz
- That is a theoretical upper limit that does not count the required time for filtering, all possible calculations, and the overhead radio traffic. In reality, depending on the architecture, the number of ultrasound frequencies, etc., the resulting update rate can easily be 5-12Hz or so instead of theoretical 17Hz
- So, the actual latency can be higher than 1/location update rate, i.e., 80-200ms
By tolerating higher latency is possible to get better accuracy
The statement that by tolerating the higher latency is possible to get higher accuracy seemingly contradicts the earlier given statement that the accuracy doesn’t depend on the location update rate. Both are correct.
We have a train of location updates. We can get higher accuracy if we accumulate several of them and perform all sorts of mathematical operations. It is very straightforward for static and slow-moving objects, but with not too complex logic, it can also be shown for fast-moving objects.
For static and slow-moving objects: for N samples and N-time increase in latency, it is possible to achieve sqrt(N) time accuracy improvement just by averaging. Thus, of 16-time averaging, it is possible to reduce the noise of the location measurement by a factor of 4.
See below an example of the Realtime Player (RTP) affecting the resulting noise of the location measurement that drops significantly when the RTP is activated. But for the expense of latency.