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
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
, drift
and drift rate
with respect to the chosen master anchor clock [
11]. A linear Kalman filter is utilized; the state vector
, where
k is the index of epoch, is defined as
The discrete process model of the synchronization Kalman filter is described by matrix
.The time-update of the state vector
and its covariance matrix
can be written as:
Symbol is the time passed between epochs k and ; 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
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
. Therefore,
where
is the transmission timestamp in the master timescale (denoted by superscript
),
is the reception timestamp in slave timescale,
denotes transmission equipment and antenna delay in master transceiver and
denotes reception equipment and antenna delay in slave transceiver. Symbol
stands for the geometric distance of the master and slave antenna phase centers and
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
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
ps
.
Since the clock bias is also the first element of the state vector, the measurement model matrix is trivial, indeed;
. The filter measurement update follows equations
where
denotes innovation,
is innovation covariance matrix,
is the Kalman gain and
is the identity matrix of appropriate size. It is worth noting that
, and
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
between master and slave time at any instant shortly after the last measurement update; it is also possible to obtain the variance:
Symbol
denotes the time of prediction (expressed in local, slave time). The prediction matrix
is based on the first line of the process model matrix
where
is the nearest (latest) synchronization epoch. The timestamp in the master time and its variance is available as
It is obvious that the accuracy of such correction is deteriorating with 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].
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 (
) expressed in the master time, and its variance. The drift of the anchors local clock with respect to the master time (
) 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
of distances between tag and anchors indexed by
i and
j would be
where
and
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
and
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
between transmissions from the anchors indexed by
i and
j. The estimate of the drift can be obtained from the CFO measurements
with respect to the master anchor; the difference of the propagation delays corrected for the drift-related error yields
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
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
where the
M available anchors are indexed by
l. Symbol
denotes estimated bias drift between slave anchor
l and master,
is the tag CFO estimate with respect to slave anchor and
is the CFO with respect to master anchor.
It should be pointed out that constant drift is assumed for the interval
; 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:
With the corrected measurements
, the tag’s position in Cartesian coordinates
can be estimated by the means of nonlinear least-squares (NLSQ) solver. The problem can be formulated as
where
are drift-corrected TDoA measurements according to (
22),
is the nonlinear measurement model that estimates TDoA distance from anchors
i and
j, located at positions
and
, respectively, to the tag at position
A point
, 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
.
The L-M method computes the new estimate
from the previous one
, starting from the initial guess
. The estimate update equation is [
29,
30]
where vectors
and
are collated TDoA distance measurements and the respective modeled measurements, matrix
is the measurement weighting matrix, operator
clears the off-diagonal elements of the input matrix and
is matrix of first derivatives of vector
evaluated at point
The matrix
is a
matrix, where each row is equal to
where
and
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
[
29], while the TDoA covariance matrix is obtained by transformation of the time of arrival measurement (ToA) covariance matrix
with combination matrix
The ToA measurement covariance matrix
is a diagonal matrix with the diagonal elements
equal to the sum of the variances of ToA measurement
, transmission time
and CFO measurement
The ToA
ps (see
Section 2) and CFO variances
are constant, while the actual value of
depends on the method of CFO measurement (see
Section 3.3). The transmission time variance
is estimated and included in the message transmitted by the anchor
i.
Finally, the combination matrix
is a
matrix that combines the ToA measurements into TDoA measurements. Each row of the matrix contains exactly one
and one
values, the rest is zero. By multiplying a vector of
M ToA measurements by matrix
a vector of
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
The covariance of the final estimate
, given by the described process, can be computed from the jacobian
from the last algorithm iteration
K [
29]
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
). 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—
, see (
17)
- 2.
CFO-aided A2T TDoA, Levenberg–Marquardt epoch-by-epoch solution; CFO is based on carrier-integrator measurement—
, 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 m 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 .
The non-weighted and weighted means of position estimates (
and
, respectively) for each measurement location are computed as [
31]
The weight
for each epoch is computed as
where
is the covariance matrix of estimated position in epoch
i.
The mean values are used when evaluating the mean error of the position estimation:
Symbol 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
:
The standard deviations in 3D (
) and 2D (
) are then obtained from the covariance matrices as
and identically for the weighted values.
The 3D RMS (root mean square) and WRMS (weighted root mean square) are evaluated as
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 .
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:
The individual measurements from the set of size 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 (
) 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 (
) is due to the spread of the estimate quantified by the standard deviation
; the mean of the error (
) is approximately order-of-magnitude smaller than the standard deviation. The spatial RMS error (
) 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
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
and
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 (
) 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
-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
-based estimates are generally lower by approximately one third. The total mean of the error (
) 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
-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
-based CFO is utilized. The effect of the choice of CFO source does not possess a significant effect on the weighted mean horizontal error
. When
-based CFO is used, the weighted mean horizontal error is similar in magnitude to the weighted standard deviation
.
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
is the more prominent contributing factor to the RMS error than the spread quantified by the standard deviation
. Indeed, the horizontal standard deviation is in the centimeter level for all test points except location 1A. The high value of spatial
is mostly caused by the apparent vertical bias, since the spatial standard deviation
(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 (
) 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 (
) and RMS error (
) 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 (
) and RMS error (
), see
Table 4. In comparison with the 3D solution we observe approximately 42% improvement of
and 42% in
. 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 (
). 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 (
) is 84% lower and RMS error (
) 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
and 61% when comparing to
.
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 (
) is 51% lower and
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 (
) and
, respectively.
It is worth noting that the difference in mean error of the position estimation regardless weighting (i.e., and ) 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.,
,
,
) 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 -based CFO yields a higher percentage of valid solutions than the RTTO-based CFO. Therefore, it is recommended to utilize the -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 or ) 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 or ) 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.