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} $$
(1)

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} $$
(2)

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} $$
(3)

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} $$
(4)

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].