1 Introduction

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

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

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

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

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

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

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

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.

3 The proposed estimation process

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

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

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

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} $$
(10)
$$ \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} $$
(11)
$$ \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} $$
(12)

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

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} $$
(14)
$$ \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] $$
(15)
$$\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} $$
(16)

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] $$
(17)

and

$$ \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]. $$
(18)

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 $$
(19)
$$ {\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}_{2}}{\boldsymbol{\theta}_{1}} = 0 $$
(20)
$$ {\boldsymbol{\theta}^{T}_{1}}{\boldsymbol{M}_{3}}{\boldsymbol{\theta}_{1}} = 0 $$
(21)

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 $$
(22)

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

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

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

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

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

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

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

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 \\ $$
(30)

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

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

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}} $$
(32)
$$ \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} $$
(33)
$$ \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} $$
(34)

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

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

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

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

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

Then (38) can be rewritten as:

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

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

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

where

$$ \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] \\ $$
(42)

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

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

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

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

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.

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

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

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

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

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
figure 1

RMSE comparison of three algorithms for the near field source

Fig. 2
figure 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
figure 3

RMSE comparison of three algorithms for the far field source

Fig. 4
figure 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.

6 Conclusion

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

7 Appendix

8 Appendix-A

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

9 Appendix-B

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

Let

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

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