1 Introduction

Global positioning system (GPS) has played an important role for tracking and positioning in outdoors. However, it is limited in indoor environments because the satellite signal is seriously disturbed and the positioning accuracy cannot meet the requirements of indoor localization [1,2,3,4]. Therefore, indoor localization has received a high amount of attention over the last years. Among various indoor localization methods, which differ by the type of information and system parameters used, the representative ones are the time-of-arrival (TOA), time-difference-of-arrival (TDOA), direction-of-arrival (DOA), received-signal-strength (RSS), and their combinations.

Nevertheless, NLOS and multipath radio propagation between base station (BS) and mobile station (MS), which can cause biased range estimates in TOA measurements, will dramatically degrade the performance of conventional TOA localization methods. To mitigate the NLOS impact, a variety of techniques and algorithms have been proposed in the literature. Filtering-based method is presented in [5] which only applies to the tracking of mobile tags. The method in [6] struggles to identify the NLOS paths, from a set of mixed measurements including both LOS and NLOS paths. However, this approach requires LOS measurements involved and cannot be expected to be efficient when signals only propagate through the NLOS paths. In [7], TOA scattering models are adopted to alleviate the NLOS error, whereas the distributions of NLOS error may not be available in the practical environment. A robust scheme in [8] utilizes one-bound scattering and discards multiple-bound scattering to improve the accuracy of NLOS localization. But it needs bidirectional estimations of both AOA and TOA measurements, which means more hardware costs. The VS method has been used to solve the NLOS and multipath problem in [9,10,11]. Using the known room geometry, the reflections can be mapped onto virtual anchors, i.e., the known positions of virtual sources that can be used for estimating the position of the receiver. However, the methods in [9, 10] only resolved the multipath problem and only considered the reflections off the walls, and methods in [11] ignored the reflections and diffractions caused by obstacles as well as the effect of people in the room.

In our previous work [12], we proposed a geometrical approach using the VS method based on TOA and AOA measurements. But measuring AOA needs array antennas which will increase the hardware costs. In this paper, we present a VS method only based on the TOA measurements for the simple NLOS environments where the signals undergo no more than one-bound scattering. We assume that the NLOS multipath signals undergo one-bound scattering (reflection of diffraction) at most, because multiple-bound scattering can be ignored as they suffer from severe fading and may be too weak to be observed [9]. We first develop a geometric TOA model for NLOS environments, establish the VSs, and derive the path estimation algorithm to estimate the realistic signal propagation paths as well as the possible positions of the unknown MS by the TOA measurements between every BS and MS. Then, we determine the final position of the MS based on the least squares principle. Finally, the performance bound of the proposed algorithm is analyzed and the simulations are run to demonstrate the effectiveness of the proposed algorithm. The paper is organized as follows: In Section 2, the proposed VS method is described in detail. Section 3 will provide the analytic performance bound of the proposed method. Section 4 analyzes the performance of our model by simulations. Section 5 concludes the research efforts.

2 The TOA-based VS algorithm

2.1 Motivation

A typical TOA-based localization algorithm for LOS conditions consists of two kinds of parameters: one is distance parameters which contain the measured distances between every BS and the position of the unknown MS; the other is position parameters which include the positions of BSs. In the following analysis, we will take the least squares (LS) algorithm as an example of localization algorithm for LOS conditions.

To measure the time-of-arrival between a BS (transmitter) and a MS (receiver), we usually detect the peak of the received signal arriving on the first detectable path, and the time delay τ of the peak is the measurement of the TOA. The estimated distance between the transmitter and the receiver is \( \widehat{d}=\tau \times c \), in which c is the speed of radio wave propagation.

Under LOS conditions, the direct path is always the strongest path so that the amplitude is higher than the threshold. Therefore, the first detectable path is the direct path. However, paths arriving in close vicinity of the direct path will shift the peak of the first path causing modest positive ranging errors [13]. So, the measured range \( {\widehat{d}}_{\mathrm{LOS}} \) between a BS and a MS can be expressed as [14]:

$$ {\widehat{d}}_{\mathrm{LOS}}= d+ e $$
(1)

where d is the Euclidean distance between the anchor and the tag and e represents the Gaussian random noise with zero-mean and standard deviation σ.

But under NLOS conditions, the direct path is blocked by objects situated between the transmitter and the receiver and may not be detected at all. Therefore, the measured range \( {\widehat{d}}_{\mathrm{NLOS}} \) can be given by:

$$ {\widehat{d}}_{\mathrm{NLOS}}= d+{b}_{\mathrm{NLOS}}+ e $$
(2)

where b NLOS is the propagation delay imposed by NLOS. Because e can be neglected in comparison with b NLOS, the measured range is always larger than the true distance under NLOS condition

$$ {\widehat{d}}_{\mathrm{NLOS}}> d $$
(3)

As a result, if we use \( {\widehat{d}}_{\mathrm{NLOS}} \) as the distance parameters of conventional LS algorithm, the localization error will be larger in NLOS conditions. So, many efforts have been made to estimate the Euclidean distance d from the measured distance \( {\widehat{d}}_{\mathrm{NLOS}} \) in order to reduce the difference between them [7].

But the other kind of parameters has not been attached importance yet, and the positions of the BSs. Instead of using the locations of real BSs, we employ the positions of VSs. We still use the measured distance in NLOS condition as the distance parameters of LS algorithm. Then, if we can estimate which path (direct path, reflection path, or diffraction path) is the first detectable path between every BS and the MS, the VSs can be established so that reflections and diffractions can be treated equivalently as signals coming from the VSs through the direct paths from the MS’s perspective. Therefore, the NLOS problem has been converted into LOS problem, and the LS algorithm can be applied in NLOS conditions via the cooperation of several VSs.

2.2 Geometric TOA model for NLOS and establishment of VSs

Based on the above analysis, in order to estimate the distance between BS and MS, we measure the first detective path length \( {\widehat{l}}_i \), which can be expressed as

$$ {\widehat{l}}_i={l}_{FPi}+ e $$
(4)

where l FPi represents the first detectable path length and i is the BS number, i = 1, 2,…, M.

Consider a MS with unknown position at X = [x, y]T, receiving signal from a BS at known positions, namely, X i  = [x i , y i ]T, where Tdenotes the transpose operator and i is the BS number. The TOA measurement between the BS and the unknown MS is \( {\widehat{l}}_i \).The VS is set up at \( {\mathbf{X}}_i^{k_i}={\left[{\mathrm{x}}_i^{k_i},{\mathrm{y}}_i^{k_i}\right]}^T \), where k i is the VS number of the ith real BS, and the estimated virtual path length is \( {\widehat{l}}_{vi}^{\zeta_i} \), where ξ i is the path type, and ξ i  = 1, 2, or 3 represents the direct path, reflection path, and diffraction path, respectively.

In indoor environments with obstacles including people, there are mainly four kinds of signal paths: direct paths, reflection paths, diffraction paths, and penetration paths.

2.2.1 Direct paths

Assuming that the signal propagates from the BS at X i to the MS at X through a direct path, l FPi in (4) can be expressed as

$$ {l}_{FPi}={\left\Vert {\mathbf{X}}_i-\mathbf{X}\right\Vert}_2 $$
(5)

where||·||2 represents the 2-norm.

For the consistency of the whole model, we also set VS X i 1 at the real BS position X i , and the estimated virtual path length \( {\widehat{l}}_{vi}^1 \) is equal to the measured path length \( {\widehat{l}}_i \)

$$ {\widehat{l}}_{vi}^1={\widehat{l}}_i $$
(6)

2.2.2 Penetration paths

When signal propagates through obstacles, it slows down and gets dispersed [15]. But these effects can be neglected in comparison with other NLOS errors. The only effect of penetration we consider in our work is attenuating the signal strength which may affect the first detective path.

Indoor environments are often populated with people. The experiment results in [16] revealed that no additional ranging error occurs due to the presence of the human body in TOA measurements with the proper choice of the detection threshold. The results also showed that the power of the direct path is strongly attenuated by the presence of the human body. Therefore, we treated human body effects equivalently as penetration effects.

2.2.3 Reflection paths

In our work, we assume that all reflections are specular reflections [8, 9]. Assuming that the signal propagates from the BS at X i to the MS at X through a reflection path, the path length we measured with the TOA method is \( {\widehat{l}}_i \). As depicted in Fig. 1a, we represent the reflector A j B j as a line

$$ \left\{\begin{array}{c}\hfill y={m}_j x+ c\begin{array}{ccc}\hfill \hfill & \hfill \hfill & \hfill {m}_j\ne \infty \hfill \end{array}\hfill \\ {}\hfill x={c}_j\begin{array}{ccc}\hfill \hfill & \hfill \hfill & \hfill \begin{array}{cc}\hfill \hfill & \hfill \hfill \end{array}{m}_j=\infty \hfill \end{array}\hfill \end{array}\right. $$
(7)

where j = 1, 2,…, N represents the number of obstacle.

Fig. 1
figure 1

TOA model of reflection and diffraction. a Reflection. b Diffraction

The VS at \( {\mathbf{x}}_i^{k_i} \) and the real station X i are a pair of symmetry points of line A j B j , so the position of the VS can be expressed as

$$ {\mathbf{X}}_{{}_i}^{k_i}=\left\{\begin{array}{c}\hfill \left[\begin{array}{c}\hfill {m}_j{x}_i\hfill \\ {}\hfill {y}_i/{m}_j-2{c}_j\hfill \end{array}\right]\begin{array}{ccc}\hfill \hfill & \hfill \hfill & \hfill {m}_j\ne \infty \hfill \end{array}\hfill \\ {}\hfill \left[\begin{array}{c}\hfill 2{c}_j-{x}_i\hfill \\ {}\hfill {y}_i\hfill \end{array}\right]\begin{array}{ccc}\hfill \hfill & \hfill \hfill & \hfill \kern1.25em {m}_j=\infty \hfill \end{array}\hfill \end{array}\right. $$
(8)

It looks like that the signal transmits from \( {\mathbf{x}}_i^{k_i} \) to X through a direct path. Therefore, l FPi in (4) can be given as

$$ {l}_{FPi}={\left\Vert {\mathbf{X}}_i^{k_i}-\mathbf{X}\right\Vert}_2 $$
(9)

The virtual path length can be estimated as

$$ {\widehat{l}}_{vi}^2={\widehat{l}}_i $$
(10)

If the reflection happens, the estimated length of the first detectable path should be larger than the distance between the VS and the point P, which is the intersection point of line A j B j and line \( \widehat{\mathbf{x}}{\mathbf{x}}_i^{k_i} \).

$$ {\left\Vert \widehat{\mathbf{X}}-{\mathbf{X}}_i^{k_i}\right\Vert}_2>{\left\Vert \mathbf{P}-{\mathbf{X}}_i^{k_i}\right\Vert}_2 $$
(11)

2.2.4 Diffraction paths

Assuming that the signal propagates from the BS at X i to the MS at X through a diffraction path, the path length we measured is \( {\widehat{l}}_i \). As depicted in Fig. 1b, the diffraction happens at point A j and its position is considered as a known vector. So, l FPi in (4) can be given as

$$ {l}_{FPi}={\left\Vert {\mathbf{X}}_i^{k_i}-\mathbf{X}\right\Vert}_2+{\left\Vert {\mathbf{X}}_i^{k_i}-{\mathbf{X}}_i\right\Vert}_2 $$
(11)

We can get \( {\left\Vert {\mathbf{x}}_i^{k_i}-{\mathbf{x}}_i\right\Vert}_2 \) in (12) from the floor plan information.

We establish the VS at point A j , so that it looks like the signal transmits from the VS to the MS at X t through a direct path and the virtual path length can be estimated as

$$ {\widehat{l}}_{vi}^3={\widehat{l}}_i-{\left\Vert {\mathbf{X}}_i^{k_i}-{\mathbf{X}}_i\right\Vert}_2 $$
(12)

If the diffraction happens,

$$ {\left\Vert \widehat{\mathbf{X}}-{\mathbf{X}}_i^{k_i}\right\Vert}_2>{\left\Vert {\mathbf{X}}_i^{k_i}-{\mathbf{X}}_i\right\Vert}_2 $$
(14)

In this work, we assume that the NLOS environment is simple that the signals undergo no more than one-bound scattering (reflection or diffraction), and multi-bound scattering can be ignored as they suffer from severe fading and may be too weak to be observed [8].

In NLOS indoor environment, the floor plan can be easily obtained. Then, we can develop a group of VS for every BS based on the above analysis.

2.3 Path estimation algorithm

After considering all possible signal paths and establishing VSs for them, we choose one VS from every VS group \( {\mathbf{x}}_1^{k_1},{\mathbf{x}}_2^{k_2},\dots, {\mathbf{x}}_M^{k_M} \); we can get the corresponding virtual path length \( {\widehat{l}}_{v i}^{\zeta_1},\kern0.5em {\widehat{l}}_{v2}^{\zeta_2},\kern0.5em \dots, {\widehat{l}}_{v M}^{\zeta_M} \). Then, we can utilize the existing TOA localization algorithm, least squares for example, to obtain a possible position \( {\widehat{\mathbf{X}}}^{k_1,{k}_1,..,{k}_M} \) of the MS by (15), and so on; we can get all the possible positions of the MS, the total of which is K 1× K 2 × … × K M.

$$ {\widehat{\mathbf{X}}}^{k_1,{k}_2,\dots, {k}_M}={\left({A}^T A\right)}^{-1}{A}^T b $$
(13)

where

$$ A=2\left[\begin{array}{cc}\hfill {x}_1^{k_1}-{x}_2^{k_2}\hfill & \hfill {y}_1^{k_1}-{y}_2^{k_2}\hfill \\ {}\hfill \vdots \hfill & \hfill \vdots \hfill \\ {}\hfill {x}_1^{k_1}-{x}_M^{k_M}\hfill & \hfill {y}_1^{k_1}-{y}_M^{k_M}\hfill \end{array}\right]\kern2.5em b=\left[\begin{array}{c}\hfill {\left({x}_1^{k_1}\right)}^2-{\left({x}_2^{k_2}\right)}^2+{\left({y}_1^{k_1}\right)}^2-{\left({y}_2^{k_2}\right)}^2+{\left({\widehat{l}}_{v1}^p\right)}^2-{\left({\widehat{l}}_{v2}^p\right)}^2\hfill \\ {}\hfill \vdots \hfill \\ {}\hfill {\left({x}_1^{k_1}\right)}^2-{\left({x}_M^{k_M}\right)}^2+{\left({y}_1^{k_1}\right)}^2-{\left({y}_M^{k_M}\right)}^2+{\left({\widehat{l}}_{v1}^p\right)}^2-{\left({\widehat{l}}_{v M}^p\right)}^2\hfill \end{array}\right] $$

If the TOA measurements have no errors, then

$$ \begin{array}{l}\exists {a}_1\in {k}_1,{a}_2\in {k}_2,\dots, {a}_M\in {k}_M\\ {}{\displaystyle \sum_{i=1}^M\Big({\left\Vert {\widehat{\mathbf{X}}}^{a_1,{a}_2,\dots, {a}_M}-{\mathbf{X}}_i^{k i}\right\Vert}_2}-{\widehat{l}}_i^{\xi_i}\Big)=0\end{array} $$
(14)

But if the errors do exist, then we try to minimize the left part of (16),

$$ \left[{a}_1,{a}_2,\dots, {a}_M\right]=\underset{k_1\in \left[1,{K}_1\right],{k}_2\in \left[1,{K}_2\right],\dots, {k}_M\in \left[1,{K}_M\right]}{ \arg \min}\left\{{D}_{k_1,{k}_2,\dots {k}_M}\right\} $$
(15)

where

$$ {D}_{k_1,{k}_2,\dots {k}_M}={\displaystyle \sum_{i=1}^M\Big({\left\Vert {\widehat{\mathbf{X}}}_t^{k_1,{k}_2,\dots, {k}_M}-{\mathbf{X}}_i^{k i}\right\Vert}_2}-{\widehat{l}}_i^{\xi_i}\Big){}^2 $$

Then, \( {\widehat{\mathbf{X}}}^{a_1,{a}_2,\dots, {a}_M} \) is the estimated MS position.

3 Analytical performance bound

The Cramer-Rao lower bound (CRLB) is defined as the lower bound on the variance of the desired parameters of the estimator (in our case, this is the localization parameter X). The bound states that the variance of any unbiased estimator is at least as high as the inverse of the Fisher information. An unbiased estimator that achieves this bound is said to be an efficient estimator that provides the lowest possible minimum mean square error.

In indoor environment, there may be several paths between a BS and a MS because of the multipath problem. To get the CRLB of the proposed localization algorithm, we use a new parameter \( {p}_i^{k_i} \) to represent the probability that the path number of the measured TOA from the ith BS is k i , k i  = 1, 2, …, K i .

When the indoor signal channel is stable and the measured path is the same path between the BS and the MS in every TOA measurements. There is only one path number q i

$$ {p}_i^{k_i}=\left\{\begin{array}{c}\hfill 1\kern1em {k}_i={q}_i\hfill \\ {}\hfill 0\kern1em {k}_i\ne {q}_i\hfill \end{array}\right. $$
(16)

When the indoor signal channel is complicated with relatively large flow of people, the measured path may be not the same in every TOA measurements, so \( {p}_i^{k_i} \) needs to be practically measured.

The Fisher information matrix of the proposed method can be given as

$$ {\mathbf{J}}_0= E\left\{\left[\frac{\partial }{\partial \mathbf{w}} \ln f\left(\boldsymbol{\Lambda} \Big|\mathbf{w}\right)\right]{\left[\frac{\partial }{\partial \mathbf{w}} \ln f\left(\boldsymbol{\Lambda} \Big|\mathbf{w}\right)\right]}^T\right\}={\displaystyle \sum_{j=1}^{K_1\times {K}_2\times \dots \times {K}_N}{P}_j}\left[\frac{\partial }{\partial \mathbf{w}} \ln f\left({\boldsymbol{\Lambda}}_j\Big|\mathbf{w}\right)\right]{\left[\frac{\partial }{\partial \mathbf{w}} \ln f\left({\boldsymbol{\Lambda}}_j\Big|\mathbf{w}\right)\right]}^T $$
(17)

where

$$ \begin{array}{l}{P}_{j=1}={p}_1^1\times {p}_2^1\times \dots \times {p}_N^1\\ {}{P}_{j=2}={p}_1^2\times {p}_2^1\times \dots \times {p}_N^1\\ {}\kern3.5em \vdots \\ {}{P}_{j={K}_1}={p}_1^{K_1}\times {p}_2^1\times \dots \times {p}_N^1\\ {}\kern3.5em \vdots \\ {}{P}_{j={K}_1\times {K}_2\times \dots \times {K}_N}={p}_1^{K_1}\times {p}_2^{K_2}\times \dots \times {p}_N^{K_N}\\ {}{\boldsymbol{\Lambda}}_{j=1}=\left[{\varLambda}_1^1,{\varLambda}_2^1,\dots, {\varLambda}_N^1\right]\\ {}{\boldsymbol{\Lambda}}_{j=2}=\left[{\varLambda}_1^2,{\varLambda}_2^1,\dots, {\varLambda}_N^1\right]\\ {}\kern5.5em \vdots \\ {}{\boldsymbol{\Lambda}}_{j={K}_1}=\left[{\varLambda}_1^{K_1}\times {\varLambda}_2^1\times \dots \times {\varLambda}_N^1\right]\\ {}\kern5.5em \vdots \\ {}{\boldsymbol{\Lambda}}_{j={K}_1\times {K}_2\times \dots \times {K}_N}=\left[{\varLambda}_1^{K_1}\times {\varLambda}_2^{K_2}\times \dots \times {\varLambda}_N^{K_N}\right]\\ {}{\varLambda}_i^{k_i}=\sqrt{{\left( x-{x}_i^{k_i}\right)}^2+{\left( y-{y}_i^{k_i}\right)}^2}+{n}_i^{k_i}\end{array} $$

Then, we can get

$$ {\mathbf{H}}_{j=1}=\left[\begin{array}{cc}\hfill \frac{x-{x}_1^1}{d_{V1}^1}\hfill & \hfill \frac{y-{y}_1^1}{d_{V1}^1}\hfill \\ {}\hfill \frac{x-{x}_2^1}{d_{V2}^1}\hfill & \hfill \frac{y-{y}_2^1}{d_{V2}^1}\hfill \\ {}\hfill \vdots \hfill & \hfill \vdots \hfill \\ {}\hfill \frac{x-{x}_N^1}{d_{V N}^1}\hfill & \hfill \frac{y-{y}_N^1}{d_{V N}^1}\hfill \end{array}\right],\dots, {\mathbf{H}}_{j={K}_1\times {K}_2\times \dots \times {K}_N}=\left[\begin{array}{cc}\hfill \frac{x-{x}_1^{K_1}}{d_{V1}^{K_1}}\hfill & \hfill \frac{y-{y}_1^{K_1}}{d_{V1}^{K_1}}\hfill \\ {}\hfill \frac{x-{x}_2^{K_2}}{d_{V2}^{K_2}}\hfill & \hfill \frac{y-{y}_2^{K_2}}{d_{V2}^{K_2}}\hfill \\ {}\hfill \vdots \hfill & \hfill \vdots \hfill \\ {}\hfill \frac{x-{x}_N^{K_N}}{d_{V N}^{K_N}}\hfill & \hfill \frac{y-{y}_N^{K_N}}{d_{V N}^{K_N}}\hfill \end{array}\right] $$
(20)
$$ {{\mathbf{J}}_0}^{-1}={\displaystyle \sum_{j=1}^{K_1\times {K}_2\times \dots \times {K}_N}{P}_j}{\left({{\mathbf{H}}_j}^T\mathbf{Q}{\mathbf{H}}_j\right)}^{-1} $$
(21)
$$ {\sigma}_{\mathrm{CRLB}}^2= t r\left({\mathbf{J}}_0^{-1}\right)={\displaystyle \sum_{j=1}^{K_1\times {K}_2\times \dots \times {K}_N}{P}_j\frac{J_{xxj}+{J}_{yyj}}{\left({J}_{xxj}{J}_{yyj}-{J}_{xyj}^2\right)}} $$
(22)

where

$$ \begin{array}{l}{J}_{x xj}+{J}_{y yj}=\frac{N}{\sigma^2}\\ {}{J}_{x xj}{J}_{y yj}-{J}_{x yj}^2={\displaystyle \sum_{i=1}^N{\left(\frac{x-{x}_i^{k_i}}{\sigma {d}_i^{k_i}}\right)}^2}{\displaystyle \sum_{i=1}^N{\left(\frac{y-{y}_i^{k_i}}{\sigma {d}_i^{k_i}}\right)}^2}-{\left[{\displaystyle \sum_{i=1}^N\frac{\left( x-{x}_i^{k_i}\right)\left( y-{y}_i^{k_i}\right)}{{\left(\sigma {d}_i^{k_i}\right)}^2}}\right]}^2\end{array} $$

4 Simulation results

To evaluate the performance of the proposed VS method, simulations have been conducted. As shown in Fig. 2, three BSs were located at BS1 (6, 8), BS2 (14, 16), and BS3 (24, 5), respectively. The MS was located at three test points, A (13, 16), B (6, 12), and C (16, 1). The first detectable path between every anchor and every test point were assumed as the figure shows. We also set two people, P1 and P2, so that the LOS path may be not the first detectable path in some conditions. When the MS was located at point A, two paths were LOS and the other one is one-bound scattering path; when at point B, one path was LOS and the others were one-bound scattering paths; when at point C, all three paths were one-bound scattering paths.

Fig. 2
figure 2

Simulation environment

Figures 3 and 4 illustrates the root mean square error (RMSE) comparison and the cumulative distribution function (CDF) comparison among the SDP (semidefinite programming) algorithm [17], ML [10], and TSWLS [10] estimators with and without using our VS method respectively with σ i  = 1 m. One thousand independent runs are simulated to obtain the RMSE. The CRLB in Fig. 3 is obtained in the situation which the indoor signal channel is complicated, and we assume that \( {p}_i^1={p}_i^2=\dots {p}_i^{k_i} \). As Figs. 3a and 4a illustrated, when the MS was located at point A, where most paths were LOS paths, the performances of the five algorithms were almost the same. When the MS was located at point B where the NLOS problem is more serious than that at A, the algorithms which used our VS method had a better performance than others, as Figs. 3b and 4b show. When the MS was located at point C, where the LOS path did not exist, the two algorithms which used our VS method are much more accurate than those that did not use our VS method, and the advantage of the VS method is more obvious.

Fig. 3
figure 3

ALE comparison. a Point A. b Point B. c Point C

Fig. 4
figure 4

CDF comparison. a Point A. b Point B. c Point C

5 Conclusions

In this paper, we have proposed a VS method for converting the NLOS problem into LOS problem by using virtual stations, so that the conventional localization algorithm for LOS conditions can be applied to simple NLOS conditions where the multiple-bound scattering signal paths can be ignored. We utilized only TOA measurements and the floor plan of the indoor environment and established TOA model considering reflection, diffraction, penetration, and human body effect in NLOS environments, and the performance bound of the VS method was also analyzed. Simulation results confirmed the robustness of our VS method in terms of RMSE and ALE.