Range-Extension Algorithms and Strategies For TDOA Ultra-Wideband Positioning System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

sensors

Article
Range-Extension Algorithms and Strategies for TDOA
Ultra-Wideband Positioning System
Shih-Ping Huang 1 , Chien-Bang Chen 1 , Tan-Zhi Wei 1 , Wei-Ting Tsai 1 , Chong-Yi Liou 1 , Yuan-Mou Mao 2 ,
Wang-Huei Sheng 2 and Shau-Gang Mao 1, *

1 Graduate Institute of Commutation Engineering, National Taiwan University, Taipei 106, Taiwan
2 School of Medicine, National Taiwan University, Taipei 106, Taiwan
* Correspondence: sgmao@ntu.edu.tw; Tel.: +886-23366-1576

Abstract: The Internet of Things (IoT) for smart industry requires the surveillance and management
of people and objects. The ultra-wideband positioning system is an attractive solution for achieving
centimeter-level accuracy in target location. While many studies have focused on improving the
accuracy of the anchor coverage range, it is important to note that in practical applications, positioning
areas are often limited and obstructed by furniture, shelves, pillars, or walls, which can restrict the
placement of anchors. Furthermore, some positioning regions are located beyond anchor coverage,
and a single group with few anchors may not be able to cover all rooms and aisles on a floor due
to non-line-of-sight errors causing severe positioning errors. In this work, we propose a dynamic-
reference anchor time difference of arrival (TDOA) compensation algorithm to enhance accuracy
beyond anchor coverage by eliminating local minima of the TDOA loss function near anchors. We
designed a multidimensional and multigroup TDOA positioning system with the aim of broadening
the coverage of indoor positioning and accommodating complex indoor environments. By employing
an address-filter technique and group-switching process, tags can seamlessly move between groups
with a high positioning rate, low latency, and high accuracy. We deployed the system in a medical
center to locate and manage researchers with infectious medical waste, demonstrating its usefulness
for practical healthcare institutions. Our proposed positioning system can thus facilitate precise and
wide-range indoor and outdoor wireless localization.
Citation: Huang, S.-P.; Chen, C.-B.;
Wei, T.-Z.; Tsai, W.-T.; Liou, C.-Y.;
Keywords: RTLS; TDOA; ultra-wideband; extensible positioning system; out-of-range positioning
Mao, Y.-M.; Sheng, W.-H.; Mao, S.-G.
Range-Extension Algorithms and
Strategies for TDOA Ultra-Wideband
Positioning System. Sensors 2023, 23,
3088. https://doi.org/10.3390/
1. Introduction
s23063088 1.1. Ultra-Wideband (UWB) Positioning
Positioning systems play a critical role in bridging the gap between people and the
Academic Editors: Itzik Klein and
Yiqing Yao
real world. The global positioning system (GPS) has matured in recent decades and has
proven to be reliable technology for outdoor navigation, disaster rescue, and aircraft stabi-
Received: 29 January 2023 lization [1]. However, GPS is not suitable for indoor environments. Indoor positioning is
Revised: 7 March 2023 vital for surveillance and management applications, including guiding customers in a shop-
Accepted: 7 March 2023 ping mall, navigating autonomous guided vehicles (AGVs) in factories or warehouses [2,3],
Published: 13 March 2023
developing collision avoidance systems for AGVs [4], and managing hazardous materials in a
laboratory. A summary of recent indoor positioning scenarios and technologies is presented [5].
One commonly used technology for achieving high-accuracy positioning systems is
Copyright: © 2023 by the authors.
ultra-wideband (UWB). Well known mobile phone providers, such as Apple [6], Google [7],
Licensee MDPI, Basel, Switzerland. and Samsung, develop their products with UWB chips [8]. For example, Apple’s AirTag,
This article is an open access article released in 2021, uses UWB technology to assist iPhone users in locating lost items [9].
distributed under the terms and UWB signals are impulses in the time domain with a bandwidth greater than 500 MHz.
conditions of the Creative Commons The precise impulse timestamps can help reduce the multipath effect. UWB chips provide
Attribution (CC BY) license (https:// channel impulse responses (CIRs), which can be used for non-line-of-sight (NLOS) identifi-
creativecommons.org/licenses/by/ cation or mitigation [10–12]. UWB can be combined with inertial measurement units (IMU)
4.0/). and GPS for indoor–outdoor roaming [13,14].

Sensors 2023, 23, 3088. https://doi.org/10.3390/s23063088 https://www.mdpi.com/journal/sensors


Sensors 2023, 23, 3088 2 of 27

1.2. Time of Arrival (TOA)


Time of arrival (TOA) is the predominant positioning method employed in most UWB
positioning systems. The distance between anchors and tags can be determined using
two-way-ranging (TWR) [15]. Precise distance measurement enables accurate estimation of
both 2D and 3D positions [16–18]. While the accuracy of TOA is generally superior among
time-based methods, the latency of target positioning tends to increase with an increasing
number of tags [19]. Consequently, the localization rate decreases rapidly, rendering TOA
unsuitable for applications that involve a large number of targets.

1.3. Time Difference of Arrival (TDOA)


The time difference of arrival (TDOA) method estimates the differences in distance
between a tag and any two anchors and then identifies the intersection of the hyperbolas
to locate the tag. In an uplink TDOA system, anchors are synchronized using Ethernet or
wireless signals [20]. Once the tag sends a data frame, the time differences can be computed.
By using the ALOHA theorem [21], only approximately 18.6% of the timeframe can be
utilized for collision-free communication because tags are not scheduled and transmitted
randomly. Thus the tags can conserve power and reduce costs because random transmission
does not require a powerful microcontroller.
In the downlink TDOA system, the slave anchors are triggered by a master anchor to
transmit ranging messages in scheduled slots. The tags can determine the differences in the
distance by comparing the receiving timestamps of the ranging messages [22]. The number
of tags in the downlink system is unlimited, as the tags do not need to transmit messages.
The positioning result is computed on the tag and must be uploaded to the server by
out-of-band protocols such as Bluetooth low energy (BLE) or WiFi. Fortunately, the targets
already equipped with such commercial wireless protocols can be quickly integrated with
a downlink TDOA system. For example, AGVs are often monitored by WiFi, and mobile
phones can access the Internet via 4G or 5G communication.

1.4. Extended Positioning Requirements


The positioning accuracy within the convex hull of the anchors surpasses that out-
side [23]. Ideally, anchors should be deployed to cover all desired positioning areas.
However, realization and power concerns may prohibit anchor placement in the desired
locations, resulting in parts of the positioning area being outside the convex hull. Addition-
ally, in specific applications, such as drone positioning and landing systems [24–26], the
target may be far from the anchors. The validation of out-of-range positioning is crucial for
implementing and extending the usage of a positioning system.

1.5. Contributions
This study proposes a dynamic-reference anchor (DRA) algorithm to improve TDOA
out-of-range positioning accuracy. The local minima in the loss function can be eliminated
by selecting a proper reference anchor. In addition, a multidimensional and multigroup
TDOA system is designed to expand the positioning coverage. The major contributions of
this study are summarized as follows:
• The DRA algorithm eliminates the local minima in the loss function, improving the
out-of-range accuracy of TDOA.
• Positioning coverage can be expanded by using multiple individual groups, and the
group searching algorithm minimizes the roaming latency of tag.
• The multidimensional groups are versatile in adapting to various complex
indoor environments.
This paper is organized as follows. Section 2 provides a comparison of this proposed
work with other related works. Section 3 analyzes the problem of the TDOA loss function
outside the coverage of anchors. A simulation and experiment are conducted to prove the
improvement of the DRA algorithm. Section 4 presents the multigroup and multidimen-
sional TDOA positioning system, including group types, group bounding, group region,
Sensors 2023, 23, 3088 3 of 27

and the process of group switching. In Section 5, the proposed system is demonstrated
with an application of medical waste management in a medical center. The bias problem
of the 1D group is discussed in Section 6.1, and a solution is given in Section 6.2. Finally,
Section 7 summarizes the conclusions and outlines future work.

2. Related Works
A system that uses additional anchors to expand the positioning range was pro-
posed [27]. When the positioning target moves to unexpected areas, a new anchor can
be deployed and located by the original anchors. However, the estimation errors of new
anchors may accumulate when more additional anchors are used.
Ref. [28] used a positioning target with two tags, each connected to a different UWB
network. The fusion of ranging results can improve accuracy if the quality of ranging is poor
in one of the UWB networks. Although the concept of fusing multiple tags is interesting, it is
not practical to equip a small device with a large number of tags in multiple networks.
The out-of-range positioning scenario in smart-following applications was discussed [29,30].
When the tag carried by a human master moves far away, the anchors on an AGV concentrate
like a hotspot. The proposed anchor selection method uses the most asymmetric anchors to
locate the tag to improve accuracy. However, in a rectangular room, the acceptable number
of anchors is usually at most four, and only a few subsets can be selected.
Despite numerous studies on TDOA single-group wireless synchronization using sta-
tionary anchors [31–33], few practical solutions have been proposed to extend positioning
coverage in severe NLOS scenarios. The plug-and-play localization system (PnPLoc) in
which all anchors initiate TWR with nearby anchors was proposed [34], and additional
anchors are not limited by the distance from a specified master anchor. However, the
positioning rate decreases when there are many anchors in a large building. A multi-hop
wireless synchronization algorithm was proposed in [35], where the synchronization signal
from the master anchor propagates between anchors according to the synchronization qual-
ity treemap, reducing the synchronization error caused by NLOS in a building. However,
line-of-sight (LOS) anchor pairs may not always be present between adjacent rooms, and a
viable path may not be included in the treemap. The study in [36] proposed a grid-based
positioning system in which TDOA anchors are placed as multiple grids and synchronized
using wireless signals. Every anchor establishes a connection to the Internet to schedule
time-division multiple access slots and transmit positioning data, while tags connect to
the cell with the strongest received signal strength. Nevertheless, the proposed grid-like
anchor deployment is unfeasible for complex indoor environments.

3. TDOA Positioning Algorithm


3.1. Existing Solutions
Consider a TDOA network with four anchors and a tag. The measured signal time
difference between the ith anchor and the jth anchor, denoted as tij , can be translated to
the distance difference dij by multiplying it by the light speed. Because dij can be obtained
from dik − d jk , any anchor can be chosen as the reference anchor. For example, if k = 1,
the linear independent terms are d21 , d31 , and d41 . The hyperbolas shaped by these terms
would intersect at the tag position, as depicted in Figure 1.
In practical scenarios, hyperbolas often do not intersect at a single point due to
measurement errors. Several TDOA algorithms have been proposed to find the optimal
position, including the least square (LS) closed-form solution [37], Chan method [38], Taylor
method [39], and gradient descent (GD) algorithm. However, LS and Chan methods may
not provide sufficient accuracy due to approximation errors, while the Taylor method
may converge to an incorrect position if the initial estimate is far from the true position.
Although the GD algorithm provides better accuracy, it requires heavy computations. A
hybrid method that combines Taylor and GD methods was proposed in [38] to improve
accuracy, but it is still unsuitable for cost-effective IoT devices. A second-order term
was added to the Taylor series [40] to improve the Taylor method, which achieved better
Sensors 2023, 23, x FOR PEER REVIEW 4 of 26

Sensors 2023, 23, 3088 Consider a TDOA network with four anchors and a tag. The measured signal4 time of 27
difference between the 𝑖th anchor and the 𝑗th anchor, denoted as 𝑡 , can be translated
to the distance difference 𝑑 by multiplying it by the light speed. Because 𝑑 can be
obtained from
convergence 𝑑 𝑑 , any
performance thananchor can be chosen
the traditional Taylorasmethod.
the reference anchor.
In this study, For
we example,
adopted
if ksecond-order
the = 1, the linear independent
Taylor terms as
(SOT) method 𝑑 base
arethe , 𝑑 TDOA 𝑑 . The hyperbolas
, and optimization shaped
algorithm. by
A brief
these termsofwould
derivation SOT isintersect
presentedat below.
the tag position, as depicted in Figure 1.

Figure1.1.Time
Figure Timedifference
differenceof
ofarrival
arrival(TDOA)
(TDOA)hyperbolas.
hyperbolas.The
Theblue
bluesquare
squaredenotes
denotesthe
thetag.
tag.

In practical
Suppose scenarios,
anchor hyperbolas
k is selected oftenreference
as the do not intersect
anchor.atThe a single point due
estimated to meas‐
position is
v = [ xv yerrors.
purement v ] withSeveral
arbitrary initialalgorithms
TDOA values, andhave the number of anchors
been proposed to is N. The
find loss function
the optimal posi‐
at position
tion, includingp = [the x y]least
to the ith anchor
square and the reference
(LS) closed‐form solutionanchor [37],can be method
Chan defined as [38], Taylor
method [39], and gradient q descent (GD) algorithm. q However, LS and Chan methods may
not provide f i ( psufficient − x)2 + (ydue
) = ( xi accuracy i − yto
) 2 approximation
− ( x k − x )2 +errors, )2 = rthe
(yk − ywhile Taylor method
i,k + ei,k , (1)
may converge to an incorrect position if the initial estimate is far from the true position.
where ri,k isthe
Although theGD measured distance
algorithm provides difference
better and ei,k is the
accuracy, measurement
it requires heavy error. By expand-
computations. A
ing (1) using
hybrid method Taylor
thatseries at pvTaylor
combines and ignoringand GDthe high-order
methods terms, (1) in
was proposed can be rewritten
[Error! as
Reference
source not found.] to improve accuracy, but it is still unsuitable for cost‐effective IoT de‐
vices. A second‐order termf iwas + ai δ ∼
( pv ) added =tori,kthe , i= . . , N, [40] to improve the Taylor
1, 2, . series
Taylor (2)
method, which achieved better convergence performance than the traditional Taylor
where
method. In this study, we adopted h the second‐order i  Taylor
xv − x (SOT) method as the base

∂ f i ( p) ∂ f i ( p)
TDOA optimization algorithm. ai = A brief derivation , δ =of SOT is presented
. below.
∂x ∂y yv − y
Suppose anchor 𝑘 is selected as the reference anchor. The estimated position is 𝑝
𝑥 𝑦Then,with thearbitrary
first-order Taylor
initial step and
values, δ1 can thebenumber solved of as:anchors is N. The loss function at
position 𝑝 𝑥 𝑦 to the 𝑖th anchor and the  reference
−1 anchor can be defined as
δ1 = A1 T A1 A1 T D, (3)
𝑓 𝑝 𝑥 x 𝑦 y 𝑥 x 𝑦 y 𝑟, 𝜖, , (1)
where
where 𝑟 , is the measured distance difference and 𝜖 , is the measurement error. By ex‐
r1,1 − f 1 ( pv )

panding (1) using Taylor series at 𝑝 and ignoringthe high‐order terms, (1) can be re‐
 r2,1 − f 2 ( pv ) 
T 
written as 
A1 = a1 a2 · · · a N , D =  .. 
.
𝑓 𝑝 𝑎 𝛿 ≅ 𝑟 , , 𝑖 1, 2, … , 𝑁,
 
(2)
r N,1 − f N ( pv )
where
Now consider the second-order term in the Taylor series; (2) becomes:
𝑥 𝑥
𝑎 1 T , 𝛿 𝑦 𝑦.

f i ( pv ) + ai δ + δ Hi δ = ri,1 , i = 2, 3, . . . , N, (4)
Then, the first‐order Taylor step2 𝛿 can be solved as:
where
𝛿  ∂2 f𝐴i ( p) 𝐴 ∂2 f i𝐴( p) 𝐷,
 (3)
2 ∂x∂y 
where Hi =  ∂2∂x
f ( p) ∂2 f i ( p )
.
i
∂x∂y ∂y2
𝑟 𝑓 𝑝
Because δ1 is determined, which can be regarded as ⎡ a, constant, the ⎤
T𝑎 𝑎 ⋯ 𝑎 ⎢ 𝑟 , 𝑓 𝑝 ⎥ second-order term
T 𝐴 , 𝐷
δ can be approximated by δ1 to translate (4) into a linear equation .
⎢ ⋮ ⎥
1 ⎣𝑟 , 𝑓 𝑝 ⎦
f i ( pv ) + ( ai + δ1 T Hi )δ ∼
= ri,1 , i = 2, 3, . . . , N. (5)
2
𝐻 .

Because 𝛿 is determined, which can be regarded as a constant, the second‐order


Sensors 2023, 23, 3088 term 𝛿 can be approximated by 𝛿 to translate (4) into a linear equation 5 of 27

𝑓 𝑝 𝑎 𝛿 𝐻 𝛿 ≅ 𝑟, , 𝑖 2,3, … , 𝑁. (5)

The second-order step δ𝛿2 can


second‐order step canbe
besolved
solvedby
bythe
theleast
leastsquares
squaresestimator
estimator
𝛿  𝐴 𝐴−1 𝐴 T 𝐷, (6)
δ2 = A2 T A2 A2 D, (6)
where
where 𝐴 𝐴 1  𝐻 𝛿 𝐻 𝛿 ⋯ 𝐻 𝛿  T.
A2 = A1 + H1 T δ1 H2 T δ1 · · · HN T δ1 .
Finally, 𝑝 can be updated by 2 adding 𝛿 at each iteration until 𝛿 is smaller than
Finally,
the early pv cancriterion,
stopping be updated by maximal
or the adding δ2iteration
at each iteration until
is reached. 2 is smallerof
Theδderivation than
SOTthein
early stopping criterion, or
detail can be found in [40]. the maximal iteration is reached. The derivation of SOT in detail
can be found in [40].
3.2. Performance Analysis
3.2. Performance Analysis
A simulation of the SOT was performed for both the inside and outside areas. The
A simulation of the SOT was performed for both the inside and outside areas. The
simulation range was 3 m 3 m, and the grid size was 0.1 m, where each point took 100
simulation range was 3 m × 3 m, and the grid size was 0.1 m, where each point took 100 tests.
tests. In Figure 2, the red dots located at (−1.5, −1.5), (1.5, −1.5), (1.5, 1.5), and (−1.5, 1.5) are
In Figure 2, the red dots located at (−1.5, −1.5), (1.5, −1.5), (1.5, 1.5), and (−1.5, 1.5) are
anchors 1 to 4, respectively. Anchor 1 was selected as the reference. Because there was no
anchors 1 to 4, respectively. Anchor 1 was selected as the reference. Because there was
prior knowledge of the correct position, the estimated initial position was at the center of
no prior knowledge of the correct position, the estimated initial position was at the center
the anchors (0.0, 0.0) in each test. The simulated distance differences were noised by
of the anchors (0.0, 0.0) in each test. The simulated distance differences were noised by
σ~N 0, 0.06 . The maximum epoch of the SOT was 30, and the early stop criterion was
σ ∼ N(0, 0.06). The maximum epoch of the SOT was 30, and the early stop criterion was
that the 2‐norm of 𝛿 was smaller than 0.001 m. The simulated root‐mean‐square error
that the 2-norm of δ2 was smaller than 0.001 m. The simulated root-mean-square error
(RMSE) is shown in Figure 2. Values are represented by colors in the color bar. The areas
(RMSE) is shown in Figure 2. Values are represented by colors in the color bar. The areas
with an
with an RMSE
RMSE greater
greater than
than 0.7
0.7 m
m are
are colored
coloredasas0.7
0.7m mfor
forbetter
bettervisualization.
visualization.

Figure 2. Simulated root-mean-square


root‐mean‐square error
error (RMSE)
(RMSE) of
of the
the second-order
second‐order Taylor
Taylor(SOT)
(SOT)method.
method.

In Figure 2, the performance is satisfactory inside the anchors, but outside the area,
especially in the yellow cones outside anchors 1, 2, and 4, the performance is not optimal.
Detailed analyses of the points (2.5, 2.5), (2.5, −2.5), (−2.5, 2.5), and (−2.5, −2.5) are
presented in Figures 3–6, respectively, to investigate why the yellow cone disappears
outside anchor 3. In Figure 3a, the estimated positions are scattered around the actual
position. However, as depicted in Figure 4a, the positions are split into two clusters.
The cluster close to anchor 2 might be trapped in the local minimum of the loss map, as
demonstrated in Figure 4b. The loss map was computed using noiseless data. However, due
to noise in actual data, there could be changes in the loss map, causing estimations to converge
towards local or global minima. A similar phenomenon is observed in Figures 5 and 6.
3. In Figure 3a, the estimated positions are scattered around the actual position. Howev
asdata, therein
depicted could be changes
Figure in the lossare
4a, the positions map, causing
split estimations
into two clusters.to converge
The clustertowards
close to a
local or global minima. A similar phenomenon is observed in Figures 5 and 6.
chor 2 might be trapped in the local minimum of the loss map, as demonstrated in Figu
4b. The loss map was computed using noiseless data. However, due to noise in actu
Sensors 2023, 23, 3088 data, there could be changes in the loss map, causing estimations to converge 6 of 27 towar
local or global minima. A similar phenomenon is observed in Figures 5 and 6.

(a) (b)
Figure 3. (a) Estimated positions and (b) loss map of point (2.5, 2.5).

In contrast, Figure 3b exhibits no local minima. The TDOA hyperbolas are responsi‐
ble for the absence of local minima on the opposite side of the reference anchor. Although
(a)different choices of the reference anchor should yield(b) the same global minima, the local
minima
Figure positions
3. (a) depend
Estimated on the
positions andreference anchor.
(b) loss map of point (2.5, 2.5).
Figure 3. (a) Estimated positions and (b) loss map of point (2.5, 2.5).

In contrast, Figure 3b exhibits no local minima. The TDOA hyperbolas are respon
ble for the absence of local minima on the opposite side of the reference anchor. Althou
different choices of the reference anchor should yield the same global minima, the loc
minima positions depend on the reference anchor.

(a) (b)
Figure 4. (a)
Figure Estimated
4. (a) Estimatedpositions
positions and (b)loss
and (b) lossmap
mapofof point
point (2.5,
(2.5, −2.5).
−2.5).

In contrast, Figure 3b exhibits no local minima. The TDOA hyperbolas are responsible
for the absence of local minima on the opposite side of the reference anchor. Although
different choices of the reference anchor should yield the same global minima, the local
minima positions depend on the reference anchor.
(a) (b)
Figure 4. (a) Estimated positions and (b) loss map of point (2.5, −2.5).
Sensors
Sensors 2023,
2023, 23,
23, x FOR PEER REVIEW
3088 7 7ofof 26
27

(a) (b)
Figure 5. (a) Estimated positions and (b) loss map of point (−2.5, 2.5).
Figure 5. (a) Estimated positions and (b) loss map of point (−2.5, 2.5).

(a) (b)
Figure
Figure 6.
6. (a)
(a) Estimated
Estimated positions
positions and (b) loss map of point (−2.5,
(−2.5,−2.5).
−2.5).

3.3. Dynamic
3.3. Dynamic Reference
Reference Anchor
Anchor Algorithm
Algorithm
Because the
Because the opposite
opposite side
side of
of the
the reference
reference anchor
anchor performs
performs better
better than
than the
the others,
others, the
the
reference anchor can be changed according to the estimated position. This study proposesa
reference anchor can be changed according to the estimated position. This study proposes
adynamic
dynamic reference anchor
reference second-order
anchor TaylorTaylor
second‐order (DRA-SOT) algorithm
(DRA‐SOT) that updates
algorithm the reference
that updates the
anchor in each iteration to eliminate the local minima that appear at the outside
reference anchor in each iteration to eliminate the local minima that appear at the outside corner.
corner.Suppose anchor 1 is the reference anchor during the measurement process. The
original anchor
Suppose position
anchor 1 is matrix A can be
the reference defined
anchor as the measurement process. The orig‐
during
inal anchor position matrix 𝐴 can bedefined as 
A= p 1 p ... p
2 N , (7)
𝐴 𝑝 𝑝 … 𝑝 , (7)
where pn is the position of the nth anchor, and the first term is the reference anchor. The
where 𝑝 distance
measured is the position
difference 𝑛th anchor,
of thevector R can beand the first
defined as term is the reference anchor. The
measured distance difference vector R can be defined as
 
R = r1,1
𝑟 r2,1
𝑟 . r𝑟N,1 ,
. .… (8)
𝑅 ,, ,, ,, , (8)
Sensors 2023, 23, 3088 8 of 27

where ri,j is defined as in Equation (1). Because there is no prior knowledge of the correct
position, the reference anchor is arbitrary in the first iteration and the initial position pv can
be set to the center of the anchors. In the second iteration, as pv moves toward the target,
the index of the farthest anchor to pv can be found by
q
α = argmax ( x i − x v )2 + ( y i − y v )2 . (9)
i

Then, the translated data vector R0 can be generated by subtracting R by rα,1 to make
the arguments referenced to anchor α. For example, if N = 4 and α = 3, then

R0 = r1,1 −r3,1 r2,1 −r3,1 0 r4,1 −r3,1 .


 
(10)

The first term of R0 is the reference distance difference in the SOT method. Thus, R0 is
updated by exchanging R0 [0] and R0 [α]:

R0 = 0 r2,1 −r3,1 r1,1 −r3,1 r4,1 −r3,1 .


 
(11)

In addition, the anchor position matrix is translated by exchanging A[0] and A[α]:

A 0 = p3 p2 p0 p4 .
 
(12)

Finally, A0 and R0 are passed to the SOT to update pv at each iteration. Note that
the term ri,j for which i is equal to j is always 0. The procedure of DRA-SOT is shown in
Algorithm 1.

Algorithm 1 Function DRA_SOT()


Input Anchor positions: (x1 , y1 ), (x2 , y2 ), . . . , (x N , y N )
Distance differences: r1,1 , r2,1 , . . . , r N,1
Early stop criterion: β
Maximal iteration: max_epoch
Output Estimated position: (xest , yest )
1 Set (x, y) to the center of anchors
2 Set n to 0
3 while n < max_epoch do
4 use (9) to find the reference anchor’s index α
5 Set R to [r1,1 , r2,1 , . . . , r N,1 ] - rα,1
6 Set A to [[x1 , y1 ], [x2 , y2 ], . . . , [x N , y N ]]
7 Exchange R[0] for R[α]
8 Exchange A[0] for A[α]
9 Use (3) to determine δ1
10 Use (6) to determine δ2
11 Set ( x, y) to (x + δ2x , y + δ2y )
12 Set n to n + 1
13 if norm(δ2 ) < β then
14 break
15 end if
16 end while
17 return (x, y)

3.4. Simulation
Figure 7a is a copy of Figure 2 and is placed here for comparison. The simulation
results of DRA-SOT are plotted in Figure 7b. The ranges and conditions were the same
as those described in Section 3.2. Compared with Figure 7a, the yellow cones outside
the anchors disappear, while the other areas do not change much. The accuracy was
significantly improved.
Sensors 2023, 23, x FOR PEER REVIEW
3088 9 9ofof 26
27

(a) (b)
Figure
Figure 7.
7. Simulated
SimulatedRMSE
RMSEforfor
square deployment
square using
deployment (a) SOT,
using (b) dynamic
(a) SOT, reference
(b) dynamic anchor
reference SOT
anchor
(DRA‐SOT).
SOT (DRA-SOT).

Another simulation of
Another simulation ofaarectangular
rectangularcase
caseisisperformed,
performed,as as shown
shown in Figure
in Figure 8. As
8. As in
in the
the square
square case,case, yellow
yellow conescones
occuroccur
at theat the outside
outside cornerscorners in 8a
in Figure Figure
using8athe
using
SOTthe SOT
method,
method, except
except for anchorfor3.anchor 3. The DRA‐SOT
The DRA-SOT method eliminates
method eliminates most areasmost areas
of the of the
yellow yellow
cones, as
cones,
shownasinshown
Figure in
8b.Figure 8b.

(a) (b)
Figure
Figure 8.
8. Simulated
Simulated RMSE
RMSE for
for rectangle
rectangle deployment
deployment using
using (a)
(a) SOT, (b) DRA-SOT.
SOT, (b) DRA‐SOT.

Experiment
3.5. Experiment
In the
the experiment,
experiment,the theanchors
anchorswere placed
were at (±at1.5 m,1.5
placed ±m, 1.5and
1.5 m), m ,the
andtesting points
the testing
are plotted
points in Figure
are plotted in 9Figure
The tag 9 collected 400 TDOA
The tag collected 400data points
TDOA forpoints
data each testing
for eachpoint and
testing
computed
point the position
and computed theusing the SOT
position usingand
theDRA-SOT methods. The
SOT and DRA‐SOT reference
methods. The anchor
referenceof
SOT is anchor
anchor of SOT 1.is The positioning
anchor results forresults
1. The positioning the outside corner
for the outsidepoints A, C,
corner E, and
points A, GC,are
E,
analyzed
and G arein Figure 10a.
analyzed The red
in Figure triangles
10a. The reddenote the denote
triangles anchors. theThe brownThe
anchors. andbrown
green dots
and
represent the estimated positions using SOT and DRA-SOT, respectively.
green dots represent the estimated positions using SOT and DRA‐SOT, respectively. Most DRA-SOT
Most
dots are distributed
DRA‐SOT around the
dots are distributed correctthe
around position, whereas the
correct position, SOT dots
whereas are dots
the SOT oftenare
stuck at
often
the local minima near the anchors, as in the simulation. The upper-right
stuck at the local minima near the anchors, as in the simulation. The upper‐right corner corner shows
Sensors 2023,
Sensors 2023, 23, xx FOR
FOR PEER REVIEW 10 of
of 26
Sensors 2023, 23,
23, 3088 PEER REVIEW 10
10 of 26
27

shows
shows onlydots
only
only green green
green dots because
dots
because because theiscorner
the
the corner corner is already
is
already already
on on the
on the opposite
the opposite opposite side
side
side of the of the
of thereference
default default
default
reference
reference anchor,
anchor,
anchor, and and thus the estimations
andestimations
thus the thus the estimations using
using SOTusing SOT and DRA‐SOT
SOT and DRA‐SOT
and DRA-SOT fully overlap.
fully overlap.
fully overlap.

Figure 9.
Figure 9.
Figure Testing points.
Testing points.
9. Testing points.

(a)
(a) (b)
(b)
Figure
Figure 10.
Figure 10. Experiment
10. Experiment results
Experiment results (a)
results (a) without
(a) without extended
without extended Kalman
extended Kalman filter (EKF),
Kalman filter (EKF), (b)
(b) with
with EKF.
EKF.

Although the
Although
Although the DRA‐SOT
the DRA-SOT method
DRA‐SOT method overcomes
method overcomes the
overcomes the local
the local minima
local minima problem,
minima problem, the
problem, the dots
the dots are are
scattered
scattered and
and spread.
spread. AnAn effective
effective strategy
strategy to to stabilize
stabilize these
these positions
positions
scattered and spread. An effective strategy to stabilize these positions is to adopt an ex‐ is is
to to adopt
adopt an an
ex‐
extended
tended Kalman
Kalman filter
filter (EKF).
(EKF). The
The EKFEKF isisa a predictor
predictor based
based on
on
tended Kalman filter (EKF). The EKF is a predictor based on the Markov chain, which the
the Markov
Markov chain,
chain, which
assumes that
assumes that the
the positioning
positioning target
target obeys
obeys physical
physical principles.
principles. It It has
It has been
been widely
widely used
used in in
sensor fusion
sensor fusion
sensor and data filtering [41–43].
fusion and data filtering [41–43]. The The positions
The positions
positions of of the
of the applied
the applied
applied EKF EKF are shown
EKF are shown in in
Figure 10b. The
Figure 10b. The SOT SOT dots
SOT dots are
dots are still
are stillstuck
still stuck at
stuck at the
at the local
the local minima
local minima because
minima because filtering
because filtering cannot
filtering cannot eliminate
cannot elim‐elim‐
bias. In
inate contrast,
bias. In the DRA-SOT
contrast, the dots become
DRA‐SOT dots more centralized
become more in the correct
centralized in thelocation.
correct location.
inate bias. In contrast, the DRA‐SOT dots become more centralized in the correct location.
The positioning
The positioning RMSEs
RMSEs of of all
all testing
testing points
points areare listed
listed inin Table
Table 1. The outside
1. The
The outside corner
corner
The positioning RMSEs of all testing points are listed in Table 1. outside corner
points A,
points A, C,
C, E,
E, and
and G G are
are significantly
significantly improved.
improved. The The accuracy
accuracy of of internal
internal points
points I,I, J,J, K,
K, L,
L,
points A, C, E, and G are significantly improved. The accuracy of internal points I, J, K, L,
Sensors 2023, 23, x FOR PEER REVIEW 11 of 26

and M and the outside‐edge points B, C, D, F, and H are almost the same for both methods.
Sensors 2023, 23, 3088 11 of 27
It was proven that the proposed DRA‐SOT method with EKF could effectively improve
the accuracy outside the range of anchors for a TDOA positioning system.

and M1.and
Table Thethe outside-edge
experimental points B,
positioning C, D, F, and H are almost the same for both methods.
RMSEs.
It was proven that the proposed DRA-SOT method with EKF could effectively improve the
Position Type SOT + EKF DRA‐SOT + EKF Improved
accuracy outside the range of anchors for a TDOA positioning system.
A Outside 0.869 0.376 0.493
Table 1.BThe experimental
Outside 0.267
positioning RMSEs. 0.272 −0.005
C Outside 0.365 0.365 0.000
Position
D Type
Outside SOT0.243
+ EKF DRA-SOT0.173+ EKF Improved
0.070
AE Outside
Outside 0.869
0.570 0.376
0.231 0.493
0.339
BF Outside
Outside 0.267
0.170 0.272
0.127 − 0.005
0.043
C Outside 0.365 0.365 0.000
D
G Outside
Outside
0.554
0.243
0.134
0.173
0.420
0.070
EH Outside
Outside 0.077
0.570 0.066
0.231 0.011
0.339
FI Inside
Outside 0.048
0.170 0.048
0.127 0.000
0.043
GJ Outside
Inside 0.554
0.053 0.134
0.053 0.420
0.000
H Outside 0.077 0.066 0.011
K Inside 0.060 0.036 0.024
I Inside 0.048 0.048 0.000
JL Inside
Inside 0.038
0.053 0.037
0.053 0.001
0.000
M
K Inside
Inside 0.090
0.060 0.092
0.036 −0.002
0.024
L
Unit: meter. Inside 0.038 0.037 0.001
M Inside 0.090 0.092 −0.002
Unit: meter.
4. Multi‐Group and Multi‐Dimensional TDOA Network
4.4.1. Motivation and Multi-Dimensional TDOA Network
Multi-Group
In this study, a TDOA positioning network consisting of a master anchor and a few
4.1. Motivation
slaveInanchors wasacalled
this study, TDOAa positioning
group. The network
communication process
consisting can be found
of a master anchorinand [22]. The
a few
master anchor, usually anchor 1, schedules message slots for all slave
slave anchors was called a group. The communication process can be found in [22]. The anchors, as illus‐
trated anchor,
master in Figure 11. When
usually the1, slave
anchor anchors
schedules receive
message a for
slots control message
all slave from
anchors, as the master
illustrated
anchor, they transmit ranging messages at each scheduled time. In this
in Figure 11. When the slave anchors receive a control message from the master anchor, network, the last
anchor slot is followed by an empty slot to allow the tags to compute
they transmit ranging messages at each scheduled time. In this network, the last anchor the positions. As‐
suming that the slot duration is 𝑡
slot is followed by an empty slot to allow the tags to compute the positions. Assuming thata
and the number of anchors is N, the period of
ranging
the round isis tslot and the number of anchors is N, the period of a ranging round is
slot duration
𝑡 𝑁 1 𝑡 (13)
tround = ( N + 1)tslot (13)
where an additional 1 represents an empty slot.
where an additional 1 represents an empty slot.

Figure 11.Slots
Figure11. Slotsof
ofranging
rangingrounds.
rounds.

The
Theclock
clockdifference
differencebetween
betweenaatagtagand
andanchor
anchormaymayresult
resultinintimestamp
timestamperrors.
errors.This
This
error
error can be compensated for by the time ratio of the transmitting period of an anchorand
can be compensated for by the time ratio of the transmitting period of an anchor and
the
thereceiving
receivingperiod
periodatat thethe
tagtag
in two ranging
in two rounds
ranging [44]. Thus,
rounds [Error!a Reference
tag has to receive
sourcetwo
not
ranging
found.4].rounds
Thus,toa compute
tag has tothe corrected
receive twotime difference.
ranging rounds to compute the corrected time
Although the UWB positioning system performs well for a single group in an ideal
difference.
environment,
Althoughit the
is still
UWB unsuitable for indoor
positioning systemenvironments
performs wellwithfor arooms,
single walls,
groupand pillars
in an ideal
because of severe
environment, it is NLOS errors [33,45].
still unsuitable The environments
for indoor impact of large metal
with objects
rooms, is even
walls, more
and pillars
significant
because of[46]. In addition,
severe NLOS errors the anchors can
[33,Error! be savedsource
Reference in an aisle-like environment
not found.5]. when
The impact of
only a 1D position is required. A multigroup and multidimensional seamless TDOA
large metal objects is even more significant [Error! Reference source not found.6]. In
network is proposed in this section to accommodate various indoor environments and
positioning requirements.
Sensors 2023, 23, x FOR PEER REVIEW 12 of 26

addition, the anchors can be saved in an aisle‐like environment when only a 1D position
Sensors 2023, 23, 3088
is required. A multigroup and multidimensional seamless TDOA network is proposed in
12 of 27
this section to accommodate various indoor environments and positioning requirements.

4.2. Group Type


4.2. Group Type
 2D Group
• 2D Group
A group requires at least two hyperbolas to find the intersection point as the 2D po‐
sition A of group
the tag.requires
Becauseatthe least
TDOA twobetween
hyperbolas twoto find the
anchors intersection
shapes only onepoint as the at
hyperbola, 2D
position of the tag. Because the TDOA between two anchors
least three anchors are required in a 2D group. The DRA‐SOT algorithm introduced in shapes only one hyperbola,
at least3.3
Section three
cananchors are required in a 2D group. The DRA-SOT algorithm introduced in
be applied.
Section 3.3 can be applied.
 1D Group
• 1D Group
Most indoor environments include rooms and aisles. The 2D positioning system can
be used Most indoor environments
in room‐like spaces, but it include
may not rooms and aisles.
be suitable The 2DThe
for aisles. positioning
geometric system can
dilution
ofbeprecision
used in room-like
(GDOP) was spaces, but it may
developed not be suitable
to estimate for aisles.
the accuracy The geometric
of satellite dilution
positioning andof
precision
can (GDOP)
be applied to a was
UWBdeveloped
positioning to system
estimate[47].the According
accuracy oftosatellite positioning
[48], the GDOP of 2D andan‐
can
chors in a narrow aisle is excessively high, resulting in inaccurate estimations perpendic‐ a
be applied to a UWB positioning system [47]. According to [48], the GDOP of 2D anchors in
narrow
ular aisle
to the is excessively high, resulting in inaccurate estimations perpendicular to the aisle.
aisle.
A 1D group
A 1D group aims aimstotofind
findthe
thetag’s
tag’sposition
positionbetween
betweenthe thetwo
twoanchors,
anchors,asasdepicted
depictedinin
Figure12.
Figure 12.The
Thecost
costofofmanufacturing
manufacturingand anddeployment
deploymentofofanchors
anchorscan canbebereduced
reducedwhen
when
only the 1D positions of tags are required. Let us assume that the positions of anchors 1 1
only the 1D positions of tags are required. Let us assume that the positions of anchors
and are𝑝p1 and
and2 2are and 𝑝p2,, respectively.
respectively. The The tag positionedatat 𝑝pv.. The
tag isispositioned Thedistances
distancesbetween
betweenthe the
two anchors and the tag are d and d . Then, p can
two anchors and the tag are 𝑑 and 𝑑 . Then, 𝑝 can be solved as follows:
1 2 v be solved as follows:

d1
pv𝑝 = p1𝑝 + 𝑝( p2 −
𝑝 p.1 ). (14)
(14)
norm( p1, , p2 )

Figure 12. The 1D group structure.


Figure 12. The 1D group structure.
4.3. Group Bounding
4.3. Group Bounding
Messages from different groups may be unaligned or conflicting. The package loss
increases
Messages as the
fromnumber
differentof groups
groups increases.
may be unaligned Although or the fully conflicting
conflicting. The packagemessages
loss
of different
increases groups
as the numbermayofnot be received,
groups increases. theAlthough
tag can minimize
the fully the processing
conflicting time after
messages of
receiving a message and restart receiving to capture more nearby
different groups may not be received, the tag can minimize the processing time after re‐ messages.
ceiving The ranging message
a message and restartcontains
receivingthe group
to capture ID ofmore
each nearby
anchor. messages.
Because the tag needs only
oneThegroup at a time to find its position, the idea is to select
ranging message contains the group ID of each anchor. Because the an appropriate group
tag to bind
needs
and one
only discard
grouptheatmessages
a time tofrom
findtheits other groups.
position, When
the idea theselect
is to tag receives a ranginggroup
an appropriate message,
to
it first
bind andchecks whether
discard the group
the messages fromID the
is that
otherexpected.
groups.IfWhenso, it extracts the timestamp
the tag receives a rangingand
calculatesitTDOA.
message, Otherwise,
first checks whetherit directly filtersID
the group theismessage and restarts
that expected. receiving
If so, it to save
it extracts the
processing time.
timestamp and calculates TDOA. Otherwise, it directly filters the message and restarts
receivingAn experiment was conducted
it to save processing time. to verify the benefits of group filtering. Two groups
andAn oneexperiment
tag are placed in a laboratory,
was conducted to verify as shown in Figure
the benefits of 13. Thefiltering.
group tag was located at the
Two groups
center of each group. The slot duration was 15 ms in each group.
and one tag are placed in a laboratory, as shown in Figure 13. The tag was located at the The ranging period was
75 ms,ofcalculated
center each group. using
The (13). The idealwas
slot duration number
15 msof insuccessful
each group. positions was 799
The ranging in 1was
period min,
where the first round was excluded. The tag recorded the number
75 ms, calculated using (13). The ideal number of successful positions was 799 in 1 min, of successful positions
for 1 min
where whenround
the first binding wastoexcluded.
group 1, toThe group
tag 2, and without
recorded binding.
the number ofSuccessful
successfulpositioning
positions
for 1 min when binding to group 1, to group 2, and without binding. rounds.
can be considered only when the tag receives all messages in two consecutive SuccessfulThe
testing results are shown in Tables 2 and 3. When no group was bound, the successful
positioning percentages were 35.2% and 39.9% in each group, respectively, with an average
of 37.55%. The percentages in the binding cases were 85.7% and 76.0%, respectively, with
an average of 80.85%. This shows that binding to a group can significantly increase the
probability of successful positioning in a multigroup network.
cantly increase the probability of successful positioning in a multigroup network
positioning can be considered only when the tag receives all messages in two consecutive
rounds. The testing results are shown in Tables 2 and 3. When no group was bound, the
successful positioning percentages were 35.2% and 39.9% in each group, respectively,
with an average of 37.55%. The percentages in the binding cases were 85.7% and 76.0%,
Sensors 2023, 23, 3088
respectively, with an average of 80.85%. This shows that binding to a group can13signifi‐
of 27

cantly increase the probability of successful positioning in a multigroup network.

Figure 13. Group filtering deployment.

Table 2. The number of successful positioning in three testing cases.

Figure13.
Figure Groupfiltering
13.Group Binding
filtering deployment.
deployment. Binding
Group ID No Bound
Group 1 Group 2
Table 2. The number of successful positioning in three testing cases.
Table 2. The1number of successful positioning
685 in three testing cases. 0 281
2
Group ID Binding 0
Binding Binding
Binding 607
No Bound 319
Group ID Group 1 Group 2 No Bound
Group 1 Group 2
1 percentage of
Table 13. The 685
685successful 0 three testing cases.281
positioning 0in 281
2 2 0 0 607
607 319319
Binding Binding
Group ID No Bound
Table
Table3.3.The
Thepercentage
percentage of Group
of successful
successful 1
positioning
positioning ininthree
three testing
testing Group
cases. 2
cases.
1 Binding
85.7% Binding
0 35.2%
Binding Binding
Group ID
Group
2 ID 0 76.0% No
No Bound
Bound 39.9%
Group 1 1
Group Group
Group22
1 1 85.7%
85.7% 00 35.2%
35.2%
4.4. Group
2 2 Region 0 0 76.0%
76.0% 39.9%
39.9%

4.4.1. Region Definition


4.4.
4.4.Group
GroupRegion
Region
4.4.1. The tag
4.4.1.Region
Region must know the effective positioning region of a group to bind or un
Definition
Definition
TheTheideal
Thetag positioning
tag must
must know
knowthe theregion
effective ispositioning
effective the convex
positioning hull
region of aof
region of the
group anchors
to
a groupbind
toor that
or covers
unbind
bind it. The all
unbind it. pos
areas.
ideal
The idealHowever,
positioning anchors
region
positioning may
is theisconvex
region not
hullbe
the convex allowed
ofhull of theto
the anchors be placed
that
anchors covers
thatallatpositioning
ideal
covers alllocations.
areas. The p
positioning
However, anchors
ing environment
areas. However, anchorsmay not
is not be
mayalwaysallowed to be
a perfect
not be allowed placed at ideal
rectangle
to be locations.
placed atthat
idealthe The positioning
four anchors
locations. can easil
The position‐
environment is not always a perfect rectangle that the four anchors can easily cover. The
The
ing positioning
environment region
is not always of a perfect
group rectangle
should be defined
that the fouraccording
anchors can toeasily
the actual
cover. scen
positioning region of a group should be defined according to the actual scenario. An
The positioning
exampleis is region
shown of a group
in Figure should
14. be defined according to the actual scenario.
andAnthe g
example shown in Figure 14. The redThe red triangles
triangles represent
represent anchors, andanchors,
the gray area
example is shown
represents in Figurepositioning
14. The red area.triangles represent anchors, and the gray arearegio
represents thethe desired
desired positioning area. Blue Blue
points points
indicate theindicate
positioningtheregions.
positioning
represents the desired positioning area. Blue points indicate the positioning regions.

Figure 14. Region of a 2D group.


Sensors 2023, 23, x FOR PEER REVIEW 14

Figure 14. Region of a 2D group.


Sensors 2023, 23, 3088 14 of 27

4.4.2. Ray‐Casting Algorithm


The positioning
4.4.2. Ray-Casting region is always a simple polygon in which any edge would n
Algorithm
cut the
The other edge[49].
positioning regionThe ray‐casting
is always a simplealgorithm
polygon in[50]
whichcananybeedge
used to check
would neverwhethe
Tag’s
cut the position
other edgeis[49].
inside
Theor outside aalgorithm
ray-casting region. If[50]
a point
can belies
usedinside a simple
to check whether polygon,
the the
Tag’s position
cast from theispoint
insideinorany
outside a region.
direction If aintersect
will point liesthe
inside a simple
polygon anpolygon, the rayof times
odd number
cast from the point
intersection in any
implies andirection will intersect
inside–outside statetheexchange.
polygon anBecause
odd number the of times.
ray willAn
eventuall
intersection implies an inside–outside state exchange. Because the ray will eventually be
out of the polygon, the intersection number would always be odd if the point is in
out of the polygon, the intersection number would always be odd if the point is inside. An
An example
example is shown
is shown in15.
in Figure Figure 15.cast
The ray Thefromraypoint
cast A
from pointwith
intersects A intersects
the edges anwith
oddthe edge
odd number
number of times,ofwhile
times, while
that fromthat
pointfrom point B
B intersects anintersects
even numberan ofeven number of times.
times.

Sensors 2023, 23, x FOR PEER REVIEW 15 o

12 Set 𝑥 to 𝑝 [0] − 𝑝 [1] − p 1 × m


13 if 𝑥 < p 0 then
14 continue
15 15.15.The
Figure
Figure The end if algorithm.
ray‐casting
ray-casting algorithm.
16 Set count to count + 1
Suppose the ray is cast toward the right. There is no intersection if a line segment
17 Suppose endthewhile
ray is cast toward the right. There is no intersection if a line segme
is totally above or below the test point or lies on the left plane of the point. The critical
cases are shown in Figure the
totally
18 above ifor below
count is 16. test
odd then
In point16a,
Figure or lies on the left plane
the intersection shouldof bethe point. The
considered onlycritical c
are
once shown in
19 when the returnFigure
ray starts 16.
Truefrom the point A passes through the common terminal of two only
In Figure 16a, the intersection should be considered
when
line the ray
20 segments. starts
if from
Therefore,
end the not
it should point A passes an
be considered through the ifcommon
intersection the lower terminal
point of a of two
segment
segments. touches the
Therefore,ray. In
it should not be considered an intersection if the that
Figure 16b, the red-dashed circle represents a lower point is point
lower
21
ignored, and return
the False
horizontal line segment does not intersect with the ray cast from point B.
segment touches the ray. In Figure 16b, the red‐dashed circle represents a lower point
is ignored, and the horizontal line segment does not intersect with the ray cast from p
B.
The ray‐casting algorithm is implemented in Algorithm 2. Line 8 filters the c
when the segment is above p, the segment is horizontal, and the lower point of the
ment touches the ray. Line 10 filters the case that the segment is on the left of the p
Lines 13–15 compute the slope of the segment and check if the intersection is on the
or right.

Algorithm 2 Function is PointWithinPolygon()


(a) (b)
Input Test point p
Figure 16.The
Figure 16. The(a)common
(a)common
Polygonterminal terminal
points 𝑠 ,case
case 𝑠 line
(b) 𝑠 , segment
(b)segment
, …, line 𝑠case of polygon
case of intersection.
polygon intersection.
Output Verified
The ray-casting result is
algorithm result
implemented in Algorithm 2. Line 8 filters the cases
4.5. Group Switching
1 the segment
when Setiscount
aboveto p, 0
the segment is horizontal, and the lower point of the segment
4.5.1.
2 Process
touches the ray.Set
Linei 10
to filters
0 the case that the segment is on the left of the point. Lines 13–15
compute the slope of the segment and check if the intersection is on the left or right.
3 A diagram of the
while 𝑁 do switching is shown in Figure 17. The parameter GID rep
i < group
sents
4 the group ID of
Set (𝑝 the , 𝑝 ) tomessage.
received (s[i], s[i +The
1]) currently bound group ID is denoted
BID.
5 Note that the Setgroup
i to i +1IDs start from 1, where 0 is reserved for the no‐bound case.
6 The BID value if 𝑝 remains [1] >=unchanged
p[1] and 𝑝 if the [1]position is within the current group’s reg
>= p[1] then
Otherwise,
7 the tag searches for the group in the database whose region includes the p
continue
tion
8 and assigns the
else if BID 𝑝 to its
[0]ID, prioritizing
< p[0] and 𝑝 2D [0] groups over 1D groups. If the tag d
< p[0] then
not9 fall within anycontinue
group’s region, it assigns the BID to the nearest group’s ID based
the nearest boundary
10 end if
If the tag loses signal or cannot receive messages for a period, it should set the BID
Sensors 2023, 23, 3088 15 of 27

Algorithm 2 Function is PointWithinPolygon()


Input Test point p
Polygon points s1 , s2 , . . . , s N , s1
Output Verified result result
1 Set count to 0
2 Set i to 0
3 while i < N do
4 Set (pstart , pend ) to (s[i], s[i + 1])
5 Set i to i + 1
6 if pstart [1] > = p[1] and pend [1] > = p[1] then
7 continue
8 else if pstart [0] < p[0] and pend [0] < p[0] then
9 continue
10 end if
11 Set m to (pend [0] − pstart [0])/(pend [1] − pstart [1])
12 Set xcross to pend [0] − (pend [1] − p[1]) × m
13 if xcross < p[0] then
14 continue
15 end if
16 Set count to count + 1
17 end while
18 if count is odd then
19 return True
20 end if
21 return False

4.5. Group Switching


4.5.1. Process
A diagram of the group switching is shown in Figure 17. The parameter GID represents
the group ID of the received message. The currently bound group ID is denoted as BID.
Note that the group IDs start from 1, where 0 is reserved for the no-bound case.
The BID value remains unchanged if the position is within the current group’s region.
Otherwise, the tag searches for the group in the database whose region includes the position
and assigns the BID to its ID, prioritizing 2D groups over 1D groups. If the tag does not fall
within any group’s region, it assigns the BID to the nearest group’s ID based on the nearest
boundary.
If the tag loses signal or cannot receive messages for a period, it should set the BID
to 0 and release its association with the current group. To avoid message conflict when
there is no existing group association, the tag may establish a binding with the first group
it receives when the BID value is 0 until it obtains a position or times out.
The TDOA-based estimated position in 1D groups is always between the anchors and
cannot determine whether the tag is inside or outside the region. However, 1D groups can
be used in indoor aisle-style environments with concrete walls on both sides. If the tag
leaves the aisle, the signal decays rapidly, and the tag can stop binding to the aisle group
and be considered a positioning timeout case.

4.5.2. Latency
Let us assume a tag is positioned in group 1, but the position lies in group 2. After
calculating the position, according to the rule of group switching, the tag changes the BID
to 2. If the message from anchor 1 in group 2 is received immediately after changing the
BID, then the latency would be two ranging periods, as shown in Figure 18. However, if
anchor 1 of group 2 coincidentally transmits before the tag changes the BID, the message
will be missed, as shown in Figure 19. The other messages in this ranging round will be
invalid, and the latency will be three ranging periods.
Sensors
Sensors 2023,
2023, 23,x 3088
23, FOR PEER REVIEW 16
16ofof2726

Figure
Figure17.
17.Process
Processof
of switching
switching group.
group.

4.5.2. Latency
Let us assume a tag is positioned in group 1, but the position lies in group 2. After
calculating the position, according to the rule of group switching, the tag changes the BID
to 2. If the message from anchor 1 in group 2 is received immediately after changing the
BID, then the latency would be two ranging periods, as shown in Figure 18. However, if
anchor 1 of group 2 coincidentally transmits before the tag changes the BID, the message
will be missed, as shown in Figure 19. The other messages in this ranging round will be
invalid, and the latency will be three ranging periods.
Sensors 2023, 23, x FOR PEER REVIEW 17 of 26
Sensors
Sensors 2023,
2023, 23,
23, x3088
FOR PEER REVIEW 1717ofof 26
27

Figure 18. The best case for the switching group.


Figure 18.
Figure The best
18. The best case
case for
for the
the switching
switching group.
group.

Figure 19.
Figure 19. The
The worst
worst case
case for
for the
the switching
switching group.
group.
Figure 19. The worst case for the switching group.

successful positioning discussed in Section 4.3. The ex‐


Consider the probability of successful ex-
Consider the probability of successful positioning discussed in Section 4.3. The ex‐
pected latency
pected latency ofof the
the best
best case
case can
can be be corrected
correctedas as
pected latency of the best case can be corrected as
𝑡 , (15)
𝑡 __ = 2tround ,,
tsw_best (15)
(15)
R
where 𝑅 is the successful positioning percentage which is 80.85%. In the worst case, the
where 𝑅 is the successful positioning percentage which is 80.85%. In the worst case, the
first ranging
where R is theperiod does positioning
successful not need to percentage
be correctedwhich because missingIn
is 80.85%. invalid messages
the worst are
case, the
first ranging period does not need to be corrected because missing invalid messages are
first ranging period does not need to be corrected because
unimportant. The expected latency of the worst case can be corrected as missing invalid messages are
unimportant. The expected latency of the worst case can be corrected as
unimportant. The expected latency of the worst case can be corrected as
𝑡 1 𝑡 . (16)
𝑡 __ 1 𝑡 . (16)
2
Finally, the expected latency tsw_worst = (1 + of)(15)
is the average troundand. (16): (16)
Finally, the expected latency is the average of R (15) and (16):
Finally, the expected latency is𝑡𝑡the average 0.5 𝑡
0.5 of𝑡 (15) and
.
. (16):
(17)
(17)
The same deployment as that in Figure 132 is used to verify the inference. The range
The same deployment as thatt in = Figure
(0.5 +13 is)tused .to verify the inference. The range
was 75 ms for each group. The expected sw latency round 223 ms, as calculated by (17). (17)
was The
was 75 ms for each group. The expected latency R was 223 ms, as calculated by (17). The
positioning regions are depicted in Figure 20, which partially overlap to prevent unstable
positioning
The same regions are depicted
deployment in Figure
as that 20,13
in junction
Figure which partially overlap to preventThe unstable
switching when the tag stays at the ofisregions.
used to The verify the inference.
group IDs and regions range
are
switching
was 75 ms when
for the group.
each tag stays atexpected
The the junction of regions.
latency was 223 Thems,group
as IDs andby
calculated regions
(17). are
The
programmed into the tag module in advance, and the switching process is implemented.
programmed
positioning into the
regions tag moduleininFigureadvance, and thepartially
switching process is implemented.
The tag moves backareanddepicted
forth between Pos1 20, which
and Pos2 20 times overlap
andtorecords
prevent unstable
the delay
The tag
switching moves
when back
the and
tag forth
stays between
at the Pos1
junction and
of Pos2
regions. 20Thetimes
groupandIDsrecords
and the delay
regions are
between two consecutive outputs with different group IDs. On average, the measured
between
programmed two consecutive
into the tag outputs in
module with different
advance, and group
the IDs. On process
switching average,is the measured
implemented.
latency was 213 ms, close to the expected value.
latency
The tagwas moves213 back
ms, close
and to the expected
forth between Pos1 value.and Pos2 20 times and records the delay
between two consecutive outputs with different group IDs. On average, the measured
latency was 213 ms, close to the expected value.
Sensors 2023, 23, x FOR PEER REVIEW 18 of 26
Sensors 2023, 23, 3088 18 of 27

Figure 20. Latency test deployment.

5. Demonstration
The proposed multigroup positioning system was implemented and tested in a med‐
ical center. The positioning area contains a laboratory, aisle, and conference room, as
shown in Figure 21. The conference room and laboratory were covered by 2D groups:
group20.
Figure 1 Latency
and group 2. The aisle was covered by group 3, a 1D group. The red triangles
test deployment.
Figure 20. Latency
represent test deployment.
the anchors, and the colored areas represent the region of each group. Note that
5.the
Demonstration
region of group 3 was unused and defined for better visualization.
5. Demonstration
Dueproposed
The to concerns about the
multigroup existing medical
positioning system equipment and theand
was implemented transportation of in‐
tested in a medi-
fectious
cal center. biological
The proposed material,
multigroup
The positioning areathe anchors
positioning
contains in the laboratory
system wasaisle,
a laboratory, canconference
implemented
and onlyandbe deployed
room,inasain
tested fixed
med‐
shown
inpositions
ical center.21.
Figure that
The
Thedo not provide
positioning
conference area
roomfull coverage.
contains
and Thewere
tags covered
a laboratory,
laboratory used in and
aisle, this2D
by experiment
conference are shown
room,
groups: group as
1 and
in Figure
shown
group in 22. aisle
2. Figure
The Tags 1The
21.wasand 3 are inside
conference
covered the badges
room
by group and
3, worn
laboratory
a 1D group. byThe
the red
were two researchers.
covered 2D Tag
byrepresent
triangles 2 the
groups:was
held
group
anchors,by
1 andanother
andgroup researcher
2. Theareas
the colored who was carrying
aisle represent
was covered biomedical
by group
the region waste
3, a group.
of each bins
1D group. for
NoteThe the management
thatred
thetriangles
region of
of infectious
group
represent 3 was substances
unused
the anchors, and
anddefined for better
the colored visualization.
areas represent the region of each group. Note that
the region of group 3 was unused and defined for better visualization.
Due to concerns about the existing medical equipment and the transportation of in‐
fectious biological material, the anchors in the laboratory can only be deployed in fixed
positions that do not provide full coverage. The tags used in this experiment are shown
in Figure 22. Tags 1 and 3 are inside the badges worn by the two researchers. Tag 2 was
held by another researcher who was carrying biomedical waste bins for the management
of infectious substances

Figure 21. Deployment of groups.


Figure 21. Deployment of groups.

Due to concerns about the existing medical equipment and the transportation of
infectious biological material, the anchors in the laboratory can only be deployed in fixed
positions that do not provide full coverage. The tags used in this experiment are shown
in Figure 22. Tags 1 and 3 are inside the badges worn by the two researchers. Tag 2 was
held by another researcher who was carrying biomedical waste bins for the management
of infectious
Figure substances.
21. Deployment of groups.
Sensors
Sensors2023,
2023,23,23,
3088
x FOR PEER REVIEW 19
19 ofof2726

Figure22.
Figure 22.The
Thetags
tagsininthe
theexperiment.
experiment.

TheThe2D 2Dgroups
groupsusedusedDRA-SOT
DRA‐SOTtotocompute
computethe theTDOA
TDOAposition,
position,whereas
whereasthe the1D
1Dgroup
group
usedthe
used thealgorithm
algorithmintroduced
introducedininSection
Section4.2.
4.2.The
TheEKFEKFwaswasapplied
appliedtotosmooth
smooththe thetrace
trace
whentags
when tagsmoved
moved between
between thethe groups.
groups. TheThe positioning
positioning frequency
frequency of each
of each groupgroup
waswas set
set to
8 to 8 Hz.
Hz. TheThe positioning
positioning timeout
timeout waswas 0.5 s.
0.5 s.
TheThereal
realtrace
traceofoftag
tag11isisshown
shownininFigure
Figure23a.
23a.ItItstarted
startedininthe
theconference
conferenceroom,room,moved
moved
totothe
theleft
leftofofthe
theaisle,
aisle,and
andfinally
finallystopped
stoppedatatthe
thecenter
centerofofthe
theaisle.
aisle.Figure
Figure23b 23bshows
showsthe the
estimatedtrace
estimated traceofoftag
tag1 1asasgreen
greendots.
dots.The
Thelargest
largestdot
dotcorresponds
correspondstotothe thelast
lastposition.
position.The
The
total
totalnumber
numberofofcollected
collecteddata datawaswas929,
929,and
andthe
thepositioning
positioningRMSE RMSEwas was28.23
28.23cm.
cm.When
When
tag
tag1 1stepped
steppedinto intothe
theaisle,
aisle,thethepositions
positionswere
werecontinuous
continuousand andaccurate
accuratebecause
becausethethenext
next
desired
desiredgroup
groupcouldcouldbebefound
foundusingusingthe
the2D
2Dposition
positionestimated
estimatediningroup
group1.1.
Figure 24a shows the real trace of tag 2. The start and end points are represented by S
and E, respectively. It started at the middle of the aisle and moved to the laboratory, which
has three rows separated by two working desks with iron shelves. The researcher entered
the rows in sequence and came out, standing in front of the door. Figure 24b shows the
estimated trace of tag 2 as yellow dots. The total number of collected data was 638, and
the positioning RMSE was 45.05 cm. When tag 2 entered the laboratory from the aisle, the
measured latency was 1.871 s. Tag 2 could only unbind group 3 in the aisle after a timeout
to receive group 2 in the laboratory. The estimated positions in the laboratory rows are
scattered because of the severe NLOS errors caused by shelves and the human body.
Figure 25a shows the real trace of tag 3. It started at the laboratory door, entered the
rows, and passed through the aisle to the conference room. Figure 25b shows the estimated
trace as blue dots. The total number of collected data was 737, and the positioning RMSE
was 22.85 cm. The trace of tag 3 is similar to that of tag 2, but its RMSE is lower than that of
tag 2. It performed better in the second row in the laboratory and conference room and
thus lowered the RMSE. The cumulative distribution function (CDF) of the positioning
errors for the three tags are depicted in Figure 26.

(a)
to 8 Hz. The positioning timeout was 0.5 s.
The real trace of tag 1 is shown in Figure 23a. It started in the conference room, moved
to the left of the aisle, and finally stopped at the center of the aisle. Figure 23b shows the
estimated trace of tag 1 as green dots. The largest dot corresponds to the last position. The
total number of collected data was 929, and the positioning RMSE was 28.23 cm. When
Sensors 2023, 23, 3088 20 of 27
tag 1 stepped into the aisle, the positions were continuous and accurate because the next
desired group could be found using the 2D position estimated in group 1.

Sensors 2023, 23, x FOR PEER REVIEW 20 of 26

(a)

(b)
Figure23.
Figure 23.(a)
(a)Real
Realtrace
traceand
and(b)
(b)estimated
estimatedtrace
traceofoftag
tag1.1.

Figure 24a shows the real trace of tag 2. The start and end points are represented by
S and E, respectively. It started at the middle of the aisle and moved to the laboratory,
which has three rows separated by two working desks with iron shelves. The researcher
entered the rows in sequence and came out, standing in front of the door. Figure 24b
shows the estimated trace of tag 2 as yellow dots. The total number of collected data was
638, and the positioning RMSE was 45.05 cm. When tag 2 entered the laboratory from the
aisle, the measured latency was 1.871 s. Tag 2 could only unbind group 3 in the aisle after
a timeout to receive group 2 in the laboratory. The estimated positions in the laboratory
rows are scattered because of the severe NLOS errors caused by shelves and the human
body.
entered the rows in sequence and came out, standing in front of the door. Figure 24b
shows the estimated trace of tag 2 as yellow dots. The total number of collected data was
638, and the positioning RMSE was 45.05 cm. When tag 2 entered the laboratory from the
aisle, the measured latency was 1.871 s. Tag 2 could only unbind group 3 in the aisle after
Sensors 2023, 23, 3088
a timeout to receive group 2 in the laboratory. The estimated positions in the laboratory
21 of 27
rows are scattered because of the severe NLOS errors caused by shelves and the human
body.

Sensors 2023, 23, x FOR PEER REVIEW 21 of 26

(a)

(b)
Figure
Figure 24.
24. (a)
(a) Real
Real trace
trace and
and (b)
(b) estimated
estimated trace
trace of
of tag
tag 2.
2.

Figure 25a shows the real trace of tag 3. It started at the laboratory door, entered the
rows, and passed through the aisle to the conference room. Figure 25b shows the esti‐
mated trace as blue dots. The total number of collected data was 737, and the positioning
RMSE was 22.85 cm. The trace of tag 3 is similar to that of tag 2, but its RMSE is lower
than that of tag 2. It performed better in the second row in the laboratory and conference
room and thus lowered the RMSE. The cumulative distribution function (CDF) of the po‐
sitioning errors for the three tags are depicted in Figure 26.
Figure 25a shows the real trace of tag 3. It started at the laboratory door, entered the
rows, and passed through the aisle to the conference room. Figure 25b shows the esti‐
mated trace as blue dots. The total number of collected data was 737, and the positioning
RMSE was 22.85 cm. The trace of tag 3 is similar to that of tag 2, but its RMSE is lower
Sensors 2023, 23, 3088 than that of tag 2. It performed better in the second row in the laboratory and conference
22 of 27
room and thus lowered the RMSE. The cumulative distribution function (CDF) of the po‐
sitioning errors for the three tags are depicted in Figure 26.

Sensors 2023, 23, x FOR PEER REVIEW 22 of 26

(a)

(b)
Figure25.
Figure 25.(a)
(a)Real
Realtrace
traceand
and(b)
(b)estimated
estimatedtrace
traceofoftag
tag3.3.

(a) (b)
Sensors 2023, 23, 3088 (b) 23 of 27

Figure 25. (a) Real trace and (b) estimated trace of tag 3.

(a) (b)

(c)
Figure
Figure26.
26.Positioning
Positioningerror
errorCDF
CDFofof(a)
(a)tag
tag1,1,(b)
(b)tag
tag2,2,(c)
(c)tag
tag3.3.

6. Discussion
6.1. Bias in 1D Group
The traces from the laboratory to the aisle exhibit a right-bias in Figures 24b and 25b,
while the trace from the conference room to the aisle does not show any bias. This can be
attributed to the TDOA loss function, as depicted in Figure 27. The ideal estimation for the
tag’s position is its projection onto the 1D line marked by the blue cross. However, due to
the curvature of the TDOA hyperbola, the intersection with the 1D line occurs at the red
cross, resulting in a bias towards the right. This bias increases as the tag move further away
from the 1D line. This issue can be resolved by adding another anchor, which is discussed
in the next section.

6.2. Extended Anchor for 1D Group


Applying an additional anchor to a 1D group can provide the semi-2D position of a
tag, as illustrated in Figure 28. The hyperbolas generated by the three anchors, denoted by
C12 , C13 , and C23 , intersect at the tag’s position. Because the semi-2D position can be found,
the bias discussed in Section 6.1 does not exist.
Furthermore, the region of a 1D group can be defined by its width, as illustrated in
Figure 29. By using semi-2D positioning, the tag can determine if it is within the group’s
region. If not, the tag can set the BID to 0 and search for other groups instead of waiting for
a timeout. This approach can reduce the latency of leaving a 1D group.
while the trace from the conference room to the aisle does not show any bias. This can be
attributed to the TDOA loss function, as depicted in Figure 27. The ideal estimation for
the tag’s position is its projection onto the 1D line marked by the blue cross. However,
due to the curvature of the TDOA hyperbola, the intersection with the 1D line occurs at
the red cross, resulting in a bias towards the right. This bias increases as the tag move
Sensors 2023, 23, 3088 24 of 27
further away from the 1D line. This issue can be resolved by adding another anchor, which
is discussed in the next section.

Figure 27. Cause of 1D bias.

6.2. Extended Anchor for 1D Group


Applying an additional anchor to a 1D group can provide the semi‐2D position of a
tag, as illustrated in Figure 28. The hyperbolas generated by the three anchors, denoted
by 𝐶 , 𝐶 , and 𝐶 , intersect at the tag’s position. Because the semi‐2D position can be
found, the bias discussed in Section 6.1 does not exist.
Furthermore, the region of a 1D group can be defined by its width, as illustrated in
Figure 29. By using semi‐2D positioning, the tag can determine if it is within the group’s
region. If not, the tag can set the BID to 0 and search for other groups instead of waiting
for a timeout.
Figure This
27. Cause approach
of 1D bias.
Figure 27. Cause of 1D bias. can reduce the latency of leaving a 1D group.

6.2. Extended Anchor for 1D Group


Applying an additional anchor to a 1D group can provide the semi‐2D position of a
tag, as illustrated in Figure 28. The hyperbolas generated by the three anchors, denoted
by 𝐶 , 𝐶 , and 𝐶 , intersect at the tag’s position. Because the semi‐2D position can be
found, the bias discussed in Section 6.1 does not exist.
Furthermore, the region of a 1D group can be defined by its width, as illustrated in
Figure 29. By using semi‐2D positioning, the tag can determine if it is within the group’s
region. If not, the tag can set the BID to 0 and search for other groups instead of waiting
for a timeout. This approach can reduce the latency of leaving a 1D group.

Figure
Figure28.
28.Hyperbolas
Hyperbolasininaa3‐anchor
3-anchor1D
1Dgroup.
group.

Figure
Figure29.
29.Region
Regionofofaa3‐anchor
3-anchor1D
1Dgroup.
group.

7. Conclusions
Figure 28. Hyperbolas in a 3‐anchor 1D group.
This research paper presents novel algorithms and strategies for expanding the po-
sitioning range of a TDOA system. The proposed reference-anchor selection algorithm
DRA-SOT enhances accuracy when a tag is positioned beyond the convex hull of the
anchors. By selecting an appropriate reference anchor, the local minima of the TDOA loss
function around the anchors can be eliminated. Theoretically, the DRA algorithm can
be applied to any TDOA optimization method to prevent it from being trapped in local
minima. Experimental results demonstrate that the combination of DRA-SOT and EKF
can significantly enhance performance in the outside corners of the positioning region
Figure 29. Region
compared of a 3‐anchor
to methods 1Dnot
that do group.
utilize DRA.
The proposed multigroup system allows for an extended range of coverage in po-
sitioning areas where a single group is insufficient. By employing an address-filtering
process, the system resolves message conflict problems between groups and improves the
likelihood of successful positioning. To facilitate low-latency multigroup roaming, the
system incorporates a group-switching process that has been implemented and verified.
Furthermore, the proposed 1D group can be utilized in aisle-like environments, thereby
reducing anchor deployment costs. A demonstration of the system’s effectiveness was
conducted at a medical center, wherein multidimensional groups were employed to cover a
laboratory, conference room, and long aisle. The tags were deployed on infectious medical
waste and medical researchers to enable security and safety management, and the system
accurately located the trajectories crossing the groups. An analysis of the positioning
Sensors 2023, 23, 3088 25 of 27

bias and switching latency in the 1D group was conducted, and a potential solution was
introduced. This topic is still being investigated and will be further discussed in the future.
The proposed multigroup system represents a significant breakthrough in extending the
range of coverage for positioning systems. Through the use of an address-filtering process
and group-switching mechanism, the system can operate efficiently in complex indoor
environments. Furthermore, the application of the 1D group in aisle-like environments
offers a cost-effective solution for anchor deployment. The system’s performance was
validated through a demonstration that involved tracking tags on infectious medical waste
and medical researchers, with the results demonstrating the accurate location of trajectories
crossing the groups. The range-extension algorithm and strategies proposed in this paper
can also be applied in smart factories, intelligent warehouses, unmanned drone patrols,
and other related applications.

Author Contributions: Conceptualization, S.-P.H.; data curation, C.-B.C.; methodology, T.-Z.W.,


W.-T.T. and C.-Y.L.; Visualization, S.-P.H.; supervision, S.-G.M. and W.-H.S.; writing—original draft,
S.-P.H. and Y.-M.M. All authors have read and agreed to the published version of the manuscript.
Funding: Ministry of Science and Technology, Taiwan, R.O.C.
Data Availability Statement: The data are not publicly available due to privacy concerns.
Conflicts of Interest: The authors declare no conflict of interest.

References
1. Um, I.; Park, S.; Kim, H.T.; Kim, H. Configuring RTK-GPS Architecture for System Redundancy in Multi-Drone Operations. IEEE
Access 2020, 8, 76228–76242. [CrossRef]
2. Rohrig, C.; Spieker, S. Tracking of Transport Vehicles for Warehouse Management Using a Wireless Sensor Network. In Proceed-
ings of the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–26 September 2008;
pp. 3260–3265.
3. Cret, u-Sîrcu, A.L.; Schiøler, H.; Cederholm, J.P.; Sîrcu, I.; Schjørring, A.; Larrad, I.R.; Berardinelli, G.; Madsen, O. Evaluation and
Comparison of Ultrasonic and UWB Technology for Indoor Localization in an Industrial Environment. Sensors 2022, 22, 2927.
[CrossRef] [PubMed]
4. Zamora-Cadenas, L.; Velez, I.; Sierra-Garcia, J.E. UWB-Based Safety System for Autonomous Guided Vehicles Without Hardware
on the Infrastructure. IEEE Access 2021, 9, 96430–96443. [CrossRef]
5. Yang, T.; Cabani, A.; Chafouk, H. A Survey of Recent Indoor Localization Scenarios and Methodologies. Sensors 2021, 21, 8086.
[CrossRef]
6. Coppens, D.; Shahid, A.; Lemey, S.; Van Herbruggen, B.; Marshall, C.; De Poorter, E. An Overview of UWB Standards and Organizations
(IEEE 802.15.4, FiRa, Apple): Interoperability Aspects and Future Research Directions. IEEE Access 2022, 10, 70219–70241. [CrossRef]
7. Google Wants to Give Third-Party Apps Access to the Pixel 6 Pro’s Ultra-Wideband Chip. Available online: https://www.
androidpolice.com/google-wants-to-give-third-party-apps-access-to-the-pixel-6-pros-ultra-wideband-chip (accessed on 30
November 2022).
8. What Is Ultra-Wideband (UWB) Technology on Samsung Phones? How Is It Helpful? Available online: https://www.smartprix.
com/bytes/phones-with-uwb-ultrawideband-connectivity (accessed on 30 November 2022).
9. An Ultra-Wide-Band Device Comparison. Available online: https://www.techinsights.com/zh-tw/node/37564 (accessed on 30
November 2022).
10. Barral, V.; Escudero, C.J.; García-Naya, J.A.; Maneiro-Catoira, R. NLOS Identification and Mitigation Using Low-Cost UWB
Devices. Sensors 2019, 19, 3464. [CrossRef]
11. Liu, A.; Lin, S.; Wang, J.; Kong, X. A Succinct Method for Non-Line-of-Sight Mitigation for Ultra-Wideband Indoor Positioning
System. Sensors 2022, 22, 8247. [CrossRef]
12. Chen, Y.-Y.; Huang, S.-P.; Wu, T.-W.; Tsai, W.-T.; Liou, C.-Y.; Mao, S.-G. UWB System for Indoor Positioning and Tracking with Arbitrary
Target Orientation, Optimal Anchor Location, and Adaptive NLOS Mitigation. IEEE Trans. Veh. Technol. 2020, 69, 9304–9314.
[CrossRef]
13. Jiang, W.; Cao, Z.; Cai, B.; Li, B.; Wang, J. Indoor and Outdoor Seamless Positioning Method Using UWB Enhanced Multi-Sensor
Tightly-Coupled Integration. IEEE Trans. Veh. Technol. 2021, 70, 10633–10645. [CrossRef]
14. Huang, Z.; Jin, S.; Su, K.; Tang, X. Multi-GNSS Precise Point Positioning with UWB Tightly Coupled Integration. Sensors 2022, 22, 2232.
[CrossRef]
15. Implementation of Two-Way Ranging with the DW1000 (Application Note APS013). Available online: https://www.qorvo.com/
products/d/da008448 (accessed on 30 November 2022).
Sensors 2023, 23, 3088 26 of 27

16. Sesyuk, A.; Ioannou, S.; Raspopoulos, M. A Survey of 3D Indoor Localization Systems and Technologies. Sensors 2022, 22, 9380.
[CrossRef] [PubMed]
17. Zhou, N.; Si, M.; Li, D.; Seow, C.K.; Mi, J. An Indoor UWB 3D Positioning Method for Coplanar Base Stations. Sensors 2022, 22, 9634.
[CrossRef] [PubMed]
18. Gerwen, J.V.-V.; Geebelen, K.; Wan, J.; Joseph, W.; Hoebeke, J.; De Poorter, E. Indoor Drone Positioning: Accuracy and Cost
Trade-Off for Sensor Fusion. IEEE Trans. Veh. Technol. 2022, 71, 961–974. [CrossRef]
19. Choi, B.; La, K.; Lee, S. UWB TDOA/TOA Measurement System with Wireless Time Synchronization and Simultaneous Tag
and Anchor Positioning. In Proceedings of the 2018 IEEE International Conference on Computational Intelligence and Virtual
Environments for Measurement Systems and Applications (CIVEMSA), Ottawa, ON, Canada, 12–13 June 2018; pp. 1–6.
20. Zhang, F.; Yang, L.; Liu, Y.; Ding, Y.; Yang, S.-H.; Li, H. Design and Implementation of Real-Time Localization System (RTLS)
Based on UWB and TDoA Algorithm. Sensors 2022, 22, 4353. [CrossRef]
21. Ridolfi, M.; Van de Velde, S.; Steendam, H.; De Poorter, E. Analysis of the Scalability of UWB Indoor Localization Solutions for
High User Densities. Sensors 2018, 18, 1875. [CrossRef]
22. Huang, S.-P.; Neo, J.-F.; Chen, Y.-Y.; Chen, C.-B.; Wu, T.-W.; Peng, Z.-A.; Tsai, W.-T.; Liou, C.-Y.; Sheng, W.-H.; Mao, S.-G.
Ultra-Wideband Positioning Sensor with Application to an Autonomous Ultraviolet-C Disinfection Vehicle. Sensors 2021, 21, 5223.
[CrossRef]
23. Grasso, P.; Innocente, M.S.; Tai, J.J.; Haas, O.; Dizqah, A.M. Analysis and Accuracy Improvement of UWB-TDoA-Based Indoor
Positioning System. Sensors 2022, 22, 9136. [CrossRef]
24. Lee, S.; Yoo, S.; Lee, J.Y.; Park, S.; Kim, H. Drone Positioning System Using UWB Sensing and Out-of-Band Control. IEEE Sens. J.
2022, 22, 5329–5343. [CrossRef]
25. Ochoa-de-Eribe-Landaberea, A.; Zamora-Cadenas, L.; Peñagaricano-Muñoa, O.; Velez, I. UWB and IMU-Based UAV’s Assistance
System for Autonomous Landing on a Platform. Sensors 2022, 22, 2347. [CrossRef]
26. Dong, X.; Gao, Y.; Guo, J.; Zuo, S.; Xiang, J.; Li, D.; Tu, Z. An Integrated UWB-IMU-Vision Framework for Autonomous
Approaching and Landing of UAVs. Aerospace 2022, 9, 797. [CrossRef]
27. Xu, X.; Liu, X.; Zhao, B.; Yang, B. An Extensible Positioning System for Locating Mobile Robots in Unfamiliar Environments.
Sensors 2019, 19, 4025. [CrossRef] [PubMed]
28. Jiménez, A.R.; Seco, F. Improving the Accuracy of Decawave’s UWB MDEK1001 Location System by Gaining Access to Multiple
Ranges. Sensors 2021, 21, 1787. [CrossRef] [PubMed]
29. Martalò, M.; Perri, S.; Verdano, G.; De Mola, F.; Monica, F.; Ferrari, G. Improved UWB TDoA-Based Positioning Using a Single
Hotspot for Industrial IoT Applications. IEEE Trans. Ind. Inform. 2022, 18, 3915–3925. [CrossRef]
30. Martaló, M.; Ferrari, G.; Perri, S.; Verdano, G.; Mola, F.D.; Monica, F. UWB TDoA-Based Positioning Using a Single Hotspot
with Multiple Anchors. In Proceedings of the 2019 4th International Conference on Computing, Communications and Security
(ICCCS), Rome, Italy, 10–12 October 2019; pp. 1–7.
31. Großiwindhager, B.; Stocker, M.; Rath, M.; Boano, C.A.; Römer, K. SnapLoc: An Ultra-Fast UWB-Based Indoor Localization
System for an Unlimited Number of Tags. In Proceedings of the 2019 18th ACM/IEEE International Conference on Information
Processing in Sensor Networks (IPSN), Montreal, QC, Canada, 15–18 April 2019; pp. 61–72.
32. Navrátil, V.; Krška, J.; Vejražka, F. Concurrent Bidirectional TDoA Positioning in UWB Network with Free-Running Clocks. IEEE
Trans. Aerosp. Electron. Syst. 2022, 58, 4434–4450. [CrossRef]
33. Hamer, M.; D’Andrea, R. Self-Calibrating Ultra-Wideband Network Supporting Multi-Robot Localization. IEEE Access 2018,
6, 22292–22304. [CrossRef]
34. Chen, H.; Dhekne, A. PnPLoc: UWB Based Plug & Play Indoor Localization. In Proceedings of the 2022 IEEE 12th International
Conference on Indoor Positioning and Indoor Navigation (IPIN), Beijing, China, 5–8 September 2022; pp. 1–8.
35. Friedrich, J.; Tiemann, J.; Wietfeld, C. Accurate Multi-Zone UWB TDOA Localization Utilizing Cascaded Wireless Clock
Synchronization. In Proceedings of the 2021 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Lloret
de Mar, Spain, 29 November–2 December 2021; pp. 1–8.
36. Xue, Y.; Su, W.; Yang, D.; Wang, H.; Zhang, W. RMLNet—A Reliable Wireless Network for a Multiarea TDOA-Based Localization
System. Sensors 2019, 19, 4374. [CrossRef]
37. Yang, K.; An, J.; Bu, X.; Sun, G. Constrained Total Least-Squares Location Algorithm Using Time-Difference-of-Arrival Measure-
ments. IEEE Trans. Veh. Technol. 2010, 59, 1558–1562. [CrossRef]
38. Li, A.; Luan, F. An Improved Localization Algorithm Based on CHAN with High Positioning Accuracy in NLOS-WGN
Environment. In Proceedings of the 2018 10th International Conference on Intelligent Human-Machine Systems and Cybernetics
(IHMSC), Hangzhou, China, 25–26 August 2018; Volume 1, pp. 332–335.
39. Cheng, Y.; Zhou, T. UWB Indoor Positioning Algorithm Based on TDOA Technology. In Proceedings of the 2019 10th International
Conference on Information Technology in Medicine and Education (ITME), Qingdao, China, 23–25 August 2019; pp. 777–782.
40. Yu, K.; Guo, Y.J.; Oppermann, I. Modified Taylor series expansion based positioning algorithms. In Proceedings of the VTC
Spring 2008—IEEE Vehicular Technology Conference, Marina Bay, Singapore, 11–14 May 2008.
41. Gagnon, E.; Vachon, A.; Beaudoin, Y. Data Fusion Architectures for Orthogonal Redundant Inertial Measurement Units. Sensors
2018, 18, 1910. [CrossRef]
Sensors 2023, 23, 3088 27 of 27

42. Hellmers, H.; Kasmi, Z.; Norrdine, A.; Eichhorn, A. Accurate 3D Positioning for a Mobile Platform in Non-Line-of-Sight Scenarios
Based on IMU/Magnetometer Sensor Fusion. Sensors 2018, 18, 126. [CrossRef]
43. Li, X.; Wang, Y.; Khoshelham, K. A Robust and Adaptive Complementary Kalman Filter Based on Mahalanobis Distance for Ultra
Wideband/Inertial Measurement Unit Fusion Positioning. Sensors 2018, 18, 3435. [CrossRef]
44. Zhao, K.; Zhao, T.; Zheng, Z.; Yu, C.; Ma, D.; Rabie, K.; Kharel, R. Optimization of Time Synchronization and Algorithms with
TDOA Based Indoor Positioning Technique for Internet of Things. Sensors 2020, 20, 6513. [CrossRef]
45. Tong, H.; Xin, N.; Su, X.; Chen, T.; Wu, J. A Robust PDR/UWB Integrated Indoor Localization Approach for Pedestrians in Harsh
Environments. Sensors 2020, 20, 193. [CrossRef] [PubMed]
46. Gao, D.; Li, A.; Fu, J. Analysis of Positioning Performance of UWB System in Metal NLOS Environment. In Proceedings of the
2018 Chinese Automation Congress (CAC), Xi’an, China, 30 November–2 December 2018; pp. 600–604.
47. Zhou, R.; Sun, H.; Li, H.; Luo, W. TDOA and Track Optimization of UAV Swarm Based on D-Optimality. J. Syst. Eng. Electron.
2020, 31, 1140–1151. [CrossRef]
48. Guo, Y.; Li, W.; Yang, G.; Jiao, Z.; Yan, J. Combining Dilution of Precision and Kalman Filtering for UWB Positioning in a Narrow
Space. Remote Sens. 2022, 14, 5409. [CrossRef]
49. Toth, C.D.; O’Rourke, J.; Goodman, J.E. (Eds.) Handbook of Discrete and Computational Geometry, 3rd ed.; Chapman and Hall/CRC:
Boca Raton, FL, USA, 2017.
50. Shimrat, M. Algorithm 112: Position of point relative to polygon. Commun. ACM 1962, 5, 434. [CrossRef]

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.

You might also like