This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Time Difference of Arrival Source Localization:
Exact Linear Solutions for the General 3D Problem

Niraj K. Inamdar [email protected]

1. Introduction

The time difference of arrival (TDOA) problem admits exact, purely algebraic solutions for the situation in which there are 4 and 5 sensors and a single source whose position is to be determined in 3 dimensions. The solutions are exact in the sense that there is no least squares operation (i.e., projection) involved in the solution. The solutions involve no linearization or iteration, and are algebraically transparent via vector algebra in Cartesian coordinates. The solution with 5 sensors requires no resolution of sign ambiguities; the solution with 4 sensors requires resolution of one sign ambiguity. Solutions are effected using only TDOA and not, e.g., frequency difference of arrival (FDOA) or angle of arrival (AOA) [1].

We note previous work towards achieving closed-form solutions to the TDOA problem in 2 dimensions ([2, 3]) and 3 dimensions ([4]). Our work differs from the former in that it is fully general in 3 dimensions. It differs from the latter in that we demonstrate a purely linear algebraic solution in Cartesian coordinates without auxiliary variables and show clearly how the requirement for ambiguity resolution arises for the 4-sensor case but does not appear in the 5-sensor case.

We first present the 5-sensor solution (Section 2) and then follow with the 4-sensor scenario (Section 3). Numerical experiments (Section 4) are presented showing the performance of the calculations in the case of no noise, before closing with conclusions (Section 5). Performance of the calculations below is exact within numerical error, and in the small fraction of cases in which source localization does not occur, it is driven by misidentification in resolution of sign ambiguity without priors.

Our results are suitable for self-localization applications such as simultaneous localization and mapping (SLAM) and precision navigation and timing (PNT, through, e.g., GPS), as well electromagnetic and acoustic signal source geolocation problems. For their speed, exactness, and linearity, we believe the calculations below have substantial practical utility.

2. The TDOA Solution for 5 Sensors in 3 Dimensions

First we consider the 5-sensor scenario. Let the sensors have positions given by rk\textbf{r}^{\prime}_{k}, k=1,,5k=1,...,5 and the source position, to be solved for, be given by rS\textbf{r}^{\prime}_{S}. If r1\textbf{r}^{\prime}_{1} is set to be the origin of the coordinate system [5], then rkrkr1\textbf{r}_{k}\equiv\textbf{r}^{\prime}_{k}-\textbf{r}^{\prime}_{1}, k=2,,5k=2,...,5, and r1=0\textbf{r}_{1}=0.

The ranges from the source to the sensors, ρk=|rkrS|\rho_{k}=|\textbf{r}_{k}-\textbf{r}_{S}|, are unknowns, while the quantities ρkρjδkj\rho_{k}-\rho_{j}\equiv\delta_{kj} are measured/inferred quantities based on time arrival differences of some waveform. That is, for measurement times tkt_{k} and tjt_{j} at the kthk\textsuperscript{th} and jthj\textsuperscript{th} sensor respectively, ρkρj=c(tktj)\rho_{k}-\rho_{j}=\mathrm{c}(t_{k}-t_{j}) where c\mathrm{c} is the speed of light and the tts are corrected times of arrival at each sensor. Since r1=0\textbf{r}_{1}=0, ρ1=rSTrS=|rS|\rho_{1}=\sqrt{\textbf{r}_{S}^{T}\textbf{r}_{S}}=|\textbf{r}_{S}|.

We have for δk1\delta_{k1}, k>2k>2,

δk1=ρkρ1\displaystyle\delta_{k1}=\rho_{k}-\rho_{1} =rkTrk2rkTrS+rSTrSrSTrS.\displaystyle=\sqrt{\textbf{r}_{k}^{T}\textbf{r}_{k}-2\textbf{r}_{k}^{T}\textbf{r}_{S}+\textbf{r}_{S}^{T}\textbf{r}_{S}}-\sqrt{\textbf{r}_{S}^{T}\textbf{r}_{S}}. (1)

Upon rearranging and squaring, we get an expression for ρ1\rho_{1} that is linear in the source position rS\textbf{r}_{S}:

ρ1=rkTrk2rkTrSδk122δk1.\displaystyle\rho_{1}=\frac{\textbf{r}_{k}^{T}\textbf{r}_{k}-2\textbf{r}_{k}^{T}\textbf{r}_{S}-\delta_{k1}^{2}}{2\delta_{k1}}. (2)

The expression for ρ1\rho_{1} can be substituted into any expression for δj1\delta_{j1} (j1,jkj\neq 1,j\neq k) to yield an expression for rS\textbf{r}_{S}:

2(rkTδk1δj1rjT)rS=(δk12δk1δj1δj12)+[rkTrkδk1δj1(rjTrj)].\displaystyle 2\left(\textbf{r}_{k}^{T}-\frac{\delta_{k1}}{\delta_{j1}}\textbf{r}_{j}^{T}\right)\textbf{r}_{S}=-\left(\delta_{k1}^{2}-\frac{\delta_{k1}}{\delta_{j1}}\delta_{j1}^{2}\right)+\left[\textbf{r}_{k}^{T}\textbf{r}_{k}-\frac{\delta_{k1}}{\delta_{j1}}\left(\textbf{r}_{j}^{T}\textbf{r}_{j}\right)\right]. (3)

The vector transpose multiplying rS\textbf{r}_{S} on the left hand side of Eq. (3) is built up into a matrix B, while the scalars on the right hand side are built up into a vector x so that BrS=x\textbf{B}\textbf{r}_{S}=\textbf{x}. Since we are solving for a 3×13\times 1 array, we need 3 pairs of indices (k,j)(k,j) that will maintain the full rank of B. We choose (k,j)={(3,2),(4,3),(5,4)}(k,j)=\{(3,2),(4,3),(5,4)\}, so that explicitly, we have

B=[  2(r3Tδ31δ21r2T)   2(r4Tδ41δ31r3T)   2(r5Tδ51δ41r4T) ]\displaystyle\textbf{B}=\left[\begin{array}[]{c}\rule[2.15277pt]{10.76385pt}{0.5pt}\leavevmode\nobreak\ 2\left(\textbf{r}_{3}^{T}-\displaystyle\frac{\delta_{31}}{\delta_{21}}\textbf{r}_{2}^{T}\right)\rule[2.15277pt]{10.76385pt}{0.5pt}\\ \rule[2.15277pt]{10.76385pt}{0.5pt}\leavevmode\nobreak\ 2\left(\textbf{r}_{4}^{T}-\displaystyle\frac{\delta_{41}}{\delta_{31}}\textbf{r}_{3}^{T}\right)\rule[2.15277pt]{10.76385pt}{0.5pt}\\ \rule[2.15277pt]{10.76385pt}{0.5pt}\leavevmode\nobreak\ 2\left(\textbf{r}_{5}^{T}-\displaystyle\frac{\delta_{51}}{\delta_{41}}\textbf{r}_{4}^{T}\right)\rule[2.15277pt]{10.76385pt}{0.5pt}\end{array}\right] (7)

and

x=[(δ312δ31δ21δ212)+[r3Tr3δ31δ21(r2Tr2)](δ412δ41δ31δ312)+[r4Tr4δ41δ31(r3Tr3)](δ512δ51δ41δ412)+[r5Tr5δ51δ41(r4Tr4)]].\displaystyle\textbf{x}=\left[\begin{array}[]{c}-\left(\delta_{31}^{2}-\displaystyle\frac{\delta_{31}}{\delta_{21}}\delta_{21}^{2}\right)+\left[\textbf{r}_{3}^{T}\textbf{r}_{3}-\displaystyle\frac{\delta_{31}}{\delta_{21}}\left(\textbf{r}_{2}^{T}\textbf{r}_{2}\right)\right]\\ -\left(\delta_{41}^{2}-\displaystyle\frac{\delta_{41}}{\delta_{31}}\delta_{31}^{2}\right)+\left[\textbf{r}_{4}^{T}\textbf{r}_{4}-\displaystyle\frac{\delta_{41}}{\delta_{31}}\left(\textbf{r}_{3}^{T}\textbf{r}_{3}\right)\right]\\ -\left(\delta_{51}^{2}-\displaystyle\frac{\delta_{51}}{\delta_{41}}\delta_{41}^{2}\right)+\left[\textbf{r}_{5}^{T}\textbf{r}_{5}-\displaystyle\frac{\delta_{51}}{\delta_{41}}\left(\textbf{r}_{4}^{T}\textbf{r}_{4}\right)\right]\end{array}\right]. (11)

Thus,

rS=B1x.\displaystyle\textbf{r}_{S}=\textbf{B}^{-1}\textbf{x}. (12)

The solution is exact (so long as sensor geometry ensures B has rank 3) and requires no resolution of sign ambiguities. Note that since the coordinates have been referenced to r1\textbf{r}^{\prime}_{1}, we have the actual source location rS\textbf{r}^{\prime}_{S} as

rS=rS+r1.\displaystyle\textbf{r}^{\prime}_{S}=\textbf{r}_{S}+\textbf{r}^{\prime}_{1}. (13)

3. The TDOA Solution for 4 Sensors in 3 Dimensions

The 4-sensor solution has its starting point in Eq. (2). Taking k=2,3,4k=2,3,4, we have

2δ21ρ1\displaystyle 2\delta_{21}\rho_{1} =\displaystyle= r2Tr22r2TrSδ212\displaystyle\textbf{r}_{2}^{T}\textbf{r}_{2}-2\textbf{r}_{2}^{T}\textbf{r}_{S}-\delta_{21}^{2} (14)
2δ31ρ1\displaystyle 2\delta_{31}\rho_{1} =\displaystyle= r3Tr32r3TrSδ312\displaystyle\textbf{r}_{3}^{T}\textbf{r}_{3}-2\textbf{r}_{3}^{T}\textbf{r}_{S}-\delta_{31}^{2} (15)
2δ41ρ1\displaystyle 2\delta_{41}\rho_{1} =\displaystyle= r4Tr42r4TrSδ412,\displaystyle\textbf{r}_{4}^{T}\textbf{r}_{4}-2\textbf{r}_{4}^{T}\textbf{r}_{S}-\delta_{41}^{2}, (16)

or, defining

z=[2δ212δ312δ41],y=[r2Tr2δ212r3Tr3δ312r4Tr4δ412],C=[ 2r2T  2r3T  2r4T ],\displaystyle\textbf{z}=\left[\begin{array}[]{c}2\delta_{21}\\ 2\delta_{31}\\ 2\delta_{41}\end{array}\right],\leavevmode\nobreak\ \leavevmode\nobreak\ \textbf{y}=\left[\begin{array}[]{c}\textbf{r}_{2}^{T}\textbf{r}_{2}-\delta_{21}^{2}\\ \textbf{r}_{3}^{T}\textbf{r}_{3}-\delta_{31}^{2}\\ \textbf{r}_{4}^{T}\textbf{r}_{4}-\delta_{41}^{2}\end{array}\right],\leavevmode\nobreak\ \leavevmode\nobreak\ \textbf{C}=\left[\begin{array}[]{c}\rule[2.15277pt]{10.76385pt}{0.5pt}-2\textbf{r}_{2}^{T}\rule[2.15277pt]{10.76385pt}{0.5pt}\\ \rule[2.15277pt]{10.76385pt}{0.5pt}-2\textbf{r}_{3}^{T}\rule[2.15277pt]{10.76385pt}{0.5pt}\\ \rule[2.15277pt]{10.76385pt}{0.5pt}-2\textbf{r}_{4}^{T}\rule[2.15277pt]{10.76385pt}{0.5pt}\end{array}\right], (26)

we have equivalently

ρ1z=y+CrS.\displaystyle\rho_{1}\textbf{z}=\textbf{y}+\textbf{C}\textbf{r}_{S}. (27)

If the sensor geometry ensures C has rank 3, then we have

rS=ρ1C1zC1y.\displaystyle\textbf{r}_{S}=\rho_{1}\textbf{C}^{-1}\textbf{z}-\textbf{C}^{-1}\textbf{y}. (28)

Define for convenience 𝝃C1z\boldsymbol{\xi}\equiv\textbf{C}^{-1}\textbf{z} and 𝜼C1y\boldsymbol{\eta}\equiv\textbf{C}^{-1}\textbf{y}. Then using rSTrS=ρ12\textbf{r}_{S}^{T}\textbf{r}_{S}=\rho_{1}^{2} gives a quadratic equation for ρ1\rho_{1}

ρ12(𝝃T𝝃1)2𝝃T𝜼ρ1+𝜼T𝜼=0,\displaystyle\rho_{1}^{2}\left(\boldsymbol{\xi}^{T}\boldsymbol{\xi}-1\right)-2\boldsymbol{\xi}^{T}\boldsymbol{\eta}\rho_{1}+\boldsymbol{\eta}^{T}\boldsymbol{\eta}=0, (29)

with a solution

ρ1=𝝃T𝜼±(𝝃T𝜼)2(𝝃T𝝃1)𝜼T𝜼(𝝃T𝝃1).\displaystyle\rho_{1}=\frac{\boldsymbol{\xi}^{T}\boldsymbol{\eta}\pm\sqrt{(\boldsymbol{\xi}^{T}\boldsymbol{\eta})^{2}-\left(\boldsymbol{\xi}^{T}\boldsymbol{\xi}-1\right)\boldsymbol{\eta}^{T}\boldsymbol{\eta}}}{\left(\boldsymbol{\xi}^{T}\boldsymbol{\xi}-1\right)}. (30)

Once ρ1\rho_{1} is solved for, the solution for rS\textbf{r}_{S} is effected through Eq. (28), and the actual source position via Eq.(13).

The sign ambiguity in Eq. (30) can usually be resolved by taking the two source positions corresponding to the two ρ1\rho_{1} solutions (rS(ρ1(1))\textbf{r}_{S}(\rho_{1}^{(1)}) and rS(ρ1(2))\textbf{r}_{S}(\rho_{1}^{(2)}), say), recalculating the corresponding ρkρ1\rho_{k}-\rho_{1}, and determining the one of two solutions that minimizes k=24[(ρkρ1)δk1]2\sum_{k=2}^{4}\left[(\rho_{k}-\rho_{1})-\delta_{k1}\right]^{2}. The presence of priors (positions constrained, e.g., by fixed beam widths) can also be used to constrain the solution.

4. Numerical Experiments

The calculations above have been numerically tested with generally excellent, exact performance. Suppose the source location is varied in fully 3-dimensional space (±x\pm x, ±y\pm y, and ±z\pm z) over 1,000 Monte Carlo instances, and the locations of up to 5 sensors are also varied in 3-dimensional space. The sensor positions rk\textbf{r}_{k}^{\prime} (k=1,,5k=1,...,5) and source position rS\textbf{r}_{S}^{\prime} are drawn from uniform distributions 𝒰(0,1)\mathcal{U}(0,1). The source positions are multiplied by a scaling factor 𝚂𝙾𝚄𝚁𝙲𝙴_𝚂𝙲𝙰𝙻𝙴\mathtt{SOURCE\_SCALE} relative to the sensor locations:

rk\displaystyle\textbf{r}_{k}^{\prime} \displaystyle\sim {[𝒰(0,1),𝒰(0,1),𝒰(0,1)]T0.5},k=1,,5\displaystyle\left\{\left[\mathcal{U}(0,1),\mathcal{U}(0,1),\mathcal{U}(0,1)\right]^{T}-0.5\right\},k=1,...,5 (31)
rS\displaystyle\textbf{r}_{S}^{\prime} \displaystyle\sim 𝚂𝙾𝚄𝚁𝙲𝙴_𝚂𝙲𝙰𝙻𝙴×{[𝒰(0,1),𝒰(0,1),𝒰(0,1)]T0.5}.\displaystyle\mathtt{SOURCE\_SCALE}\times\left\{\left[\mathcal{U}(0,1),\mathcal{U}(0,1),\mathcal{U}(0,1)\right]^{T}-0.5\right\}. (32)

In each experiment, the inferred source position r~S\tilde{\textbf{r}}_{S}^{\prime} is compared to the truth source position rS\textbf{r}_{S}^{\prime} with no measurement noise. For each Monte Carlo instance, if the relative error |r~SrS|/|rS||\tilde{\textbf{r}}_{S}^{\prime}-\textbf{r}_{S}|/|\textbf{r}_{S}| is less than some threshold 𝒯\mathcal{T}, the calculation is considered a success. For a given 𝚂𝙾𝚄𝚁𝙲𝙴_𝚂𝙲𝙰𝙻𝙴\mathtt{SOURCE\_SCALE}, the fraction of successes over all 1,000 Monte Carlo runs is calculated. In Fig. 1 below, we show results from numerical experiments for cases with 𝒯=106,103\mathcal{T}=10^{-6},10^{-3} and 𝚂𝙾𝚄𝚁𝙲𝙴_𝚂𝙲𝙰𝙻𝙴[106,1]\mathtt{SOURCE\_SCALE}\in[10^{-6},1] .

The very small fraction of errors that does exist is driven by numerical matrix inversion errors for cases in which sensor positions have poor geometric diversity and when the source positions are highly constrained compared to the sensors. For the 4-sensor solution, errors that exist for 𝚂𝙾𝚄𝚁𝙲𝙴_𝚂𝙲𝙰𝙻𝙴\mathtt{SOURCE\_SCALE} have been verified to be driven entirely by the incorrect choice in ρ1\rho_{1} when solving Eq. (30). Hence, in all cases (4- or 5-sensor), the inferred solution for no noise is within numerical error of the exact value, and even in incorrect inferences in the limiting 4-sensor case, the correct solution is still one of two tested values that may potentially be easily selected based on priors. Depending on the application, the existence of this error may therefore have negligible practical impact.

5. Conclusions

We have presented here fully algebraic solutions to the TDOA problem. For the case of 5 sensors, the solution method requires only inverting a set of 3 linear equations. For the case of 4 sensors, the solution method requires inverting a set of 3 linear equations and solving one quadratic equation. Numerical experiments have been carried out using the techniques derived for varying sensor and source positions, each over 1,000 Monte Carlo instances with excellent, exact performance in the noiseless case. To the best of our knowledge, this is the first presentation of exact, linear solutions to the TDOA problem for 4- or 5-sensor scenarios in 3 dimensions.

That 4 sensors require ambiguity resolution while 5 sensors do not is perhaps evident from geometrical considerations, although the presence of a purely linear algebraic solution to the 5-sensor case might be somewhat unexpected. For 2 sensors in 3 dimensions, the TDOA problem possess a degeneracy about the surface of a hyperboloid. Introducing a third sensor reduces this degeneracy to a line (the intersection between two hyperboloids; Fig. 2), while a fourth sensor reduces the source location to up to two points, depending on the shape of the line and the new hyperboloid. The introduction of a fifth sensor ensures that if there are two possible solutions from the 4-sensor case, only the viable one is selected.

The fact that our solutions are linear make them amenable to rapid, on-platform calculation. The lack of need for iteration obviates concerns about convergence. We believe there is substantial practical utility in implementing these solutions for a range of localization and tracking problems.

Refer to caption
(a) Source localization success fraction as a function of position variation. Relative position accuracy threshold of 𝒯=106\mathcal{T}=10^{-6} for identification success.
Refer to caption
(b) Source localization success fraction as a function of position variation. Relative position accuracy threshold of 𝒯=103\mathcal{T}=10^{-3} for identification success.
Figure 1. Results from numerical experiments showing performance of TDOA source localization over 1,000 Monte Carlo instances. Source positions are calculated using the methods outlined in the text.
Refer to caption
Figure 2. Intersection of two hyperboloids indicated in black.

References

  • [1] K.C. Ho and Wenwei Xu. An accurate algebraic solution for moving source location using tdoa and fdoa measurements. IEEE Transactions on Signal Processing, 52(9):2453–2463, 2004.
  • [2] Petr Hubáček, Jiří Veselỳ, and Jana Olivová. The complete analytical solution of the tdoa localization method. Defence Science Journal, 72(2):227–235, 2022.
  • [3] Trung-Kien Le and Nobutaka Ono. Closed-form solution for tdoa-based joint source and sensor localization in two-dimensional space. In 2016 24th European Signal Processing Conference (EUSIPCO), pages 1373–1377, 2016.
  • [4] Steven J Spencer. Closed-form analytical solutions of the time difference of arrival source location problem for minimal element monitoring arrays. The Journal of the Acoustical Society of America, 127(5):2943–2954, 2010.
  • [5] J. Smith and J. Abel. Closed-form least-squares source location estimation from range-difference measurements. IEEE Transactions on Acoustics, Speech, and Signal Processing, 35(12):1661–1669, 1987.