Skip to main content

Commentary to: TDOA versus ATDOA for wide area multilateration system

A Correction to this article was published on 25 May 2020

This article has been updated


The paper (Stefanski and Sadowski, EURASIP J. Wirel. Commun. Netw. 2018, Article 179) introduces a multilateration algorithm for unsynchronized sensor networks. However, a very similar method has been proposed before that is not cited. Furthermore, in the measurement model of Stefanski and Sadowski (EURASIP J. Wirel. Commun. Netw. 2018, Article 179), an incorrect covariance matrix (Eq. (11) in Stefanski and Sadowski (EURASIP J. Wirel. Commun. Netw. 2018, Article 179)) has been used that leads to inferior results. We summarize the context and explain the measurement methodology proposed in Stefanski and Sadowski (EURASIP J. Wirel. Commun. Netw. 2018, Article 179), while referring to the missing citation. Finally, we derive the correct covariance matrix of the measurement error and demonstrate that the covariance matrix proposed in Stefanski and Sadowski (EURASIP J. Wirel. Commun. Netw. 2018, Article 179) is incorrect.

1 Context

Multilateration algorithms estimate the location of a target. This requires the target to actively emit electromagnetic or acoustic signals that are then received by multiple sensors on the ground. Based on the time of arrival (TOA) of the target’s transmission at each sensor, the target can be located. Because of the high propagation speed of electromagnetic signals in particular, the clocks of all sensors must be accurately synchronized, which can be quite challenging. According to the speed of light, electromagnetic signals travel around 30 cm in 1 ns. Depending on the specific requirements for localization accuracy, the clock offsets therefore must be in the order of 0.1 μs, 10 ns, or even 1 ns. In general, networks with rather low absolute accuracy requirements span larger areas on the other hand, which keeps synchronization difficult.

2 Key idea and prior work

The paper [1] presents a multilateration method for asynchronous sensor networks. The basic idea is to always use differences of TOA locally on one sensor, so the sensor’s individual clock offset is canceled. This principle has first been proposed in [2], where always two transmissions were considered in one measurement equation. In a follow-up publication [3], that method was extended to combine an entire window of transmissions into one measurement equation. Target transmission intervals are assumed to be known, but this is just a minor issue as the respective variables can simply be treated as additional unknowns. Otherwise, [3] is in parts identical to [1] and should be cited as an important reference.

Stefanski [4] also published his approach for only two transmissions first. As an extension to that, the paper [1] (under discussion here) now can utilize more than two TOA in one measurement equation. For this purpose, multiple local differences of times of arrival (L-DOTA) are calculated by subtracting all pairs of successive TOA. As correctly noted, this leads to a dependency of the error in the individual lines in the measurement equation. However, unfortunately a wrong covariance matrix is stated for these dependencies (Eq. (11) in [1]).

3 Methods

In order to derive the correct covariance matrix, we first define a distinct notation for all occurring variables, i.e., positions, distances, points in time, and time differences, which is consistent with the notation in [1]. Then we derive the measurement equation that connects a sequence of target positions to L-DOTA measurements. These measurements can be obtained by any number of sensors, whereby the clocks of these sensors do not need to be synchronized. Finally, using the definitions of expected value and covariance, we derive the correct covariance matrix for said measurement equation. It states how the individual measurements are correlated. Its inverse should be used as a weighting matrix when solving the system of equations for the target positions.

4 Notation

We consider a single moving target at different time steps \(t_{k}^{\text {MO}}, k\in \left \lbrace 1,2,\dots,M \right \rbrace \,\). The respective target positions are denoted by \(\left [ x_{k},y_{k},z_{k} \right ]^{\top } \!\in \mathbb {R}^{3}\). The target emits messages at the time steps \(t_{k}^{\text {MO}}\) that propagate with uniform propagation speed ν. Target transmission time intervals \( \Delta t_{k} = t_{k+1}^{\text {MO}} - t_{k}^{\text {MO}} \) do not need to be known beforehand. Therefore, the target’s clock does not need to be synchronized with any other clock, and transmissions can be periodic or aperiodic.

A number of sensors is placed at known locations \(\left [ X_{i},Y_{i},Z_{i} \right ]^{\top },\, i \in \left \lbrace 1, 2, \dots, {N} \right \rbrace \,\). After the signal propagation time ti,k, the transmission reaches the sensors. Each sensor records the TOA \(t_{k}^{\mathrm {S},i}\) of the transmission,

$$t_{k}^{\mathrm{S},i} = t_{k}^{\text{MO}} + t_{i,k} \ , $$

in terms of its own local clock. It is important to note that the N receivers are not time-synchronized with each other and also not synchronized with the target.

The goal is to determine the target position [xk,yk,zk] at time steps k, based on the L-DOTA \(\Delta t_{i,k}=t_{k+1}^{\mathrm {S},i} -t_{k}^{\mathrm {S},i}\) measured by the N receivers.

5 Measurement equation

First, we state how the measured L-DOTA Δti,k is obtained from the target transmission interval Δtk and the propagation times of the two transmissions ti,k and ti,k+1,

$$\Delta t_{i,k} = t_{i,k+1} - t_{i,k} + \Delta t_{k} \ , $$

see also Fig. 2 in [1].

The measured L-DOTA Δti,k can be multiplied with the propagation speed ν and then interpreted as virtual distance difference Di,k

$$\begin{array}{*{20}l} D_{i,k} &= \nu \cdot \Delta t_{i,k} \\ &=\nu \cdot (t_{i,k+1} - t_{i,k}) + \nu \cdot \Delta t_{k} \ . \end{array} $$

Furthermore, the signal propagation times ti,k and ti,k+1 by multiplication with ν become the respective Euclidean distances between target and sensor, and their difference then represents the distance difference of arrival di,k

$$\begin{array}{*{20}l} d_{i,k}&= \nu \cdot (t_{i,k+1} - t_{i,k}) \\ &= \left\|\left[\begin{array}{c} X_{i} \\ Y_{i} \\ Z_{i} \end{array}\right] -\left[\begin{array}{c} x_{k+1} \\ y_{k+1} \\ z_{k+1} \end{array}\right]\right\|_{2} - \left\| \left[\begin{array}{c} X_{i} \\ Y_{i} \\ Z_{i} \end{array}\right] - \left[\begin{array}{c} x_{k} \\ y_{k} \\ z_{k} \end{array}\right] \right\|_{2} \\ &= \sqrt{ (X_{i}-x_{k+1})^{2} + (Y_{i}-y_{k+1})^{2} + (Z_{i}-z_{k+1})^{2}}\\ & \quad - \sqrt{ (X_{i}-x_{k})^{2} + (Y_{i}-y_{k})^{2} + (Z_{i}-z_{k})^{2}} \ , \\ k& \in 1, \hdots, M-1 \ , \end{array} $$

resulting in

$$\begin{array}{*{20}l} D_{i,k} = d_{i,k} + \nu \cdot \Delta t_{k} \ , \;\; i \in 1, \hdots, N; \;\; k \in 1, \hdots, M-1 \ . \end{array} $$

Suppose we have N=5 sensors and M=4 successive transmissions in 3D space (dimension D=3), then there are

$$(D \cdot M) + (M-1) = 15 $$

unknowns from the M successive target positions and M−1 target transmission intervals. On the other hand, there are also

$$N \cdot (M-1) = 15 $$

measurements. We can write (1) in short form as

$$\begin{array}{*{20}l} d_{p} = f_{p}(\mathbf{x}) + q_{p} \ ,\;\; p = 1,\hdots,N\cdot(M-1) \ , \end{array} $$

where the dp correspond to noisy L-DOTA measurements Δti,k multiplied by ν, i.e., a noisy measurement of Di,k, and qp is an additive random error. Looking at this in the context of state estimation, the function fp(x) is the nonlinear measurement function

$$\begin{array}{*{20}l} f_{p}(\mathbf{x}) & = \left\| \left[\begin{array}{c} X_{i_{p}} \\ Y_{i_{p}} \\ Z_{i_{p}} \end{array}\right] - \left[\begin{array}{c} x_{k_{p}+1} \\ y_{k_{p}+1} \\ z_{k_{p}+1} \end{array}\right] \right\|_{2} \quad \\ & \qquad - \left\| \left[\begin{array}{c} X_{i_{p}} \\ Y_{i_{p}} \\ Z_{i_{p}} \end{array}\right] - \left[\begin{array}{c} x_{k_{p}} \\ y_{k_{p}} \\ z_{k_{p}} \end{array}\right]\right\|_{2} + \nu \cdot \Delta t_{k} \ , \end{array} $$

that maps the unknowns x

$$\begin{array}{*{20}l} \mathbf{x} &= \left[\begin{array}{ccccc} x_{1} & x_{2} & \hdots & x_{M-1} & x_{M} \\ y_{1} & y_{2} & \hdots & y_{M-1} & y_{M} \\ z_{1} & z_{2} & \hdots & z_{M-1} & z_{M} \\ \Delta t_{1} & \Delta t_{2} & \hdots & \Delta t_{M-1} & 0 \end{array}\right] \ , \end{array} $$

i.e., target positions and transmission time intervals, to the L-DOTA measurements dp.

6 Covariance

We will take a closer look into that additive random error qp now. The true expected measurement without any error would be the L-DOTA Δti,k, i.e., the difference of the recorded TOA \(t_{k}^{\mathrm {S},i}\) and \(t_{k+1}^{\mathrm {S},i}\)

$$\begin{array}{*{20}l} \Delta t_{i,k} = t_{k+1}^{\mathrm{S},i} - t_{k}^{\mathrm{S},i} \,. \end{array} $$

In contrast, in the actual real-world L-DOTA measurement dp, the underlying real-world TOA measurements \(t_{k}^{\mathrm {S},i}\) and \(t_{k+1}^{\mathrm {S},i}\) have additional random errors \(q_{k}^{\mathrm {S},i}\)

$$\begin{array}{*{20}l} \tfrac{1}{\nu} \, d_{p} &= \left(t_{k_{p}+1}^{\mathrm{S},i_{p}} + q_{k_{p}+1}^{\mathrm{S},i_{p}} \right) - \left(t_{k_{p}}^{\mathrm{S},i_{p}} + q_{k_{p}}^{\mathrm{S},i_{p}} \right) \\ &= \underbrace{ t_{k_{p}+1}^{\mathrm{S},i_{p}} - t_{k_{p}}^{\mathrm{S},i_{p}} }_{\Delta t_{i_{p},k_{p}}} + \underbrace{ q_{k_{p}+1}^{\mathrm{S},i_{p}} - q_{k_{p}}^{\mathrm{S},i_{p}} }_{q_{p}} \ . \end{array} $$

The system of equations from (2) can be written in vector form as

$$\begin{array}{*{20}l} \underbrace{\left[\begin{array}{c} d_{1} \\ d_{2} \\ \vdots \\ d_{N\cdot(M-1)} \end{array}\right]}_{\mathbf{d}} & = \underbrace{\left[\begin{array}{c} f_{1}(\mathbf{x}) \\ f_{2}(\mathbf{x}) \\ \vdots \\ f_{N\cdot(M-1)}(\mathbf{x}) \end{array}\right]}_{\mathbf{f}(\mathbf{x})} + \underbrace{\left[\begin{array}{c} q_{1} \\ q_{2} \\ \vdots \\ q_{N\cdot(M-1)} \end{array}\right]}_{\mathbf{q}}\ , \\ \mathbf{d} &= \mathbf{f}(\mathbf{x}) + \mathbf{q} \ . \end{array} $$

The measurement error q is assumed to be a multivariate random vector with covariance matrix

$$\begin{array}{*{20}l} \mathbf{Q} &= \mathrm{E}\!\left\lbrace \left({\mathbf{q}-\mathrm{E}\!\left\lbrace \mathbf{q} \right\rbrace} \right) \left({\mathbf{q}-\mathrm{E}\!\left\lbrace \mathbf{q} \right\rbrace} \right)^{\top} \right\rbrace \ . \end{array} $$

We assume the additional random errors \(q_{k}^{\mathrm {S},i}\) (and therefore also qp) to have a mean of 0,

$$\begin{array}{*{20}l} \mathrm{E}\!\left\lbrace \mathbf{q} \right\rbrace &= \boldsymbol{0} \qquad \Rightarrow \quad \mathbf{Q} = \mathrm{E}\!\left\lbrace { {\mathbf{q}} } { {\mathbf{q}} }^{\top} \right\rbrace \ . \end{array} $$

Now, we will derive the elements of Q,

$$\begin{array}{*{20}l} \left[ \mathbf{Q} \right]_{p_{1},p_{2}}& = \mathrm{E}\!\left\lbrace q_{p_{1}} \cdot q_{p_{2}} \right\rbrace \quad \left\vert \; q_{p} = q_{k_{p}+1}^{\mathrm{S},i_{p}} - q_{k_{p}}^{\mathrm{S},i_{p}} \right.\\ &= \mathrm{E}\!\left\lbrace \left(q_{k_{p_{1}}\!+1}^{\mathrm{S},i_{p_{1}}} - q_{k_{p_{1}}}^{\mathrm{S},i_{p_{1}}} \right) \cdot \left(q_{k_{p_{2}}\!+1}^{\mathrm{S},i_{p_{2}}} - q_{k_{p_{2}}}^{\mathrm{S},i_{p_{2}}} \right) \right\rbrace \\ &= \mathrm{E}\!\left\lbrace q_{k_{p_{1}}\!+1}^{\mathrm{S},i_{p_{1}}} \cdot q_{k_{p_{2}}\!+1}^{\mathrm{S},i_{p_{2}}} \right\rbrace - \mathrm{E}\!\left\lbrace q_{k_{p_{1}}\!+1}^{\mathrm{S},i_{p_{1}}} \cdot q_{k_{p_{2}}}^{\mathrm{S},i_{p_{2}}} \right\rbrace \\ & \quad - \mathrm{E}\!\left\lbrace q_{k_{p_{1}}}^{\mathrm{S},i_{p_{1}}} \cdot q_{k_{p_{2}}\!+1}^{\mathrm{S},i_{p_{2}}} \right\rbrace + \mathrm{E}\!\left\lbrace q_{k_{p_{1}}}^{\mathrm{S},i_{p_{1}}} \cdot q_{k_{p_{2}}}^{\mathrm{S},i_{p_{2}}} \right\rbrace \ . \end{array} $$

Assuming independent and identically distributed errors

$$\mathrm{E}\!\left\lbrace \left(q_{k}^{\mathrm{S},i} \right)^{2} \right\rbrace = \sigma^{2} \ , $$

we finally get the covariance matrix elements

$$\begin{array}{*{20}l} &\left[ \mathbf{Q} \right]_{p_{1},p_{2}} = \, \sigma^{2} \cdot \\ & \left(\delta\! \left(\left[\begin{array}{c} i_{p_{1}}-i_{p_{2}}\\ k_{p_{1}}\!\,+\,1-(k_{p_{2}}\!\,+\,1) \end{array}\right]\right) - \delta \! \left(\left[\begin{array}{c} i_{p_{1}}-i_{p_{2}}\\ k_{p_{1}}\!\,+\,1-k_{p_{2}} \end{array}\right]\right) \right.\\ &\left.\qquad - \delta\! \left(\left[\begin{array}{c} i_{p_{1}}-i_{p_{2}}\\ k_{p_{1}}-(k_{p_{2}}\!\,+\,1) \end{array}\right]\right) + \delta\! \left(\left[\begin{array}{c} i_{p_{1}}-i_{p_{2}}\\ k_{p_{1}}-k_{p_{2}} \end{array}\right] \right)\right)\\ &= \sigma^{2} \cdot \delta\!\left(i_{p_{1}}-i_{p_{2}} \right) \\ &\cdot \left(2 \, \delta\!\left(k_{p_{1}}\!\,-\,k_{p_{2}} \right) - \delta\!\left(k_{p_{1}}\!\,-\,k_{p_{2}}\!\,+\,1 \right) - \delta\!\left(k_{p_{1}}\!\,-\,k_{p_{2}}\!\,-\,1 \right) \right) \ , \end{array} $$

with the Kronecker delta function

$$\begin{array}{*{20}l} \delta\!\left(\boldsymbol{k} \right) &= \left\{\begin{array}{ll} 1 \ , & \boldsymbol{k}=\boldsymbol{0}\ , \\ 0 \ , & \text{otherwise} \ . \end{array}\right. \end{array} $$

7 Results

According to (4), the covariance matrix Q is block-wise diagonal as measurements from different sensors \(i_{p_{1}}, i_{p_{2}}\) are uncorrelated. Furthermore, the local covariance matrix Qi of one sensor has the form

$$\begin{array}{*{20}l} \mathbf{Q}^{i} &= \sigma^{2} \cdot \left[\begin{array}{ccccc} 2 & -1 & & & 0 \\ -1 & 2 & -1 & & \\ & \ddots & \ddots & \ddots & \\ & & -1 & 2 & -1 \\ 0 & & & -1 & 2 \end{array}\right] \,. \end{array} $$

Equation (11) in [1] states a different and, hence, incorrect covariance matrix of the form

It would be the correct sensor-local covariance matrix for a different type of L-DOTA, namely, taking time differences to one fixed reference TOA, for example, the earliest one,

$$\tilde{\Delta} t_{i,k} = t_{k}^{\mathrm{S},i} - t_{1}^{\mathrm{S},i} \ ,\quad k \in 2,\hdots,M \ , $$

instead of the L-DOTA between successive TOA (3)

$$\Delta t_{i,k} = t_{k+1}^{\mathrm{S},i} - t_{k}^{\mathrm{S},i} \ ,\quad k \in 1,\hdots,M-1 \ , $$

that was also proposed in [1], see [1, Eq. (3)].

Using an incorrect covariance matrix for the solution of the maximum likelihood problem can easily remain undetected, as it does not always cause completely wrong results, but it does lead to inferior results compared to what could have been achieved with the correct covariance matrix. A more detailed comparison between the two L-DOTA types and the error caused by incorrect covariance matrices can be found in [5].

Availability of data and materials

Not applicable.

Change history

  • 25 May 2020

    An amendment to this paper has been published and can be accessed via the original article.

    Following publication of the original article [1], two concerns were brought to the attention of <Emphasis Type="Italic">EURASIP Journal on Wireless Communications and Networking</Emphasis>.



Local differences of times of arrival


Time of arrival


  1. J. Stefanski, J. Sadowski, TDOA versus ATDOA for wide area multilateration System. EURASIP J. Wirel. Commun. Netw. (2018). Article 179.

  2. T. Li, A. Ekpenyong, Y. -F. Huang, in IEEE INFOCOM 2004, vol. 1. A location system using asynchronous distributed sensors, (2004), p. 628.

  3. T. Li, A. Ekpenyong, Y. -F. Huang, Source localization and tracking using distributed asynchronous sensors. IEEE Trans. Signal Proc.54(10), 3991–4003 (2006).

    MATH  Google Scholar 

  4. J. Stefanski, Asynchronous time difference of arrival (ATDOA) method. Pervasive Mob. Comput.23:, 80–88 (2015).

    Google Scholar 

  5. D. Frisch, U. D. Hanebeck, in Proceedings of the 22nd International Conference on Information Fusion (Fusion 2019). ROTA: Round Trip Times of Arrival for Localization with Unsynchronized Receivers (International Society of Information FusionOttawa, Canada, 2019).

    Google Scholar 

Download references


We acknowledge support by the KIT-Publication Fund of the Karlsruhe Institute of Technology.


Daniel Frisch is funded as a research assistant at the Chair for Intelligent Sensor-Actuator-Systems (ISAS) at the Karlsruhe Institute of Technology.

Author information

Authors and Affiliations



DF and UDH contributed equally to the paper. Both authors read and approved the final manuscript.

Corresponding author

Correspondence to Daniel Frisch.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

The original version of this article was revised to correct the article title and the formatting of various equations in the article.

Rights and permissions

2020, corrected publication [2020]. Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Frisch, D., Hanebeck, U.D. Commentary to: TDOA versus ATDOA for wide area multilateration system. J Wireless Com Network 2020, 43 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: