Keywords

1 Introduction

The main purpose of the indoor localization system is the position estimation accuracy for a better location based service [2, 5]. Cramér-Rao lower bound (CRLB) as the optimal performance indicator for unbiased estimator is widely applied in the localization and positioning systems. Zuo et al. proposed a conditional CRLB which considered the posterior probability is conditioned on the prior probability [12]. For range-based wireless localization system, many researches have provided CRLB results for different scenarios. Qi et al. proposed a generalized CRLB (G-CRLB) of the wireless system for NLOS environment [6]. The hybrid LOS/NLOS environment is analyzed and Qi indicated that with a prior knowledge of wireless transmission channel, the estimation performance can be improved [6]. Shen et al. defined an equivalent CRLB (E-CRLB) to a general framework of the wideband wireless network [7]. The multi-path and NLOS effect are both considered and the CRLB with or without prior information are compared in the E-CRLB [7]. A linear CRLB (L-CRLB) is proposed which consider the linearized effect and provided the lower bound for such estimator [9].

Although the above mentioned CRLBs try to provide the general fundamental limits of the localization systems, these CRLBs still cannot analyze the indoor environment precisely since the indoor environment is complicated and influenced by many unknown factors. In this paper, we propose a general analysis method for the complicated indoor localization systems, which is named extended recursive CRLB (ER-CRLB). Instead of other works which employ a specific wireless model, the derivation of the ER-CRLB is based on the proposed abstract function of all the wireless localization system models. The first contribution is that we construct a recursive form of the Fisher information matrix (FIM) according to \(\varvec{\theta }\), and we illustrate the calculation rule for the ER-CRLB. The major advantage using the analysis of ER-CRLB is that it is suitable for the complicated and dynamic environment and fully considers the prior information, hybrid unknown factors and the recursive feature of the tracking algorithms.

The second contribution is that we employ the ER-CRLB to analyze the robotic indoor localization system as a case study. The trace-driven simulation is constructed with gathered wireless measurement data from a robotic range-based test-bed. We consider all the possible factors, e.g., the target-anchor geometry effect, the building layout, the relative height differences between the target and anchors, the NLOS transmission channel, the related prior information and the recursive feature of the tracking algorithm. In general, the results demonstrate that ER-CRLB is suitable to exploit all the available information to analyze the performance of the indoor localization systems, and it is not restrict to any specific techniques.

2 Fisher Information Matrix Formulation

The mobile device with unknown position is called target, such as mobile sensor node, smartphone and robot. The position state of the target is denoted as \(\varvec{x}_t = [p^X_t \ p^Y_t]^T\), where \(p^X_t\) and \(p^Y_t\) are the coordinates in the two-dimensional positioning system, and T is the transpose operator. The wireless devices with known positions, which measure the ranges (or distances) to the target are called anchors. For each anchor, the position is denoted as \(\mathbf {a}_j = [a^X_j\ a^Y_j]^T\), where \(a^X_j\) and \(a^Y_j\) are the coordinates. According to the Bayesian estimation framework, the relationship between the estimated state \(\varvec{x}_t\) and the measurement \(\mathbf {z}_t\) follows:

$$\begin{aligned} \varvec{x}_t=\mathbf {f}_t(\varvec{x}_{t-1}) + \mathbf {q}_t \end{aligned}$$
(1)
$$\begin{aligned} \mathbf {z}_t=\mathbf {h}_t(\mathbf {d}(\varvec{x}_t, \varvec{k}), \ \varvec{l}) + \mathbf {v}_t \end{aligned}$$
(2)

where (1) is the prediction function and (2) is the abstract measurement function. In (1), the target’s movement is based on the transition function \(\mathbf {f}_t()\), and \(\mathbf {q}_t\) is the prediction noise, which follows normal distribution \(\mathbf {\mathcal {N}(0, Q_t)}\). In (2), \(\mathbf {z}_t = [z^1_t \ldots z^j_t \ldots z^N_t]^T\) is the measurement vector, and N denotes the number of anchors; \(\mathbf {h}_t() = [h^1_t() \ldots h^j_t() \ldots h^N_t()]^T\) is the nonlinear observation function, which relates to the received waveforms at the target from anchors; \(\mathbf {v}_t = [v^1_t \ldots v^j_t \ldots v^N_t]^T\) is the ranging noise, which is assume as independent noise; \(\mathbf {d}() = [d_1() \ldots d_j() \ldots d_N()]^T\) represents the distance vector between the target and anchors. According to the Bayesian theorem, the posterior probability of \(\varvec{x}_t\) is expressed as \(p(\varvec{x}_t|\mathbf {z}_t, \varvec{x}_{t-1}) = p(\varvec{x}_t|\varvec{x}_{t-1})p(\mathbf {z}_t|\varvec{x}_t)\), where \(t-1\) indicates the previous, \(p(\varvec{x}_t|\varvec{x}_{t-1})\) is the prior probability [1].

Our analysis fully considers all the possible unknown random factors that may influence the position estimation, hence the parameter vector includes: the current state \(\varvec{x}_t\), the previous state \(\varvec{x}_{t-1}\), and auxiliary parameter vectors \(\varvec{k}\) and \(\varvec{l}\). Thus, \(\varvec{\theta }\) is expressed as:

$$\begin{aligned} \varvec{\theta } \triangleq \left[ \varvec{x}^T_t \ \varvec{x}^T_{t-1} \ \varvec{k}^T \ \varvec{l}^T \right] ^T \end{aligned}$$
(3)

If \(p(\varvec{\theta },\mathbf {z}_t)\) denotes the joint probability density function (PDF) of observations \(\mathbf {z}_t\) and the state \(\varvec{\theta }\), then the FIM, \(\mathbf {J}(\varvec{\theta })\), is defined as:

$$\begin{aligned} \mathbf {J}(\varvec{\theta }) \triangleq \mathbb {E}\left\{ \nabla _{\varvec{\theta }} \ln p(\varvec{\theta }, \mathbf {z}_t) \left[ \nabla _{\varvec{\theta }} \ln p(\varvec{\theta }, \mathbf {z}_t) \right] ^T\right\} , \end{aligned}$$
(4)

where \(\mathbb {E}\left\{ \cdot \right\} \) indicates the expectation operator, \(\nabla _{\varvec{\theta }} = \left[ \frac{\partial }{\partial \mathbf {\theta _1}}, \ldots , \frac{\partial }{\partial \mathbf {\theta _N}}\right] ^T\) is the operator of first order partial derivatives. And CRLB is just the inverse of FIM, and the estimation covariance can not be lower than it:

$$\begin{aligned} \mathbf {Cov}_{\varvec{\theta }}(\varvec{\tilde{\theta }}) \succeq \{\mathbf {J}(\varvec{\theta })\}^{-1} \end{aligned}$$
(5)

where “\(\mathbf {A} \succeq \mathbf {B}\)” should be interpreted as matrix \(\mathbf {A}-\mathbf {B}\) is non-negative define.

Since \(p(\varvec{\theta }, \mathbf {z}_t) = p(\mathbf {z}_t|\varvec{\theta }) p(\varvec{\theta })\) based on Bayesian theorem, it is easily seen that \(\mathbf {J}(\varvec{\theta })\) can be decomposed into two parts:

$$\begin{aligned} \mathbf {J}(\varvec{\theta }) = \mathbf {J_D}(\varvec{\theta }) + \mathbf {J_P}(\varvec{\theta }) \end{aligned}$$
(6)

where \(\mathbf {J_D}(\varvec{\theta })\) represents the information obtained from measurement data, and \(\mathbf {J_P}(\varvec{\theta })\) represents the prior information.

Firstly, we use the notations \(\mathbf {h} = \mathbf {h}_t(\mathbf {d}(\varvec{x}_t, \varvec{k}), \varvec{l})\), \(h_j = h^j_t(\mathbf {d}(\varvec{x}_t, \varvec{k}), \varvec{l})\), and decompose \(\mathbf {J_D}\) using the chain rule as:

$$\begin{aligned} \mathbf {J_D}(\varvec{\theta }) = \mathbf {H} \cdot \mathbf {J_h} \cdot \mathbf {H}^T \end{aligned}$$
(7)

where \(\mathbf {H} = [\nabla _{\varvec{\theta }} \mathbf {h} ]\) and \(\mathbf {J_h}\) is the FIM conditioned on \(\mathbf {h}\):

$$\begin{aligned} \mathbf {J_h} = \mathbb {E} \left\{ \nabla _{\mathbf {h}} \ln p(\mathbf {z}_t|\varvec{\theta }) \left[ \nabla _{\mathbf {h}} \ln p(\mathbf {z}_t|\varvec{\theta })\right] ^T\right\} \end{aligned}$$
(8)

The matrix \(\mathbf {H}\) is further decomposed into four components:

$$\begin{aligned} \mathbf {H} = \left[ \mathbf {H}_t \ \mathbf {H}_{t-1} \ \mathbf {K} \ \mathbf {L} \right] ^T \end{aligned}$$
(9)

where \(\mathbf {H}_t = [\nabla _{\varvec{x}_t} \mathbf {h}]_{2\times N}\), \(\mathbf {H}_{t-1} = [\nabla _{\varvec{x}_{t-1}} \mathbf {h}]_{2\times N}\), \(\mathbf {K} = [\nabla _{\varvec{k}} \mathbf {h}]_{N_k\times N}\) and \(L = [\nabla _{\varvec{l}} \mathbf {h}]_{N_l\times N}\). Since \(\mathbf {d}\) is independent to the previous state \(\varvec{x}_{t-1}\), \(\mathbf {H}_{t-1} = 0\). For \(\mathbf {J_h}\), we can use diagonal matrices of order N to represent it: \(\mathbf {J_h} = \mathbf {\varLambda } = \mathbf {diag}(\lambda _1, \ldots , \lambda _j, \ldots , \lambda _N)\), where the diagonal term \(\lambda _j\) depends on \(h^j_t()\). Then, \(\mathbf {J_D}\) is written as:

$$\begin{aligned} \begin{aligned} \mathbf {J_D}&= \left[ \begin{array}{cccc} \mathbf {D}_{11} &{} \mathbf {0} &{} \mathbf {D}_{13} &{} \mathbf {D}_{14} \\ \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} &{} \mathbf {0} \\ \mathbf {D}^T_{13} &{} \mathbf {0} &{} \mathbf {D}_{33} &{} \mathbf {D}_{34} \\ \mathbf {D}^T_{14} &{} \mathbf {0} &{} \mathbf {D}^T_{34} &{} \mathbf {D}_{44} \\ \end{array} \right] \end{aligned} \end{aligned}$$
(10)

where

$$\begin{aligned} \left. \begin{array}{ll} \mathbf {D}_{11} = \mathbf {H}_t \varLambda \mathbf {H}^T_t; &{} \mathbf {D}_{33} = \mathbf {K} \varLambda \mathbf {K}^T;\\ \mathbf {D}_{13} = \mathbf {H}_t \varLambda \mathbf {K}^T; &{} \mathbf {D}_{34} = \mathbf {K} \varLambda \mathbf {L}^T;\\ \mathbf {D}_{14} = \mathbf {H}_t \varLambda \mathbf {L}^T; &{} \mathbf {D}_{44} = \mathbf {L} \varLambda \mathbf {L}^T. \\ \end{array} \right. \end{aligned}$$
(11)

The prior probability for \(\varvec{\theta }\) is extended as \(p(\varvec{\theta }) = p(\varvec{x}_t|\varvec{x}_{t-1}) p(\varvec{k}) p(\varvec{l})\), then the prior information is written as:

$$\begin{aligned} \ln p(\varvec{\theta }) = \left[ \ln p(\varvec{x}_t|\varvec{x}_{t-1})\right] + \ln p(\varvec{k}) + \ln p(\varvec{l}) \end{aligned}$$
(12)

where \(p(\varvec{k})\) and \(p(\varvec{l})\) are independent prior information to \(\varvec{x}_t\) and \(\varvec{x}_{t-1}\). If we decompose \(\varvec{\theta }\) into two sub-vectors: the state vector \([\varvec{x}_t \ \varvec{x}_{t-1}]^T\) and the auxiliary vector \([\varvec{k} \ \varvec{l}]^T\). Then, \(\mathbf {J_P}\) can be formulated as:

$$\begin{aligned} \begin{aligned} \mathbf {J_P}&= \mathbb {E}\left\{ \nabla _{\varvec{\theta }} \ln p(\varvec{\theta }) \left[ \nabla _{\varvec{\theta }} \ln p(\varvec{\theta }) \right] ^T\right\} \\&= \left[ \begin{array}{cc} \mathbf {J}_{\mathbf {P}_{11}} &{} \mathbf {J}_{\mathbf {P}_{12}} \\ \mathbf {J}^T_{\mathbf {P}_{12}} &{} \mathbf {J}_{\mathbf {P}_{22}} \\ \end{array} \right] \end{aligned} \end{aligned}$$
(13)

where \(\mathbf {J}_{\mathbf {P}_{11}}\) is the recursive form of \(\varvec{x}_t\) and \(\varvec{x}_{t-1}\), which is formulated by Tichavsky et al. [8]:

$$\begin{aligned} \begin{aligned} \mathbf {J}_{\mathbf {P}_{11}}&= \left[ \begin{array}{cc} \mathbf {M}_{11} &{} \mathbf {M}_{12} \\ \mathbf {M}^T_{12} &{} \mathbf {M}_{22} + \mathbf {J}(\varvec{x}_{t-1}) \\ \end{array} \right] \end{aligned} \end{aligned}$$
(14)

where

$$\begin{aligned} \left. \begin{array}{l} \mathbf {M}_{11} = \mathbf {Q}^{-1}_t\\ \mathbf {M}_{12} = \nabla _{\varvec{x}_{t-1}} \mathbf {f}_t(\varvec{x}_{t-1}) \mathbf {Q}^{-1}_t\\ \mathbf {M}_{22} = \nabla _{\varvec{x}_{t-1}} \mathbf {f}_t(\varvec{x}_{t-1}) \mathbf {Q}^{-1}_t \left[ \nabla _{\varvec{x}_{t-1}} \mathbf {f}_t(\varvec{x}_{t-1})\right] ^T\\ \end{array} \right. \end{aligned}$$
(15)

where \(\mathbf {J}(\varvec{x}_{t-1})\) is the previous FIM of \(\varvec{x}_{t-1}\). And \(\mathbf {J}_{\mathbf {P}_{12}}\) are \(\mathbf {0}\) matrixes since \(p(\varvec{k})\) and \(p(\varvec{l})\) are independent to \(\varvec{x}_t\) and \(\varvec{x}_{t-1}\). The prior distribution \(p(\varvec{x}_t|\varvec{x}_{t-1})\) is also independent to \(\varvec{l}\) and \(\varvec{k}\), thus \(\mathbf {J}_{\mathbf {P}_{21}} = \mathbf {J}^T_{\mathbf {P}_{12}} = \mathbf {0}\). Finally, the last element \(\mathbf {J}_{\mathbf {P}_{22}}\) is expressed as:

$$\begin{aligned} \begin{aligned} \mathbf {J}_{\mathbf {P}_{22}}&= \left[ \begin{array}{cc} \mathbf {J_K} &{} \mathbf {0} \\ \mathbf {0} &{} \mathbf {J_L} \\ \end{array} \right] \end{aligned} \end{aligned}$$
(16)

where \(\mathbf {J_K}\) and \(\mathbf {J_L}\) are the FIMs conditioned on \(\varvec{k}\) and \(\varvec{l}\) respectively:

$$\begin{aligned} \left. \begin{array}{l} \mathbf {J_K} = \mathbb {E} \left\{ \nabla _{\varvec{k}} \ln p(\varvec{k}) \left[ \nabla _{\varvec{k}} \ln p(\varvec{k})\right] ^T\right\} \\ \mathbf {J_L} = \mathbb {E} \left\{ \nabla _{\varvec{l}} \ln p(\varvec{l}) \left[ \nabla _{\varvec{l}} \ln p(\varvec{l})\right] ^T\right\} \\ \end{array} \right. \end{aligned}$$
(17)

Then, substitute (10) and (13) into (6) and use the form of the Schur complement of the sub-matrix [4], the ER-FIM is attained:

$$\begin{aligned} \mathbf {J}(\varvec{x}_t) = \mathbf {J}_S - \mathbf {J}_A \end{aligned}$$
(18)

where:

$$\begin{aligned} \left. \begin{array}{l} \mathbf {J_S} = \mathbf {M}_{11} + \mathbf {D}_{11} - \mathbf {M}_{12} \left( \mathbf {M}_{22} + \mathbf {J}(\varvec{x}_{t-1})\right) ^{-1} \mathbf {M}^T_{12}\\ \mathbf {J_A} = \left[ \mathbf {D}_{13} \ \mathbf {D}_{14}\right] \left[ \begin{array}{cc} \mathbf {D}_{33} + \mathbf {J_K} &{} \mathbf {D}_{34} \\ \mathbf {D}^T_{34} &{} \mathbf {D}_{44} + \mathbf {J_L} \\ \end{array} \right] ^{-1} \left[ \mathbf {D}_{13} \ \mathbf {D}_{14}\right] ^T\\ \end{array} \right. \end{aligned}$$
(19)

And the formulation of each element can be found in (11), (15) and (17).

Equation (18) only holds when all the elements in \(\varvec{\theta }\) are to be estimated and the prior information for the whole \(\varvec{\theta }\) is available. In the real analysis, not all the elements are necessary for \(\varvec{\theta }\), and some vectors are absent sometimes. For instance, for the non-recursive scenario, the system does not consider \(\varvec{x}_{t-1}\). In addition, when the system has deterministic value of the assisted vectors, \(\varvec{k}\) and \(\varvec{l}\) are not estimated and useless for \(\mathbf {J}(\varvec{x}_t)\). Thus, the calculation principle for ER-CRLB is that: when any vector in \(\varvec{\theta }\) is absent, the related matrix in (18) turns to \(\mathbf {0}\) and we will treat the such \(\mathbf {0}\) matrix as the empty matrix, then we mitigate the empty matrix for calculation.

3 Time-of-Arrival Localization System

Let \(\tau ^j_t\) be the time delay of the received signal from anchor j at time t:

$$\begin{aligned} \tau ^j_t = \frac{1}{c} \left[ || \varvec{x}_t - \mathbf {a}_j|| + l^j_t\right] \end{aligned}$$
(20)

where \(c = 3 \times 10^8 \mathrm {m/s}\) is the propagation speed of the signal, and \(|| \cdot ||\) denotes the distance between two positions, \(l^j_t \ge 0\) is the range drift. The range drift \(l^j_t = 0\) for LOS propagation, whereas \(l^j_t > 0\) for NLOS propagation. For many indoor systems, the TOA ranging measurement is obtained through the packet transmission time based on the network protocol:

$$\begin{aligned} z^j_t = c \tau ^j_t + v^j_t \end{aligned}$$
(21)

where the measurement function \(h^j_t((\mathbf {d}(\varvec{x}_t, \varvec{k}) + l^j_t)) = c \tau ^j_t\), and \(v^j_t\) is the measurement noise for anchor j.

3.1 Relative Height

It is assumed that the anchors and targets are on the same plane in many real indoor applications. The goal is to calculate 2D positions, \(X-Y\) coordinates of the target. In this case, the height difference between anchor and target is ignored. However, actually, the height difference is involved in the position estimation and has impact on the accuracy. Here, we define the height difference between anchor and target as relative height \(k_t\). If the relative height is 0 or assumed to be 0 in the simulation, we define the range measurement as 2D-ranging. If the relative height between anchor and target is not 0, which is always applicable in the real case, the measurement depends on 3D coordinates, we define the range measurement as 3D-ranging. The 3D-ranging for each anchor is formulated as:

$$\begin{aligned} d^j(\varvec{x}_t, k_t) = \sqrt{(p^X_t - a^X_j)^2 + (p^Y_t - a^Y_j)^2 + k^2_t} \end{aligned}$$
(22)

The problems of 3D-ranging can be referred in [11]. Then, \(\mathbf {K} = [\nabla _k d(\varvec{x}_t, k)]_{1\times N}\) is expressed as [11]:

$$\begin{aligned} \mathbf {K} = \left[ \begin{array}{ccccc} \frac{\partial d^1_t(\varvec{x}_t, k_t)}{k_t} &{} \ldots &{} \frac{\partial d^j_t(\varvec{x}_t, k_t)}{k} &{} \ldots &{} \frac{\partial d^N_t(\varvec{x}_t, k_t)}{k_t}\\ \end{array} \right] \end{aligned}$$
(23)

where

$$\begin{aligned} \frac{\partial d^j_t(\varvec{x}_t, k_t)}{k_t} = \frac{k}{\sqrt{(p^X_t - a^X_j)^2 + (p^Y_t - a^Y_j)^2 + k^2_t}} \end{aligned}$$
(24)

For the prior information of \(k_t\), the relative height is always nonnegative no matter of the places of the anchors. Thus, we apply the Gamma distribution to indicate the potential distribution of \(k_t\), where \(k_t \sim G(\alpha _k, \beta _k)(k_t) = \frac{(\beta _k)^{\alpha _k}}{\varGamma (\alpha _k)} k^{\alpha _k - 1}_t \exp (-\beta _k k_t)\), and \(\alpha _k\) is the shape parameter and \(\beta _k\) is the rate parameter. For Gamma distribution, \(J_k\) is complicated. To obtain an analytical expression, we assume \(\alpha _k > 2\) for simplicity. Then, the Gamma function is \(\varGamma (\alpha _k) = \int ^{+\infty }_0 \exp (-x) x^{\alpha _k - 1} d x\). Thus, \(J_k = \mathbb {E} \left( \frac{\partial }{\partial k_t} G(\alpha _k, \beta _k)(k_t) \right) ^2\) is derived as:

$$\begin{aligned} \begin{aligned} J_k =&\beta ^2_k - \frac{2(\alpha _k - 1)\beta _k}{\varGamma (\alpha _k)}\int ^{+\infty }_0 \beta ^{\alpha _k}_k k^{\alpha _k - 2}_t \exp (-\beta _k k_t) d k_t\\&+ \frac{(\alpha _k - 1)^2}{\varGamma (\alpha _k)}\int ^{+\infty }_0 \beta ^{\alpha _k}_k k^{\alpha _k - 3}_t \exp (-\beta _k k_t) d k_t \end{aligned} \end{aligned}$$
(25)

Use the property \(\varGamma (\alpha _k) = \alpha _k \varGamma (\alpha _k - 1)\) and substitute it into (25), we obtain:

$$\begin{aligned} J_k = \frac{\beta ^2_k}{\alpha _k - 2} \end{aligned}$$
(26)

3.2 NLOS

The vector \(\varvec{l}\) can be used as NLOS indicator for TOA ranging. We assume there are \(N_l \le N\) NLOS measurements and the drift for each measurement is independent to others, then \(\mathbf {L} = [\nabla _{\varvec{l}} \mathbf {h}]_{N_l\times N}\) is formulated as:

$$\begin{aligned} \begin{aligned} \mathbf {L}&= \left( \begin{array}{cc} \mathbf {I}_{N_l} &{} 0 \\ \end{array} \right) \end{aligned} \end{aligned}$$
(27)

where \(\mathbf {I}_{N_l}\) is the identity matrix of order \(N_l\), and the rest part is a \(N_l \times (N - N_l)\) zero matrix due to the independent condition to the LOS measurement. Since the range drift for the NLOS is also nonnegative, we still use Gamma distribution as the prior information \(l_m \sim G(a_m, b_m)(l_m) = \frac{(b_m)^{a_m}}{\varGamma (a_m)} l^{a_m - 1}_m \exp (-b_m l_m)\), where \(a_m\ge 2\) is the shape parameter, \(b_m\) is the rate parameter, and m is the mth NLOS measurement. Similar to (26), we obtain \(\mathbf {J_L}\):

$$\begin{aligned} \mathbf {J_L} = \mathbf {diag}(\frac{b^2_1}{a_1 - 2}, \ldots , \frac{b^2_m}{a_m - 2}, \ldots , \frac{b^2_{N_l}}{a_{N_l} - 2}) \end{aligned}$$
(28)

4 Simulation

We set up several trace-driven TOA-based indoor localization simulations to evaluate the analytical performance using the ER-CRLB. The simulation environment is constructed according to the data gathered from a robotic test-bed [10]. The parameters in the simulations are obtained from the statistical distribution results of these data. In each simulation, the ER-CRLB considers several different factors, e.g., the recursive process during the target tracking, estimations with and without considering \(\varvec{l}\) and \(k_t\). To make the results clear, we mark the CRLBs for different situations by adding superscripts and subscripts, which can be depicted as \(\mathbf {CRLB}^{\ldots }_{\ldots }\). The subscripts indicate the considered vectors, including the state vector and the auxiliary vector. The superscripts indicate the available prior information of the considered vectors. For instance, if we want to simulate the estimation with NLOS range drift, the results of the ER-CRLB is marked by \(\mathbf {CRLB}_{\varvec{x}_t, \varvec{l}}\). And if the prior information of \(x_t\) is attained in the simulation, the results are marked by \(\mathbf {CRLB}^{\varvec{x}_t}_{\varvec{x}_t, \varvec{l}}\). For the recursive estimation, we use the notation \(\mathbf {CRLB}^{\varvec{x}_{t-1}, \varvec{x}_t, \varvec{l}}_{\varvec{x}_{t-1}, \varvec{x}_t, \varvec{l}}\).

4.1 Spatial Position Error Distribution

In the first simulation, a \(100 \times 100\,\mathrm {m^2}\) playing field. There are four big rooms located at four corners of the playing field. The area for each room is \(40 \times 40 \mathrm {m^2}\). The rest parts of the playing field are the hallways. The anchors are the access points of the WiFi network. We set the relative height as the constant value \(1.5 \mathrm {m}\). The range error for each anchor follows zero-mean Gaussian distribution \(v^j_t \sim \mathcal {N}(0, R^j_t)\), where \(R^j_t\) is \(5^2\). The range drift for the NLOS measurements is set \(2 \mathrm {m}\). For the prior information, the relative height \(k_t \sim G(2.5, 2)(k_t)\). The prior information of the NLOS range drift \(l_m\) is \(l_m \sim G(3.5, 1.8)(l_m)\). For the position state prior information, we assume the prediction function is linear static identity matrix with the zero-mean Gaussian prediction noise \(\mathbf {q_t} \sim \mathcal {N}(\mathbf {0}, \mathbf {Q_t})\), where \(\mathbf {Q_t} = \mathbf {diag}(\sigma ^2_x, \sigma ^2_y)\) is the covariance of \(\mathbf {q_t}\) and \(\sigma _x=\sigma _y=2\)m. The LOS measurements can only be obtained in one room with four associate anchors, and others measurements are NLOS. For the positions in the hallways, all the measurements are NLOS ranging.

We apply the ER-CRLB to indicate the optimal squared error, which is \(\sqrt{\mathbf {tr}(\mathbf {J}^{-1}(\varvec{x}_t))}\). To illustrate the geometrical performance for the 2D localization system in the playing field, we employ \(\sqrt{\mathbf {tr}(\mathbf {J}^{-1}(\varvec{x}_t))}\) to depict the spatial position error distribution (SPED) which is defined as the distribution of the position error for every target position [3]. It illustrates how the performance changes from position to position in the playing field. The SPED results are depicted in Fig. 1:

Fig. 1.
figure 1

The simulation of a building layout (Color figure online)

For numerical comparison, the RMSE in Fig. 1(b) is higher than Fig. 1(c) and (d), which is more than 3. 39 m in the central area. And the error become higher and higher when the position is approaching to the corner, which is more than 8m. Due to the lack of prior information, the geometric shape does not have special characters which are related to rooms or corridors. The contours are almost like rectangles located in the center of the playing field. When the prior information of \(k_t\) and \(\varvec{l}\) is introduced, the accuracy is significantly improved, which is reduced to 2.55m in average. The geometric shapes of the contours are different in the rooms and hallways. It indicates that the localization algorithms using the prior knowledge of NLOS conditions based on the building layout information and the NLOS identification and mitigation methods can reasonably improve the estimation performance. Thus, the layout information in the building map is an important information source for localizations. When the prior information of \(\varvec{x}_t\) is introduced in the estimation as indicated in Fig. 1(d), the RMSE is further reduced, which is 1.235 m in almost all the playing field where the target-anchor geometry effect is reduced effectively.

4.2 Bayesian-Based Target Tracking Estimation

In this simulation, we evaluate the performance of the recursive Bayesian estimation for target tracking. We run 1000 Monte-Carlo simulations, and the target moves a separate random path in each simulation. In addition, the target can also be static. Since \(\varvec{x}_{t-1}\) can also be estimated in the static scenario and be used for recursive estimation, the analysis results are the same to the dynamic target tracking scenarios. The estimation results are averaged and represented by the RMSE in Fig. 2. There are three solid parallel straight lines which indicate the estimations without prior information: \(\mathbf {CRLB}_{\varvec{x}_t, k_t, \varvec{l}}\), \(\mathbf {CRLB}_{\varvec{x}_t, k_t}\) and \(\mathbf {CRLB}_{\varvec{x}_t, \varvec{l}}\). The three other dash curves illustrate the recursive estimations according to time steps, which are \(\mathbf {CRLB}^{\varvec{x}_{t-1}, k_t, \varvec{l}}_{\varvec{x}_t, k_t, \varvec{l}}\), \(\mathbf {CRLB}^{\varvec{x}_{t-1}, k_t}_{\varvec{x}_t, k_t}\) and \(\mathbf {CRLB}^{\varvec{x}_{t-1}, \varvec{l}}_{\varvec{x}_t, \varvec{l}}\).

Fig. 2.
figure 2

Sequential estimation lower bound

The Bayesian recursive estimation manner with related prior information effectively reduced the estimation as indicated in Fig. 2. The RMSEs of the three curves gradually converge to low values according to time steps. The impacts of the relative heights and the NLOS drifts still degrade the estimation performance. Even with the recursive estimation, the estimation error can not be further reduced, where the \(\mathbf {CRLB}^{\varvec{x}_{t-1}, k_t, \varvec{l}}_{\varvec{x}_t, k_t, \varvec{l}}\) is 0.5 m larger than \(\mathbf {CRLB}^{\varvec{x}_{t-1}, k_t}_{\varvec{x}_t, k_t}\) when \(t = 20\).

5 Conclusion

In this paper, we propose a new fundamental analyzing method for the indoor localization system, named ER-CRLB. We draw several conclusions according to the analytical results: (1) the SPED shape of the optimal estimation depends not only on the target-anchors relative positions, but also depends on the building layout and the prior information of the NLOS measurements and the state. (2) Comparing with \(k_t\), \(\varvec{l}\) decreases the estimation accuracy more significantly. The prior information of \(\varvec{l}\) improves the estimation more effectively than the prior information of \(k_t\). (3) The prior distribution of \(\varvec{x}_t\) plays the most important role for the estimation. Such distribution can be attained through the recursive estimation. In general, ER-CRLB is a suitable tool to indicate the optimal estimation bound of the indoor localization systems.