Next Article in Journal
A Sol-Gel/Solvothermal Synthetic Approach to Titania Nanoparticles for Raman Thermometry
Next Article in Special Issue
Reducing the Uncertainty of the Moving Object Location Measurement with the Method of Quasi-Multiple Measurement in GNSS Technology in Symmetrical Arrangement
Previous Article in Journal
An Adaptive Real-Time Malicious Node Detection Framework Using Machine Learning in Vehicular Ad-Hoc Networks (VANETs)
Previous Article in Special Issue
Assessment of GNSS Galileo Contribution to the Modernization of CROPOS’s Services
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Utilization of Carrier-Frequency Offset Measurements in UWB TDoA Positioning with Receiving Tag

Department of Radio Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague, 166 27 Praha, Czech Republic
*
Author to whom correspondence should be addressed.
Sensors 2023, 23(5), 2595; https://doi.org/10.3390/s23052595
Submission received: 29 December 2022 / Revised: 18 February 2023 / Accepted: 22 February 2023 / Published: 26 February 2023
(This article belongs to the Special Issue Sensors for Navigation and Control Systems)

Abstract

:
High-capacity impulse-radio ultra-wideband (IR-UWB) indoor localization systems are typically based on the time difference of arrival (TDoA) principle. When the fixed and synchronized localization infrastructure, the anchors, transmit precisely timestamped messages, a virtually unlimited number of user receivers (tags) are able to estimate their position based on differences in the time of arrival of those messages. However, the drift of the tag clock causes systematic errors at a sufficiently high magnitude to effectively deny the positioning, if left uncorrected. Previously, the extended Kalman filter (EKF) has been used to track and compensate for the clock drift. In this article, the utilization of a carrier frequency offset (CFO) measurement for suppressing the clock-drift related error in anchor-to-tag positioning is presented and compared to the filtered solution. The CFO is readily available in the coherent UWB transceivers, such as Decawave DW1000. It is inherently related to the clock drift, since both carrier and timestamping frequencies are derived from the identical reference oscillator. The experimental evaluation shows that the CFO-aided solution performs worse than the EKF-based solution in terms of accuracy. Nonetheless, with CFO-aiding it is possible to obtain a solution based on measurements from a single epoch, which is favorable especially for power-constrained applications.

1. Introduction

UWB impulse radio technology (IR-UWB) compliant with the IEEE 802.15.4 standards is capable of providing accurate localization in short-range scenarios. Such systems are suitable for indoor locations or other areas where other localization systems such as GNSS (Global Navigation Satellite Systems) are unreliable or unavailable [1,2]. Generally, the user devices (tags) are localized using measurements between them and fixed infrastructure devices with known positions (anchors). The approaches to UWB real-time localization may be based on one of two measurement methods: two-way ranging (TWR) or time difference of arrival (TDoA) [3].
The former, TWR-based localization, exploits range measurements from tag to several anchors, and estimates the tag position using multilateration. The TWR, however, requires bi-directional communication between the devices, and thus is relatively slow. Typically, double-sided TWR (DS-TWR) with three-message exchange is used [4] in order to mitigate the clock drift effect. Alternatively, single-sided TWR (SS-TWR) may be used provided that the drift-related error is mitigated by other means [5]. Obtaining a set of TWR measurements between tag and several anchors is rather time-consuming. Even though some reduction in the necessary time is achievable with optimization of the message scheduling [6] and relaxation of the constraints on reply delay symmetry by AltDS-TWR [7], no more than lower tens of position fixes per second are achievable [8].
The TDoA localization utilizes uni-directional communication between anchors and tag and thus is able to provide more frequent position fixes (up to several thousands fixes per second [9]) than the TWR-based approach. Nonetheless, the anchors have to share a common timescale or employ alternative ways of mutual bias mitigation that their free-running clocks generally have. The synchronization of the UWB anchors by means of Kalman filtering outperforms the other methods of UWB transceiver synchronization [10]. In [11], it is shown that it is beneficial to track clock drift rate in addition to clock bias and drift, and that sub-nanosecond accuracy of synchronization is achievable even during device warm-up. The measurement analysis in [12] proves that accuracy of the method is achieved even when the timing information is relayed via several anchors. The methods listed in [13,14] do not use Kalman filter explicitly; however, bias and drift estimates are obtained and utilized. In [15], a combination of a linear interpolation algorithm and Kalman filter is used. Typically, one of the anchors is used as the source of the master clock [10,11,13,14]. However, a less practical approach relying on a reference tag is also possible [16].
The synchronization-free methods, such as Sequential TDoA (S-TDoA) [17] rely on quick retranslation of the messages by the anchors; consequently, the positioning accuracy is severely limited by the retranslation delay and the clock performance. The research reported in [18] is claimed to be synchronization-free. However, the authors use Kalman filtering for estimation of the clock drift.
The TDoA localization can be performed in two directions. In the first case, the tag transmits a single blink message that is captured by the synchronized anchors. The position of the tag is then computed from the reception time differences at the infrastructure side. We will further denote this approach as the T2A (tag to anchor), which is equivalent to term Monitor-based localization (MBL) used in the survey [19]. Alternatively, the tag can receive precisely timed messages sent by the anchors and compute its own position from the time differences of arrival. This approach will be denoted as A2T (anchor to tag), and is consistent with device-based localization (DBL) used in [19].
The T2A approach is the simpler one to utilize, since the relative clock drift between the tag and infrastructure is not causing any problems and since the tag sends only one message, which is captured by all the anchors in range. However, the number of localized tags is limited by the number of messages that the anchors are able to receive.
When adopting the A2T approach, the messages from multiple anchors have to be received at the tag. This approach is similar to GNSS, where the ranging signals transmitted by the satellites are received by the user; as a consequence, unlimited number of tags can receive the signals and compute their own position. However, unlike the GNSS signals, the IR-UWB signals are not continuous and do not utilize code-division multiplexing; therefore, it is not possible to receive and separate them in a similar fashion.
If the UWB messages are transmitted at the (almost) same time, the tag cannot receive them in a regular way, the time of arrival differences have to be deduced from the channel impulse response (CIR) estimated by the receiver. Such an approach is adopted e.g., in [20,21,22]. Problems with identification of the individual transmitters of the signals observed in CIR and masking of pulses from similarly distant anchors are inherent to this approach. Moreover, the data transfer is completely neglected as well.
Without the utilization of the CIR, it is necessary to temporally separate the messages from the individual anchors, since only one message can be received by the tag at any instant. Practically, a millisecond-level separation of the transmitting times is necessary to mitigate the collisions. The delay due to separation is then compensated in the tag. Nonetheless, with up to ± 20 ppm drift of the UWB transceivers [23], the relative time interval error between two devices can reach up to 40 ns per millisecond of message separation. When left uncorrected, such measurement errors result in errors of several tens of meters and render positioning barely possible. The S-TDoA approach [17] reduces the error by using more stable and accurate clocks in the UWB devices and minimizing the separation delays. The S-TDOA approach is limited to utilizing differences between adjacent anchors in the transmission sequence, which exhibit minimal drift-related errors. In research by [24,25], it has been shown that it is possible to accurately estimate the relative clock drift between the tag and the synchronized anchors by means of Kalman filtering. The knowledge of the drift is used to compensate for the time interval error between the tag and anchor. Moreover, the method [25] allows simultaneous operation of the T2A and A2T modes. Nonetheless, at least two measurement epochs are necessary to estimate the clock drift, which is undesirable for devices with limited energy available.
However, coherent UWB transceivers, such as DW1000 [26], are able to estimate carrier frequency offset (CFO). Since the carrier frequency is derived from the same 38.4 MHz base frequency reference as the 63.8976 GHz sampling and timestamping clock, the relative clock drift between receiver and transmitter is available as properly scaled CFO. The CFO has already been successfully used for compensation of drift-related errors in TWR-based positioning, and in T2A asynchronous-TDOA [5]. According to the authors’ knowledge, the CFO has not been previously used in A2T TDoA positioning. The research presented in this article proves that A2T TDoA positioning can be performed based on a single set of messages from the synchronized anchors when using CFO estimates.
Firstly, we will briefly recapitulate the anchor synchronization algorithm. Secondly, two ways of obtaining the CFO will be presented and briefly compared. In the following section, the CFO-aided A2T TDOA algorithm will be described. Section 5 is devoted to the experimental evaluation of the presented method with respect to ground truth and the performance comparison with the Kalman-filter-based A2T TDoA method from [25]. The article concludes with a discussion of the results and summary.

2. Wireless Anchor Network Synchronization

Each of the UWB transceivers (either tag or anchor) has its own free-running reference clock. Rather than steering the clock physically, it is more feasible to track and predict the clock bias Δ t [ k ] , drift Δ t ˙ [ k ] and drift rate Δ t ¨ [ k ] with respect to the chosen master anchor clock [11]. A linear Kalman filter is utilized; the state vector x [ k ] , where k is the index of epoch, is defined as
x [ k ] = Δ t [ k ] Δ t ˙ [ k ] Δ t ¨ [ k ] T .
The discrete process model of the synchronization Kalman filter is described by matrix F .The time-update of the state vector x and its covariance matrix P can be written as:
x [ k ] = F [ k ] x + [ k 1 ]
P [ k ] = F [ k ] P + [ k 1 ] F [ k ] T + Q [ k ]
F [ k ] = 1 T [ k 1 ] 1 2 T [ k 1 ] 2 0 1 T [ k 1 ] 0 0 1
Q [ k ] = T [ k 1 ] σ x 0 2 0 0 0 T [ k 1 ] σ x 1 2 0 0 0 T [ k 1 ] σ x 2 2 .
Symbol T [ k 1 ] is the time passed between epochs k and k 1 ; Q denotes the process noise matrix, whose diagonal elements should be tuned to match the performance of the particular clocks. It should be noted that the + and − superscripts indicate a posteriori and a priori values in the Kalman filter.
The bias (time offset) between master and slave clock Δ t [ MS ] [ k ] is observed by means of differentiating the transmission and reception timestamps and correcting for the master-to-slave propagation delay and equipment delays in the transmitter and the receiver. The bias is used as the measurement of the Kalman filter in the particular epoch y [ k ] . Therefore,
y [ k ] = Δ t [ MS ] [ k ] = t Rx [ S ] [ k ] t Tx [ M ] [ k ] τ Tx [ M ] τ Rx [ S ] r MS c 0 ,
where t Tx [ M ] [ k ] is the transmission timestamp in the master timescale (denoted by superscript [ M ] ), t Rx [ S ] [ k ] is the reception timestamp in slave timescale, τ Tx [ M ] denotes transmission equipment and antenna delay in master transceiver and τ Rx [ S ] denotes reception equipment and antenna delay in slave transceiver. Symbol r MS stands for the geometric distance of the master and slave antenna phase centers and c 0 is the propagation velocity, i.e., speed of light. Note that line of sight (LOS) between master and slave anchor is presumed.
The covariance matrix r of the measurement is indeed a scalar value. According to [10] the timestamp noise is Gaussian with 150 ps standard deviation. Two timestamps are combined in the bias measurement; from our practical experience it is reasonable to assume r = ( 250 ps ) 2 .
Since the clock bias is also the first element of the state vector, the measurement model matrix is trivial, indeed; H = 1 0 0 . The filter measurement update follows equations
z [ k ] = y [ k ] H x [ k ]
S [ k ] = H P [ k ] H T + r [ k ]
K [ k ] = P [ k ] H T ( S [ k ] ) 1 .
x + [ k ] = x [ k ] + K [ k ] z [ k ] P + [ k ] = I K [ k ] H P [ k ] I K [ k ] H T
+ K [ k ] r [ k ] K T [ k ] ,
where z denotes innovation, S is innovation covariance matrix, K is the Kalman gain and I is the identity matrix of appropriate size. It is worth noting that r , and S are scalars, and thus the matrix inverse in (9) becomes a scalar division.
For the positioning purpose it is necessary to convert the local slave time to the master time. Prediction based on the Kalman filter state vector is performed in order to obtain the bias Δ t [ MS ] ( t b ) between master and slave time at any instant shortly after the last measurement update; it is also possible to obtain the variance:
Δ t [ MS ] ( t b ) F b ( t b ) x + [ k ]
var Δ t [ MS ] ( t b ) F b ( t b ) P + [ k ] F b ( t b ) T + ( t b t [ k ] ) σ x 0 2 .
Symbol t b denotes the time of prediction (expressed in local, slave time). The prediction matrix F b is based on the first line of the process model matrix
F b ( t b ) = 1 t b t [ k ] 1 2 ( t b t [ k ] ) 2 ,
where t [ k ] is the nearest (latest) synchronization epoch. The timestamp in the master time and its variance is available as
t b [ M ] t b [ S ] Δ t [ MS ] ( t b )
var t b [ M ] var t b [ S ] + var Δ t [ MS ] ( t b ) .
It is obvious that the accuracy of such correction is deteriorating with ( t b t [ k ] ) term, i.e., the time passed since the last synchronization message reception. Naturally, the variance reflects the deterioration.
The repetition interval between synchronization messages (i.e., measurement updates) is a trade-off between accuracy and airtime utilization. In [11], it is shown that error bellow 500 ps (corresponds to 15 cm in range) is achievable in 95% of epochs, when 400 ms message interval is used. It is worth noting that under assumption of normal distribution the standard deviation is approximately half of the value, i.e., 250 ps. Thorough description and experimental evaluation of this algorithm and the way of chaining multiple synchronization segments is available in [11,12].

3. Carrier Frequency Offset Measurement

Both the timestamping clock and the carrier frequency are derived from a single reference. Consequently, the timestamping clock drift is equal to the relative carrier frequency offset (CFO). Two ways of obtaining absolute value of the CFO from DW1000 chips are presented in [26], however, the relative CFO is of interest. Therefore, the equations provided here are slightly modified.

3.1. Receiver Time Tracking Offset

The first option of obtaining CFO is utilizing the Receiver Time Tracking Offset (RTTO) values, reported by the receiver for each message received, and Receiver Time Tracking Interval (RTTI). The relative offset ν RTTO is obtained as [26]
ν RTTO = RTTO RTTI .
Note that the dimensionless carrier offset fraction given from (17) can be scaled by 10 6 to obtain the value in ppm (parts per million). The RTTI is dependent on the pulse-repetition frequency (PRF) used; for 64 MHz PRF it holds RTTI = 0x1FC0000 [26]. Therefore, the resolution of the RTTO-based CFO estimate is 0.03 ppm. The RTTO-based CFO is not accurate, however, the value is included in the double-buffer swinging set of the receiver, and thus it is not necessary to pause receiving of the messages.

3.2. Carrier Integrator

The second option of estimating CFO is based on carrier integrator value, which is also reported for each message [26]. Unlike RTTO, the carrier integrator value C int is not featured within double-buffer swinging set, hence the receiver has to be stopped until C int value is read. On the other hand, the carrier-integrator-based CFO estimate ν CINT is substantially more accurate than the RTTO-based value. The relative drift estimate is computed as [26]
ν CINT = C int · 2 17 2 · N s f s f c ,
where number of samples is either N s = 1024 for 850 kbit s 1 bitrate and 6.8 Mbit s 1 , or N s = 8192 for 110 kbit s 1 . In our case the carrier frequency is f c = 3.9936 GHz , the sampling frequency is f s = 998.4 MHz . Since the 6.8 Mbit s 1 bitrate is used in our devices, the resolution of such measurement is 0.93 ppb.

3.3. CFO Measurement Accuracy

Thorough evaluation of the stochastic parameters of the CFO estimates is beyond the scope of this article, however, we provide a brief analysis based on a 57 min long concurrent measurement of ν RTTO and ν CINT . The measurement was performed between two stationary transceivers, messages were transmitted with 100 ms period. The drift estimate from the Kalman-filter-based synchronization algorithm (described in previous section) was used as the reference. During the measurement, the devices were warming up from approximately 15 C to 46 C on-chip temperature; consequently, the clock drift was changing during the first 35 min of the test, then it became almost constant.
The raw relative CFO estimates based on RTTO and carrier integrator are provided in Figure 1. Obviously, the RTTO-based CFO ( ν RTTO ) is significantly noisier than the C int -based CFO ( ν CINT ); the accuracy of both CFO estimates is clearly not limited by the resolution. The clock drift estimated by the Kalman filter ( Δ t ˙ [ k ] , see (1)) is smooth in comparison with the CFO estimates. On the right axis of Figure 1 is the on-chip temperature of the device; moving average with 101-sample symmetric window has been applied in order to improve readability. The dependency of clock drift and temperature is apparent.
Figure 2 presents moving averages and moving standard deviations (STD) of the CFO estimates. For both metrics 101-sample symmetric window has been applied in order to avoid lag. In other words, the averaged value is based on interval spanning 5 s before and 5 s after the current measurement. Both CFO moving averages are almost always visibly lower than the drift estimated by the EKF, which suggests that the estimates are slightly biased. We acknowledge that CFO-estimate bias has been observed also on longer measurements under constant-temperature conditions.
The moving standard deviations in Figure 2 are compared to the standard deviation of the Kalman filter drift estimate, which is deduced from the KF-state a posteriori covariance matrix ( P + [ k ] ). The KF-based estimate STD is below 1.5 ppb once it converges within a few measurements. The moving STD of RTTO-based CFO estimate is between 0.4 ppm and 0.8 ppm, the C int -based CFO is approximately 4-times more accurate; its moving STD is mostly between 0.1 ppm and 0.2 ppm.
It is also worth mentioning that results in [5] suggest approximately 8-times better accuracy of CFO than experienced for C int -based CFO during our tests. As no quantification of accuracy and limited information about configuration is provided in [5], it is assumed that 110 kbit s 1 bitrate was used, and therefore the 8-times higher N s value in the denominator of (18) is the reason for such difference in accuracy.
Since the CFO estimates are approximately two orders of magnitude less accurate than the Kalman filter drift estimate, there is no advantage in utilizing the CFO measurement as an additional measurement input to the synchronization filter regardless the source of the CFO.

3.4. CFO of Synchronized Anchors

The local (physical) clock of a transceiver is synchronous with the master time only for the master anchor. In all other transceivers (synchronization slaves or relays) the timestamps from free-running local clock are corrected to the master time as described in Section 2. The relative CFO ( ν ) is measured between the local clocks of the transmitter and receiver, thus, in order to obtain the drift estimate (i.e., relative CFO) with respect to the master clock, it is also necessary to correct for the drift of the transmitter with respect to the master clock.
The normalized frequency of the slave local clock can be described as ( 1 + Δ t ˙ [ M S ] ) , where Δ t ˙ [ M S ] is the clock drift between master and slave anchor (the accurate estimate from the KF). The tag is able to obtain the relative CFO between local clock of the slave anchor and its own local clock, which is denoted by ν [ S T ] . For the normalized frequency of the tag local clock with respect to the master clock ( 1 + ν T [ M ] ) it holds
( 1 + ν [ M T ] ) = ( 1 + ν [ S T ] ) · ( 1 + Δ t ˙ [ M S ] ) 1 + ν [ S T ] + Δ t ˙ [ M S ] .
Such approximation is valid when both ν [ S T ] 1 and Δ t ˙ [ M S ] 1 . Due to requirements on clock accuracy in [23] magnitude of both terms should be below 4 × 10−5; therefore, the ν [ S T ] × Δ t ˙ [ M S ] term omitted in the approximation should not be higher than 1.6 × 10−9, i.e., negligible in comparison with the CFO estimate accuracy. As a consequence, the clock drift (and CFO) estimates may be treated as additive. By a trivial modification of (19) it is possible to obtain a simple formula for CFO estimate between tag and master anchor:
ν [ M T ] ν [ S T ] + Δ t ˙ [ M S ] .

4. CFO-Aided TDoA Localization

The A2T TDoA positioning, as described in [25], estimates the position of a tag from the received messages sent by the surrounding anchors. It is worth mentioning that the structure and content of the positioning messages is identical to the anchor synchronization messages. As a consequence, the tag is able to parasite on the anchor synchronization messages; it is sufficient that each anchor transmits a single message per epoch.
The UWB devices are able to receive only a single message at the time. Consequently, it is necessary to avoid message collisions when performing TDoA positioning with multiple transmitting anchors and receiving tags. Within a single frequency channel it is possible to separate the messages by transmitting them in non-overlapping time slots. The measured time difference of arrival (TDoA), i.e., the difference of the reception timestamps has to be corrected for the different transmission times.
Therefore, all the messages contain their time of transmission ( t Tx , i ) expressed in the master time, and its variance. The drift of the anchors local clock with respect to the master time ( Δ t ˙ i ) is included in the message as well, along with the respective variance. With ideal, non-drifting clocks, the correction of the measured TDoA would be trivial; the difference d i , j ideal of distances between tag and anchors indexed by i and j would be
d i , j ideal = c 0 ( t Rx , i t Tx , i ) ( t Rx , j t Tx , j ) ,
where t Rx and t Tx are the reception and transmission timestamps, respectively. The second subscript indicates the anchor of message origin.
Due to an inherent drift between master time and tag time, the transmission and reception time differences are measured using clocks operating at a different pace. The problem is illustrated by an example in Figure 3, the faster pace of the tag clock is visualized by the shorter tick-length for the tag timescale. A number of ticks between the message transmission times t Tx , j and t Tx , i in the master timescale will result in shorter interval in the tag timescale. The difference in propagation delays (and thus distances to anchors) is then corrupted by the error (red rectangle in Figure 3), which is proportional to the relative drift between master and tag clock and to the length of the message separation interval T i , j between transmissions from the anchors indexed by i and j. The estimate of the drift can be obtained from the CFO measurements ν [ M T ] with respect to the master anchor; the difference of the propagation delays corrected for the drift-related error yields
d i , j = c 0 ( t Rx , i t Tx , i ) ( t Rx , j t Tx , j ) ν ¯ [ M T ] T i , j .
In order to reduce the effect of the CFO measurement noise on the positioning, the average value of CFO among all anchors received in the particular epoch ν ¯ [ M T ] is utilized. Since the anchor local clocks are not physically synchronous with the master clock, result (20) is employed to obtain the CFO with respect to master anchor. The average CFO is
ν ¯ [ M T ] = 1 M l M ν l [ M T ] 1 M l M ( ν l [ S T ] + Δ t ˙ l [ MS ] ) ,
where the M available anchors are indexed by l. Symbol Δ t ˙ l [ MS ] denotes estimated bias drift between slave anchor l and master, ν l [ S T ] is the tag CFO estimate with respect to slave anchor and ν l [ M T ] is the CFO with respect to master anchor.
It should be pointed out that constant drift is assumed for the interval T i , j ; typically, the separation interval is several milliseconds and thus, the assumption is valid. In [25], it has been shown that either difference in transmission times or difference in reception times can be used for separation interval computation:
T i , j = t Tx , i t Tx , j = t Rx , i t Rx , j .
With the corrected measurements d i , j , the tag’s position in Cartesian coordinates r = x y z T can be estimated by the means of nonlinear least-squares (NLSQ) solver. The problem can be formulated as
min r f ( r ) = min r M d i , j g i , j ( r ) 2 ,
where d i , j are drift-corrected TDoA measurements according to (22), g i , j is the nonlinear measurement model that estimates TDoA distance from anchors i and j, located at positions r i and r j , respectively, to the tag at position r
g i , j ( r ) = r r i r r j .
A point r , where the function (25) reaches a (local) minimum, can be found iteratively with the weighted Levenberg–Marquardt method [27,28,29]. The L-M method is known for its fast convergence [27,28] as it is able to behave either more as a Gauss–Newton method (faster, higher risk of divergence) or a gradient descent method (slower, lower risk of divergence). Such properties are achieved by coupling the two behaviors by carefully manipulating the value of the damping coefficient λ k .
The L-M method computes the new estimate r [ k + 1 ] from the previous one r [ k ] , starting from the initial guess r [ 0 ] . The estimate update equation is [29,30]
r [ k + 1 ] = r [ k ] G k T W G k + λ k · Diag ( G k T W G k ) 1 G k T W ( d g [ k ] ) ,
where vectors d and g ( r [ k ] ) are collated TDoA distance measurements and the respective modeled measurements, matrix W is the measurement weighting matrix, operator Diag ( · ) clears the off-diagonal elements of the input matrix and G k is matrix of first derivatives of vector g ( r [ k ] ) evaluated at point r [ k ]
G k = g ( r ) r r [ k ] .
The matrix G k is a 3 × M matrix, where each row is equal to
g i , j ( r ) r = r r i r r i r r j r r j T = ( 1 i 1 j ) T ,
where 1 i and 1 j are unit vectors pointing in the direction of user’s estimated position from the anchor’s i and j position, respectively.
The weight matrix is the inverse of the TDoA measurement covariance matrix Φ d [29], while the TDoA covariance matrix is obtained by transformation of the time of arrival measurement (ToA) covariance matrix Φ t with combination matrix D
W = Φ d 1 = ( D · Φ t · D T ) 1 .
The ToA measurement covariance matrix Φ t is a diagonal matrix with the diagonal elements var ( t i ) equal to the sum of the variances of ToA measurement t Rx , i , transmission time t Tx , i and CFO measurement ν i
var ( t i ) = var ( t Tx , i ) + var ( t Rx , i ) + var ( ν i ) .
The ToA var ( t Rx , i ) = 150 ps (see Section 2) and CFO variances var ( ν i ) are constant, while the actual value of var ( ν i ) depends on the method of CFO measurement (see Section 3.3). The transmission time variance var ( t Tx , i ) is estimated and included in the message transmitted by the anchor i.
Finally, the combination matrix D is a ( M 1 ) × M matrix that combines the ToA measurements into TDoA measurements. Each row of the matrix contains exactly one + 1 and one 1 values, the rest is zero. By multiplying a vector of M ToA measurements by matrix D a vector of M 1 TDoA measurements is obtained. The exact format of the matrix is not given, however its choice does affect the hyperboloids used for the estimation and thus the achievable estimation accuracy (Dilution of Precision). The following is an example of a combination matrix
D = 1 1 0 0 1 1 .
The covariance of the final estimate Φ r , given by the described process, can be computed from the jacobian G K from the last algorithm iteration K [29]
Φ r = ( G K T W G K ) 1 .

5. Experimental Results

The experimental evaluation of the CFO-aided A2T TDoA positioning consists of measurements in 16 locations within the laboratory’s UWB testbed. We acknowledge that the testbed setup and statistical evaluation is almost identical to the one used in [25], in order to maintain comparability with the results with other positioning methods.

5.1. Testbed Description and Data Acquisition

The testbed is a room of dimensions 4.4 by 9.7 m with a ceiling height 2.75 m. Six UWB anchors were mounted on the bottom of a suspended ceiling light, their antennas were located between 2.52 m to 2.57 m above the floor. The anchors were powered and connected to the controlling computer by means of Ethernet cabling with Power-over-Ethernet capability. The detail of the anchor device with its key dimensions is provided in Figure 4. It is worth noting that identical hardware was used as the tag. An annotated photo of the testbed during measurement is provided in Figure 5.
The positions of the anchors were precisely surveyed by a point-to-point laser distance measurement device. The anchors were synchronized by means of algorithm described within Section 2; the master anchor is depicted by a filled circle in the Figure 6, Figure 7 and Figure 8, hollow circle is used for the slave anchors.
During the test runs, all messages received by the tag were stored, including the necessary timestamps and CFO estimates obtained by both methods (RTTO and C i n t ). Consequently, all the methods of interest are evaluated at once, inherently under identical conditions and using the same message data and timestamps. The 16 measurement points were organized in a 4-by-4 grid; the points are identified by a number indicating row and letter indicating column, when observed from above. The point 1A is located in the bottom-right corner of Figure 6a, Figure 7a and Figure 8a, the point 4D is in the top-left corner. The tag was mounted on a tripod stand approximately 1.55 m above the floor; the ground-truth position was surveyed by a point-to-point laser distance measurement device at each location.
At each point, the positioning and CFO data were collected for at least 5 min. The synchronization/positioning messages were transmitted with period 100 ms, and thus data from over 3000 epochs were recorded at each point; in total, measurements from 49,666 epochs were collected.
The acquired measurements (timestamps and CFO measurements) were processed independently by the three anchor-to-tag (A2T) TDoA positioning algorithms that were evaluated:
1.
CFO-aided A2T TDoA, Levenberg–Marquardt epoch-by-epoch solution; CFO is based on RTTO measurement— ν RTTO , see (17)
2.
CFO-aided A2T TDoA, Levenberg–Marquardt epoch-by-epoch solution; CFO is based on carrier-integrator measurement— ν CINT , see (18)
3.
EKF-based A2T TDoA; drift is estimated and corrected—method described in [25]
The positioning has been performed both in 3D (spatial) and 2D (planar); the results are provided in Section 5.3 and Section 5.4, respectively.

5.2. Statistical Evaluation

Before evaluating the accuracy, the position estimates are validated. Positioning results that failed to converge to a sufficiently precise solution are discarded in order to avoid distortion of the results by obviously unreliable values. Such outlier is detected when the absolute value of any position coordinate exceeds 100 m; similarly, an unreliable value is detected when any position coordinate variance exceeds 1 × 10 4 m 2 or if “not a number” value occurs either within the position vector or its covariance matrix. The percentage of valid estimates for each of the evaluated algorithms will be stated in their related sections. In the further description of the statistical evaluation, we will denote the number of valid epochs as N v .
The non-weighted and weighted means of position estimates ( r ¯ and r ¯ w , respectively) for each measurement location are computed as [31]
r ¯ = 1 N v i = 0 N v 1 r i ,
r ¯ w = 1 i = 0 N v 1 w i i = 0 N v 1 w i r i .
The weight w i for each epoch is computed as
w i = 1 tr Φ r , i = 1 σ r x , i 2 + σ r y , i 2 + σ r z , i 2 ,
where Φ r , i is the covariance matrix of estimated position in epoch i.
The mean values are used when evaluating the mean error of the position estimation:
ϵ ¯ 3 D = r ¯ r r e f
ϵ ¯ w 3 D = r ¯ w r r e f .
Symbol r r e f denotes the ground truth position vector. Note that only the first two elements of the vectors are used when evaluating the 2D (horizontal) error.
The spread of the estimates is quantified by means of the unweighted and weighted covariance matrices, Φ and Φ w :
Φ = 1 N v 1 i r i r ¯ r i r ¯ T ,
Φ w = i w i i w i 2 i w i 2 i w i r i r ¯ w r i r ¯ w T .
The standard deviations in 3D ( σ 3 D ) and 2D ( σ 2 D ) are then obtained from the covariance matrices as
σ 3 D = tr ( Φ )
σ 2 D = Φ 1 , 1 + Φ 2 , 2 ,
and identically for the weighted values.
The 3D RMS (root mean square) and WRMS (weighted root mean square) are evaluated as
RMS 3 D = 1 N v k = 0 N v 1 r k r r e f 2 ,
WRMS 3 D = 1 k = 0 N v 1 w k k = 0 N v 1 w k r k r r e f 2 .
Note that 2D (horizontal) RMS and WRMS, are obtained with similar formulas, where only the first two elements of the position vector are taken into account. Inherently, the corresponding covariance matrix is truncated to size 2 × 2 .
All the metrics are evaluated separately for each of the 16 measurement points 1A to 4D. In order to obtain the results characterizing the whole test (in the tables marked as TOT.), the quadratic mean is employed:
σ 3 D , TOT = 1 K k = 0 K 1 σ 3 D 2 ,
ϵ ¯ 3 D , TOT = 1 K k = 0 K 1 ϵ 3 D , k 2 ,
RMS 3 D , TOT = 1 K k = 0 K 1 RMS 3 D , k 2 .
The individual measurements from the set of size K = 16 are indexed by k. The 2D metrics and the weighted metrics are totaled in an identical way. This approach is insensitive to the number of valid measurements on each of the measurement locations.

5.3. 3D Positioning Results

In the spatial positioning (3D) the height of the tag was estimated along with the horizontal coordinates. The accuracy in the vertical direction was expected to be poor, since the constellation of the anchors is rather flat, and therefore high VDOP (vertical dilution of precision) deteriorates the accuracy. Although inaccurate, the vertical coordinate may be treated as nuisance parameter, while the more accurate horizontal coordinates are still useful.
The results of the three A2T TDoA positioning methods were compared both qualitatively and quantitatively.
Figure 6, Figure 7 and Figure 8 provide visual representations of the results for all 16 measurement points. The (a) subfigures show the testbed and constellation from above, the (b) subfigures present the identical results viewed from side. The ground-truth positions are marked by the black crosses. In order to improve readability, there are black vertical lines from the crosses (tag ground-truth) and circles (anchors) to the floor level. The position estimates are depicted with colored dots; the color indicates the estimate horizontal standard deviation, i.e., the result of (42) for the particular measurement epoch.

5.3.1. 3D Localization Aided by RTTO-Based CFO

The CFO-aided TDoA with the CFO based on RTTO measurement ( ν RTTO ) is rather inaccurate, as can be observed in Figure 6. In the horizontal plane (Figure 6a) the position estimates appear to be spread outwards from the constellation. The side-view (Figure 6b) reveals that the most prominent error is in the vertical domain. The position estimates at each measurement point follow a hyperbolic curve, i.e., the line of constant TDoA. The vertical character of the position uncertainty is caused by the flatness of the anchor constellation and thus, high vertical dilution of precision (VDOP). The inaccuracy and spread is caused mostly by the poor accuracy of the RTTO-based CFO.
The inaccurate RTTO-based drift correction also reduces the convergence rate of the L-M algorithm, in fact, only 73.1% of the solutions passed the validation criteria described in Section 5.2. The presence of a number of highly inaccurate position estimates is apparent from the non-weighted statistics that are available in the left part of Table 1. It is apparent that the most of the horizontal RMS error ( RMS 2 D ) is due to the spread of the estimate quantified by the standard deviation σ 2 D ; the mean of the error ( ϵ ¯ 2 D ) is approximately order-of-magnitude smaller than the standard deviation. The spatial RMS error ( RMS 3 D ) is typically double the horizontal RMS, confirming that the error in the vertical dimension is the largest one.
Since the highly inaccurate position estimates usually feature exceptionally large estimated standard deviations, the corresponding weighted statistics (left part of Table 2) are substantially more favorable than the unweighted ones. In particular, the horizontal WRMS 2 D is 56.6 cm, i.e., almost 10-times lower than the unweighted RMS. The weighted standard deviation is also comparable to the weighted mean error. However, from comparison of WRMS 3 D and WRMS 2 D it is obvious that the significant vertical error is eminent for all position estimates; the difference is even more distinct than for the non-weighted RMS metrics.

5.3.2. 3D Localization Aided by Carrier-Integrator-Based CFO

The CFO-aided TDoA with the CFO based on carrier-integrator measurement ( ν CINT ) provides better results, indeed. Although the outward spread of the position estimates in Figure 7a is similar to the previous result in shape and direction, the magnitude of the error is substantially lower. From Figure 7b it is obvious that even the vertical error is lower in comparison with the RTTO CFO-aided result; the estimates are more concentrated around the hyperbolic segments, the vertical spread is lower as well.
Undoubtedly, the quantitative results confirm better performance when utilizing C i n t -based CFO. In particular, 80.1% of the position estimates passed the validation criteria from Section 5.2. Still, the most of the error is caused by the spread of the measurements, see the unweighted statistics in the central part of Table 1. The improvement with respect to the RTTO-based CFO varies depending on the test point; however, overall standard deviation and RMS errors for the C i n t -based estimates are generally lower by approximately one third. The total mean of the error ( ϵ ¯ 2 D ) is rather similar for both CFO-aided approaches; however, the values vary significantly for each test point, there are several test points where the mean error is higher for the C i n t -based estimates.
The improvement is similar for the weighted metrics, as reported in the central part of Table 1. As the influence of highly inaccurate measurements is suppressed, the horizontal weighted standard deviation and WRMS is a few decimeters for all measurement points when C i n t -based CFO is utilized. The effect of the choice of CFO source does not possess a significant effect on the weighted mean horizontal error ϵ ¯ w 2 D . When C i n t -based CFO is used, the weighted mean horizontal error is similar in magnitude to the weighted standard deviation σ w 2 D .

5.3.3. EKF-Based 3D Localization

The extended Kalman-filter-based solution is used as a benchmark; the achieved results are consistent with the previous evaluation in [25]. The horizontal spread of the estimates is very low, mostly smaller than the offset from the ground-truth position, see Figure 8a. The larger spread in the vertical dimension is documented in Figure 8b; additionally, there is a significant bias towards the anchor constellation plane in the vertical dimension.
There is only a negligible difference between the unweighted and weighted quantitative results for the EKF-based solution that are provided in the right part of Table 1 and Table 2. Unlike for the CFO-aided solutions, the bias of the estimate, i.e., mean error ϵ ¯ 2 D is the more prominent contributing factor to the RMS error than the spread quantified by the standard deviation σ 3 D . Indeed, the horizontal standard deviation is in the centimeter level for all test points except location 1A. The high value of spatial RMS 3 D is mostly caused by the apparent vertical bias, since the spatial standard deviation σ 3 D (not included in the tables) of the EKF-based solution is in the order of lower decimeters, typically.
It is necessary to note that 99.8% of position estimates passed the validation criteria; however, comparison of the validation pass-rate of the between EKF-based and epoch-by-epoch solutions is rather unjust due to their different nature.

5.4. 2D Positioning Results

In this case a purely planar (2D) solution is obtained, i.e., vertical coordinates of both the tag and the anchors are neglected. The unequal heights of tag and the anchors are not compensated in any way, since the height of the tag is considered unknown. Consequently, the neglection of the vertical coordinates contributes to the overall positioning error of the planar (2D) solution. On the contrary, there is no error contribution related to high VDOP and thus the 2D solution may provide more accurate results than the 3D solution in certain cases. The visualization of the results of the three evaluated algorithms in 2D are provided side by side in Figure 9.

5.4.1. 2D Localization Aided by RTTO-Based CFO

Although the 2D TDoA with the CFO aiding based on RTTO measurement ( ν RTTO ) is more accurate than its 3D counterpart, the accuracy is still rather poor. The planar positioning results can be seen in Figure 9a. It is necessary to note that neglecting the vertical coordinate leads to substantially higher validation pass-rate, which reaches 98.5%. The non-weighted statistics of the 2D solution with RTTO-based CFO aiding are provided in the left part of Table 3. It is apparent that in total the horizontal standard deviation ( σ 2 D ) and RMS error ( RMS 2 D ) are approximately a third of the values obtained by the 3D solution (see Table 1).
The improvement of 2D solution is less prominent in case of the weighted horizontal standard deviation ( σ w 2 D ) and RMS error ( WRMS 2 D ), see Table 4. In comparison with the 3D solution we observe approximately 42% improvement of σ w 2 D and 42% in WRMS 2 D . Such results suggest that the 2D solution leads to more stable convergence and reduces the number of outliers.

5.4.2. 2D Localization Aided by Carrier-Integrator-Based CFO

The reduction of the solution to two dimensions is also beneficial when CFO aiding is based on carrier integrator measurement ( ν CINT ). Indeed, the validation criteria, as described in Section 5.2, were passed in 99.5% of epochs. The results are visualized in Figure 9b; apparently, the carrier integrator CFO-aided positioning is substantially more accurate than the solution with the RTTO-based CFO aiding.
The accuracy is quantified by the non-weighted statistics provided in central part of Table 3. The unweighted statistics suggest major improvement in terms of accuracy; horizontal standard deviation ( σ 2 D ) is 84% lower and RMS error ( RMS 2 D ) is 82% lower with respect to the 3D solution that estimates the vertical coordinate as well. The improvement with respect to the RTTO-based 2D solution is 65% in terms of σ 2 D and 61% when comparing to RMS 2 D .
The weighted statistics in the central part of Table 4 confirm the obvious improvement, which nonetheless, is not as impressive as in the non-weighted case. The weighted standard deviation ( σ w 2 D ) is 51% lower and WRMS 2 D is 10% lower than those achieved with the 3D solution. Clearly, the 3D solution contained substantial amount of estimates with high error and very low weight (low confidence). In comparison with the RTTO-based 2D solution there is 60% and 35% improvement in ( σ w 2 D ) and WRMS 2 D , respectively.
It is worth noting that the difference in mean error of the position estimation regardless weighting (i.e., ϵ ¯ 2 D and ϵ ¯ w 2 D ) is far less prominent than the change in standard deviation or RMS error.

5.4.3. EKF-Based 2D Localization

The EKF-based 2D solution completes the graphical results in Figure 9c. There is no substantial performance difference between the 2D and 3D solution when the EKF is used to mitigate the clock drift effect on the A2T TDoA positioning. It is acknowledged that the validation pass-rate is identical to the 3D solution, i.e., 99.8%. The weighted and non-weighted statistical results are available in the right part of Table 3 and Table 4. The horizontal-plane statistics (i.e., σ 2 D , ϵ ¯ 2 D , RMS 2 D ) and their weighted counterparts differ mostly by several millimeters regardless of whether a 2D or 3D solution is employed.

6. Discussion

The presented results clearly show that it is possible to utilize CFO measurements to correct anchor-to-tag TDoA measurements, and obtain position on an epoch-by-epoch basis. However, the CFO measurements (both RTTO-based and carrier-integrator-based) are substantially less accurate than the clock drift estimate obtained by Kalman filtering from the longer observation of timestamps. Naturally, the CFO-aided A2T TDoA suffer from substantially poorer accuracy. Notably, the least accurate RTTO-based CFO bears minimal utility as an aid to positioning. The CFO obtained from the carrier integrator is more accurate, and thus the positioning results are more favorable. It is worth mentioning that the more accurate C i n t -based CFO yields a higher percentage of valid solutions than the RTTO-based CFO. Therefore, it is recommended to utilize the C i n t -based CFO only, even though it is slightly more difficult to obtain from the transceiver.
Due to the geometry of the anchor constellation, the positioning performance is inherently better for the test points located in the central part of the constellation rather than on the edges, where the poor geometry emphasizes the inaccuracies in the TDoA measurements; this is certainly valid even for the EKF-based solution.
The epoch-by-epoch CFO-aided estimates are not affected by any underlying motion and drift model, unlike the EKF solution [25]. Inherently, the non-filtered position estimates seem to be more spread, since there is no assumption of inter-epoch dependency. Nonetheless, it is apparent that the major contributing factor to the inaccuracy of the CFO-aided solutions is the poor accuracy of the CFO estimate in comparison to the EKF-based drift estimate.
Graphical results and both the weighted and non-weighted statistical metrics suggest that the horizontal position estimate biases (quantified by ϵ ¯ w 2 D or ϵ ¯ 2 D ) are quite similar for all presented solutions. The bias errors that are common to all solutions are probably caused by inaccuracies in anchor constellation survey and internal delays calibration. Due to the higher spread (quantified by σ w 2 D or σ 2 D ) of the CFO-aided solutions, the impact of such systematic errors on the overall horizontal RMS accuracy is not consequential. Nonetheless, they represent a major contribution to the horizontal RMS of the EKF-based solution.
All the presented 3D positioning results suffer from higher spread and substantial bias in the vertical direction. Such bias is more difficult to observe for the CFO-aided solutions due to higher standard deviations. Nonetheless, such behavior is caused mostly by the flat constellation of anchors, and thus, the vertical dilution of precision (VDOP) is rather high. The position estimates are biased towards the plane formed by the anchors (see Figure 8b). The performance in the vertical dimension could be improved by placing several anchors closer to the floor level; however, such placement is rather impractical for most scenarios due to obstructions in the signal path.
It is also possible to neglect the vertical coordinate completely and solve the whole problem in plane, i.e., in two dimensions only (2D). The presented results indicate substantial performance improvement of both 2D CFO-aided solutions with respect to the 3D solutions obtained from the identical TDoA measurements. Not only is the accuracy better, but especially the solution validation pass-rate is higher for the 2D solution; it reaches 98.5% and 99.5% for the CFO based on RTTO and carrier integrator, respectively.
Alternatively, if the height of the tag is known, a soft constraint may be introduced into either the least-squares or EKF solution, see e.g., [32]. An evaluation on the impact of the constraints or solution dimension reduction on the horizontal and overall accuracy of the CFO-aided solution is beyond the scope of this article. The effect of soft constraints on EKF solution has been already described in [25].
Although the CFO-aided A2T TDoA solutions are less accurate in comparison with the EKF-based solution, they are useful due to their unique features. Since the localization is performed on an epoch-by-epoch basis, it can be utilized by low-power devices that do not localize themselves continuously, but rather infrequently (e.g., once per minute or less). For such devices, it is not feasible to observe numerous epochs in order to obtain accurate results from the EKF. With the CFO-aided solution, it is necessary to turn the receiver on for a single epoch only, and therefore optimize the energy consumption of the device. Alternatively, the CFO-aided position estimate can be utilized to trigger accurate EKF-based positioning only in certain areas and conserve resources when accurate positioning is not necessary. It is worth mentioning that both the CFO-aided L-M solutions and the EKF solution can be implemented in low-cost devices.
Utilizing either of the CFO estimates directly in the EKF as a drift measurement is not beneficial due to its poor accuracy. Nevertheless, CFO and CFO-based position estimates can be used as the initial condition to the EKF. The CFO-based drift value may be also utilized to detect a failure or divergence of the EKF in devices that estimate the position frequently and continuously, and improve the robustness of the positioning system.

7. Conclusions

The presented results confirm that it is possible to use carrier-frequency offset (CFO) to compensate for tag clock drift when estimating tag’s position. Since positioning messages are sent by the synchronized network of anchors (A2T TDoA), and the tag only receives, the number of possible users is virtually unlimited. The algorithm for correcting the TDoA measurements by means of the CFO observations with respect to multiple transmitting anchors was described and experimentally evaluated. Although the accuracy of the CFO-aided approach does not reach the one of the EKF solution, it is able to operate on epoch-by-epoch basis, and thus does not require continuous operation to converge. Such characteristic may be useful especially for devices optimized for long battery life, which do not require frequent position updates.
In total, two sources of the CFO-aiding were evaluated; the utilization of RTTO-based CFO value yields inaccurate results that bare minimal utility without further filtering. According to the observations, only the use of carrier-integrator-based CFO measurement is feasible for positioning. Furthermore, it was shown that when CFO-aiding is used, it is beneficial to neglect vertical coordinate and solve the positioning problem in plane (2D) rather than in space (3D). With this approach, we were able to achieve horizontal WRMS 2 D of 30.3 cm when the height coordinate was neglected and WRMS 2 D of 34.0 cm when estimating the height as well.

Author Contributions

Conceptualization, V.N.; methodology, V.N. and J.K.; software, J.K.; validation, V.N.; formal analysis, J.K.; investigation, V.N.; resources, J.K.; data curation, J.K.; writing—original draft preparation, V.N. and J.K.; writing—review and editing, J.K.; visualization, V.N.; supervision, V.N.; project administration, J.K.; funding acquisition, J.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Grant Agency of the Czech Technical University in Prague, grant number SGS22/169/OHK3/3T/13.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The recorded data used for the algorithm evaluation are stored in proprietary and confidential format and are therefore not publicly available. However, both the measurement data and positioning results can be provided by the authors upon request.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
A2Tanchor-to-tag
C i n t Carrier integrator
CFOCarrier frequency offset
CIRChannel impulse response
DOPDilution of precision
EKFExtended Kalman filter
GNSSGlobal navigation satellite systems
KFKalman filter
L-MLevenberg–Marquardt
NLSQNonlinear least-squares
ppbParts per billion
ppmParts per million
RMSRoot mean square
RTTOreal-time tracking offset
STDstandard deviation
T2Atag-to-anchor
TDoATime difference of arrival
ToATime of arrival
TWRTwo-way ranging
VDOPVertical dilution of precision
WRMSWeighted root mean square

References

  1. Koppanyi, Z.; Toth, C.K.; Grejner-Brzezinska, D.A. Where are we? Positioning in Challenging Environments Using Ultra-Wideband Sensor Networks. GPS World 2015, 22, 44–49. [Google Scholar]
  2. Koppanyi, Z.; Navratil, V.; Xu, H.; Toth, C.K.; Grejner-Brzezinska, D.A. Using Adaptive Motion Constraints to Support UWB/IMU Based Navigation. Navigation 2018, 65, 247–261. [Google Scholar] [CrossRef]
  3. Sahinoglu, Z.; Gezici, S.; Güvenc, I. Ultra-Wideband Positioning Systems; Cambridge University Press: Cambridge, MA, USA, 2016. [Google Scholar]
  4. DecaWave Ltd. APS011: Sources of Error in DW1000 Based Two-way Ranging (TWR) Schemes; Application Note; DecaWave Ltd.: Dublin, Ireland, 2018. [Google Scholar]
  5. Dotlic, I.; Connell, A.; McLaughlin, M. Ranging Methods Utilizing Carrier Frequency Offset Estimation. In Proceedings of the 15th Workshop on Positioning, Navigation and Communications (WPNC), Bremen, Germany, 25–26 October 2018. [Google Scholar] [CrossRef]
  6. Djaja-Josko, V.; Kolakowski, J. A new transmission scheme for wireless synchronization and clock errors reduction in UWB positioning system. In Proceedings of the 2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Alcala de Henares, Spain, 4–7 October 2016; pp. 1–6. [Google Scholar] [CrossRef]
  7. Neirynck, D.; Luk, E.; McLaughlin, M. An alternative double-sided two-way ranging method. In Proceedings of the 2016 13th Workshop on Positioning, Navigation and Communications (WPNC), Bremen, Germany, 19–20 October 2016; pp. 1–4. [Google Scholar] [CrossRef]
  8. Ridolfi, M.; de Velde, S.V.; Steendam, H.; Poorter, E.D. Analysis of the Scalability of UWB Indoor Localization Solutions for High User Densities. Sensors 2018, 18, 1875. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  9. Zwirello, L.; Schipper, T.; Jalilvand, M.; Zwick, T. Realization Limits of Impulse-Based Localization System for Large-Scale Indoor Applications. IEEE Trans. Instrum. Meas. 2015, 64, 39–51. [Google Scholar] [CrossRef]
  10. McElroy, C.; Neirynck, D.; McLaughlin, M. Comparison of wireless clock synchronization algorithms for indoor location systems. In Proceedings of the 2014 IEEE International Conference on Communications Workshops (ICC), Sydney, NSW, Australia, 10–14 June 2014; pp. 157–162. [Google Scholar] [CrossRef]
  11. Navratil, V.; Krska, J.; Vejrazka, F.; Korecek, V. Chained wireless synchronization algorithm for UWB-TDOA positioning. In Proceedings of the 2018 IEEE/ION Position, Location and Navigation Symposium (PLANS), Monterey, CA, USA, 23–26 April 2018. [Google Scholar] [CrossRef]
  12. Navrátil, V.; Krška, J.; Vejražka, F. Experimental evaluation of chained synchronization for UWB systems. In Proceedings of the 16th IAIN World Congress 2018 (IAIN2018), Chiba, Japan, 28 November–1 December 2018; pp. 137–145.
  13. Tiemann, J.; Eckermann, F.; Wietfeld, C. Multi-user interference and wireless clock synchronization in TDOA-based UWB localization. In Proceedings of the 2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Alcala de Henares, Spain, 4–7 October 2016; pp. 1–6. [Google Scholar] [CrossRef]
  14. Djaja-Josko, V. A new anchor nodes position determination method supporting UWB localization system deployment. In Proceedings of the 2017 Signal Processing Symposium (SPSympo), Jachranka, Poland, 12–14 September 2017; pp. 1–5. [Google Scholar] [CrossRef]
  15. 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. [Google Scholar] [CrossRef] [PubMed]
  16. Bottigliero, S.; Milanesio, D.; Saccani, M.; Maggiora, R. A Low-Cost Indoor Real-Time Locating System Based on TDOA Estimation of UWB Pulse Sequences. IEEE Trans. Instrum. Meas. 2021, 70, 1–11. [Google Scholar] [CrossRef]
  17. Pelka, M.; Hellbruck, H. S-TDoA—Sequential time difference of arrival—A scalable and synchronization free approach for positioning. In Proceedings of the 2016 IEEE Wireless Communications and Networking Conference, Doha, Qatar, 3–6 April 2016. [Google Scholar] [CrossRef]
  18. Wang, W.; Huang, J.; Cai, S.; Yang, J. Design and Implementation of Synchronization-free TDOA Localization System Based on UWB. Radioengineering 2019, 27, 320–330. [Google Scholar] [CrossRef]
  19. Zafari, F.; Gkelias, A.; Leung, K.K. A Survey of Indoor Localization Systems and Technologies. IEEE Commun. Surv. Tutor. 2019, 21, 2568–2599. [Google Scholar] [CrossRef] [Green Version]
  20. Matsumoto, H.; Kusano, H.; Morokuma, T.; Sakamura, K. Numerical and experimental investigation of TDOA-based positioning system by ultra-wideband impulse radio. In Proceedings of the 2011 IEEE Topical Conference on Wireless Sensors and Sensor Networks, Phoenix, AZ, USA, 16–19 January 2011. [Google Scholar] [CrossRef]
  21. Großwindhager, 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 18th International Conference on Information Processing in Sensor Networks, Montreal, QC, Canada, 16–18 April 2019; pp. 61–72. [Google Scholar] [CrossRef]
  22. Corbalán, P.; Picco, G.P.; Palipana, S. Chorus. In Proceedings of the 18th International Conference on Information Processing in Sensor Networks, Montreal, QC, Canada, 16–18 April 2019; pp. 133–144. [Google Scholar] [CrossRef]
  23. IEEE Computer Society. 802.15.4-2020; IEEE Standard for Low-Rate Wireless Networks (Revision of IEEE Std 802.15.4-2015). IEEE: Piscataway, NJ, USA, 2020; pp. 1–800. [Google Scholar] [CrossRef]
  24. Ledergerber, A.; Hamer, M.; D’Andrea, R. A robot self-localization system using one-way ultra-wideband communication. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 3131–3137. [Google Scholar] [CrossRef]
  25. Navratil, V.; Krska, J.; Vejrazka, F. Concurrent Bi-directional TDoA Positioning in UWB Network with Free-running Clocks. IEEE Trans. Aerosp. Electron. Syst. 2022, 58, 1. [Google Scholar] [CrossRef]
  26. DecaWave Ltd. DW1000 User Manual. V. 2.18. 2017. Available online: https://www.qorvo.com/products/p/DW1000#documents (accessed on 21 February 2023).
  27. Marquardt, D.W. An Algorithm for Least-Squares Estimation of Nonlinear Parameters. J. Soc. Ind. Appl. Math. 1963, 11, 431–441. [Google Scholar] [CrossRef]
  28. Levenberg, K. A method for the solution of certain non-linear problems in least squares. Q. Appl. Math. 1944, 2, 164–168. [Google Scholar] [CrossRef] [Green Version]
  29. Gavin, H.P. The Levenberg–Marquardt Algorithm for Nonlinear Least Squares Curve-Fitting Problems; Department of Civil and Environmental Engineering, Duke University: Durham, NC, USA, 2022. [Google Scholar]
  30. Fletcher, R. A Modified Marquardt Subroutine for Non-Linear Least Squares; Technical Report; Theoretical Physics Division, Atomic Energy Research Establishment: Harwell, Berkshire, UK, 1971. [Google Scholar]
  31. Galassi, M.; Davies, J.; Theiler, J.; Gough, B.; Jungman, G.; Alken, P.; Booth, M.; Rossi, F.; Ulerich, R. GNU Scientific Library Documentation. 2021. Available online: https://www.gnu.org/software/gsl/doc/html/statistics.html (accessed on 5 August 2021).
  32. Simon, D. Kalman filtering with state constraints: A survey of linear and nonlinear algorithms. IET Control Theory Appl. 2010, 4, 1303–1318. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Raw measurements of relative CFO based on RTTO (green) and C int (red), drift estimated by Kalman filter (blue) included for comparison. Moving average of receiver temperature (yellow) corresponds to the right axis.
Figure 1. Raw measurements of relative CFO based on RTTO (green) and C int (red), drift estimated by Kalman filter (blue) included for comparison. Moving average of receiver temperature (yellow) corresponds to the right axis.
Sensors 23 02595 g001
Figure 2. Moving average (solid lines, left axis) and moving STD (dashed lines, right axis) of relative CFO based on RTTO and C int , drift estimated by Kalman filter and its variance included for comparison.
Figure 2. Moving average (solid lines, left axis) and moving STD (dashed lines, right axis) of relative CFO based on RTTO and C int , drift estimated by Kalman filter and its variance included for comparison.
Sensors 23 02595 g002
Figure 3. A2T TDoA measurement error due to drift.
Figure 3. A2T TDoA measurement error due to drift.
Sensors 23 02595 g003
Figure 4. Detailed photo of anchor with dimensions.
Figure 4. Detailed photo of anchor with dimensions.
Sensors 23 02595 g004
Figure 5. Testbed photography; anchors are highlighted by red rectangles (master anchor by double rectangle); visible test locations marked by green arrows; tag is highlighted by orange circle.
Figure 5. Testbed photography; anchors are highlighted by red rectangles (master anchor by double rectangle); visible test locations marked by green arrows; tag is highlighted by orange circle.
Sensors 23 02595 g005
Figure 6. 3D Position estimates obtained with TDoA correction based on RTTO CFO ( ν RTTO ).
Figure 6. 3D Position estimates obtained with TDoA correction based on RTTO CFO ( ν RTTO ).
Sensors 23 02595 g006
Figure 7. 3D Position estimates obtained with TDoA correction based on C i n t CFO ( ν CINT ).
Figure 7. 3D Position estimates obtained with TDoA correction based on C i n t CFO ( ν CINT ).
Sensors 23 02595 g007
Figure 8. 3D Position estimates obtained using EKF with clock drift tracking.
Figure 8. 3D Position estimates obtained using EKF with clock drift tracking.
Sensors 23 02595 g008
Figure 9. 2D Position estimates obtained using EKF with clock drift tracking.
Figure 9. 2D Position estimates obtained using EKF with clock drift tracking.
Sensors 23 02595 g009
Table 1. Non-weighted statistics of 3D position estimates (all values in centimeters).
Table 1. Non-weighted statistics of 3D position estimates (all values in centimeters).
L-M with RTTO CFO ( ν RTTO )L-M with C int CFO ( ν CINT )EKF Solution
ID σ 2 D ϵ ¯ 2 D W RMS 2 D W RMS 3 D σ 2 D ϵ ¯ 2 D W RMS 2 D W RMS 3 D σ 2 D ϵ ¯ 2 D W RMS 2 D W RMS 3 D
1A649.6115.9659.71391.5562.513.8562.5892.323.735.242.5105.5
1B604.740.1605.81311.8584.623.8584.8732.37.031.232.0100.5
1C808.158.8810.01398.7508.824.5509.3961.08.122.624.0116.1
1D1226.433.31225.82009.9549.3121.3560.51633.88.523.224.799.7
2A540.536.4541.5899.0227.426.1228.9427.47.430.231.199.2
2B247.518.4248.2376.978.817.980.8157.94.122.623.0101.0
2C77.614.879.0340.721.316.126.6181.25.115.616.484.8
2D415.350.9418.3717.9365.517.7365.8631.46.211.312.953.8
3A301.017.6301.4410.3426.336.1427.7533.88.134.435.455.2
3B186.514.2187.0378.693.68.393.9231.86.119.019.9101.8
3C138.29.9138.5383.981.26.981.4396.07.04.48.3100.4
3D191.818.5192.7438.021.320.329.4162.35.617.918.745.1
4A218.832.8221.2402.916.949.051.874.79.246.046.9131.9
4B188.318.3189.1435.214.021.225.472.47.012.814.699.2
4C233.922.5234.9808.773.05.673.2368.97.08.811.399.4
4D403.952.2407.21280.874.812.075.7251.67.513.815.799.5
TOT.497.443.1499.0953.0318.237.5320.1627.39.024.426.095.9
Table 2. Weighted statistics of 3D position estimates (all values in centimeters).
Table 2. Weighted statistics of 3D position estimates (all values in centimeters).
L-M with RTTO CFO ( ν RTTO )L-M with C int CFO ( ν CINT )EKF Solution
ID σ w 2 D ϵ ¯ w 2 D WRMS 2 D WRMS 3 D σ w 2 D ϵ ¯ w 2 D WRMS 2 D WRMS 3 D σ w 2 D ϵ ¯ w 2 D WRMS 2 D WRMS 3 D
1A127.510.598.4344.464.613.152.5244.224.535.442.8106.7
1B83.810.549.5293.147.022.137.2217.710.229.431.698.6
1C82.326.851.4317.739.230.037.2287.26.722.723.4116.5
1D90.648.788.7306.549.143.758.6261.59.123.024.099.9
2A42.318.846.1204.824.222.535.7161.17.228.931.198.6
2B25.220.528.7209.38.615.218.844.24.122.522.999.8
2C36.215.934.4194.410.615.418.7184.54.815.616.381.8
2D36.636.750.3117.319.411.122.0121.55.411.312.452.9
3A32.430.648.898.223.023.635.294.07.534.635.455.2
3B20.314.825.079.810.36.815.047.36.018.120.0102.8
3C34.32.626.4173.914.41.410.7127.28.04.08.1102.5
3D52.533.869.1162.017.423.529.1161.24.717.918.544.7
4A46.142.864.4170.815.846.553.965.87.945.246.9137.2
4B34.722.632.2149.012.122.025.461.86.012.814.099.1
4C68.924.249.3180.718.29.116.589.16.38.710.699.3
4D105.227.876.3212.044.817.027.8114.37.513.915.0100.0
TOT.65.127.056.6214.831.023.434.0161.59.124.025.896.3
Table 3. Non-weighted statistics of 2D position estimates (all values in centimeters).
Table 3. Non-weighted statistics of 2D position estimates (all values in centimeters).
L-M with RTTO CFO ( ν RTTO )L-M with C int CFO ( ν CINT )EKF Solution
ID σ 2 D ϵ ¯ 2 D W RMS 2 D σ 2 D ϵ ¯ 2 D W RMS 2 D σ 2 D ϵ ¯ 2 D W RMS 2 D
1A525.571.4530.224.244.450.623.836.243.3
1B32.830.644.912.831.534.06.231.532.2
1C123.84.4123.924.426.235.86.623.224.2
1D90.924.994.3189.829.0192.08.423.224.7
2A33.839.652.113.446.448.37.230.731.5
2B41.326.749.211.725.127.74.122.723.0
2C36.813.639.211.212.616.84.914.615.4
2D82.911.983.823.55.624.26.29.811.6
3A69.419.272.016.613.721.510.117.520.2
3B64.914.166.413.625.829.15.320.321.0
3C34.63.534.723.44.423.86.64.58.0
3D67.513.268.823.112.026.06.411.413.1
4A73.420.476.121.434.340.49.247.348.2
4B18.815.424.314.917.623.17.012.714.5
4C48.75.849.19.76.911.96.98.611.0
4D65.911.666.915.27.416.97.213.815.6
TOTAL145.626.1147.950.625.156.49.023.325.0
Table 4. Weighted statistics of 2D position estimates (all values in centimeters).
Table 4. Weighted statistics of 2D position estimates (all values in centimeters).
L-M with RTTO CFO ( ν RTTO )L-M with C int CFO ( ν CINT )EKF Solution
ID σ w 2 D ϵ ¯ w 2 D WRMS 2 D σ w 2 D ϵ ¯ w 2 D WRMS 2 D σ w 2 D ϵ ¯ w 2 D WRMS 2 D
1A37.344.157.724.950.256.123.438.044.7
1B22.332.339.312.731.634.14.231.531.8
1C27.124.036.28.126.527.74.723.223.7
1D39.731.050.317.126.331.46.723.124.0
2A29.041.750.813.248.450.26.730.831.5
2B29.327.039.811.725.227.83.722.622.9
2C34.116.337.811.112.516.84.714.615.3
2D53.723.858.716.25.317.05.59.811.3
3A49.923.355.016.213.921.410.317.620.4
3B33.316.537.210.726.128.25.220.321.0
3C24.04.424.49.03.89.86.54.57.9
3D58.329.865.420.912.024.15.611.412.7
4A43.341.059.620.838.243.58.847.648.4
4B17.718.325.513.119.423.45.912.814.1
4C32.65.633.19.67.011.95.88.510.3
4D45.328.453.414.88.617.15.913.915.1
TOTAL37.827.846.915.126.330.38.423.525.0
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.

Share and Cite

MDPI and ACS Style

Krška, J.; Navrátil, V. Utilization of Carrier-Frequency Offset Measurements in UWB TDoA Positioning with Receiving Tag. Sensors 2023, 23, 2595. https://doi.org/10.3390/s23052595

AMA Style

Krška J, Navrátil V. Utilization of Carrier-Frequency Offset Measurements in UWB TDoA Positioning with Receiving Tag. Sensors. 2023; 23(5):2595. https://doi.org/10.3390/s23052595

Chicago/Turabian Style

Krška, Josef, and Václav Navrátil. 2023. "Utilization of Carrier-Frequency Offset Measurements in UWB TDoA Positioning with Receiving Tag" Sensors 23, no. 5: 2595. https://doi.org/10.3390/s23052595

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop