1 Introduction

Nowadays, location-awareness devices have facilitated people’s daily lives. The most renowned system for tracking a user in outdoor environment is the global positioning system (GPS). However, this system is not reliable in indoor environments duo to its weak signals and insufficient accuracy. Therefore, other methods are needed to track the users and/or objects in indoor environments such as warehouses, museums, hospitals and shopping malls. Indoor positioning is a mean that is able to locate an object precisely in an intricate indoor environment [1]. Many types of technologies have been embedded in indoor positioning systems [2]; however, ultra-wideband (UWB) systems, using short-duration pulses, present a good resolution of about a few centimeters [3] which can potentially provide higher accuracy. Conventional UWB indoor positioning algorithms require at least two or three physical anchors. Once the time of arrival of the signals from physical anchors is calculated at receiver, the object location is estimated by exploiting approaches like multilateration and trilateration [4].

In this paper, the user location is achieved only by one physical anchor in contrast to the conventional requirement. In order to achieve reliable and realistic results, our attempt is to approach the simulated channel power delay profile (PDP) to the real world by means of introducing a novel channel model. Inasmuch as the rest of the procedure is based on signal processing, we expect that our algorithm, utilizing the proposed model, to work properly in both real-world environments and computer simulations. For this purpose, we modify the Saleh-Valenzuela (SV) channel model based on the floor plan and building material which the room is made from. The primary concern so far has been to predict the power loss with respect to distance [5]. For the deterministic part of the model, the power and the time of arrival of signals are derived by calculating the reflection coefficient of the incidence surface and by utilizing ray tracing (RT), respectively.

We introduce virtual anchors which are created by only one physical anchor. Then, we extract the relevant information from received signal based on our defined channel model. Lack of data association and existence of clutters between real data are the main challenges in this work. We use random finite set (RFS) and parallel particle filter to deal with these problems. We will show that our proposed method requires no motion model to estimate the object trajectory. However, this method needs a precise floor plan to compute the positions of the virtual anchors.

The remainder of this letter is organized as follows. First, we briefly explain the SV channel model. Then, it is claimed that why the random finite set (RFS) concept is appropriate for this framework. Following to that, we will discuss the procedure of the proposed indoor positioning algorithm in three phases based on RFS and particle filter (PF) concepts. Finally, simulation results and conclusions are presented, respectively.

2 Channel model

Based on the SV UWB channel model, rays arrive in L clusters, each one includes \(K_l\) rays [6] as follows:

$$\begin{aligned} h(t)=\sum _{\ell =0}^{L}\sum _{k=0}^{K_\ell }\beta _{k\ell }\delta (t-T_\ell -\tau _{k\ell }) \end{aligned}$$
(1)

where \(\delta (\cdot )\) is the Dirac delta function, \(T_\ell \) is the arrival time of the \(\ell {\mathrm {th}}\) cluster, \(\tau _{k\ell }\) and \(\beta _{k\ell }\) are the arrival time and the amplitude of the \(k{\mathrm {th}}\) ray within the \(\ell {\mathrm {th}}\) cluster, respectively. Moreover, L and \(K_\ell \) denote the number of clusters and the number of rays in the \(\ell {\mathrm {th}}\) cluster. In order to reflect the properties of the channel which are altered in accordance to the transmitter position, the amplitudes \(\beta _{0l}\) and arrival times \(T_l\) of the rays in the onset of clusters, leaders, are modeled deterministically. For the stochastic part, arrival times of rays \(\tau _{kl}\) are modeled via a mixture of two Poisson processes [7]. Specular reflections off the walls are associated with leaders. The distance between the transmitter and virtual anchors (VAs), the images of the receiver mirrored along the walls, indicates the flight time of leaders which is obtainable by the means of ray tracing (RT). Appearance of a cluster can be withdrawn from the channel PDP owing to the obstructive effect of blind spots, such as pillars. A simple RT procedure is capable to identify any available VAs. Once all available VAs are obtained, the arrival time of the leaders \(T_l\) can be simply calculated as follows:

$$\begin{aligned} T_l=\frac{{\parallel P_{V\!\!A_l}-P_t\parallel }_2}{c},\;\;\;l=0,\ldots ,N_Z \end{aligned}$$
(2)

where \(\parallel \cdot \parallel _2\) is the Euclidean norm operator, \(N_Z\) is the number of visible virtual anchors, and c is the light velocity. Each leader loses power duo to the collision in reflection points. Denoting the transmitter initial power in decibel as \(P_{\mathrm {tr}}^\mathrm {db}\), leader gains are given by:

$$\begin{aligned} | \beta _{0l} |^{2^{db}}=P_\mathrm {tr}^\mathrm {db}+P_\mathrm {freespace}^\mathrm {db}+\sum _{m=1}^{N_\mathrm {reflection}} P_{\mathrm {reflection}}^{\mathrm {db}}(m) \end{aligned}$$
(3)

where \(N_\mathrm {reflection}\) is the number of reflections. Now we refer to [8] for a model of the free space loss. Power loss caused by reflection can be derived from:

$$\begin{aligned} P^{\mathrm {dB}}_{\mathrm {reflection}}=20\log |\varGamma _{\mathrm {total}}| \end{aligned}$$
(4)

where the reflection coefficient \(\varGamma _{\mathrm {total}}\), for an oblique transverse magnetic (TM) wave colliding with a slab of thickness h is given as:

$$\begin{aligned} \varGamma _{\mathrm {total}}= & {} \frac{(Z_0+Z_1)(Z_1-Z_0)(1-e^{-j2hK_{1Z}})}{(Z_0+Z_1)^2-(Z_1-Z_0)^2e^{-j2hK_{1Z}}} \end{aligned}$$
(5)

In this equation, \(Z_0\), \(Z_1\) and \(K_{1Z}\) are:

$$\begin{aligned} Z_0= & {} \eta _0\cos \theta _i \end{aligned}$$
(6)
$$\begin{aligned} Z_1= & {} \eta _1\sqrt{1-\frac{1}{\varepsilon _{r_1}}\sin ^2\theta _i}\end{aligned}$$
(7)
$$\begin{aligned} K_{1Z}= & {} K_1\sqrt{1-\frac{1}{\varepsilon _{r_1}}\sin ^2\theta _i} \end{aligned}$$
(8)

where K, \(\eta \), \(\theta _i\) and \(\varepsilon _{r_1}\) are the wavenumber, the intrinsic impedance of the media, the incident angle, and the relative permittivity of the surface, respectively. The power of the rays within a cluster decays linearly from its own leader power with a time constant of \(\gamma \) in logarithmic scale. Moreover, a Nakagami distribution with shape parameter m modeled as log-normally distributed random variable whose logarithm has a mean of \(\mu _m\) and standard deviation of \(\sigma _m\) is in charge of the modeling of small-scale fading [9].

Approximating the location of the object of interest requires identification and extraction of floor plan-dependent data, and the leaders’ arrival time, among all delay bins. By multiplying the following three matrices \(\varPsi =\mathbf {Q_1}\mathbf {Q_2}\mathbf {P}\) and defining a threshold \(\varPsi _\mathrm {th}\), analogous to [10], clusters’ leaders become observable:

$$\begin{aligned} \mathbf {P}= & {} \begin{bmatrix} P_1 \\ P_2 \\ \vdots \\ P_N \end{bmatrix}, \;\;\; \mathbf {Q_1}= \begin{bmatrix} 1&\quad 1&\quad 0&\quad 0&\quad \cdots&\quad 0&\quad 0 \\ 0&\quad 1&\quad 1&\quad 0&\quad \cdots&\quad 0&\quad 0 \\ \vdots&\quad&\quad&\quad \ddots&\quad&\quad&\quad \vdots \\ 0&\quad 0&\quad \cdots&\quad 0&\quad \cdots&\quad 1&\quad 1 \end{bmatrix}\\ \mathbf {Q_2}= & {} {\begin{bmatrix} \!\frac{-1}{|\tau _1-\tau _2|} \!\!&\quad \!\! \frac{+1}{|\tau _1-\tau _2|} \!\!&\quad \!\! 0 \!\!&\quad \!\! 0 \!\!&\quad \!\! \cdots \!\!&\quad \!\! 0 \!\!&\quad \!\! 0 \\ 0 \!\!&\quad \!\! \frac{-1}{|\tau _2\!-\!\tau _3|} \!\!&\quad \!\! \frac{+1}{|\tau _2\!-\!\tau _3|} \!\!&\quad \!\! 0 \!\!&\quad \!\! \cdots \!\!&\quad \!\! 0 \!\!&\quad \!\! 0 \\ \vdots \!\!&\!\! \!\!&\quad \!\! \!\!&\quad \!\! \ddots \!\!&\quad \!\! \!\!&\quad \!\! \!\!&\quad \!\! \vdots \\ 0 \!\!&\quad \!\! 0 \!\!&\quad \!\! \cdots \!\!&\quad \!\! 0 \!\!&\quad \!\! \cdots \!\!&\quad \!\! \frac{-1}{|\tau _{N\!-\!1}\!-\!\tau _N|} \!\!&\quad \!\! \frac{+1}{|\tau _{N\!-\!1}\!-\!\tau _N|}\nonumber \\ \end{bmatrix}} \end{aligned}$$

A too high or low designated threshold will lead to missing some leaders and entering clutters among real data, respectively.

3 Justification of a random finite set

Primarily, we do not know the raw data in the measurement set has been originated from which VA. Secondly, depending on the designated value for \(\varPsi _\mathrm {th}\), the number of extracted leaders varies in each time step. The last but not least, power fluctuation causes clutters to enter among leaders. On the one hand, random finite set (RFS) concept skips performing the data association (DA) algorithm before the state estimation phase, which is mandatory in random vector (RV) concept [11]. On the other hand, potential variety in the cardinality of a set can deal with alternative characteristics of extracted data.

4 Positioning algorithm

One of the most popular methods for object position estimation is based on the posterior probability function. Bayesian estimator recursively provides an approximation of the posterior probability function. In [12], particle filter (PF) has been proposed to numerically implement the Bayesian estimator. Adopting PF in conjunction with the RFS concept in this paper results in the disposal of data association additional to the motion model (MM) demand. Once distances to VAs are calculated, \(D_i=c\;T_i\), the RFS of the measurements \(\mathbf Z \) is defined as:

$$\begin{aligned} \mathbf Z =\{D_{\mathrm {LOS}},D_1,\ldots ,D_{(N_{Z}-1)}\} \end{aligned}$$
(9)

where the LOS link is assumed to be always presented. As a result of the power variations from noise floor to a positive peak, the first leader’s arrival time is known to the receiver. In order to bypass the restriction caused by a-priori knowledge about the object’s initial location pdf \(P(x_0)\), in this paper we use a parallel particle filter (PPF) framework. Hence, position estimation will be completed in three phases:

4.1 Initialization phase

\(N_{in}\) initial particles spread randomly on each circular segment \(\mathscr {CS}_{in}\) formed by the intersection of the walls and a circle centered at the receiver position with the radius \(D_{\mathrm {LOS}}\).

4.2 Sampling phase

In order to highlight the particle closest to the real transmitter position, we allocate a weighting factor to each particle. Given the state of the target x, each measurement component acquires the likelihood value as follows:

$$\begin{aligned} f(z_i|x)=\frac{1}{\sqrt{2\pi \sigma ^2}}\exp \left( \frac{-\Vert z_i-\mu \Vert ^2}{2\sigma ^2}\right) ,\mu =\Vert P_{V\!\!A}-x\Vert \end{aligned}$$
(10)

We define a set \(\varUpsilon \) to represent all possible VA selection. Due to the lack of a-priori order for one member of the set \(\varUpsilon \), for the \(i{\mathrm {th}}\) set in \(\varUpsilon \), \(\varUpsilon _{Z_i}\) embodies all possible permutations. Given the \(i{\mathrm {th}}\) set of \(\varUpsilon \) the likelihood measurement for \(n{\mathrm {th}}\) particle is as follows:

$$\begin{aligned} f_i^{(n)}(Z|x^{(n)})=\sum _{j=1}^{(N_{Z}-1)!}f \left( \varUpsilon _{Z_{i}}^{(j)}|x^{(n)},\varUpsilon ^{(i)}\right) \end{aligned}$$
(11)

The likelihood function in the right side of Eq. (11) using Eq. (10) is:

$$\begin{aligned} f\left( \varUpsilon _{Z_{i}}^{(j)}|x^{(n)},\varUpsilon ^{(i)}\right) =\frac{1}{C_{f}}\prod _{q=1}^{N_{Z}}f\left( \varUpsilon _{Z_{i}}^{(j)}(q)|x^{(n)}, \varUpsilon ^{(i)}(q)\right) \nonumber \\ \end{aligned}$$
(12)

where \(C_{f}\) is added to make the integral of the pdf equal to one. Consequently, total likelihood function for the \(n{\mathrm {th}}\) particle is:

$$\begin{aligned} f^{(n)}(Z|x^{(n)})= & {} \sum _{i=1}^{\left( {\begin{array}{c}N_{V\!\!A}\\ N_{Z}-1\end{array}}\right) } f_i^{(n)}(Z|x^{(n)})\nonumber \\= & {} \sum _{i=1}^{\left( {\begin{array}{c}N_{V\!\!A}\\ N_{Z}-1\end{array}}\right) }\sum _{j=1}^{(N_{Z}-1)!} f(\varUpsilon _{Z_{i}}^{(j)}|x^{(n)},\varUpsilon ^{(i)}) \end{aligned}$$
(13)

Finally, the weight \(w^{(n)}\) is assigned to the \(n{\mathrm {th}}\) particle:

$$\begin{aligned} w^{(n)}=\frac{f^{(n)}(Z|x^{(n)})}{\sum _{r=1}^{N_{p}}f^{(r)}(Z|x^{(r)})} \end{aligned}$$
(14)

For the next step, \(M_{P}\) particles are chosen as PF leaders as follows:

  1. 1.

    For \(q=1:M_{P}\)

  2. 2.

    Choose the maximum weight among all the particles on \(\mathscr {CS}_{in}\).

  3. 3.

    Store the particle obtained in step 2 as the leader of the \(q{\mathrm {th}}\) PF.

  4. 4.

    Discard all the particles at the distance of \(\frac{V_{\mathrm {max}}}{2}\) to the \(q{\mathrm {th}}\) leader on \(\mathscr {CS}_{in}\).

  5. 5.

    End for

Maximum a-posteriori (MAP) estimator selects the particle whose weight is higher than the other particles’ weight as the approximated agent position.

4.3 Resampling phase

The maximum distance that an object can move in one time step is less than \(V_{\mathrm {max}}\). The next position will definitely be within the circle \(\mathscr {C}\) around the previous location with radius \(V_{\mathrm {max}}\). In addition, it will be placed on the circular segment \(\mathscr {CS}\) created by the intersection of walls and a circle centered at the receiver with the radius of \(D_{\mathrm {LOS}}\). Hence, with the probability one, the object of interest will be on \(\mathscr {CS}_{\mathrm {new}}\), a part of circular segment \(\mathscr {CS}\) that is fallen into the circle \(\mathscr {C}\).

For the \(i{\mathrm {th}}\) PF, \(N_{p}\) particles spread randomly on their own circular segment \(\mathscr {CS}_{\mathrm {new}_i}\). Then, Eq. (14) is applied to calculate the weight of each particle within \(PF_i\). After choosing the particle whose weight is maximum among other particles within \(PF_i\) as leader of \(PF_i\), the leader’s weight is updated with due attention to the previous step as follows:

$$\begin{aligned} w_k^{(i)}=\frac{w_{k-1}^{(i)}\tilde{w}_k^{(i)}}{\sum _{j=1}^{M_{P}}w_{k-1}^{(j)}\tilde{w}_k^{(j)}} \end{aligned}$$
(15)

where \(w_{k-1}^{(i)}\) is the weight of the \(i{\mathrm {th}}\) leader at the time index \(k-1\) and \(\tilde{w}_k^{(i)}\) is the weight of chosen particle on the circular segment around the \(i{\mathrm {th}}\) leader at the time index k. The estimated position based on MAP estimator is as follows:

$$\begin{aligned} \hat{x}_{\mathrm {MAP}}=\arg \max _{x^{(i)}}w^{(i)} \end{aligned}$$
(16)

Thanks to the uniqueness of the real position, the weight of the incorrect leaders tends to zero after a few time steps. Defining a threshold potentially decreases the computational cost.

Owing to the lack of a-priori knowledge, there is no sign to distinguish and extinguish the clutters presented among the real data. Clutters could make the algorithm converge to the incorrect PF. A simple but efficient solution would be to reshape the likelihood function into a normal distribution that is truncated from both side. We define new likelihood function as follows:

$$\begin{aligned} f(z_i|x)= {\left\{ \begin{array}{ll} \mathscr {N}(\mu ,\sigma _m)&{}\mu -l_{\mu }<z_i<\mu +l_{\mu } \\ 1&{}\text {o.w.} \end{array}\right. } \end{aligned}$$
(17)

where \(l_{\mu }\) is truncation value. Note that the value of \(l_{\mu }\) has to be greater than the difference of the distance of the \(i{\mathrm {th}}\) particle \(d_i\) and the \(j{\mathrm {th}}\) particle \(d_j\) in any PF. Otherwise, there is a probability that some particles get bigger weights than the true particle weights within one PF. By utilizing the triangle inequality theorem, \(|d_j-d_i|<d_{ij}\), and the fact that the distance of two points \(d_{ij}\) within the circle is less than the diameter, \(d_{ij}<2V_{\mathrm {max}}\), the value of \(2V_{\mathrm {max}}\) is chosen for \(l_{\mu }\).

5 Simulation results

We assume two scenarios as shown in Fig. 1. Scenario 1 consists of three straight paths with two abrupt changes in its corners and Scenario 2 refers to a nonlinear trajectory which alters to a straight line suddenly. We have set the values of \(V_{\mathrm {max}}\), \(N_{in}\) and \(N_{p}\) to 40 cm, 300 and 100, respectively.

Fig. 1
figure 1

Two different scenarios: Scenario 1 consists of three straight paths with two abrupt changes in its corners and scenario 2 refers to a nonlinear trajectory which alters to a straight line suddenly

Figure 2a and b shows the results obtained by the proposed algorithm. Based on MATLAB simulation outcomes, the algorithm could track both trajectories precisely in spite of the existence of exceedingly sharp corners. The proposed algorithm is not sensitive to nonlinearity since no MM is adopted. Hence, the system performance will not be degraded under nonlinear conditions (like in Scenario 2).

Fig. 2
figure 2

The results of the proposed algorithm for a scenario 1 and b scenario 2

Fig. 3
figure 3

The cumulative distribution function of the distance error. The simulation has been repeated 100 times for both scenarios

Fig. 4
figure 4

The comparison of the proposed model with two other relevant models. Both of them are adopting linear MM. The proposed algorithm has better performance in spite of the fact that it does not require any MM

Fig. 5
figure 5

The cumulative distribution function of the distance error for the case that a wall position has error in provided floor plan

Figure 3 shows the cumulative distribution function (CDF) of the distance error. For 91% and 96% of the trajectory points in scenarios 1 and 2, respectively, the error is less than 20 cm. The simulation has been repeated 100 times for both scenarios and a mean error of about 3 cm for all trajectory points is achieved while about 7% of extracted data from channel PDP has been clutter.

Figure 4 shows the differences between the proposed model and the method developed in [13]. We have chosen Scenario 1 because both of them assumed a linear path. [13] employs the OSPA metric [14] to associate data to VAs, then it utilizes the extended Kalman filter in addition to a linear MM to estimate the object position and achieved the 22 cm error for 90% of the points. Moreover, the article has proposed particle filter in conjunction with MM to eliminate the DA obligation. It is crystal clear that the algorithm proposed in this paper, not only does not require any DA and MM, but also provides a better accuracy particularly in nonlinear trajectories.

Using one physical anchor decreases the overall cost of the positioning system. In other words, the installation, calibration and maintenance of the proposed system are easier than traditional methods which require several physical anchors. However, this algorithm needs the floor plan of the indoor environment. For a precise estimation of the object position, most of the VAs should be visible. Hence, the main limitation of the proposed method is that the system performance depends on the number of blind spots which make the VAs invisible.

These blind spots should be included in the floor plan in order to inform the algorithm in which VA is available. If such an information is not provided, the invisible VA continues its role on the estimation of the object position. Therefore, the accuracy will be degraded. In addition, the position of the walls should be considered precisely. Figure 5 shows the error CDFs when a wall has a position error (PE) within the range of 5 cm and 20 cm in the floor plan. As indicated in the figure, all of the curves with \(PE\ne 0\) are close to each other. Two possible reasons can be suggested for this outcome. A) there is a probability that a leader associated with a VA is not detected in PDP at each time step. Hence, the wall position error will affect the results slightly. B) other VAs mitigate the effect of the VA created by the wall with position error. However, the inaccuracy of a wall position in floor plan has increased the average error from 3 cm to 11.7 cm.

6 Conclusions

Contrary to the traditional methods, which are disregarding some parts of the channel PDP, we are able to utilize floor plan-dependent information of received signal to estimate the location of an agent in indoor environments. Designing this system requires defining a deterministic-stochastic channel model to reflect the room geometry information. In this paper, we modified the renowned SV channel model by introducing and adding deterministic characteristics by means of RT and surface reflection coefficient. Duo to variety in the size of measurement set in each time step, RFS framework has been adopted to deal with this challenge. The presented algorithm does not need any motion model and is able to precisely track any trajectory albeit the existence of severe nonlinearity. Moreover, the demand of storing agent velocity and acceleration has been abolished, which causes the cardinality of state to be reduced. Finally, a comparison in terms of CDFs with two related algorithms showed that the algorithm proposed in this paper will provide a better performance particularly in nonlinear trajectories. However, the main limitation of the proposed method is that the system performance will be degraded when multiple VAs are invisible due to the existence of blind spot in indoor environment.