Skip to main content

An effective localization algorithm for moving sources


By utilizing the time difference of arrival (TDOA), the frequency difference of arrival (FDOA), and the differential Doppler rate (DDR) measurements from sensors, this paper proposes an effective moving source localization algorithm with closed solutions. Instead of employing the traditional two-step weighted least squares (WLS) process, the Lagrange multiplier technique is employed in the first step to obtain the initial solution. This initial solution yields a better solution than the existing solution because the dependence among the variables are taken into account. The initial solution is further refined in the second step. The simulation results verify the effectiveness of the proposed algorithm when compared with the relevant existing algorithms.


Passive location has been extensively employed in many fields in the past decades, such as unmanned aerial vehicle, surveillance, navigation, and radar [15]. In practical, passive location can be solved by taking into account of the time of arrival (TOA), TDOA, FDOA, and the angle of arrival (AOA) [611].

For the stationary source, the TDOA between the source and a set of sensors can be used to estimate its position [12]. Ho et al. employ both TDOA and FDOA to locate stationary sources [13] to improve the location accuracy. Later, in order to extend to a moving source, they proposed the classical two-step weighted least squares (WLS) algorithm, which can estimate the velocity of the source while estimating its position [14]. Noroozi et al. [15] improves the second step of the algorithm of [14]. The process in [16] utilizes Taylor series to solve the nonlinear relationship between TDOA, FDOA, and source. But it requires an appropriate initial solution, and the converged result may not be accurate. The Qusi-Newton algorithm [17] converts the location problem into the constrained total least squares (CTLS) problem and derives an iterative solution. The work of [1820] tries to employ the Lagrange multiplier method to solve the location problem. The bi-iteration algorithm [21, 22] iteratively calculates the velocity or position of the source by fixing position or velocity, and its location accuracy depends on the initial estimate. In [23, 24], an iterative algorithm is put forward by linearizing the quadratic constraints on the basis of the constrained WLS (CWLS) problem. However, due to the non-convex characteristic of CWLS, a global optimal solution is hard to reach. To this regard, convex semidefinite programming (SDP) [2530] can be employed to avoid the local convergence problem of CWLS, but at the cost of a high computation complexity.

When FDOA measurements are employed in the estimation, the relative Doppler compression occurs because of the observation time needed in obtaining the FDOA measurements [31]. Since differential Doppler rate (DDR) acquisition needs no additional data from the sensors, it can be used together with TDOA and FDOA to obtain a better location accuracy. Hu’s work in [32] studies a gradient localization algorithm employing the TDOA, FDOA, and DDR data. However, the iterative algorithm in [32] can lead to a local convergence in the second step when the noise level is high. Liu et al. [33, 34] proposed a closed-form algorithm based on the two-step WLS, also employing TDOA, FDOA, and DDR. However, Hu’s [32] and Liu’s [33, 34] works assume independence of the involved variables in the first step WLS, which in fact are dependent. This assumption affects the accuracy of the initial solution. As a result, the overall solution’s accuracy is greatly affected by the initial solution.

Taking advantage of TDOA, FDOA, and DDR, this paper presents a closed localization algorithm. This new algorithm is based on the WLS and the Lagrange multiplier. The proposed algorithm forms a quadratic constrained WLS function by introducing three additional variables like [33]. The quadratic constraint is imposed in the minimization process through the use of the Lagrange multiplier to obtain the initial solution. With this constraint, the dependence of the variables are taken into account, resulting in a better accuracy of the initial solution compared with [32] and [33]. This initial solution is refined by another WLS to reach the final solution. Due to the extra computations in solving the Lagrange multiplier, our algorithm is more complicated than [33]. Numerical simulations show that the new algorithm can attain Cramer-Rao lower bound (CRLB) and is more accurate than Hu [32] and Liu’s solutions [33, 34] at the low SNR values.

The structure of this paper is introduced as follows: Section 2 introduces the correlation measurement model. Section 3 gives the implementation details of the proposed algorithm. Section 4 presents the analysis of CRLB with proposed algorithm. Section 5 provides the simulations results. Section 6 is the conclusion of the work.

By convention, matrices and vectors are represented in bold and italics. Table 1 explains the meaning of the notations in this paper.

Table 1 The meaning of the notations

System model

Consider a scenario with a moving source to be estimated and several sensors to measure the source. Denote the position and velocity of the sensors as si=[xi,yi,zi]T and \(\boldsymbol {\dot {s}}_{i} = [\dot {x}_{i},\dot {y}_{i},\dot {z}_{i}]^{T}\). The task of the localization algorithm is to calculate the position u=[x,y,z]T and velocity \(\boldsymbol {\dot {u}} = [\dot {}x,\dot {y},\dot {z}]^{T}\) of source. The real distance between sensor i and the source is

$$ r^{o}_{i} = \lVert\boldsymbol{u}^{o} - \boldsymbol{s}_{i}\lVert = \sqrt{(\boldsymbol{u}^{o} - \boldsymbol{s}_{i})^{T} (\boldsymbol{u}^{o} - \boldsymbol{s}_{i})} $$

Taking the derivative of (1) with respect to time, the real relative speed between sensor i and the source is:

$$ \dot{r}^{o}_{i} = \frac{(\dot{\boldsymbol{u}}^{o} - \dot{\boldsymbol{s}}_{i})^{T}(\boldsymbol{u}^{o} - \boldsymbol{s}_{i})}{r^{o}_{i}} $$

Taking the derivative of (2), the real acceleration between sensor i and the source is given by

$$ \ddot{r}^{o}_{i} = \frac{(\boldsymbol{\dot{u}^{o}} - \boldsymbol{\dot{s}_{i}})^{T}(\boldsymbol{\dot{u}^{o}} - \boldsymbol{\dot{s}_{i}}) + \dot{r}^{o2}_{i}}{r^{o}_{i}} $$

Practically, the sensors do not move or move slowly during the observation interval [31]. With this, the acceleration of the ith sensor can be considered as 0: \(\ddot {s}_{i} = \boldsymbol {0}_{3\times 1}\) for i=1,2,...,M. In this paper, sensor 1 is considered as the reference without loss of generality.

As shown in Table 1, the superscript of a variable denotes the true value. The true TDOA, FDOA, and DDR between sensor i and sensor 1 are therefore: \(\tau ^{o}_{i1}, f^{o}_{i1}\), and \(\dot {f}^{o}_{i1}\), respectively. Then, the following equations hold:

$$\begin{array}{*{20}l} r^{o}_{i1} = c\tau^{o}_{i1} = r^{o}_{i} - r^{o}_{1} \\ \dot{r}^{o}_{i1} = {{\lambda}_{c}}{f^{o}_{i1}} = \dot{r}^{o}_{i} - \dot{r}^{o}_{1} \\ \ddot{r}^{o}_{i1} = {{\lambda}_{c}}{\dot{f}^{o}_{i1}} = \ddot{r}^{o}_{i} - \ddot{r}^{o}_{1} \end{array} $$

where c and λc are the velocity and wavelength of the source signal, respectively. Since \(\tau ^{o}_{i1}, f^{o}_{i1}\) and \(\dot {f}^{o}_{i1}\) have a linear relationship with \(r^{o}_{i1}, \dot {r}^{o}_{i1}\) and \(\ddot {r}^{o}_{i1}\), the parameters \(r^{o}_{i1}, \dot {r}^{o}_{i1}\), and \(\ddot {r}^{o}_{i1}\) are used in the derivation of the following work.

With additive noise, the equations in (4) become the following:

$$\begin{array}{*{20}l} r_{i1} = r^{o}_{i1} + \Delta{r_{i1}} = c(\tau^{o}_{i1} + \Delta{\tau_{i1}}) \\ \dot{r}_{i1} = \dot{r}^{o}_{i1} + \Delta{\dot{r}_{i1}} = {{\lambda}_{c}}(f^{o}_{i1} + \Delta{f_{i1}}) \\ \ddot{r}_{i1} = \ddot{r}^{o}_{i1} + \Delta{\ddot{r}_{i1}} = {{\lambda}_{c}}(\dot{f}^{o}_{i1} + \Delta{\dot{f}_{i1}}) \end{array} $$

Substituting i=2,3,...,M into (5) and organize it into the vector form of the localization measurements as

$$\begin{array}{*{20}l} \boldsymbol{r} = \boldsymbol{r}^{o} + \Delta{\boldsymbol{r}} \\ \boldsymbol{\dot{r}} = \boldsymbol{\dot{r}^{o}} + \Delta{\boldsymbol{\dot{r}}} \\ \boldsymbol{\ddot{r}} = \boldsymbol{\ddot{r}^{o}} + \Delta{\boldsymbol{\ddot{r}}} \end{array} $$

where \(\Delta {\boldsymbol {r}} = [\Delta {r_{21}}, \Delta {r_{31}},..., \Delta {r_{M1}}]^{T}, \Delta {\boldsymbol {\dot {r}}} = [\Delta {\dot {r}_{21}}, \Delta {\dot {r}_{31}},..., \Delta {\dot {r}_{M1}}]^{T}\) and \(\Delta {\boldsymbol {\ddot {r}}} = [\Delta {\ddot {r}_{21}}, \Delta {\ddot {r}_{31}},..., \Delta {\ddot {r}_{M1}}]^{T}\).

Let \(\Delta \boldsymbol {\alpha } = [\Delta {\boldsymbol {r}^{T}},\Delta {\boldsymbol {\dot {r}}^{T}},\Delta {\boldsymbol {\ddot {r}}^{T}}]^{T}\) and \(\boldsymbol {\alpha } = [\boldsymbol {r}^{T},\boldsymbol {\dot {r}}^{T},\boldsymbol {\ddot {r}}^{T}]^{T}\) as the error vector and the noisy measurement vector, respectively. In this paper, we assume that the vector Δα complies with a Gaussian distribution with the mean value of 0 and covariance of E[ΔαΔαT]=Q, which is also the distribution employed in [33]. The form of Q is provided in the work of [35]. Note that Q is the information known in advance.

The proposed estimation process

The first step calculation

Define the auxiliary vector \(\boldsymbol {\theta }^{o}_{1} = {\left [\boldsymbol {v}^{oT}, r^{o}_{1}, \boldsymbol {\dot {v}}^{oT}, \dot {r}^{o}_{1}, \ddot {r}^{o}_{1} \right ]}^{T}\), where \(\boldsymbol {v}^{o} = \boldsymbol {u}^{o} - \boldsymbol {s}_{1}, \boldsymbol {\dot {v}}^{o} = \boldsymbol {\dot {u}}^{o} - \boldsymbol {\dot {s}}_{1}\). This auxiliary vector \(\boldsymbol {\theta }^{o}_{1}\) bears information about uo and \(\boldsymbol {\dot {u}}^{o}\) of the unknown source, as well as the additional three nuisance variables \(r^{o}_{1}, \dot {r}^{o}_{1}\) and \(\ddot {r}^{o}_{1}\). Rewrite the first equation in (4) as \(r^{o}_{i1} + r^{o}_{1} = r^{o}_{i}\), square the two sides of the equation, and expand it to get the following (7):

$$ \begin{aligned} &2(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})^{T}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{1})} + 2{r^{o}_{i1}}{r^{o}_{1}}\\ &= {(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})^{T}}{(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})} - r^{o2}_{i1} \end{aligned} $$

Taking the derivative of (7) with respect to time, the following (8) is obtained which contains TDOA and FDOA:

$$ \begin{aligned} &(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{1})} + {\dot{r}^{o}_{i1}}{r^{o}_{1}} + (\boldsymbol{s}_{i} - \boldsymbol{s}_{1})^{T}{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1})} \\ &+ {r^{o}_{i1}}{\dot{r}^{o}_{1}} = {(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})} - {r^{o}_{i1}}{\dot{r}^{o}_{i1}} \end{aligned} $$

Then, taking the derivative of (8) results in (9) that contains TDOA, FDOA, and DDR:

$$ \begin{aligned} &{\ddot{r}^{o}_{i1}}{r^{o}_{1}} + 2{(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1})} + 2{\dot{r}^{o}_{i1}}{\dot{r}^{o}_{1}} + {r^{o}_{i1}}{\ddot{r}^{o}_{1}} \\ &= {(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})} - {\ddot{r}^{o}_{i1}}{r^{o}_{i1}} - {\dot{r}^{o2}_{i1}} \end{aligned} $$

When TDOA, FDOA, and DDR are noisy, the true variables \(r^{o}_{i1}, {\dot {r}}^{o}_{i1}\) and \({\ddot {r}}^{o}_{i1}\) are \(r_{i1}, \dot {r}_{i1}\) and \(\ddot {r}_{i1}\), respectively. Replacing \(r^{o}_{i1}, {\dot {r}}^{o}_{i1}\) and \({\ddot {r}}^{o}_{i1}\) by \(r_{i1} - \Delta {r_{i1}}, \dot {r}_{i1} - \Delta {\dot {r}_{i1}}\) and \(\ddot {r}_{i1} - \Delta {\ddot {r}_{i1}}\), (7), (8), and (9) can be rewritten as

$$ \begin{aligned} &-2{r^{o}_{i}}{\Delta{r_{i1}}} = {(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})^{T}}{(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})} - r^{2}_{i1} \\ &- 2(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})^{T}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{1})} - 2{r_{i1}}{r^{o}_{1}} \end{aligned} $$
$$ \begin{aligned} &-{\dot{r}^{o}_{i}}{\Delta{r_{i1}}} - {r^{o}_{i}}{\Delta{\dot{r}_{i1}}} = {(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{s}_{i} - \boldsymbol{s}_{1})} \\ &- {r_{i1}}{\dot{r}_{i1}} - (\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{1})} - {\dot{r}_{i1}}{r^{o}_{1}} \\ &- (\boldsymbol{s}_{i} - \boldsymbol{s}_{1})^{T}{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1})} - {r_{i1}}{\dot{r}^{o}_{1}} \end{aligned} $$
$$ \begin{aligned} &-{\ddot{r}^{o}_{i}}{\Delta{r}_{i1}} - 2{\dot{r}^{o}_{i}}{\Delta{\dot{r}_{i1}}} - {r^{o}_{i}}{\Delta{\ddot{r}_{i1}}} = \\ &{(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})} - {\ddot{r}_{i1}}{r_{i1}} - {\dot{r}^{2}_{i1}} - {\ddot{r}_{i1}}{r^{o}_{1}} \\ &- 2{(\boldsymbol{\dot{s}}_{i} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1})} - 2{\dot{r}_{i1}}{\dot{r}^{o}_{1}} - {r_{i1}}{\ddot{r}^{o}_{1}} \end{aligned} $$

In the previous derivation, the intermediate second-order error terms in the equations are neglected. Bring i=2,3,...,M into (10), (11), and (12) and rearrange them into the linear system of equations of the following:

$$ {\boldsymbol{\epsilon}}_{1} = {\boldsymbol{G}_{1}}{\boldsymbol{\theta}^{o}_{1}} - \boldsymbol{h}_{1} $$

where ε1 is:

$$ \boldsymbol{\epsilon}_{1} = {\boldsymbol{B}_{1}} {\left[ {\Delta{\boldsymbol{r}^{T}}},{\Delta{\boldsymbol{\dot{r}}^{T}}},{\Delta{\boldsymbol{\ddot{r}}^{T}}} \right]}^{T}={\boldsymbol{B}_{1}}\Delta\boldsymbol{\alpha} $$
$$ \boldsymbol{B}_{1} = \left[ \begin{array}{ccc} 2\boldsymbol{B} \\ \boldsymbol{\dot{B}} & \boldsymbol{B} \\ \boldsymbol{\ddot{B}} & 2\boldsymbol{\dot{B}} & \boldsymbol{B} \end{array} \right] $$
$$\begin{array}{*{20}l} \boldsymbol{B} = diag \left\{ r^{o}_{2},r^{o}_{3},...,r^{o}_{M} \right\} \\ \boldsymbol{\dot{B}} = diag \left\{ \dot{r}^{o}_{2},\dot{r}^{o}_{3},...,\dot{r}^{o}_{M} \right\} \\ \boldsymbol{\ddot{B}} = diag \left\{ \ddot{r}^{o}_{2},\ddot{r}^{o}_{3},...,\ddot{r}^{o}_{M} \right\} \end{array} $$

The other two variables in (13) are expressed as the following:

$$ \boldsymbol{h}_{1} = \left[ \begin{array}{c} {(\boldsymbol{s}_{2} - \boldsymbol{s}_{1})^{T}}{(\boldsymbol{s}_{2} - \boldsymbol{s}_{1})} - r^{2}_{21} \\ \vdots \\ {(\boldsymbol{s}_{M} - \boldsymbol{s}_{1})^{T}}{(\boldsymbol{s}_{M} - \boldsymbol{s}_{1})} - r^{2}_{M1} \\ {(\boldsymbol{\dot{s}}_{2} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{s}_{2} - \boldsymbol{s}_{1})} - {r_{21}}{\dot{r}_{21}} \\ \vdots \\ {(\boldsymbol{\dot{s}}_{M} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{s}_{M} - \boldsymbol{s}_{1})} - {r_{M1}}{\dot{r}_{M1}} \\ {(\boldsymbol{\dot{s}}_{2} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{\dot{s}}_{2} - \boldsymbol{\dot{s}}_{1})} - {\ddot{r}_{21}}{r_{21}} - {\dot{r}^{2}_{21}} \\ \vdots \\ {(\boldsymbol{\dot{s}}_{M} - \boldsymbol{\dot{s}}_{1})^{T}}{(\boldsymbol{\dot{s}}_{M} - \boldsymbol{\dot{s}}_{1})} - {\ddot{r}_{M1}}{r_{M1}} - {\dot{r}^{2}_{M1}} \end{array} \right] $$


$$ \boldsymbol{G}_{1} = \left[ \begin{array}{ccccc} 2(\boldsymbol{s}_{2} - \boldsymbol{s}_{1})^{T} & 2r_{21} & \boldsymbol{0}_{1\times3} & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots\\ 2(\boldsymbol{s}_{M} - \boldsymbol{s}_{1})^{T} & 2r_{M1} & \boldsymbol{0}_{1\times3} & 0 & 0 \\ (\boldsymbol{\dot{s}}_{2} - \boldsymbol{\dot{s}}_{1})^{T} & \dot{r}_{21} & (\boldsymbol{s}_{2} - \boldsymbol{s}_{1})^{T} & r_{21} & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ (\boldsymbol{\dot{s}}_{M} - \boldsymbol{\dot{s}}_{1})^{T} & \dot{r}_{M1} & (\boldsymbol{s}_{M} - \boldsymbol{s}_{1})^{T} & r_{M1} & 0 \\ \boldsymbol{0}_{1\times3} & \ddot{r}_{21} & 2(\boldsymbol{\dot{s}}_{2} - \boldsymbol{\dot{s}}_{1})^{T} & 2\dot{r}_{21} & r_{21} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ \boldsymbol{0}_{1\times3} & \ddot{r}_{M1} & 2(\boldsymbol{\dot{s}}_{M} - \boldsymbol{\dot{s}}_{1})^{T} & 2\dot{r}_{M1} & r_{M1} \end{array} \right]. $$

In the mean time, the calculation of \(\boldsymbol {r}_{1}=\lVert \boldsymbol {u}-\boldsymbol {s}_{1}\rVert, \dot {\boldsymbol {r}}_{1}\), and \(\ddot {\boldsymbol {r}}_{1}\) follows the same way as \(\boldsymbol {r}^{o}_{1}, \dot {\boldsymbol {r}}^{o}_{1}\), and \(\ddot {\boldsymbol {r}}^{o}_{1}\) in (1), (2), and (3) (replacing uo by u). By introducing \(\boldsymbol {\theta }_{1} = {\left [ \boldsymbol {v}^{T}, r_{1}, \boldsymbol {\dot {v}}^{T}, \dot {r}_{1}, \ddot {r}_{1} \right ]}^{T}\) (\(\boldsymbol {v} = \boldsymbol {u} - \boldsymbol {s}_{1}, \boldsymbol {\dot {v}} = \boldsymbol {\dot {u}} - \boldsymbol {\dot {s}}_{1}\)), \(\boldsymbol {r}_{1}, \dot {\boldsymbol {r}}_{1}\), and \(\ddot {\boldsymbol {r}}_{1}\) are arranged in the matrix form as:

$$ {\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}_{1}}{\boldsymbol{\theta}_{1}} = 0 $$
$$ {\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}_{2}}{\boldsymbol{\theta}_{1}} = 0 $$
$$ {\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}_{3}}{\boldsymbol{\theta}_{1}} = 0 $$

where M1,M2,M3 are shown in Appendix A.

Combine (19), (20), and (21) into (22) as

$$ {\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}}{\boldsymbol{\theta}_{1}} = 0 $$

where M=M1+M2+M3.

The localization problem is now to solve the linear system of equations in (13) with the constraint of (22). In Hu [32] and Liu [33] works, in employing the WLS algorithm to solve (13), the elements in the constraint are assumed to be independent (while in fact they are correlated). This leads to the possible inaccuracy of the initial solution, thus affecting the refinement in the second step.

In this paper, the correlation of elements in θ1 is imposed from the constraint of (22). The localization problem in this first step is to solve equations of (13) with the constraint in (22). Through the use of the Lagrange multiplier λ, this constrained equations above can be solved by minimizing the following function:

$$ \boldsymbol{J}{(\boldsymbol{\theta}_{1}, \lambda)} = {({\boldsymbol{G}_{1}}{\boldsymbol{\theta}_{1}} - \boldsymbol{h}_{1})^{T}}{\boldsymbol{W}^{-1}_{1}}{({\boldsymbol{G}_{1}}{\boldsymbol{\theta}_{1}} - \boldsymbol{h}_{1})} + {\lambda}{{\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}}{\boldsymbol{\theta}_{1}}} $$

where W1 is the weight matrix in WLS:

$$ \boldsymbol{W}_{1} = \boldsymbol{E}\left[ {\boldsymbol{\epsilon}_{1}}{\boldsymbol{\epsilon}^{T}_{1}} \right] = \boldsymbol{B}_{1}\boldsymbol{Q}{\boldsymbol{B}^{T}_{1}} $$

Note that in obtaining W1, the covariance matrix Q of Δα is used.

To minimize (23), the differentiation of J(θ1,λ) with respect to θ1 should be zero:

$$ \begin{aligned} \frac{\partial{\boldsymbol{J}{(\boldsymbol{\theta}_{1}, \lambda)}}}{\partial{\boldsymbol{\theta}_{1}}} &= 2({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}} + {\lambda}{\boldsymbol{M}}){\boldsymbol{\theta}_{1}} - 2{\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}}{\boldsymbol{h}_{1}} = 0 \end{aligned} $$

The solution of (25) is

$$ \widehat{\boldsymbol{\theta}}_{1} = {({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}} + {\lambda}{\boldsymbol{M}})^{-1}}{\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}}{\boldsymbol{h}_{1}} $$

As W1 and M are symmetric, \({\boldsymbol {G}^{T}_{1}}{\boldsymbol {W}^{-1}_{1}}{\boldsymbol {G}_{1}} + {\lambda }{\boldsymbol {M}}\) is also symmetric. Substituting the estimate of θ1 in (26) into the constraint \({\boldsymbol {\theta }^{T}_{1}}{\boldsymbol {M}}{\boldsymbol {\theta }_{1}} = 0\), the following equations are obtained:

$$ \begin{aligned} &{({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{h}_{1}})^{T}}{({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}} + {\lambda}{\boldsymbol{M}})^{-T}}{\boldsymbol{M}}\cdot \\ &{({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}} + {\lambda}{\boldsymbol{M}})^{-1}}{\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{h}_{1}} = \\ &{({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{h}_{1}})^{T}}{\boldsymbol{M}^{-1}}{({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}}{\boldsymbol{M}^{-1}} + \lambda{\boldsymbol{I}})^{-1}}\cdot \\ &{({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}}{\boldsymbol{M}^{-1}} + \lambda{\boldsymbol{I}})^{-1}}{\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{h}_{1}} = 0 \end{aligned} $$

Employing the eigenvalue factorization, \({\boldsymbol {G}^{T}_{1}}{\boldsymbol {W}^{-1}_{1}}{\boldsymbol {G}_{1}}{\boldsymbol {M}^{-1}}\) can be diagonalized as

$$ {\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}^{-1}_{1}}{\boldsymbol{G}_{1}}{\boldsymbol{M}^{-1}} = {\boldsymbol{U}}{\boldsymbol{\varLambda}}{\boldsymbol{U}^{-1}} $$

where Λ=diag{η1,η2,…,η9}. Substitute (28) into (27):

$$ \begin{aligned} f(\lambda) &= {\boldsymbol{p}^{T}}{(\boldsymbol{\varLambda} + \lambda{\boldsymbol{I}})^{-2}}{\boldsymbol{q}} = \sum_{i = 1}^{9}{\frac{{p_{i}}{q_{i}}}{(\lambda + \eta_{i})^{2}}} = 0 \end{aligned} $$

where \(\boldsymbol {p} = \left [ p_{1}, p_{2}, \ldots, p_{9} \right ]= {\boldsymbol {U}^{T}}{\boldsymbol {M}^{-T}}{\boldsymbol {G}^{T}_{1}}{\boldsymbol {W}^{-1}_{1}}{\boldsymbol {h}_{1}}\) and \(\boldsymbol {q} = \left [ q_{1}, q_{2}, \ldots, q_{9} \right ] = {\boldsymbol {U}^{-1}}{\boldsymbol {G}^{T}_{1}}{\boldsymbol {W}^{-1}_{1}}{\boldsymbol {h}_{1}}\). Multiplying both sides by \({\prod _{j = 1}^{9}{(\lambda + \eta _{j})^{2}}}\), a 16-root equation is reached:

$$ {\sum_{i = 1}^{9}{\frac{{p_{i}}{q_{i}}}{(\lambda + \eta_{i})^{2}}}}{\prod_{j = 1}^{9}{(\lambda + \eta_{j})^{2}}} = 0 \\ $$

This equation of (30) can be solved efficiently as shown in [20].

The second step calculation

In the first step, a system of linear equations is constructed by introducing the auxiliary vector \(\boldsymbol {\theta }^{o}_{1}\), and the initial estimation \(\widehat {\boldsymbol {\theta }}_{1}\) is obtained employing the Lagrange multiplier. In this second step, the correlation between redundant variables \(r^{o}_{1}, \dot {r}^{o}_{1}, \ddot {r}^{o}_{1}\) and \(\boldsymbol {u}^{o}, \boldsymbol {\dot {u}}^{o}\) in (1), (2) and (3) is used again to further optimize the initial solution. The relationship between redundant variables and sources is as follows:

$$\begin{array}{*{20}l} r^{o2}_{1} = (\boldsymbol{u}^{o} - \boldsymbol{s}_{1})^{T}(\boldsymbol{u}^{o} - \boldsymbol{s}_{1}) \\ {\dot{r}^{o}_{1}}{r^{o}_{1}} = (\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1})^{T}(\boldsymbol{u}^{o} - \boldsymbol{s}_{1}) \\ {\ddot{r}^{o}_{1}}{r^{o}_{1}} + \dot{r}^{o2}_{1} = (\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1})^{T}(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}}_{1}) \end{array} $$

Define \(\boldsymbol {\widehat {\theta }}^{\prime }_{1}\) containing the estimation values as: \(\boldsymbol {\widehat {\theta }}^{\prime }_{1} = {\left [ \boldsymbol {\widehat {u}}^{T}, \widehat {r}_{1}, \boldsymbol {\widehat {\dot {u}}}^{T}, \widehat {\dot {r}}_{1}, \widehat {\ddot {r}}_{1} \right ]}^{T}\). Substitute \(\boldsymbol {u}^{o} = \boldsymbol {\widehat {u}} - \Delta {\boldsymbol {u}}, \boldsymbol {\dot {u}}^{o} = \boldsymbol {\widehat {\dot {u}}} - \Delta {\boldsymbol {\dot {u}}}, r^{0}_{1} = \widehat {r}_{1} - \Delta {r}_{1}, \dot {r}^{o} = \widehat {\dot {r}}_{1} - \Delta {\dot {r}}_{1}\) and \(\ddot {r}_{1} = \widehat {\ddot {r}}_{1} - \Delta {\ddot {r}}_{1}\) into (31) (also ignoring second order errors), equations are obtained as:

$$ 2{\boldsymbol{\widehat{u}}^{T}}{\Delta{\boldsymbol{u}}} - 2{\widehat{r}_{1}}{\Delta{r_{1}}} = ({\boldsymbol{\widehat{u}}^{T}}{\boldsymbol{\widehat{u}}} + {\boldsymbol{s}^{T}_{1}}{\boldsymbol{s}_{1}} - \widehat{r}^{2}_{1}) - 2{\boldsymbol{s}^{T}_{1}}{\boldsymbol{u}^{o}} $$
$$ \begin{aligned} &{\boldsymbol{\widehat{\dot{u}}}^{T}}{\Delta{\boldsymbol{u}}} - {\widehat{\dot{r}}_{1}}{\Delta{r_{1}}} + {\boldsymbol{\widehat{u}}^{T}}{\Delta{\boldsymbol{\dot{u}}}} - {\widehat{r}_{1}}{\Delta{\dot{r}_{1}}} = \\ &({\boldsymbol{\widehat{\dot{u}}}^{T}}{\boldsymbol{\widehat{u}}} + {\boldsymbol{\widehat{\dot{s}}}^{T}_{1}}{\boldsymbol{\widehat{s}}_{1}} - {\widehat{\dot{r}}_{1}}{\widehat{r}_{1}}) - {\boldsymbol{\dot{s}}^{T}_{1}}{\boldsymbol{u}^{o}} - {\boldsymbol{s}^{T}_{1}}{\boldsymbol{\dot{u}}^{o}} \end{aligned} $$
$$ \begin{aligned} &-{\widehat{\ddot{r}}_{1}}{\Delta{r_{1}}} + 2{\boldsymbol{\widehat{\dot{u}}}^{T}}{\Delta{\boldsymbol{\dot{u}}}} - 2{\widehat{\dot{r}}_{1}}{\Delta{\dot{r}}_{1}} - {\widehat{r}_{1}}{\Delta{\ddot{r}}_{1}} \\ &= ({\boldsymbol{\dot{s}}^{T}_{1}}{\boldsymbol{\dot{s}}_{1}} + {\boldsymbol{\widehat{\dot{u}}}^{T}}{\boldsymbol{\widehat{\dot{u}}}} - {\widehat{\ddot{r}}_{1}}{\widehat{r}_{1}} - \widehat{\dot{r}}^{2}_{1}) - 2{\boldsymbol{\dot{s}}^{T}_{1}}{\boldsymbol{\dot{u}}^{o}} \end{aligned} $$

Similar to the process in obtaining (13), the following linear system of equations can be obtained:

$$ \begin{aligned} \boldsymbol{\epsilon}_{2} &= \boldsymbol{B}_{2} {\left[ \Delta{\boldsymbol{u}}^{T},\Delta{r_{1}},\Delta{\dot{\boldsymbol{u}}}^{T},\Delta{\dot{r}_{1}},\Delta{\ddot{r}_{1}} \right]}^{T} \\ &= \boldsymbol{B}_{2}{\Delta{\boldsymbol{\widehat{\theta}}^{\prime}_{1}}} \\ &= \boldsymbol{h}_{2} - {\boldsymbol{G}_{2}}{\boldsymbol{\theta}^{o}_{2}} \end{aligned} $$

where \(\boldsymbol {\theta }^{o}_{2} = { \left [ \boldsymbol {u}^{oT}, \boldsymbol {\dot {u}}^{oT} \right ]}^{T}\) and

$$\begin{array}{*{20}l} &\boldsymbol{h}_{2} = \left[ \begin{array}{c} \widehat{\boldsymbol{u}} \\ {\widehat{\boldsymbol{u}}^{T}}{\widehat{\boldsymbol{u}}} + {\boldsymbol{s}^{T}_{1}}{\boldsymbol{s}_{1}} - \widehat{r}^{2}_{1} \\ \widehat{\dot{\boldsymbol{u}}} \\ {\widehat{\dot{\boldsymbol{u}}}^{T}}{\widehat{\boldsymbol{u}}} + {\boldsymbol{\dot{s}}^{T}}{\boldsymbol{s}_{1}} - {\widehat{\dot{r}}_{1}}{\widehat{r}_{1}} \\ {\boldsymbol{\dot{s}^{T}_{1}}}{\boldsymbol{\dot{s}_{1}}} + {\boldsymbol{\widehat{\dot{u}}}^{T}_{1}}{\boldsymbol{\widehat{\dot{u}}}} - {\widehat{\ddot{r}}_{1}}{\widehat{r}_{1}} - \widehat{\dot{r}}^{2}_{1} \end{array} \right], \boldsymbol{G}_{2} = \left[ \begin{array}{cc} \boldsymbol{I}_{3\times3} & \boldsymbol{O}_{3\times3} \\ 2\boldsymbol{s}^{T}_{1} & \boldsymbol{0}_{1\times3} \\ \boldsymbol{O}_{3\times3} & \boldsymbol{I}_{3\times3} \\ \boldsymbol{\dot{s}}^{T}_{1} & \boldsymbol{s}^{T}_{1} \\ \boldsymbol{0}_{1\times3} & 2\boldsymbol{\dot{s}^{T}_{1}} \end{array} \right] \\ &\boldsymbol{B}_{2} = \left[ \begin{array}{ccccc} \boldsymbol{I}_{3\times3} & \boldsymbol{0}_{3\times1} & \boldsymbol{O}_{3\times3} & \boldsymbol{0}_{3\times1} & \boldsymbol{0}_{3\times1} \\ 2\boldsymbol{\widehat{u}}^{T} & -2\widehat{r}_{1} & \boldsymbol{0}_{1\times3} & 0 & 0 \\ \boldsymbol{O}_{3\times3} & \boldsymbol{0}_{3\times1} & \boldsymbol{I}_{3\times3} & \boldsymbol{0}_{3\times1} & \boldsymbol{0}_{3\times1} \\ \boldsymbol{\widehat{\dot{u}}}^{T} & -\widehat{\dot{r}}_{1} & \boldsymbol{\widehat{u}}^{T} & -\widehat{r}_{1} & 0 \\ \boldsymbol{0}_{1\times3} & -\widehat{\ddot{r}}_{1} & 2\boldsymbol{\widehat{\dot{u}}}^{T} & -2\widehat{\dot{r}}_{1} & -\widehat{r}_{1} \end{array} \right] \end{array} $$

Based on WLS, the solution of \(\boldsymbol {\widehat {\theta }}_{2}\) is directly obtained as

$$ \boldsymbol{\widehat{\theta}}_{2} = ({\boldsymbol{G}^{T}_{2}}{\boldsymbol{W}^{-1}_{2}}{\boldsymbol{G}_{2}})^{-1}{\boldsymbol{G}^{T}_{2}}{\boldsymbol{W}^{-1}_{2}}{\boldsymbol{h}_{2}} $$

where the weighting matrix W2 is

$$ \boldsymbol{W}_{2} = \boldsymbol{E}\left[ {\boldsymbol{\epsilon}_{2}}{\boldsymbol{\epsilon}^{T}_{2}} \right] = \boldsymbol{B}_{2}{\boldsymbol{E}\left[ \Delta{\boldsymbol{\theta}^{\prime}_{1}}\Delta{\boldsymbol{\theta}^{{\prime}T}_{1}} \right]}{\boldsymbol{B}^{T}_{2}} $$

According to [33], the covariance matrix of \(\boldsymbol {\widehat {\theta }}^{\prime }_{1}\) is

$$ cov(\boldsymbol{\widehat{\theta}}^{\prime}_{1}) = \boldsymbol{E} \left[ \Delta{\boldsymbol{\theta}^{\prime}_{1}}\Delta{\boldsymbol{\theta}^{{\prime}T}_{1}} \right] = ({\boldsymbol{G}^{T}_{1}}{\boldsymbol{W}_{1}}{\boldsymbol{G}_{1}})^{-1} $$

Then (38) can be rewritten as:

$$ \boldsymbol{W}_{2} = {\boldsymbol{B}_{2}}{cov(\boldsymbol{\widehat{\theta}}^{\prime}_{1})}{\boldsymbol{B}^{T}_{2}} $$

The working procedure

The procedure for the proposed algorithm is as follows:

  1. 1

    Set W1=Q.

  2. 2

    Transform (29) to a standard polynomial. Find the roots of this polynomial. The Lagrange multiplier λ is the real roots.

  3. 3

    Substitute λ into (26) to obtain \(\widehat {\boldsymbol {\theta }}_{1}\), which is fed to (23). The \(\widehat {\boldsymbol {\theta }}_{1}\) that minimizes J(θ1,λ) is selected for the next step.

  4. 4

    Update \(\boldsymbol {W}^{-1}_{1}\) in (24) using \(\widehat {\boldsymbol {\theta }}_{1}\) from the previous step.

  5. 5

    Repeat Step 2, Step 3, and Step 4 to refine \(\widehat {\boldsymbol {\theta }}_{1}\).

  6. 6

    Find \(cov(\boldsymbol {\widehat {\theta }}^{\prime }_{1})\) in (39).

  7. 7

    Compute W2 from (40).

  8. 8

    Calculate \(\boldsymbol {\widehat {\theta }}_{2}\) in (37) as the final estimate.

CRLB analysis

In this section, the CRLB of θ2 is determined. According to the noise vector Δα provided in Section 2, the CRLB of the source vector θ2 is calculated as [33]:

$$ {\text{CRLB}}{(\boldsymbol{\theta}_{2})} = {\left[ {(\frac{\partial{\boldsymbol{\alpha}}}{\partial{\boldsymbol{\theta}^{T}_{2}}})^{T}}{\boldsymbol{Q}^{-1}}{(\frac{\partial{\boldsymbol{\alpha}}}{\partial{\boldsymbol{\theta}^{T}_{2}}})} \right]}^{-1} $$


$$ \frac{\partial{\boldsymbol{\alpha}}}{\partial{\boldsymbol{\theta}^{T}_{2}}} = \left[ \begin{array}{cc} \frac{\partial{\boldsymbol{r}}}{\partial{\boldsymbol{u}^{T}}} & \boldsymbol{O}_{(M-1)\times3} \\ \frac{\partial{\boldsymbol{\dot{r}}}}{\partial{\boldsymbol{u}^{T}}} & \frac{\partial{\boldsymbol{r}}}{\partial{\boldsymbol{u}^{T}}} \\ \frac{\partial{\boldsymbol{\ddot{r}}}}{\partial{\boldsymbol{u}^{T}}} & \frac{\partial{\boldsymbol{\dot{r}}}}{\partial{\boldsymbol{u}^{T}}} \end{array} \right] \\ $$

The partial derivatives \(\frac {\partial {\boldsymbol {r}}}{\partial {\boldsymbol {u}^{T}}}, \frac {\partial {\boldsymbol {\dot {r}}}}{\partial {\boldsymbol {u}^{T}}}\) and \(\frac {\partial {\boldsymbol {\ddot {r}}}}{\partial {\boldsymbol {u}^{T}}}\) are shown in Appendix B.

With the definition of \(\widehat {\boldsymbol {\theta }}_{2}\), the covariance of the proposed solution is the covariance of \(\widehat {\boldsymbol {\theta }}_{2}\). Therefore, (35) is brought into (37), yielding:

$$ \Delta{\boldsymbol{\theta}_{2}} = \widehat{\boldsymbol{\theta}}_{2} - \boldsymbol{\theta}^{o}_{2} = {({\boldsymbol{G}^{T}_{2}}{\boldsymbol{W}^{-1}_{2}}{\boldsymbol{G}_{2}})^{-1}}{\boldsymbol{G}^{T}_{2}}{\boldsymbol{W}^{-1}_{2}}{\boldsymbol{\epsilon}_{2}} $$

Using (38), the covariance of \(\widehat {\boldsymbol {\theta }}_{2}\) can be expressed as:

$$ cov(\widehat{\boldsymbol{\theta}}_{2}) = {\boldsymbol{E}}{\left[ {\Delta{\boldsymbol{\theta}_{2}}}{\Delta{\boldsymbol{\theta}_{2}}}^{T} \right]} = ({\boldsymbol{G}_{2}}{\boldsymbol{W}^{-1}_{2}}{\boldsymbol{G}_{2}})^{-1} $$

When the measurement noise is small, \(\frac {\Delta {r_{i1}}}{r^{o}_{i1}}\simeq 0, \frac {\Delta {\dot {r}_{i1}}}{\dot {r}^{o}_{i1}}\simeq 0\) and \(\frac {\Delta {\ddot {r}_{i1}}}{\ddot {r}^{o}_{i1}}\simeq 0\) for i=2,3,...,M. Substituting (39) and (40) into (44), we get

$$ cov(\widehat{\boldsymbol{\theta}}_{2}) = ({\boldsymbol{G}^{T}_{3}}{\boldsymbol{Q}^{-1}}{\boldsymbol{G}_{3}})^{-1} $$

where \(\boldsymbol {G}_{3} = {\boldsymbol {B}^{-1}_{1}}{\boldsymbol {G}_{1}}{\boldsymbol {B}^{-1}_{2}}{\boldsymbol {G}_{2}}\). According to [33], G3 can be expressed as:

$$ \boldsymbol{G}_{3} = \frac{\partial{\boldsymbol{\alpha}}}{\partial{\boldsymbol{\theta}^{T}_{2}}} $$

Observe that the covariance of \(\widehat {\boldsymbol {\theta }}_{2}\) in the proposed algorithm has the same form as CRLB, resulting in \({cov(\widehat {\boldsymbol {\theta }}_{2})}\simeq {\text {CRLB}}{(\boldsymbol {\theta }_{2})}\). This shows the proposed algorithm achieves CRLB when SNR is large.

Results and discussion

In this section, the root mean square error (RMSE) and bias performance of the new algorithm are provided, together with the performance of Hu’s algorithm [32] and Liu’s [33] algorithm. The geometry variables of the sensors are illustrated in Table 2.

Table 2 Configuration of sensors

For the measured TDOA, FDOA, and DDR, the noise is summarized in the following [33]:

$$\begin{array}{*{20}l} & {\sigma}_{\tau} = {\frac{1}{B_{s}}}{\frac{1}{\sqrt{{B_{n}}{T}}}}{\frac{1}{\sqrt{\text{SNR}}}}\\ & {\sigma}_{f} = {\frac{\sqrt{3}}{{\pi}{T}}}{\frac{1}{\sqrt{{B_{n}}{T}}}}{\frac{1}{\sqrt{\text{SNR}}}}\\ & {\sigma}_{d} = {\frac{2\sqrt{45}}{{\pi}{T^{2}}}}{\frac{1}{\sqrt{{B_{n}}{T}}}}{\frac{1}{\sqrt{\text{SNR}}}} \end{array} $$

where στ,σf, and σd represent the standard deviation of the noise of TDOA, FDOA, and DDR, respectively. Variables Bs,Bn, and T represent the signal bandwidth, the noise bandwidth, and the measurement duration, respectively. As usual, the signal-to-noise ratio is SNR. Define R as a square matrix of order (M−1), its diagonal elements are 1, and the rest are 0.5 [14]. The covariance matrix of the noise is:

$$\begin{array}{*{20}l} \boldsymbol{Q} = \left[ \begin{array}{ccc} \boldsymbol{Q}_{r} & & \\ & \boldsymbol{Q}_{f} & \\ & & \boldsymbol{Q}_{d} \end{array} \right]_{3(M-1)\times3(M-1)} \end{array} $$

where Qr=(cστ)2R,Qf=(λcσf)2R, and Qd=(λcσd)2R.

Binary phase shift keying (BPSK) modulated signal is employed in the simulations. The carrier frequency is fc=1 GHz, Bs=100 kHz, T=0.3 s, and Bn=3Bs. The bias is:

$$\begin{array}{*{20}l} & \text{bias}(\boldsymbol{u}^{o}) = \left\|{{\begin{array}{l}\sum_{l = 1}^{L}\end{array}}{(\boldsymbol{u}^{o} - \boldsymbol{u}_{i})}/L} \right\| \\ & \text{bias}(\boldsymbol{\dot{u}}^{o}) = \left\| {{\begin{array}{l}\sum_{l = 1}^{L}\end{array}}{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{u}}_{i})}/L} \right\| \end{array} $$

where L is the number of times the estimation is performed. The RMSE is:

$$\begin{array}{*{20}l} & \text{RMSE}(\boldsymbol{u}^{o}) = \sqrt{{{\begin{array}{l}\sum_{l = 1}^{L}\end{array}}{\left\| \boldsymbol{u}^{o} - \boldsymbol{u}_{i} \right\|}^{2}}/{L}} \\ & \text{RMSE}(\boldsymbol{\dot{u}}^{o}) = \sqrt{{{\begin{array}{l}\sum_{l = 1}^{L}\end{array}}{\left\| \boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{u}}_{i} \right\|}^{2}}/{L}} \end{array} $$

In the simulations, L=5000, and the far field source has real position of uo=[2000,2500,3000]T and real velocity of \(\boldsymbol {\dot {u}}^{o} = {\left [ -20, 15, 40 \right ]}^{T}\). The near field source is positioned at uo=[600,650,550]T with velocity \(\boldsymbol {\dot {u}}^{o} = {\left [ -20, 15, 40 \right ]}^{T}\). Similar to [14], this paper sets Q as the initial value of W1 in the first step calculation.

Figures 1 and 2 show the comparison of the RMSE and the bias of Hu’s and Liu’s algorithms with the proposed algorithm in the near field scenario. Figure 1 shows that the RMSE of both the proposed and Liu’s algorithm can reach CRLB when SNR is greater than 10 dB, but Hu’s algorithm is slightly worse. When SNR<10 dB, RMSE of the three algorithms all deviate from CRLB. However, the RMSE of the proposed algorithm is the smallest of all. From the bias comparison of Fig. 2, the position bias of the proposed algorithm is smaller than that of Hu’s algorithm and is similar to that of Liu’s algorithm. The velocity bias of the proposed algorithm is lowest seen from Fig. 2. Therefore, the performance of the estimation accuracy (determined by the RMSE) and the bias of the proposed algorithm is better than existing algorithms when applied in the near field source estimation.

Fig. 1

RMSE comparison of three algorithms for the near field source

Fig. 2

Bias comparison of three algorithms for the near field source

Figures 3 and 4 illustrate the RMSE and the bias comparison in the far field. When SNR≥10 dB, the RMSE of the proposed algorithm can reach CRLB, while both Hu’s and Liu’s algorithms deviate from CRLB to different degrees. When SNR<10 dB, all three algorithms deviate from CRLB. Figure 4 shows that the bias of proposed algorithm is significantly superior to the other two algorithms.

Fig. 3

RMSE comparison of three algorithms for the far field source

Fig. 4

Bias comparison of three algorithms for the far field source

Although the proposed algorithm can achieve a better accuracy (up to several kilometers) as shown previously, in the very far field up to several hundred kilometers, the study shows that the proposed algorithm has a similar performance as the existing algorithms. With the added complexity to calculate the Lagrange multiplier, the proposed algorithm is not necessary in the very far field. However, it is still of importance to note that the Lagrange multiplier can be efficiently solved as shown in [1820]. The complexity of the rest of the calculations of the proposed algorithm is similar to that of Liu’s two-step WLS algorithm.


This paper proposes a closed solution to locate moving sources by employing the Lagrange multiplier in the first step WLS. Compared with the existing algorithms based on iterative calculations, the proposed algorithm provides a closed-form solution without the need for iterative calculations, thus avoiding the initial value problem and guaranteeing a global solution. Compared to the existing closed-form two-step WLS algorithm, the proposed algorithm can further improve the estimation accuracy by employing the Lagrange multiplier. Simulation studies confirm that the proposed estimation process achieves a better accuracy and bias compared with relevant algorithms in the near and far field (up to several kilometers).



$$\begin{array}{*{20}l} {}\boldsymbol{M}_{1} = \left[ \begin{array}{ccc} \boldsymbol{I}_{3\times3} &\boldsymbol{O}_{3\times6} \\ \boldsymbol{0}_{1\times3} &-1 &\boldsymbol{0}_{1\times5} \\ \boldsymbol{O}_{5\times9} \end{array} \right], \boldsymbol{M}_{2} = \left[ \begin{array}{ccc} \boldsymbol{O}_{3\times4} &\boldsymbol{I}_{3\times3} &\boldsymbol{O}_{3\times2} \\ \boldsymbol{0}_{1\times7} &-1 &0 \\ \boldsymbol{I}_{3\times3} &\boldsymbol{O}_{3\times6} \\ \boldsymbol{0}_{1\times3} &-1 &\boldsymbol{0}_{1\times5} \\ \boldsymbol{0}_{1\times9} \end{array} \right], \boldsymbol{M}_{3} = \left[ \begin{array}{ccccc} \boldsymbol{O}_{3\times9} \\ \boldsymbol{0}_{1\times8} &-1 \\ \boldsymbol{O}_{3\times4} &2\boldsymbol{I}_{3\times3} &\boldsymbol{O}_{3\times2} \\ \boldsymbol{0}_{1\times7} &-2 &0 \\ \boldsymbol{0}_{1\times3} &-1 &\boldsymbol{0}_{1\times5} \end{array} \right] \end{array} $$


The derivation of \({\partial {\boldsymbol {\alpha }}}/{\partial {\boldsymbol {\theta }^{T}_{2}}}\)


$$\begin{array}{*{20}l} & \boldsymbol{a}_{i} = \frac{(\boldsymbol{u}^{o} - \boldsymbol{s}_{i})^{T}}{r_{i}}, \boldsymbol{b}_{i} = \frac{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}_{i}})^{T}}{r_{i}} - \frac{{\dot{r}_{i}}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{i})^{T}}}{r^{2}_{i}} \\ & \boldsymbol{c}_{i} = \frac{2{\dot{r}^{2}_{i}}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{i})^{T}}}{r^{3}_{i}} - \frac{2{\dot{r}_{i}}{(\boldsymbol{\dot{u}}^{o} - \boldsymbol{\dot{s}_{i}})^{T}}}{r^{2}_{i}} - \frac{{\ddot{r}_{i}}{(\boldsymbol{u}^{o} - \boldsymbol{s}_{i})^{T}}}{r^{2}_{i}} \end{array} $$

where i=1,2,...,M, Therefore, \(\frac {\partial {\boldsymbol {r}}}{\partial {\boldsymbol {u}^{T}}}, \frac {\partial {\boldsymbol {\dot {r}}}}{\partial {\boldsymbol {u}^{T}}}\) and \(\frac {\partial {\boldsymbol {\ddot {r}}}}{\partial {\boldsymbol {u}^{T}}}\) can be written as

$$ {}\frac{\partial{\boldsymbol{r}}}{\partial{\boldsymbol{u}^{T}}} = \left[ \begin{array}{c} \boldsymbol{a}_{2} - \boldsymbol{a}_{1} \\ \vdots \\ \boldsymbol{a}_{M} - \boldsymbol{a}_{1} \end{array} \right]_{(M-1)\times3}, \frac{\partial{\boldsymbol{\dot{r}}}}{\partial{\boldsymbol{u}^{T}}} = \left[ \begin{array}{c} \boldsymbol{b}_{2} - \boldsymbol{b}_{1} \\ \vdots \\ \boldsymbol{b}_{M} - \boldsymbol{b}_{1} \end{array} \right]_{(M-1)\times3}, \frac{\partial{\boldsymbol{\ddot{r}}}}{\partial{\boldsymbol{u}^{T}}} = \left[ \begin{array}{c} \boldsymbol{c}_{2} - \boldsymbol{c}_{1} \\ \vdots \\ \boldsymbol{c}_{M} - \boldsymbol{c}_{1} \end{array} \right]_{(M-1)\times3} $$

Availability of data and materials

Not applicable.



Time difference of arrival


Frequency difference of arrival


Differential Doppler rate


Weighted least squares


Constrained WLS


Constrained total least squares


Cramer-Rao lower bound


  1. 1

    T. Ha, R. Clark Robertson, Geostationary satellite navigation systems. IEEE Trans. Aerosp. Electron. Syst.23:, 247–254 (1987).

    Article  Google Scholar 

  2. 2

    N. Patwari, J. N. Ash, S. Kyperountas, et al., Locating the nodes: cooperative localization in wireless sensor networks. IEEE Sig. Process Mag.22:, 54–69 (2005).

    Article  Google Scholar 

  3. 3

    N. Decarli, F. Guidi, D. Dardari, A novel joint RFID and radar sensor network for passive localization: design and performance bounds. IEEE J. Sel. Topics Sig. Process. 8:, 80–95 (2014).

    Article  Google Scholar 

  4. 4

    M. Seifeldin, A. Saeed, A. E. Kosba, et al., Nuzzer: a large-scale device-free passive localization system for wireless environments. IEEE Trans. Mob. Comput.12:, 1321–1334 (2013).

    Article  Google Scholar 

  5. 5

    A. G. Dempster, E. Cetin, Interference localization for satellite navigation systems. Proceedings of the IEEE. 104:, 1318–1326 (2016).

    Article  Google Scholar 

  6. 6

    Q. Xiaomei, B. Lihua, An efficient convex constrained weighted least squares source localization algorithm based on TDOA measurements. Sig. Process. 119:, 142–152 (2016).

    Article  Google Scholar 

  7. 7

    K. Yang, G. Wang, Z. Luo, Efficient convex relaxation methods for robust target localization by a sensor network using time differences of arrivals. IEEE Trans. Sig. Process. 57:, 2775–2784 (2009).

    MathSciNet  Article  Google Scholar 

  8. 8

    X. Shi, B. D. O. Anderson, G. Mao, et al., Robust localization using time difference of arrivals. IEEE Sig. Process. Lett.23:, 1320–1324 (2016).

    Article  Google Scholar 

  9. 9

    J. Yin, Q. Wan, S. Yang, et al., A simple and accurate TDOA-AOA localization method using two stations. IEEE Sig. Process. Lett.23:, 144–148 (2016).

    Article  Google Scholar 

  10. 10

    A. Noroozi, M. A. Sebt, Algebraic solution for three-dimensional TDOA/AOA localization in multiple-input-multiple-output passive radar. IET Radar Sonar Navig.12:, 21–29 (2018).

    Article  Google Scholar 

  11. 11

    L. B. Yan, Y. Lu, Y. R. Zhang, Improved least-squares algorithm for TDOA/AOA-based localization. Chin. J. Radio Sci.31:, 394–400 (2016).

    Google Scholar 

  12. 12

    Y. T. Chan, K. C. Ho, A simple and efficient estimator for hyperbolic location. IEEE Trans. Sig. Process. 42:, 1905–1915 (1994).

    Article  Google Scholar 

  13. 13

    Y. T. Chan, K. C. Ho, Geolocation of a known altitude object from TDOA and FDOA measurements. IEEE Trans. Aerosp. Electron. Syst.33:, 770–783 (1997).

    Article  Google Scholar 

  14. 14

    K. C. Ho, X. Wenwei, An accurate algebraic solution for moving source location using TDOA and FDOA measurements. IEEE Trans. Sig. Process. 52:, 2453–2463 (2004).

    MathSciNet  Article  Google Scholar 

  15. 15

    A. Noroozi, A. H. Oveis, S. M. Hosseini, et al., Improved algebraic solution for source localization from TDOA and FDOA measurements. IEEE Wirel. Commun. Lett.7:, 352–355 (2018).

    Article  Google Scholar 

  16. 16

    K. C. Ho, X. Wenwei, in 2006 IEEE International Symposium on Circuits and Systems. Taylor-series technique for moving source localization in the presence of sensor location errors, (2006), pp. 1075–1078.

  17. 17

    Q. Fuyong, G. Fucheng, J. Wenli, et al., Constrained location algorithms based on total least squares method using TDOA and FDOA measurements. Int. Conf. Autom. Control. Artif. Intell. (ACAI). 2012:, 689–692 (2012).

    Google Scholar 

  18. 18

    F. Guo, K. C. Ho, in 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). A quadratic constraint solution method for TDOA and FDOA localization, (2011), pp. 2588–2591.

  19. 19

    H. Yu, G. Huang, Gao J., Constrained total least-squares localisation algorithm using time difference of arrival and frequency difference of arrival measurements with sensor location uncertainties. IET Radar Sonar Navig.6:, 891–899 (2012).

    Article  Google Scholar 

  20. 20

    H. Yu, G. Huang, J. Gao, et al., Practical constrained least-square algorithm for moving source location using TDOA and FDOA measurements. J. Syst. Eng. Electron.23:, 488–494 (2012).

    Article  Google Scholar 

  21. 21

    Z. Guohui, F. Dazheng, Bi-iterative method for moving source localisation using TDOA and FDOA measurements. Electron. Lett.51:, 8–10 (2015).

    Article  Google Scholar 

  22. 22

    Z. Guohui, F. Dazheng, X. Hu, et al., An approximately efficient bi-iterative method for source position and velocity estimation using TDOA and FDOA measurements. Sig. Process.125:, 110–121 (2016).

    Article  Google Scholar 

  23. 23

    X. Qu, L. Xie, W. Tan, in 2016 35th Chinese Control Conference (CCC). Iterative source localization based on TDOA and FDOA measurements, (2016), pp. 436–440.

  24. 24

    X. Qu, L. Xie, W. Tan, Iterative constrained weighted least squares source localization using TDOA and FDOA measurements. IEEE Trans. Sig. Process. 65:, 3990–4003 (2017).

    MathSciNet  Article  Google Scholar 

  25. 25

    K Yang, L Jiang, Z. Luo, in 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Efficient semidefinite relaxation for robust geolocation of unknown emitter by a satellite cluster using TDOA and FDOA measurements, (2011), pp. 2584–2587.

  26. 26

    G. Wang, Y. Li, N. Ansari, A semidefinite relaxation method for source localization using TDOA and FDOA measurements. IEEE Trans. Veh. Technol.62:, 853–862 (2013).

    Article  Google Scholar 

  27. 27

    D. Yanshen, W. Ping, Huaguo Z, in 2014 IEEE International Conference on Communication Problem-solving. Semidefinite programming approaches for source localization problems, (2014), pp. 339–342.

  28. 28

    Y. Wang, Y. Wu, An efficient semidefinite relaxation algorithm for moving source localization using TDOA and FDOA measurements. IEEE Commun. Lett.21:, 80–83 (2017).

    Article  Google Scholar 

  29. 29

    R. Liu, J. Yin, in 2017 3rd IEEE International Conference on Computer and Communications (ICCC). Semidefinite programming for NLOS localization U sing TDOA and FDOA measurements, (2017), pp. 892–895.

  30. 30

    Y. Zou, H. Liu, Q. Wan, An iterative method for moving target localization using TDOA and FDOA measurements. IEEE Access. 6:, 2746–2754 (2018).

    Article  Google Scholar 

  31. 31

    H. Dexiu, H. Zhen, Z. Shangyu, et al, Joint TDOA, FDOA and differential Doppler rate estimation: method and its performance analysis. Chin. J. Aeronaut. 31:, 137–147 (2018).

    Article  Google Scholar 

  32. 32

    H. Dexiu, H. Zhen, C. Xi, et al., A moving source localization method using TDOA, FDOA and Doppler rate measurements. IEICE Trans. Commun. E99.B(3), 758–766 (2016).

    Article  Google Scholar 

  33. 33

    L. Zhixin, H. Dexiu, Z. Yongsheng, An improved closed-form method for moving source localization using TDOA, FDOA, differential Doppler rate measurements. ICE Trans. Commun. E102.B:, 6 (2018).

    Google Scholar 

  34. 34

    L. Zhixin, H. Dexiu, Z. Yongsheng, et al., An algebraic method for moving source localization using TDOA, FDOA, and differential Doppler rate measurements with receiver location errors. J. Adv. Sig. Process.2019:, 1 (2019).

    Google Scholar 

  35. 35

    E. Weinstein, D. Kletter, Delay and Doppler estimation by time-space partition of the array data. IEEE Trans. Acoust. Speech Sig. Process. assp-31:, 6 (2019).

    Google Scholar 

Download references


This work was supported by National Natural Science Foundation of China (Grant No. 62071002).

Author information




Authors’ information

Liping Li is now an associate professor of the Key Laboratory of Intelligent Computing and Signal Processing of the Ministry of Education of China, Anhui University, Hefei, China. She got her PhD in Dept. of Electrical and Computer Engineering at North Carolina State University, Raleigh, NC, USA, in 2009. Her current research interest is in channel coding, especially polar codes. Dr. Li’s research topic during her PhD studies was multiple-access interference analysis and synchronization for ultra-wideband communications. Then, she worked on a LTE indoor channel sounding and modeling project in University of Colorado at Boulder, collaborating with Verizon. From 2010 to 2013, she worked at Maxlinear Inc. as a staff engineer in the communication group. At Maxlinear, she worked on SoC designs for the ISDB-T standard and the DVB-S standard, covering modules on OFDM and LDPC. In Sept. 2013, she joined Anhui University and started her research on polar codes until now.

Hao Wang received B.E degree in communication engineering from Liaoning University of Technology, Liaoning, China, in 2017. He is currently pursuing M.S. degree in communication and information system in Anhui University. His research interests include location algorithm and MIMO-OFDM systems.

Corresponding author

Correspondence to Liping Li.

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.

Rights and permissions

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

Verify currency and authenticity via CrossMark

Cite this article

Wang, H., Li, L. An effective localization algorithm for moving sources. EURASIP J. Adv. Signal Process. 2021, 32 (2021).

Download citation


  • Source localization
  • Time difference of arrival (TDOA)
  • Frequency difference of arrival (FDOA)
  • Differential doppler rate (DDR)
  • Lagrange multiplier
  • Weighted least squares (WLS)