Creator System Performance

Find out what kind of accuracy to expect in this performance report.
The Pozyx Creator System was extensively tested on accuracy, update rate, and ranging duration.

Positioning accuracy

In order to validate the positioning accuracy of the Pozyx Creator system, extensive tests have been performed using mm-accurate ground truth data. The tests were performed within an office space of 7m x 9m with a person holding the tag upwards in his hand and moving around. For this test, four anchors were used, placed at the edges of the area at roughly 2m height. Tests were made using ultra-wideband channel 5, preamble length 1024, prf 64MHz, and bitrate 110kbps. Similar results can be expected on different channels with different bitrates or prf. Shorter preamble lengths may slightly reduce the accuracy.

One test was performed in an open area with no obstacles, i.e. the line-of-sight (LOS) test. A second test was performed with two anchors consistently blocked with metal racks filled with bottles of water, this is the non-line-of-sight (NLOS) test. Two algorithms available on the Pozyx tag were compared: the UWB_ONLY algorithm and the TRACKING algorithm, both for 3D positioning. In the figure below, the cumulative distribution function of the horizontal (xy) positioning error is shown in millimeter for both algorithms.

Graph showing experimentally measured positioning error in pozyx creator kit
Fig. Experimentally measured positioning error (in xy-plane.)

From this figure, it can be seen that both algorithms perform similarly. For both algorithms, the average horizontal error in LOS is 92mm and 140mm in NLOS. The average vertical error was typically larger which is expected as a result of the poor anchor placement (all in the same plane at only 2m height). In the figures below, a scatter plot of this test is shown for each algorithm.

Scatterplot showing experimentally measured positioning trajectory using the TRACKING algorithm.
Fig. Experimentally measured positioning trajectory using the TRACKING algorithm.
Scatterplot showing experimentally measured positioning trajectory using the UWB_ONLY algorithm.
Fig. Experimentally measured positioning trajectory using the UWB_ONLY algorithm.

Although both algorithms perform similarly on average, it can be seen that, in general, the TRACKING algorithm provides a much smoother trajectory, whereas the UWB_ONLY algorithm provides more jittery results. This is because the TRACKING algorithm uses previous position estimates in its estimation which smooths the result. It is suggested to use the TRACKING algorithm when performing continuous positioning. In scenarios where the position is only obtained once, or at very low update rates (multiple seconds or minutes), it is suggested to use the UWB_ONLY algorithm.Note that the accuracy may be lower outside the area covered by the anchors. Furthermore, the best performance is obtained with the antennas in an upright position. For a better accuracy in the vertical direction it is suggested to place the anchors at different heights, sufficiently higher and lower than the height of the tag. This reduces the geometric dilution of precision (GDOP) as much as possible.

Positioning duration and update rate

The positioning update rate that can be achieved with the Pozyx system depends on a number of settings, of which the ultra-wideband settings will have the most significant impact. The highest possible update rate for positioning is around 140Hz. In the figures below, the timing of positioning is shown for several settings. The measurements were made by timing the duration on the Arduino. The Pozyx system was configured to use 4 anchors and the TRACKING algorithm. Furthermore, the Pozyx system offers two ways of collecting the range measurements. One method, called PRECISION, is the slowest and most precise. The FAST algorithm is in general equally precise, but requires some time to become accurate. In general the first 100ms, the ranging information will not be precise. Also, the FAST protocol cannot provide accurate results for the longer preamble lengths.
In the figure, and the table below, the duration of positioning and the maximum update rate is shown, respectively.

Graph showing experimentally measured positioning duration
Fig. Experimentally measured positioning duration

Ranging mode: PRECISION

Bitrate
Preamble length 110 kbps 850 kbps 6.81 kbps
64 24 Hz 69 Hz 88 Hz
128 24 Hz 67 Hz 79 Hz
256 23 Hz 58 Hz 68 Hz
512 21 Hz 46 Hz 53 Hz
1024 18 Hz 34 Hz 37 Hz
1536 15 Hz 26 Hz 28 Hz
2048 14 Hz 22 Hz 23 Hz
4096 9 Hz 13 Hz 13 Hz

Ranging mode: FAST

Bitrate
Preamble length 110 kbps 850 kbps 6.81 kbps
64 60 Hz 125 Hz 138 Hz
128 66 Hz 121 Hz 137 Hz
256 63 Hz 114 Hz 129 Hz
512 58 Hz 103 Hz 105 Hz
1024 51 Hz 81 Hz 86 Hz
1536 45 Hz 67 Hz 67 Hz
2048 40 Hz 57 Hz 57 Hz
4096 - - -

It is noted that using more anchors will increase the positioning duration, as more measurements must be made.

In the next figure, we show the duration of both algorithms as a function of the number of anchors used for positioning. These results are excluding the range measurements. Because of this, the results give a very good indication of the delay that can be expected, i.e., the time between measuring the position, and actually obtaining the position. It will be seen that the delays are very small. The solid lines show the average time, whereas the shaded areas indicate the spread (minimum and maximum times measured) for each algorithm. It can be seen that the UWB_ONLY algorithm typically requires around 0.7ms. However, it exhibits a large spread which is inherent to the algorithm. Typically, in situations with lots of noise and bad anchor geometry, the duration of the algorithm may be higher than in cases with good measurements. The TRACKING algorithm requires around 1ms when using 4 anchors, and up to 2.5ms for 10 anchors. The spread is very small. Note that the processing duration may also depend on other processes that are running on the microcontroller in the background, such as communication through I2C or USB. The results shown here are without any other process running on the Pozyx device.

Graph showing experimentally measured algorithm delay
Fig. Experimentally measured algorithm delay

Ranging accuracy

Tests were performed to compare the measured range with the Pozyx device against a millimeter accurate ground truth. For the tests, the PRECISION ranging method was used on ultra-wideband channel 5, preamble length 1024, prf 64MHz, and bitrate 110kbps. Tests were performed between 2m and 10m. In total, 7000 range measurements were collected. The results are shown in the figures below. The FAST ranging method exhibits similar errors after a warm-up period of 100ms with preamble lengths up to 1024.

Graph showing experimentally measured ranges
Fig. Experimentally measured ranges
Histogram of expirementally measured ranging error
Fig. Histogram of experimentally measured ranging error

Ranging duration

Similar to positioning, the duration of the ranging process depends on a number of settings. The ultra-wideband settings have the most impact.

graph showing experimentally measured ranging duration
Fig. Experimentally measured ranging duration

Get your starter kit now

The starter kit is ideal to get started on your hobby project and test out the Pozyx RTLS product.

More info in the Pozyx store
Pozyx creator starter kit