A range error reduction technique for positioning applications in sports

In recent times, ultra-wideband (UWB)-based positioning systems have become popular in sport performance monitoring. UWB positioning system uses time of arrival to calculate the range data between devices (i.e. anchors, tags), and then use trilateration algorithms to estimate position coordinates. In practical applications, non-line-of-sight transmissions and multipath propagations lead to inaccurate range data and lower positioning accuracy. This paper introduces a range error minimisation algorithm to address this limitation of error in range data in UWB-based positioning system. The proposed solution analyses the range error for each anchor and sequentially reduces this error based on the distance between each anchor and the tag. This ultimately contributes to higher positioning accuracies. The authors implemented the proposed algorithm in a hardware test-bed, evaluating the positioning accuracy for an indoor sport. The proposed algorithm outperforms both the trilateration algorithm and a commercially used positioning algorithm by up to 50% and 25%, respectively.


INTRODUCTION
In recent years, positioning systems have emerged in numerous promising industries including outdoor and indoor navigation, warehouse management, healthcare, and robotics [1]. Positioning systems are becoming increasingly popular in sport applications. In sport, a wearable technology commonly known as an electronic performance tracking system (EPTS), can provide critical information about an athlete's physical activities and performance. In July 2019, the International football body, FIFA, allowed the use of the EPTSs during matches [2]. The International Tennis Federation (ITF) has also allowed the use of EPTS devices in tennis [3]. EPTSs rely on on-board positioning systems to provide positioning data for athlete tracking. EPTSs can use both global and indoor positioning systems. Global positioning system (GPS), which relies on navigation satellites, is the most affordable and popular choice. GPS can provide information about an athlete's position and velocity. However, GPS has a low sampling rate that makes it difficult to detect the kinematic motion in sports [4]. Satellite signal attenuation, number of satellites available and  [5]. The accuracy of the GPS system is in metres [6,7] where this low accuracy is a major problem for EPTSs in sports [8]. This has led to new positioning technology in the form of the indoor positioning systems.
For indoor positioning, various radio technology-based solutions including, ultra-wideband (UWB) [9,10], Bluetooth [11], radio-frequency identification (RFID) [12], and wireless local area networks (WLAN) [13] can be used. However, there is a trade-off between the range and accuracy of these systems. Some have very large coverage area, but their accuracy is in metres, while others have accuracy in centimetres (cm), but their range is only a few metres. For athlete tracking, UWB is the most suitable radio frequency-based solution [14,15].
In UWB-based positioning systems, range data gathered from a UWB transceiver is used for positioning. Range data is acquired from the measurement of the signal propagation time between the anchor and the tag [16,17]. Time of arrival (TOA) is the most widely used technique for measuring range data [18]. Range data between each anchor and the tag is obtained using TOA. From this range data, mathematical methods TOA is a useful technique, but it possesses certain limitations. Due to multipath [19] and non-line-of-sight (NLOS) [20], arrival time is often measured inaccurately. Inaccuracy in measuring TOA, results in an error in range data, which ultimately leads to low positioning accuracy. This motivated us to investigate the problem further and propose a mitigation technique.
The trilateration algorithm is the fundamental algorithm used to find position coordinates. In trilateration, based on range data, the distance between an anchor and a tag is calculated. This information about distance is then used to calculate the position of the tag, as shown in Figure 1(a). However, in practical cases, it is not an easy task to measure the distance between anchors and tags. Thus measured range data invariably contains some errors. Figure 1 shows some possible practical cases that can occur due to errors in the measured range. Instead of all three circles intersecting at a point, they either do not intersect at all or only two circles intersect at one or two points. In Figure 1(b), all three circles overlap with each other and there is a region where the position coordinates can exist anywhere. In Figure 1(c), there is no point where all three circles intersect, they intersect at different points. In Figure 1(d), all three circles do not intersect at all. It is evident from Figure 1 that the higher the error in calculating the range, the higher will be the inaccuracy in positioning. To reduce the overall error that exists in trilateration, the error associated with the range data must be minimised.
This paper introduces an algorithm that sequentially analyses range data from each anchor and reduces range error. The proposed algorithm does not use the conventional trilateration algorithm, where it evaluates the error introduced by adding the distance of each anchor and then adjusts the position coordinates accordingly. From real-world experiments, we have observed that the proposed algorithm performs better than existing conventional and commercial algorithms.
Following are the major contributions of this paper: • An algorithm is proposed to reduce the effect of range error on positioning data in UWB-based positioning systems. The algorithm sequentially evaluates the error in the range data for each anchor and reduces its impact on the position coordinates. • In our proposed solution, an optimal number of anchors are determined for maximum accuracy. This is also useful in decreasing the setup time of the positioning system on the field and reduces the complexity.
Section 2 presents the literature review. The solution for minimising the error in range estimation is presented in Section 3. Evaluation under static and dynamic conditions is explained in Section 4. Section 5 is the results and discussion section. In Section 6, the algorithm is tested for the sport of tennis and compared against a commercially available market solution. Section 7 concludes the paper.

LITERATURE REVIEW
EPTS has emerged as a suitable alternative to camera-based athlete tracking systems [21][22][23]. Motion capture camera systems [15,[24][25][26] can be used for athelete tracking, but their complexity, setup time and cost are significantly high, and they require complex algorithms. Vision-based positioning systems require a powerful computational platform [27,28]. They also suffer from light conditions and scalability problems [29]. Consequently, many sports and their industry partners are leaning towards use of EPTSs [21][22][23]. EPTSs use UWB for indoor positioning. Authors in [30,31] compared different positioning systems and found the UWBbased positioning system to be the most suitable system for positioning. UWB possess accuracies in centimetres with a coverage area large enough to be used for any indoor sport [14,32], and indoor positioning [33][34][35]. Authors in [36][37][38] have investigated the performance of the UWB-based positioning system in challenging environments and reported positive outcomes.
Authors in [39] have highlighted the importance of a positioning system for application in sports and suggest UWB-based positioning systems to be the most suitable technology in the market. With the commercial availability of UWB chips from Decawave, they have gained more popularity as these chips can provide centimetre level accuracy. Authors in [40], used a Decwave UWB chip for positioning under dynamic conditions.
The UWB-based positioning system uses range data for estimating position coordinates. Different techniques can be used for calculating range data. These techniques include TOA [17], time difference of arrival (TDOA) [30], proximity detection, fingerprinting, and angle of arrival (AOA) [41]. The AOA technique requires measurement of angles and is a complex technique. TDOA requires clock synchronisation, which again makes this technique complex. Proximity detection does not provide range and only detects if an object exists in a specified range of the system. The fingerprinting technique requires the development of a database, which is a cumbersome task. The most robust technique to calculate the distance between the anchor and tag is the TOA. Round trip time for positioning in UWB is proposed by authors in [42,43]. Authors in [44] have emphasised that positioning should be reliable and robust.
Despite offering significant advantages, the UWB-based positioning system in a real-world setup is subject to a number of challenges [45]. NLOS transmissions [46][47][48] have a negative impact on the positioning accuracy of a UWB system. NLOS transmissions result in positively biased range estimates [49,50]. While using UWB for indoor positioning, multipath effects [51][52][53] also reduce positioning accuracy. Multipath and NLOS reduce a UWB's range data accuracy, resulting in positioning inaccuracy. Accordingly, the accuracy of the conventional trilateration algorithm reduces due to the range error. This range error needs to be mitigated for accurate positioning. In the following section, we introduce a solution that improves the accuracy of the UWB-based positioning system.

PROPOSED SOLUTION
For calculating positioning coordinates, the UWB positioning system provides range data. Ideally, the distance between each anchor and the tag should be equal to the range data. However, besides distance, range data also includes the propagation error as discussed earlier. In conventional positioning methods, the range data of each anchor is provided to the trilateration algorithm to determine the position coordinates of the tag. Trilateration is the most commonly used method for acquiring positioning coordinates of a tag. In this section, first we explain the trilateration method and then, based on the limitations of the trilateration algorithm, we propose our algorithm to mitigate range error. For the trilateration algorithm, a signal is sent from a tag to the anchor. The anchor sends back an acknowledgement. From ALGORITHM 1 Algorithm for First Set of Coordinates (x ′ , y ′ ) using Range Error Minimisation

1:
Input: Range of anchors to tag & coordinates of anchors{R 1 First set of coordinates of the tag 3: Distance the time of flight, the range is calculated.
In Equation (1), A is the anchor's number, R A is the range from the anchor to the tag. c is the speed at which the radio waves propagate, and t is the time of signal propagation. From the travelled time t , range R from the anchor to the tag can be measured.
To calculate the range between an anchor and a tag, the following equation is used: (2) Here, position coordinates of each anchor are (x A , y A ) and (x, y) are the coordinates of the tag. R is the range. From three anchors, three equations can be formed. To solve two unknown variables, only two equations are enough but solving two equations results in two sets of (x, y) coordinates. A third equation is required to select the actual point.
ALGORITHM 2 Algorithm using Range Error Minimisation 10:

16
: In Equations (3), (4), and (5), (x 1 , y 1 ), (x 2 , y 2 ), and (x 3 , y 3 ) are the coordinates of the anchor 1,2, and 3, respectively. R 1 , R 2 , and R 3 are the respective range from the anchors to the tag. Solving Equations (3), (4), and (5), following equations are attained: Equations (6) and (7) can be solved for x, y-coordinates of the tag. [ x y Here, It is evident from Equation (8) that the range error of different anchors accumulates in the trilateration algorithm. Our proposed algorithm sequentially adds the range data, analysing the range error of each anchor and then updating the position coordinates.

Proposed range error minimisation (REM) algorithm
Following are the main steps for the proposed algorithm (REM).
• Sorting the range of all anchors.
• Calculating the initial sets of position coordinates ((x ′ a , y ′ a ) and from the two sets of position coordinates ((x ′ a , y ′ a ) and (x ′ b , y ′ b )) calculated in the previous step.
A detailed description of each step of the algorithm is given below.

Sorting the range of anchors
In the first step, we acquire the range data of all the anchors and sort the range data in ascending order. From sorting, we can find the anchors closest to the tag. The anchor closest to the tag is denoted by R 1 . The second closest anchor is denoted by R 2 and so on. In Algorithms 1 and 2, the range of the anchors is denoted by R. R 1 is the minimum range from the anchor to the tag. The coordinates of this anchor are denoted as (x 1 , y 1 ). The second anchor closest to the tag is denoted as R 2 and its position coordinates are (x 2 , y 2 ). Next, we find the initial sets of position coordinates.

3.1.2
Calculating the initial sets of position coordinates ((x ′ a , y ′ a ) and (x ′ b , y ′ b )) from R 1 and R 2 Using the range data of the two anchors closest to the tag (R 1 and R 2 ), the initial position coordinates are calculated as shown in Figure 2. There are two possible points where the anchors' range data intersect. We denote these two sets of position coordinates as (x ′ a , y ′ a ) and (x ′ b , y ′ b ). In Figures 1(b) and 1(c), the two circles overlap and a point in the middle of this overlap region is selected. This contrasts with Figure 1(d), where circles do not intersect at any point and as a result d 12 (distance between the coordinates of Anchor 1 and Anchor 2) will be greater than the sum of the range of the two anchors (R 1 + R 2 ). In this case, when we apply Algorithm 1, it will be the first 'if condition' (line 7 of Algorithm 1) that will execute. From Algorithm 1, we attain two sets of position coordinates denoted by (x ′ a , y ′ a ) and (x ′ b , y ′ b ). In the following step, we will select the actual set of position coordinates.

3.1.3
Selecting the first set of position coordinates ((x ′ , y ′ )) From the two position coordinates ((x ′ a , y ′ a ) and (x ′ b , y ′ b )), we need to find the actual set of position coordinates. We find the distance between the two position coordinates and Anchor 3's coordinate (x 3 , y 3 ). The distance between (x ′ a , y ′ a ) and (x 3 , y 3 ) can be denoted as d 3a , while the distance between (x ′ b , y ′ b ) and (x 3 , y 3 ) can be denoted as d 3b .
Between the two distances (d 3a , d 3b ), the one with the shorter distance is selected. Figure 3 shows that the position coordinates (x ′ a , y ′ a ) are closer to Anchor 3, hence, they are selected. The selected set of position coordinates are denoted by (x ′ , y ′ ).
In Algorithm 2, d 3a and d 3b represents the distance from Anchor 3 and the two sets of position coordinates calculated in Algorithm 1, (x ′ a , y ′ a ) and (x ′ b , y ′ b ), respectively. d 3a and d 3b are compared and between (x ′ a , y ′ a ), (x ′ b , y ′ b ) and the anchor coordinates (x 3 , y 3 ), the set of coordinates with the shorter distance are assigned x ′ and y ′ . In this manner, the first set of position coordinates for the tag are calculated. In the next step, we add the range of the third anchor R 3 and update the position coordinates. If there is no error in the range measurement, range R 3 should extend to point (x ′ , y ′ ) and be equal to d 3a . Unfortunately, this is not the case. Due to positioning error, there could be two possible cases, as shown in Figures 4 and 5. In Figure 4, there is space between the position coordinates (x ′ , y ′ ) and R 3 . This difference is due to the range error. An addition to the range R 3 is made and the position of the coordinates (x ′ , y ′ ) are slightly shifted. After this shift, the new set of position coordinates of the tag are (x ′′ , y ′′ ). Figure 5 shows a case similar to Figure 4, but, in this case instead of a space between R 3 and d 3a , they overlap. Similar to the previous case, ideally R 3 and d 3a should be equal but due to error in the range, they overlap. We apply the same procedure as we did in the previous case and in this case subtraction is made in the Anchor 3's range R 3 . Following this, a new position coordinate is calculated, denoted by (x ′′ , y ′′ ).
In our case, as shown in Figure 6, R 3 and d 3a did not overlap, similar to Figure 4. In this case, we add a fraction of the dif- Range Error due to inaccuracy in measuring TOA

FIGURE 5
Range error results in the case of overlap of the range R 3 and coordinates of the tag (x, y)

FIGURE 6
Selection of second pair of position coordinates (x ′′ , y ′′ ) based on the range data from three anchors ference between R 3 and d 3a and our set of position coordinates (x ′ , y ′ ) changed to (x ′′ , y ′′ ). In the next step, we add the range of Anchor 4, R 4 .
In Algorithm 2, the difference between R 3 and R ′ 3 is assigned variable name di f f . The variable temp contains the range of the Anchor coordinates (x 3 , y 3 ) and the first set of position coordinates (x ′ , y ′ ). The variable 'factor' contains the ratio by which the position coordinates (x ′ , y ′ ) need to be changed. The product of temp and factor is deducted from the position coordinates of Anchor 3 (x 3 , y 3 ) providing a new set of coordinates for the tag, denoted by (x ′′ , y ′′ ). The position coordinates calculated earlier (x ′ , y ′ ) are from the range data of Anchor 1 and 2 only (R 1 and R 2 ) and this set of position coordinates ((x ′′ , y ′′ )) also includes the range of Anchor 3, R 3 . Now we add the range of the Anchor 4, R 4 .

3.1.5
Determining the position coordinates of the tag (x ′′′ , y ′′′ ) by adding Anchor 4's range data R 4 We denote the difference between the point (x ′′ , y ′′ ) and (x 4 , y 4 Figure 7, (R 4 ) and d ′ 4 overlap. As explained earlier, in this case we reduce the range R 4 and the set of position coordinates shift from (x ′′ , y ′′ ) to (x ′′′ , y ′′′ ).
In Algorithm 2, the range of Anchor 4, R 4 is added for computation. The procedure is again similar to the calculation of the last position coordinates (x ′′ , y ′′ ). Here, the range from (x ′′ , y ′′ ) to (x 4 , y 4 ) is denoted by R ′ 4 . Similarly, new values are assigned to the variables di f f , factor, and temp. The new position coordinates are (x ′′′ , y ′′′ ), which is denoted as (x, y), the final position of the tag.
In the beginning, range data of Anchors 5 and 6 were also added. However, in a later section of this paper, it is proven that four anchors are optimal. Adding more anchors introduces error, where positioning accuracy decreases rather than increases. Algorithm 2 is for the optimal number of anchors.

EXPERIMENTAL SETUP FOR IMPLEMENTING THE POSITIONING ALGORITHM UNDER DIFFERENT CONDITIONS
The REM algorithm was initially analysed under static conditions, where the tag was placed on a tripod at a particular point to record the specific position coordinates. Later experiments were conducted under dynamic conditions where the tag was in motion.

Positioning in static conditions
For the experiments, commercially available UWB Decawave sensors were used. Both the tag and the anchors consist of UWB transceivers. Figure 8 shows the layout of the field where experiments were conducted. Six anchors were placed 10 m apart. The experiment field was 10 m along X-axis and 20 m along Y-axis, covering a total area of 200 m 2 . For implementing positioning over a larger area more anchors can be added. The above-mentioned algorithm can work, even in the presence of additional anchors, as only four anchors based on the shortest distance are selected.
This experiment was designed for static conditions so the tag was placed on a point and then the range data of all anchors were recorded. After calculating the set of position coordinates from the range data, it was compared against the actual position coordinates measured physically using a laser range finder. The difference between the measured and actual position coordinates was calculated using the distance formula. More than 8000 readings were recorded at 70 different points. The tag received positioning data from all six anchors. In ideal conditions, the circumference of all the circles around each anchor must intersect with each other at the point where the tag is placed.
In this experiment, conditions were favourable for positioning. The total area covered was only 200 m 2 . The tag was in static conditions and anchors were only 10 m apart. In the next section, an experiment was conducted under dynamic conditions.

Positioning in dynamic conditions
In this experiment, only four anchors were used, instead of six, and the distance between them increased to 20 m. Four anchors were placed at the four corners, covering a total area of 400 m 2 as shown in Figure 9. The playing field for a player in tennis singles is 97.85 m 2 and for doubles, it is 130 m 2 . For positioning, an area equivalent to three times the actual field size is considered. The reason for selecting these dimensions of the field and number of anchors is that if anchors were placed closer to the field or a large number of anchors were placed around the field, it would have caused hindrance in the game. For dynamic analysis, an area of 10 m × 10 m is selected, as shown in Figure 9. The tag's motion and position coordinates were recorded at the perimeters of this area.
In Figure 9, it can be noted that the 10 m 2 was not in the centre along the X-axis. The selected area was closer to one perimeter (2 m) along X-axis while at a larger distance (8 m) along the other perimeter of the X-axis. The reason for this placement is because the position of the tag is also crucial in positioning. Authors in [54] have found that in UWB-based positioning systems there is a large error in positioning data along perimeters.
Using laser range finder, distance was calculated and several markings were placed on the floor. A UWB tag was placed on a trundle wheel and position coordinates of its movement were recorded at each instance as it crosses a marking. A camera was also placed on the trundle wheel to record the movement precisely, as shown in Figure 10. Using Kinovea software, the video was processed and the UWB's position coordinates at each instance were extracted from the video.
Trundle wheel records the travelled distance and a stopwatch was used to keep track of the time. From distance and time, speed can be calculated. The error in measurement of position  coordinates results in an error in measuring the distance and it eventually results in calculating the incorrect speed of the athlete. Higher positioning accuracy is beneficial in measuring the accurate distance and speed of the athlete. In the next section, the accuracy of the REM algorithm is compared against two widely used positioning systems.

RESULTS AND DISCUSSION
The REM algorithm is compared against trilateration and multilateration algorithm for static and dynamic positioning. The trilateration algorithm is the most commonly used algorithm for positioning. Besides trilateration, authors in [55] found multilateration algorithm to be more accurate for positioning. The positioning accuracy of these two algorithms is used to evaluate the REM algorithm.

Optimal number of anchors and complexity of the algorithm
In this experiment, the tag received the range from all six anchors. From the previous discussion, it can be established that adding more anchors is beneficial for increasing the position accuracy. But, up to what extent adding anchors will be beneficial in increasing the accuracy? It is also worth mentioning that adding the measured range of an anchor with large error will negatively impact the calculations as the range error accumulates over time. Additional anchors also add cost and complexity to the positioning system. It is essential to find how many anchors will be most beneficial for positioning.
For the experiment, six anchors were used and their range data was used for determining the optimal number of anchors. Figure 11 shows the cumulative distribution function (CDF) plot for the experiment. The random variable was the absolute position error, and consequently, the X-axis of the CDF figure is the absolute position error and Y-axis is the cumulative probability. The highest accuracy is observed with four anchors. With three anchors having slightly less accuracy and other combinations are clearly less accurate. Hence, it is proved that it is not always the case that adding more anchors is beneficial. Positioning accuracy decreased with five anchors and it further decreased by six anchors. This is due to the fact that anchors away from the tag will add error in calculations. The optimal number of anchors for the REM algorithm is four anchors.
If the distance between the anchors is increased or decreased or the same algorithm is implemented in a larger area with more anchors, it will impact the positioning accuracy but, the optimal number of anchors will remain the same. After determining the optimal number of anchors, now we will evaluate the position accuracy in static and dynamic domains.
The computational complexity of the conventional positioning algorithm (trilateration) is O(N) which is known as linear  time. However, for the REM algorithm, we need to sort the range of all anchors in order to determine the anchors closest to the tag. Sorting is performed at every iteration. As the number of anchors increase, more sorting needs to be performed at every iteration and hence complexity increases. In the REM algorithm, we are using Quick Sort. It is one of the fastest algorithms for sorting and its complexity grows in logarithmic time, O(n log n). Similarly, for adding the range of the additional anchors, a for loop needs to be added. The for loop is denoted by m. Hence, the overall complexity of the algorithm will be O(m × n log n). But, as we have found that the optimal number of anchors will be four, we can remove m. As a result, the overall complexity of the algorithm is limited to logarithmic time, O(n log n). Figure 12 and Table 1 show a comparison between the algorithms. The REM algorithm performed best and shows the highest accuracy. Trilateration is the least accurate algorithm. The trilateration algorithm only used three anchors for positioning. It can be noted from Table 1 that trilateration not only has the highest mean error but, its standard deviation (SD) is also very high. Less number of anchors for calculating the position coordinates and large error in range data resulted in high inaccuracy in the trilateration algorithm. Multilateration and Pozyx algorithms performed better than the trilateration algorithm. However, REM algorithm proved to be the most accurate algorithm. These results show that adding the range of additional anchors is beneficial for positioning. In this case,

FIGURE 14
Dynamic analysis with four anchors the tag was static but, in the next section the position accuracy while the tag is in motion will be evaluated.

Results in dynamic conditions
Uniform movements in the dynamic domain are illustrated in Figures 13 and 14 for six and four anchors, respectively. In Figure 13, six anchors were used and the REM algorithm's accuracy is almost equivalent to the accuracy of the multilateration algorithm. This is because of the presence of six anchors, unlike trilateration, multilateration was able to select the anchors closer to the tag. In the next case of four anchors (Figure 14), the REM algorithm performed better than trilateration and more accurate than multilateration. This time there were only four anchors, multilateration algorithm is less accurate than the REM algorithm as observed in Figure 13. Figure 15 is a relevant experiment for sports. In sports, athletes' movement is not uniform and in various instances, they make rapid changes in direction and speed. Their movement is also relatively faster than walking. The importance of sequentially minimising range error is evident in Figure 15. Unlike Figures 13 and 14, in Figure 15 the difference between the accuracy of the REM algorithm is higher than the other two algorithms. This behaviour is not observed in the earlier two cases involving uniform movement.  (Figures 13, 14, and 15), it is evident that positioning involving fast and abrupt movements is prone to higher error and hence error minimisation is most crucial for such cases. After attaining these encouraging results, in the next section, the REM algorithm is compared against a commercially available positioning solution that combines UWB positioning and inertial sensor's data (accelerometer, gyroscope, magnetometer) for positioning.

IMPLEMENTING AND ANALYSING THE ACCURACY OF THE PROPOSED ALGORITHM IN TENNIS
Besides trilateration and multilateration, we have used a commercially available algorithm for the comparison. Rather than limiting the comparison to theoretical algorithms, comparison against a commercially available algorithm will be more useful. The Pozyx lab provides UWB-based positioning solution. Their positioning system uses the same technique, TOA to calculate the position coordinates. Comparing with a commercial algorithm will assist in understanding how well the REM algorithm will perform in a real-world scenario. The only limitation of this algorithm is that due to Intelectual property (IP) there is no access to the code or detailed explanation about the specific technique.
Authors in [56] compared three UWB-based positioning systems (Ubisense, BeSpoon, and Decawave) and found Decawave to be the most accurate among them. Pozyx provides commercially available positioning solutions using Decawave's UWB sensors. Due to its high accuracy and popularity, the Pozyx positioning solution was selected as a benchmark against the proposed positioning solution.
As mentioned earlier, the main reason for higher positioning errors in sports is the rapid movements and abrupt change of direction of athletes. To draw the comparison between the two algorithms, they are analysed under movements involving uniform motion and rapid change of direction. For the analysis, Pozyx's tracking algorithm is used. This algorithm not only uses UWB positioning data but also adds the IMU data into it.   UWB positioning data and IMU data are added in a technique known as sensor fusion. The IMU sensors, although they have a high refresh rate (in this case 100 Hz), the data produced by them is very noisy. Based on the available positioning data, the Kalman filter predicts the position for the next instance. It is a useful technique and used in many applications for increasing the accuracy of positioning. However, implementing them in sports for positioning has certain limitations. The athlete's movement is not uniform and abrupt change of direction occurs as they move [57]. Figure 16 illustrates the positioning accuracy of the REM algorithm against the Pozyx algorithm. The Pozyx algorithm is also using IMU data for positioning. The two cases of four and six anchors, as analysed earlier, are analysed in this experiment. The REM algorithm performed more accurate in both cases, whether four or six anchors are used. However, this movement is uniform. In the next experiment, the movement will involve a rapid change of direction. Figure 17 is the most relevant experiment for applications related to sports, specifically tennis. Here, the movement and rapid change of directions are similar to sports. The REM algorithm is more accurate than the commercially used algorithm. Inertial sensors may be useful in predicting the motion along a uniform path, but their prediction accuracy decreases and noise increases as the path is non-uniform and change of direction occurs too often. In such scenarios, it is more beneficial to focus on improving the accuracy of the positioning algorithm.

CONCLUSION
This paper presented an algorithm to reduce the range error in indoor positioning. The positioning accuracy of the indoor positioning system is heavily influenced by the range error. The proposed algorithm analyses the range error associated with each anchor and sequentially reduces the error, which results in higher positioning accuracy without any additional hardware. The proposed algorithm is tested using a hardware test-bed under challenging conditions required for athlete tracking and compared against three different algorithms.