1 Introduction

Location determination techniques are commonly adopted in the military and observation industry. In the case of a location-based service, such as navigation and guidance, the precise position estimation of an emitter irrespective of its environment is the most significant problem. The global positioning system (GPS) is the most widely used source localization method. However, the exact position cannot be obtained by GPS in an indoor environment since the satellite signal cannot pass through building. Moreover, GPS requires at least four available satellite signals to perform position estimation, and a GPS signal is vulnerable to disturbance from interference and jamming. Recently, a location determination technique using the time difference of arrival (TDOA) method was applied for estimating the location in an indoor environment. The TDOA method is a geolocation technique that uses the difference in arrival times between an emitter and each known receiver. The TDOA signal can be obtained through two methods. The first method acquires the time of arrival (TOA) between an emitter and an individual receiver. Then, the TDOA measurements are calculated by subtracting TOA measurements from that of the reference. In order to apply this method, every receiver must be time synchronized. The second method involves a cross-correlation method among all received signals in order to derive TDOA signals [1]. It is difficult to estimate the precise position of an emitter using the TDOA method since the TDOA signals include noise caused by the NLOS problem and measurement error.

In order to estimate the precise position of an emitter, Shen et al. [2] proposed location determination techniques based on TOA and TDOA with optimization methods, such as the Taylor series method and the approximate maximum likelihood method in a line of sight (LOS) environment. The error rate was determined to compare the performance of each location estimation method. Musicki et al. [3] proposed a mobile emitter geolocation method using a Gaussian mixture presentation of a measurements-integrated track splitting filter, and Kang et al. [4] suggested the iteration location estimation algorithm in which NLOS signal is iteratively removed to obtain the exact location in a wireless sensor network.

In this paper, we propose the NLOS section identification of each receiver using a Kalman filter. With the LOS TDOA data, which eliminated NLOS-containing TDOA data sections, we apply an RWLS method to a TDOA-based localization formula in order to compensate for errors from nonlinear measurement values. The RWLS algorithm is an iterated method of a weighted least square (WLS) algorithm. Since the weight value derived using a covariance matrix of the WLS algorithm is applied to the geolocation problem, it has better performance than the generalized least square (LS) technique [5]. Moreover, this proposed algorithm provides a fast computational rate, even when receiving additional TDOA data. This paper is organized as follows: Sect. 2 presents the NLOS identification method using a Kalman filter. In Sect. 3, the system model for location determination based on TDOA is analyzed. Section 4 explains measurement error compensation using the RWLS algorithm. Through the simulation results in Sect. 5, the performance of the proposed algorithm is demonstrated. Finally, conclusions are presented in Sect. 6.

2 Kalman Filter-Based NLOS Identification

NLOS noise is a significant problem in location-based services, causing a time delay in the signal traveling from an emitter to a receiver. In a real environment, the measured TOA and TDOA data from receivers contain the environmental noise caused by the measurement error and NLOS problem. In most wireless communication based geolocation schemes, NLOS problem can be occurred by the attenuation factors such as Rayleigh fading. For the case of a downtown or a building interior, the impediments such as structures and walls which exist between an emitter and receivers obstruct the propagation and lead to NLOS problem. The time delay caused by NLOS problem in a practical communication channel deteriorates the estimation accuracy of geolocation. In Sect. 2, the measured TOA at each receiver is divided by some sections in accordance with the sampling time. Each section is composed of the TOA data set which is measured at each receiver. During the corresponding sampling interval, some data sections which contain NLOS noise cause the inaccuracy in emitter geolocation. We identify the section as in the NLOS or LOS condition using a Kalman filter. The Kalman filter is an algorithm that provides an efficient computational means to estimate the state of a process in such a way that minimizes the mean of a squared error. The state of an emitter can be estimated with a Kalman filter through measurement data. We need to formulate the state-space model of an emitter’s movement in order to apply a Kalman filter to a geolocation problem [6, 7]. Using two-dimensional coordinates, we analyze the state of the emitter through two types of equation sets that express x-direction and y-direction movement, respectively. The state-models are independently derived for the x-position and y-position of an emitter as follows

$$\begin{aligned} \mathbf{s}_{k+1}=\mathbf{A} \mathbf{s}_k + {\varvec{\Gamma }} w_k, \;\;\; k=1,\ldots ,P \end{aligned}$$
(1)

where

$$\begin{aligned} \mathbf{A} = \left[ \begin{array}{cc} 1 & \Delta t \\ 0 & 1 \end{array} \right] , \;\;\; {\varvec{\Gamma }} = \left[ \begin{array}{c} 0 \\ \Delta t \end{array} \right] . \end{aligned}$$

In Eq. (1), the state vector of emitter \(\mathbf{s}_k\) is represented as \(\left[ p_x, \; v_x \right] ^T\) for the x-direction or \(\left[ p_y, \; v_y \right] ^T\) for the y-direction at sampling time \(t_k\). \(p_x\) and \(v_x\) are the location and velocity in the x-direction, respectively. \(w_k\) is the driving variable with a variance \(C= \sigma ^2_c\). The measurement state variable, denoted by \(z_k\), is expressed as in the following equation:

$$\begin{aligned} z_k = \mathbf{B} \mathbf{s}_k + m_k \end{aligned}$$
(2)

with \(\mathbf{B}=\left[ 1 \;\; 0 \right]\). \(z_k\) which can be obtained from the measured TOA data through triangulation method is used as an observation factor in Kalman filter process. \(m_k\) is the measurement noise variable with a variance of \(R= \sigma ^2_m\).

Using Eqs. (1) and (2), the iterative process of the Kalman filter can be derived as the following Eq. (3).

$$\begin{aligned} \hat{\mathbf{s}}^-_k& = \mathbf{A} \hat{\mathbf{s}}_{k-1} \\ \mathbf{P}^-_k & = \mathbf{A} \mathbf{P}_{k-1} \mathbf{A}^T + {\varvec{\Gamma }} C {\varvec{\Gamma }}^T \\ \mathbf{K}_k & = \mathbf{P}^-_k \mathbf{B}^T (\mathbf{B} \mathbf{P}^-_k \mathbf{B}^T + R)^{-1} \\ \hat{\mathbf{s}}_k & = \hat{\mathbf{s}}^-_k + \mathbf{K}_k ( z_k -\mathbf{B} \hat{\mathbf{s}}^-_k ) \\ \mathbf{P}_k & = \mathbf{P}^-_k - \mathbf{K}_k \mathbf{B} \mathbf{P}^-_k{.} \end{aligned}$$
(3)

The first two equations in (3) represent the time update process, while the last three equations are the measurement update process. \(\mathbf{P}_k\) means the covariance matrix of state vector \(\mathbf{s}_k\), and \(\mathbf{K}_k\) denotes the Kalman filter gain. The updated estimate \(\hat{\mathbf{s}}_k\) and the covariance \(\mathbf{P}_k\) in Eq. (3) are valid for the optimal Kalman gain, which is derived by \(\mathbf{K}_k\) in Eq. (3). We estimate the emitter location \(\hat{\mathbf{s}}_k\) at sampling time \(t_k\) through this update operation.

In order to determine whether the section is under the LOS or NLOS condition, we compare the measured and estimated distance data between an emitter and each receiver. The distance between an emitter and the i-th receiver, denoted by \(r^\circ _i\), can be obtained from the TOA data as follows:

$$\begin{aligned} r^\circ _i = c t^\circ _i \end{aligned}$$
(4)

where c represents the signal propagation speed, and \(t^\circ _i\) denotes the TOA between an emitter and the i-th receiver. The measured distance data \(r_m (t_k)\) at sampling time \(t_k\) consists of a true distance, a measurement error, and an NLOS error as in the following equation:

$$\begin{aligned} r_m(t_k) = r^\circ _m (t_k) + \varDelta r_m (t_k) + \varDelta r_{nlos} t(k). \end{aligned}$$
(5)

In Eq. (5), \(r^\circ _m (t_k)\), \(\varDelta r_m (t_k)\), and \(\varDelta r_{nlos} (t_k)\) represent the real distance between an emitter and a specific receiver, the measurement distance error, and the NLOS distance error, respectively. Using the Kalman filter expressed by Eq. (3), we derive the estimated location of an emitter. On the basis of this estimate, the standard deviation of the measured distance can be formulated as follows

$$\begin{aligned} \hat{\sigma }_{nlos} = \sqrt{\frac{1}{N} \sum _{k=1}^N (r_m(t_k) - r_{\scriptscriptstyle Kalman} (t_k))^2 } \end{aligned}$$
(6)

where \(r_{\scriptscriptstyle Kalman} (t_k)\) is the estimated range that can be calculated with the estimated location of an emitter. The parameter N is the total number of distance data \(r_m(t_k)\) in each section.

In this paper, without loss of generality, at least one receiver is supposed to be located in the LOS environment to apply the criterion for identification of NLOS data section. The standard deviation \(\hat{\sigma }_m\) in the LOS condition is derived similarly to Eq. (6). We then identify the section that contains the NLOS noise using the following hypothesis test with the criterion of \(\varepsilon \hat{\sigma }_m\).

$$\begin{aligned} H_1 (\text{LOS}\,\text{condition}): \;\; \hat{\sigma }_{nlos} < \varepsilon \hat{\sigma }_m \\ H_2 (\text{NLOS}\,\text{condition}): \;\; \hat{\sigma }_{nlos} \ge \varepsilon \hat{\sigma }_m \end{aligned}$$
(7)
Fig. 1
figure 1

Estimated location of an emitter using the TDOA method

The parameter \(\varepsilon\) is chosen according to the environment. We determine the section of measured distance data \(r_m (t_k)\) from each receiver whether under the LOS or NLOS environment using the hypothesis test of Eq. (7). In order to estimate the accurate location of an emitter, the identified LOS distance data is used for geolocation.

3 System Modeling for Localization

We briefly derive the TDOA-based location estimation solution. In order to apply the RWLS algorithm to a geolocation problem, we need to express the TDOA formulation of an emitter in a closed analytic form. To obtain the TDOA measurement value, at least three receivers are needed in order to apply the RWLS algorithm in a two-dimensional system. The unknown location of an emitter is represented in two-dimensional Cartesian coordinates as \(\mathbf{u}= \left[ x \;\; y \right] ^T\), and the known position of each receiver is expressed as \(\mathbf{p}_i = \left[ x_i \;\; y_i \right]\), \(i=\{ 1, 2, \ldots , M \}\). Figure 1 is a simple conceptual diagram of geolocation determination using the TDOA method. We obtain the TDOA measurement values as follows

$$\begin{aligned} r_{i1}^\circ& = ct_{i1}, \\ r^\circ _i& = \Vert \mathbf{u} - \mathbf{p}_i \Vert \end{aligned}$$
(8)

where \(t_{i1}\) is the TDOA between the i-th receiver and the first receiver. The TDOA data which is confirmed as a LOS data through the hypothesis test of Eq. (7) can be used for geolocation. The distance data (\(r^\circ _i\)) between an emitter and the i-th receiver is obtained from LOS data and is acquired using the proposed Kalman filter in Sect. 2. The distance \(r^\circ _i\) can be expressed as follows:

$$\begin{aligned} r^\circ _i = r^\circ _1 + r ^\circ _{i1}, \;\; i=2,3,\ldots ,M. \end{aligned}$$
(9)

With Eq. (9) and \((r^\circ _i )^2 = \langle \mathbf{u}- \mathbf{p}_i, \; \mathbf{u} - \mathbf{p}_i \rangle\), the geolocation equation is as follows:

$$\begin{aligned} \Vert \mathbf{u} \Vert ^2 - 2 \mathbf{p}^T_i \mathbf{u} + \Vert \mathbf{p}_i \Vert ^2 = \Vert \mathbf{u} \Vert ^2 - 2 \mathbf{p}_1^T \mathbf{u} + \Vert \mathbf{p}_1 \Vert ^2 + 2 r^\circ _1 r^\circ _{i1} + (r^\circ _{i1})^2. \end{aligned}$$
(10)

The geolocation problem of Eq. (10) can be represented in a closed form as

$$\begin{aligned} \Vert \mathbf{p}_1 \Vert ^2 - \Vert \mathbf{p}_i \Vert ^2 + (r^\circ _{i1})^2 = 2 \langle \mathbf{p}_1 - \mathbf{p}_i, \; \mathbf{u} \rangle - 2 r^\circ _1 r^\circ _{i1}, \quad i=2,3,\ldots ,M. \end{aligned}$$
(11)

In order to simplify the geolocation equation, we set the first receiver’s position at the origin of the coordinate system. Since the position of the first receiver is set as \(\mathbf{p}_1 = \left[ 0 \;\; 0 \right] ^T\), we obtain the formulation of an emitter through Eq. (11) as follows:

$$\begin{aligned} \mathbf{Gu} = \mathbf{h} + \rho \mathbf{r}^\circ _1 \end{aligned}$$
(12)

where

$$\begin{aligned} \mathbf{G}= & {} \left[ \begin{array}{c} \mathbf{p}_2^T \\ \vdots \\ \mathbf{p}^T_M \end{array} \right] , \; \rho = \left[ \begin{array}{c} r^\circ _{21} \\ \vdots \\ r^\circ _{M1} \end{array} \right] , \; \mathbf{d} = \left[ \begin{array}{c} \langle \mathbf{p}_2, \mathbf{p}_2 \rangle \\ \vdots \\ \langle \mathbf{p}_M, \mathbf{p}_M \rangle \end{array} \right] , \\ \mathbf{h}= & {} \left[ \begin{array}{c} \Vert \mathbf{p}_2 \Vert ^2 - (r^\circ _{21})^2 \\ \vdots \\ \Vert \mathbf{p}_M \Vert ^2 - (r^\circ _{M1})^2 \end{array} \right] = \frac{1}{2} ( \mathbf{d} - \rho \cdot {\varvec{\rho }}) \end{aligned}$$

The vector \(\mathbf{u}\) is then the solution of the geolocation problem. [8] The symbol (·) denotes a Hadamard product of vector elements of the same size array.

In a real case, the TDOA data is affected by measurement noise. Equation (12), however, is the noise-free case in which the solution \(\mathbf{u}\) is obtained in terms of parameter \(r^\circ _i\). Since the measurement noise causes a time delay in TDOA data, we need to rewrite the parameters \(\rho\) and \(\mathbf{h}\) which are affected by TDOA data \(\mathbf{t}\). Considering the measurement noise, the TDOA data is given by

$$\begin{aligned}&\mathbf{t} = col \{ t^\circ _{k1} + \varDelta t_{k1}, \; k=2,\ldots ,M \} = \mathbf{t}_0 + {\varvec{\Delta }}{} \mathbf{t} \\&{\varvec{\Delta }} \mathbf{t} = col \{ \varDelta t_{k1}, \; k=2,\ldots , M \}, \\&{ \mathbf Q_t } \mathop {=}\limits ^{\varDelta } E \left[ {\varvec{\Delta }}{} \mathbf{t} {\varvec{\Delta }} \mathbf{t}^T \right] , \;\; E \left[ {\varvec{\Delta }} \mathbf{t} \right] = 0 \end{aligned}$$
(13)

Using \(\mathbf{t} = \mathbf{t}_0 + {\varvec{\Delta }}{} \mathbf{t}\), the parameters \(\rho\) and \(\mathbf{h}\) are changed as follows

$$\begin{aligned} \rho& = {\varvec{\rho }}_0 - c {\varvec{\Delta }}{} \mathbf{t} \\ \mathbf{h}& = \mathbf{h}_0 + c \rho _0 \cdot {\varvec{\Delta }}{} \mathbf{t} \end{aligned}$$
(14)

Let’s define \(\rho _o\) and \(\mathbf{h}_0\) as \(\rho _0=-c \mathbf{t}_0\) and \(\mathbf{h}_0 = 1/2 (\mathbf{d} - \rho _0 \cdot {\varvec{\rho }}_0 )\), respectively. To include the effect of measurement noise in the system equations, Eq. (12) is rewritten using Eq. (14).

$$\begin{aligned} \mathbf{Gu}& = \mathbf{b}_0 + c \mathbf{B} {\varvec{\Delta }}{} \mathbf{t}, \\ \mathbf{b}_0 & = \mathbf{h}_0 + \rho _0 r^\circ _1, \\ \mathbf{B} & = diag ( \rho _0 ) -r^\circ _1 \mathbf{I} \end{aligned}$$
(15)

The measurement noise in the TDOA data of a real case causes a problem in that the estimated location of the emitter differs from the real location. By eliminating the measurement noise, a more accurate location is derived. To solve this problem, we propose the RWLS algorithm in Sect. 4.

4 Recursive Weighted Least Square Algorithm

The RWLS algorithm is an iterated type of WLS algorithm. In order to apply the RWLS algorithm to a geolocation problem using a TDOA method, we need to represent the geolocation solution in terms of the WLS algorithm. The WLS algorithm is an extended case of a general LS algorithm. Each term in the WLS criterion includes an additional weight that determines the influence of each term in the data set on the final estimated value. Therefore, the WLS algorithm shows better performance than the general LS algorithm [9, 10]. In Sect. 2, we compensated for the NLOS noise using the proposed Kalman filter-based hypothesis test. However, the TDOA signal still includes measurement noise. In Sect. 4, we obtain the WLS solution of the TDOA formulation derived in Sect. 2. Based on the WLS solution, the RWLS algorithm is applied to a geolocation equation. We obtain a much more accurate emitter location with additional TDOA data using the RWLS algorithm. In comparison to the WLS algorithm, the iterative process of the RWLS method also provides a fast convergence rate.

We first derive the WLS solution before we apply the RWLS algorithm. The geolocation equation with TDOA formulation was obtained in Sect. 3. The general WLS solution of this equation is expressed as follows [11]:

$$\begin{aligned} \mathbf{u_{\scriptscriptstyle WLS}} = (\mathbf{G}^T \mathbf{Q G})^{-1} \mathbf{G}^T \mathbf{Q b_0} \end{aligned}$$
(16)

where \(\mathbf{Q}= (\mathbf{BQ_t B}^T){-1} / c^2\) represents the covariance matrix that determines the weight of each TDOA data value. With the additional TDOA data, the geolocation equation can be rewritten as

$$\begin{aligned} \left[ \begin{array}{c} \overline{\mathbf{G}}_k \\ \mathbf{G}_{k+1} \end{array} \right] \mathbf{u} = \left[ \begin{array}{c} \overline{\mathbf{b}}_{\mathbf{0},k} \\ \mathbf{b}_{\mathbf{0}, k+1} \end{array} \right] + c \left[ \begin{array}{c} \overline{\mathbf{B}}_k \\ \mathbf{B}_{k+1} \end{array} \right] \left[ \begin{array}{c} {\varvec{\Delta }} \overline{\mathbf{t}}_k \\ {\varvec{\Delta }} \mathbf{t}_{k+1} \end{array} \right] \end{aligned}$$
(17)

In Eq. (17), \(\overline{\mathbf{G}}_k = \left[ \mathbf{G}_1 \; \mathbf{G}_2 \ldots \mathbf{G}_k \right] ^T\), \(\overline{\mathbf{b}}_{\mathbf{0}, k}= \left[ \mathbf{b}_{\mathbf{0},1} \; \mathbf{b}_{\mathbf{0},2} \ldots \mathbf{b}_{\mathbf{0},k} \right] ^T\), \(\overline{\mathbf{B}}_k\)= \(\left[ \mathbf{B}_1 \; \mathbf{B}_2 \ldots \right.\) \(\left. \mathbf{B}_k \right] ^T\), and \({\varvec{\Delta }} \overline{\mathbf{t}}_k = \left[ {\varvec{\Delta }} \mathbf{t}_1 \; {\varvec{\Delta }} \mathbf{t}_2 \ldots {\varvec{\Delta }} \mathbf{t}_k \right] ^T\) are the parameters that contain a set of k data. \(\mathbf{G}_{k+1}\), \(\mathbf{b}_{\mathbf{0}, k+1}\), \(\mathbf{B}_{k+1}\), and \({\varvec{\Delta }} \mathbf{t}_{k+1}\) are the additional (\(k+1\))-th parameters. Based on Eq. (16), the WLS solution that contains a set of k+1 data can be represented as

$$\begin{aligned} \mathbf{u}_{k+1}& = \left[ \overline{\mathbf{G}}^T_{k+1} \overline{\mathbf{Q}}_{k+1} \overline{\mathbf{G}}_{k+1} \right] ^{-1} \overline{\mathbf{G}}^T_{k+1} \overline{\mathbf{Q}}_{k+1} \overline{\mathbf{b}}_{\mathbf{0},k+1} \\ \overline{\mathbf{Q}}_{k+1}& = \left[ \begin{array}{ll} \overline{\mathbf{Q}}_k &\quad 0 \\ 0 &\quad \mathbf{Q}_{k+1} \end{array} \right] \end{aligned}$$
(18)

where \(\overline{\mathbf{Q}}_{k+1}\) is a covariance matrix that contains a set of k+1 data. \(\mathbf{Q}_{k+1}\) is the (\(k+1\))-th covariance matrix. Let’s define \(\overline{\mathbf{P}}_{k+1}\) as \(\overline{\mathbf{P}}_{k+1} = \left[ \overline{\mathbf{G}}^T_{k+1} \overline{\mathbf{Q}}_{k+1} \overline{\mathbf{G}}_{k+1} \right] ^{-1}\) for notational simplicity. With this definition, the following equation can be derived.

$$\begin{aligned} \overline{\mathbf{P}}^{-1}_{k+1} = \overline{\mathbf{P}}^{-1}_k + \mathbf{G}^T_{k+1} \mathbf{Q}_{k+1} \mathbf{G}_{k+1} \end{aligned}$$
(19)

In Eq. (19), \(\mathbf{G}_{k+1}\) and \(\mathbf{Q}_{k+1}\) are the (\(k+1\))-th parameters. Using Eq. (19), Eq. (18) can be rewritten as follows

$$\begin{aligned} \mathbf{u}_{k+1}&= \overline{\mathbf{P}}_{k+1} \left[ \overline{\mathbf{G}}^T_k \overline{\mathbf{Q}}_k \overline{\mathbf{b}}_{\mathbf{0},k} + \mathbf{G}^T_{k+1} \mathbf{Q}_{k+1} \mathbf{b}_{\mathbf{0},k+1} \right] \\& = \overline{\mathbf{P}}_{k+1} \left[ \overline{\mathbf{P}}^{-1}_k \overline{\mathbf{P}}_k \overline{\mathbf{G}}^T_k \overline{\mathbf{Q}}_k \overline{\mathbf{b}}_{\mathbf{0},k} + \mathbf{G}^T_{k+1} \mathbf{Q}_{k+1} \mathbf{b}_{\mathbf{0},k+1} \right] \end{aligned}$$
(20)

Since \(\mathbf{u}_k\) represents \(\mathbf{u}_k = \overline{\mathbf{P}}_k \overline{G}^T_k \overline{\mathbf{Q}}_k \overline{\mathbf{b}}_{\mathbf{0},k}\), Eq. (20) is expressed as

$$\begin{aligned} \mathbf{u}_{k+1}& = \overline{\mathbf{P}}_{k+1} \left[ \overline{\mathbf{P}}^{-1}_k \mathbf{u}_k + \mathbf{G}^T_{k+1} \mathbf{Q}_{k+1} \mathbf{b}_{\mathbf{0},k+1} \right] \\ & = \mathbf{u}_k + \overline{\mathbf{P}}_{k+1} \mathbf{G}^T_{k+1} \mathbf{Q}_{k+1} ( \mathbf{b}_{\mathbf{0},k+1} - \mathbf{G}_{k+1} \mathbf{u}_k ) \end{aligned}$$
(21)

Using Eq. (19), Eq. (21) can be rewritten as follows

$$\begin{aligned} \mathbf{u}_{k+1}& = \mathbf{u}_k +(\overline{\mathbf{G}}^T_k \overline{\mathbf{Q}}_k \overline{\mathbf{G}}_k + \mathbf{G}^T_{k+1} \mathbf{Q}_{k+1} \mathbf{G}_{k+1} )^{-1} \mathbf{G}^T_{k+1} \\&\times \mathbf{Q}_{k+1} ( \mathbf{b}_{\mathbf{0},k+1} - \mathbf{G}_{k+1} \mathbf{u}_k ) \end{aligned}$$
(22)

Equation (22) is the RWLS solution of a geolocation problem, where \(\mathbf{u}_k\) represents the estimated location of an emitter derived by a set of k data. The initial value \(\mathbf{u}_o\) of an emitter location can be estimated with the initial TDOA data through WLS algorithm in Eq. (16). \(\overline{\mathbf{G}}_k\) and \(\overline{\mathbf{Q}}_k\) are the parameters based on a set of k data. \(\mathbf{u}_k\), \(\overline{\mathbf{G}}_k\), and \(\overline{\mathbf{Q}}_k\) are the existing data derived before applying the RWLS algorithm. \(\mathbf{G}_{k+1}\), \(\mathbf{Q}_{k+1}\), and \(\mathbf{b}_{\mathbf{0},k+1}\) are the additional information calculated using the (\(k+1\))-th measurement data. Using the previously acquired data and additional measurement information, the location of an emitter is more accurately estimated through the RWLS algorithm.

5 Performance Analysis

5.1 Cramer–Rao Lower Bound

In statistical estimation theory, the Cramer–Rao lower bound (CRLB) expresses the theoretical lower bound of the variance of any unbiased estimator for unknown deterministic parameters. [12] In this paper, the CRLB describes the lower bound of errors that are the result of our proposed RWLS algorithm. The CRLB is derived from the inverse of the Fisher information matrix (FIM). The FIM is expressed as follows

$$\begin{aligned} J=E\left[ \left( \frac{\partial \ln p (r|u)}{\partial u} \right) ^T \left( \frac{\partial \ln p (r|u)}{\partial u} \right) \right] \end{aligned}$$
(23)

In the FIM equation, \(r= \left[ r_{21} \ldots r_{M1} \right]\) is a vector of the range difference at each receiver compared to the first receiver derived from the measured TDOA data, p(r|u) is the probability density function of r and \(\ln p(r|u)\) is the natural logarithm of a likelihood function. Assuming the TDOA data follows the Gaussian distribution, we define \(m_r\) and C as the mean and covariance matrix, respectively. After derivation of the FIM defined as Eq. (23), the CRLB can be obtained as

$$\begin{aligned} CRLB(u)&= J^{-1} \\ & = \left[ \left( \frac{\partial m_r (u)}{\partial u} \right) ^T C^{-1} \left( \frac{\partial m_r (u)}{\partial u} \right) \right] ^{-1} \end{aligned}$$
(24)

In our simulation, the root mean square error (RMSE) is used for determining the performance of our proposed RWLS algorithm. The RMSE lower bound of any position estimation can be derived from the CRLB as follows:

$$\begin{aligned} n_{crlb}= \sqrt{ \frac{ \left( CRLB(u) \right) _{1,1} + \left( CRLB (u) \right) _{2,2}}{2} } \end{aligned}$$
(25)

where \(\left( CRLB (u) \right) _{ij}\) represents the (\(i, \; j\)) entry of the CRLB matrix.

Fig. 2
figure 2

Estimated trajectory comparison between the proposed method and general LS

Fig. 3
figure 3

RMSE comparison between the proposed method and general LS

5.2 Simulation Results

We demonstrate the performance of a proposed geolocation algorithm using a Kalman filter and RWLS through simulations. In our simulation, five receivers are used to estimate the emitter location. The initial locations of each receiver are set as (0, 0), (0, 100), (105, 0), (35, 110), and (60, 95) km, respectively. In a real environment, environmental noise and NLOS noise exist in the TDOA signal, which interferes with the localizing emitter. The NLOS noise causes more crucial inaccuracy for geolocation compared to the measurement noise due to additional signal propagation delay.

We assume that both the NLOS noise and measurement noise follow a Gaussian distribution. The variance (\(\sigma _m^2\)) of a measurement noise is set as 0.1 and the variance (\(\sigma _{nlos}^2\)) of NLOS noise is assumed to be greater than \(\sigma _m^2\), \(\sigma _{nlos}^2=10 \sigma _m^2\). Also, we assume the signal propagation speed c and hypothesis test parameter \(\varepsilon\) in Eq. (7) as 1 km/s and 5 for computational simplicity, respectively. Figure 2 depicts the estimated trajectory comparison between the proposed method and general LS algorithm. The thick dotted line represents the estimated emitter location trajectory using the proposed algorithm. The thin dotted line means the estimated trajectory using the general LS algorithm, and the solid line is the true trajectory of the emitter. As shown in this simulation, the estimated trajectory using the proposed algorithm more closely follows the real trajectory than does the general LS algorithm.

Fig. 4
figure 4

RMSE change comparison for the change in iterations

Figure 3 shows the difference between the true trajectory and the estimation at each sampling time. In Fig. 3, the thick solid line denotes the RMSE of the estimated trajectory according to the proposed method. The dotted line represents the RMSE of the estimation using the general LS algorithm. The RMSE of the estimated trajectory determined by the proposed method is much less than that of the LS algorithm-based estimation. The proposed Kalman filter-based NLOS section identification method improves the precision of geolocation. Moreover, the covariance matrix of the proposed RWLS algorithm assigns a weight to each TDOA data value, resulting in a better estimation result compared with the general LS algorithm.

Using the proposed RWLS method, the additionally measured TDOA data are rapidly dealt with the iteration process. The effectiveness of the iteration process is shown in Fig. 4, where the solid line is the RMSE between the true source location and the estimated location of an emitter using the Kalman filter-based NLOS section identification method and RWLS-based geolocation algorithm altogether. The dotted line represents the RMSE of the estimation using the proposed RWLS method in an NLOS environment. As the number of iterations is increased, the RMSE of the emitter position due to the RWLS algorithm converges to zero. We can easily update the estimated location of an emitter through the proposed RWLS algorithm. Moreover, we can confirm the performance of the proposed NLOS identification algorithm. For the same iteration number, the estimated location according to the proposed method shows better performance than that obtained using the RWLS algorithm.

Figure 5 confirms that the proposed method demonstrates a better performance than the general LS-based localization algorithm and RWLS-based geolocation algorithm under NLOS conditions. We depict the RMSE of three algorithms versus the increase in standard deviation of measurement error. The CRLB is also shown for reference. As shown in Fig. 5, the RMSE of RWLS-based estimation is smaller than that of LS-based estimation for the same standard deviation. Also, the proposed method using the Kalman filter and RWLS algorithm demonstrates better performance than the other two algorithms. Figure 6 represents the RMSE of the proposed Kalman filter and RWLS based geolocation algorithm and the LS algorithm for the different layouts between the emitter and the receivers. The upper subfigure and the lower subfigure of Fig. 6 mean the results for a near-field emitter at \(u=(70, 30)\) km and a far-field emitter at \(u=(700, 300)\) km, respectively. Our proposed algorithm shows the improved estimation accuracy than the LS algorithm for both near-field and far-field emitter location.

Fig. 5
figure 5

RMSE versus standard deviation of measurement error

Fig. 6
figure 6

Estimation comparison for near-field and far-field emitter cases

6 Conclusion

In this paper, the emitter localization method using TDOA was introduced. The NLOS error and measurement error are major causes of inaccuracy in location estimation. We applied the Kalman filter-based NLOS section identification algorithm to each receiver in order to compensate for the NLOS error. Moreover, the RWLS-based geolocation method was applied to eliminate measurement error. The general localization algorithms have to be recomputed every time additional TDOA data is received. The proposed RWLS algorithm provides a fast computation rate even when receiving additional TDOA data. Therefore, much more TDOA data can be considered through the simultaneous use of the RWLS algorithm. Moreover, we confirmed the effective performance of the RWLS algorithm-based localization method through our some simulation results. As the number of iteration processes is increased, a more accurate emitter location is obtained.