- Research
- Open Access

# A reduced-complexity scheme using message passing for location tracking

- Yih-Shyh Chiou
^{1}, - Fuan Tsai
^{1}Email author, - Chin-Liang Wang
^{2}and - Chin-Tseng Huang
^{3}

**2012**:121

https://doi.org/10.1186/1687-6180-2012-121

© Chiou et al; licensee Springer. 2012

**Received:**8 November 2011**Accepted:**7 June 2012**Published:**7 June 2012

## Abstract

This article presents a low-complexity and high-accuracy algorithm using message-passing approach to reduce the computational load of the traditional tracking algorithm for location estimation. In the proposed tracking scheme, a state space model for the location-estimation problem can be divided into many mutual-interaction local constraints based on the inherent message-passing features of factor graphs. During each iteration cycle, the message with reliability information is passed efficiently with an adaptive weighted technique and the error propagation law, and then the message-passing approach based on prediction-correction recursion is to simplify the implementation of the Bayesian filtering approach for location-estimation and tracking systems. As compared with a traditional tracking scheme based on Kalman filtering (KF) algorithms derived from Bayesian dynamic model, the analytic result and the numerical simulations show that the proposed forward and one-step backward tracking approach not only can achieve an accurate location very close to the traditional KF tracking scheme, but also has a lower computational complexity.

## Keywords

- Bayesian approach
- data reliability
- factor graphs
- location tracking
- one-step backward
- wireless communication

## 1. Introduction

With the rapid advance in technologies and infrastructures, wireless communication systems have been getting great momentum due to the convenience that they can provide. Among the various applications in the systems, location-based services (LBSs) are appearing in our daily life both indoors and outdoors [1]. In other words, various LBSs have been set up in companies, universities, stations, airports, shopping malls, and even households; they are becoming more and more popular, and they are consequently attracting high attentions in industry and academia to investigate their characteristics in every aspect. However, providing customers with tailored LBSs is a fundamental problem [2, 3], and the positioning and tracking mobile terminals (MTs) are considered a key problem in wireless environments. Therefore, the location accuracy and computational complexity are two major challenges in location-estimation systems. Furthermore, for integrating the use of information and communications technology and the use of telecommunications and informatics (telematics) in wireless networks, good location information can help optimize resource allocation and improve cooperation. In other words, accurate positioning and tracking schemes are essential for useful location-estimation systems [4–6], and accurate locations can be improved with location tracking algorithms.

The fundamental phases of tracking systems are based on the prediction (time update) and the correction (measurement update) [7]; the role of location tracking algorithms is to perform recursive state estimation, which is given by state equation and observation equations. For location-estimation techniques using tracking algorithms, Kalman filtering (KF) algorithms are considered optimal for the linear Gaussian model, and they have been introduced to enhance the accurate estimation of the location-estimation system [7–20]. Nevertheless, the high accurate location based on the traditional KF algorithm requires high computational complexity, and direct implementation of the KF equations may be too complex to be applied to practical systems [21]. To improve location-estimation efficiency, it would be useful to develop an algorithm with high location accuracy and low computational complexity. Consequently, some fixed coefficient or degenerate form algorithms were proposed to avoid repeatedly calculating the Kalman gain, and the computational load of these schemes is lower than the traditional KF algorithm [7, 17, 22–25]. However, these schemes are only suitable for tracking the MT in steady-state environments; the coefficients of these algorithms have to be extracted again when these algorithms change its coefficients for different situations. Therefore, to reduce the computational load of the KF tracking algorithm and to get more flexible tracking schemes than some fixed coefficient or degenerate form algorithms are worth developing low-complexity techniques for location-estimation and tracking systems. For these reasons, some location-estimation algorithms are based on factor graphs (FGs) [26–30], the errors of these algorithm are expressed in the form of a Gaussian probability density function (PDF). In addition, with computationally attractive technique, location tracking schemes based on a state space model can be derived from the Bayesian dynamic model [31–33], which is a probabilistic framework for state estimation using the Markov assumption. Namely, to effectively simplify the implementation of Bayesian approach, the message of tracking scheme can be represented by the statistical properties of the estimated variables. In other words, for a linear dynamic system, these approaches can be applied for location-estimation systems, and then a location tracking algorithm based on message-passing propagation can efficiently be cycled between the prediction and correction phases.

In this article, an efficient location tracking scheme based on an adaptive weighted technique with low computational load and good location accuracy is proposed to estimate an MT's location. Specifically, instead of using the traditional KF tracking scheme, the FG with the distributed feature makes the decomposition of the joint distribution to be functions of the variables. Therefore, a forward approach for location estimation and one-step backward approach for speed estimation are proposed to simplify the implementation for the location-estimation system. The analytic and simulation results demonstrate that the proposed forward and one-step backward (FOSB) tracking scheme passing the reliable messages between the prediction and correction phases can achieve an accurate location very close to that of the KF tracking scheme. In addition, the computational load of the proposed scheme is lower than the traditional KF algorithm, and the proposed tracking scheme can easily be implemented.

The remainder of this article is organized as follows. Section 2 presents the background on inference for location-estimation techniques. Section 3 applies the proposed FOSB tracking scheme to overcome the computational complexity of the traditional tracking scheme. Performance evaluation and simulation results are discussed in Section 4. Finally, the conclusion is given in Section 5.

## 2. Background

### 2.1. Preliminary

*k*, let us consider the dynamic system described in state space form. The mathematical models based on probability densities can be taken as [31]

**x**

_{ k },

*fun*

_{ x }(·), and

**u**

_{ k }are the state vector, transition function, and process noise with known distribution, respectively;

**z**

_{ k },

*fun*

_{ z }(·), and

**v**

_{ k }are the observation vector, observation function, and observation noise with known distribution, respectively.

*f*(

**x**

_{k + 1}|

**x**

_{ k }) and

*h*(

**z**

_{ k }|

**x**

_{ k }) are the transition PDF and observation PDF, respectively. By these equations, the hidden states

**x**

_{ k }disturbed by

**u**

_{ k }and the data

**z**

_{ k }disturbed by

**v**

_{ k }are assumed to be generated by functions

*fun*

_{ x }(·), and

*fun*

_{ z }(·), respectively. We assume that the initial state

**x**

_{0}is distributed according to a density function

*f*(

**x**

_{0}), and that

*h*(

**z**

_{0}|

**x**

_{0}) is the distribution of the initial observation. In addition, the Bayesian approach assumes that the dynamic system is Markovian, and all relevant information is contained in the current-state variable. As a result, the joint probability density of states and observations based on the probability chain rule can be expressed as

**x**

_{0:k}≜ (

**x**

_{0}, ...,

**x**

_{ k }) and

**z**

_{0:k}≜ (

**z**

_{0}, ...,

**z**

_{ k }). The solution of the sequential estimation problem is obtained by the algorithm sequentially estimating the states of a system as a set of observations becomes available. In fact, both directed and undirected graphs allow a global function of several variables to be expressed as a product of factors over subsets of those variables [34]. According to the concept of directed graphs, with Bayesian networks for expressing causal relationships between random variables, a graphical representation of (3) between states and observations can be illustrated in Figure 1[31].

In addition, for the Bayesian approach at time *k*, assume that *p*(**x**_{
k
}*|* **z**_{0:k}) is known, and the objective is to find *p*(**x**_{k+1}|**z**_{0:k+1}). According to the Markov structure and Bayes's theorem, the prediction-correction recursion can be written as follows.

where *p*(**z**_{k+1}|**z**_{0:k}) is the predictive distribution of **z**_{k+1}given the past observations **z**_{0:k}. The prediction-correction recursion relations in (4) and (5) form the sequential scheme for the Bayesian approach.

### 2.2. State and measurement models

In this article, the useful notation of the tracking algorithm can be taken as follows. The value of vector **x**(*t*) at a discrete time instant *t* = *t*_{
k
} is denoted by **x** _{
k
}. A best estimate of **x**(*t*) at time *t* = *t*_{
k
} given the observations up to time *t* = *t*_{
j
} is denoted by a double-subscript notation with **x**_{k|j}. Moreover, for location tracking, there are three useful cases denoted as follows: the one-step fixed-lag smoothing is ${\mathbf{x}}_{k|k+1}={\stackrel{\u2323}{\mathbf{x}}}_{k}$ when *k* < *j* = *k* + 1: the best estimation is ${\mathbf{x}}_{k|k}={\widehat{\mathbf{x}}}_{k}$ when *k* = *j*; the best one-step prediction is ${\mathbf{x}}_{k+1|k}={\stackrel{\u0303}{\mathbf{x}}}_{k+1}$ when *k* +1 > *j* = *k*. Therefore, for the linear Gaussian model, the mathematical models of the linear dynamic system and of the measurement can be denoted as a state space model by

where **x** _{
k
}, **Φ**_{
k
} , **u** _{
k
}, and **Q**_{
k
} are the state matrix, state transition matrix, model noise matrix, and model noise covariance matrix, respectively; **z** _{
k
}, **H** _{
k
}, **v** _{
k
}, and **R**_{
k
} are the actual measurement matrix, measurement transition matrix, measurement noise matrix, and measurement noise covariance matrix, respectively; **u**_{
k
} and **v**_{
k
} are zero-mean independent Gaussian vectors with covariance matrices **Q**_{
k
} and **R** _{
k
}, respectively. According to the prediction and correction steps in (4) and (5), the mathematical equations and phases of the KF algorithm derived from Bayesian dynamic model are described in Appendix 1.

### 2.3. Operations of prediction-correction recursion

According to the inherent distributed feature of the FG and the distributive law of multiplications to make the decomposition of the joint distribution to be functions of the variables [34], the messages of the reliable information can be processed and passed among variable nodes and factor nodes. The fundamental concepts about the works of FG algorithm with message-passing structure are illustrated in Appendix 2. Therefore, the useful operations of prediction-correction recursion based on message passing are introduced as follows.

#### 2.3.1. The correction phase (measurement update)

*K*Gaussian PDF is also Gaussian and is expressed as [26, 34]

*m*

_{ k }are the mean; $\frac{1}{{\widehat{\sigma}}^{2}}=\sum _{k=1}^{K}\frac{1}{{\sigma}_{k}^{2}}$ and $\widehat{m}={\widehat{\sigma}}^{2}\sum _{k=1}^{K}\frac{{m}_{k}}{{\sigma}_{k}^{2}}$. Consider a correction phase with two incoming Gaussian messages illustrated as the left part of Figure 2. According to (5) and (9), the mean (

*m*

_{3}) is the estimate result based on data reliability passing from the prediction and observation for location tracking, which is taken as

_{1}in Table 1, i.e., a message from a variable node to a factor node is the product of incoming messages. The mean of oper

_{1}will be dominated by the messages with higher reliability. Namely, the message from a variable node to a factor node can be taken as the correction phase for location tracking.

The operations carried out for tracking scheme

Operations | $\mathbf{Inputs}:\mathcal{N}\left(\mathsf{\text{argument}};\mathsf{\text{mean}};\mathsf{\text{variance}}\right)$ | $\mathbf{Output}:\mathcal{N}\left(\mathsf{\text{argument}};\mathsf{\text{mean}};\mathsf{\text{variance}}\right)$ |
---|---|---|

oper | $\mathcal{N}\left(x;{m}_{1},{\sigma}_{1}^{2}\right),\mathcal{N}\left(x;{m}_{2},{\sigma}_{2}^{2}\right)$ | $\mathcal{N}\left(x;\frac{{\sigma}_{2}^{2}.{m}_{1}+{\sigma}_{1}^{2}.{m}_{2}}{{\sigma}_{1}^{2}+{\sigma}_{2}^{2}},\frac{{\sigma}_{1}^{2}.{\sigma}_{2}^{2}}{{\sigma}_{1}^{2}+{\sigma}_{2}^{2}}\right)$ |

oper | $\mathcal{N}\left(x;m,{\sigma}_{1}^{2}\right),\mathcal{N}\left(y;\alpha x,{\sigma}_{2}^{2}\right)$ | $\mathcal{N}\left(y;\alpha m,{\alpha}^{2}{\sigma}_{1}^{2}+{\sigma}_{2}^{2}\right)$ |

oper | $\mathcal{N}\left(x;{m}_{1},{\sigma}_{1}^{2}\right),\mathcal{N}\left(y;{m}_{2},{\sigma}_{2}^{2}\right),\mathcal{N}\left(z;\alpha x+\beta y,{\sigma}_{3}^{2}\right)$ | $\mathcal{N}\left(z;\alpha {m}_{1}+\beta {m}_{2},{\alpha}^{2}{\sigma}_{1}^{2}+{\beta}^{2}{\sigma}_{2}^{2}+{\sigma}_{3}^{2}\right)$ |

#### 2.3.2. The prediction phase (time update)

*x*and

*y*, the marginal density function of

*y*is obtained by integrating the joint distribution over variable

*x*. The integration of the product of any two Gaussian PDFs is Gaussian and can be calculated by [26]

_{2}in Table 1. In addition, consider a prediction phase with two incoming Gaussian messages illustrated as the right part of Figure 2. According to (9) and (11), a message from a factor node to a variable node is the integration of the product of two incoming messages enforced on the factor node. In other words, the integration of the product of any three Gaussian PDFs is Gaussian and can be calculated as

where (12) is defined as oper_{3} in Table 1, and the message from a factor node to a variable node can be taken as the prediction phase for location tracking.

### 2.4. Relationship with received signal strength for location estimation

For the approaches of incorporated measurement uncertainties in terms of received signal strengths (RSSs) or beacons in two-dimensional (2-D) coordinate system, location-estimation approaches extracting *X* and *Y* locations were proposed in [18, 20, 25, 35, 36]; the concepts of FG approaches based on measuring distance and RSSs were proposed by Chen et al. [28] and Huang et al. [30]; the concept of distributing approach based on the measuring distance in terms of RSSs was proposed by Wang et al. [10]. In addition, for estimating *X* and *Y* locations, one of the popular commercial ZigBee positioning systems using the TI CC2431 location engine in terms of RSS indicators, a measurement of the power present in a received radio signal, gains *X* and *Y* locations independently [36]. However, location tracking approaches with recursive state estimation can be used to improve location accuracy. Consequently, this article only focuses on location tracking approaches in terms of *X* and *Y* groups independently. In addition, for a fair comparison between the algorithms, the input observations of the KF-based tracking scheme is based on the location information extracted from positioning approaches, and the performance of the KF-based approach is also as a comparing bound for location tracking schemes. In short, the proposed approach focuses on distributed approach based on a weighting concept with the prediction and correction phases for location tracking in decoupled coordinates.

## 3. Methodology

In this article, the proposed adaptive location-tracking approach is formulated as a filtering problem in terms of the state space model, where the prediction phase projects the current state estimate ahead of the sampling time, and the correction phase adjusts the projected estimate by the actual measurement at that time.

### 3.1. Problem formulation

*k*. For the 2-D model with an

*X-*and

*Y-*coordinate system,

*x*

_{1, k}and

*x*

_{2, k}are the locations; ${\stackrel{\u0307}{x}}_{1,k}={s}_{1,k}$ and ${\stackrel{\u0307}{x}}_{2,k}={s}_{2,k}$ are the speeds. Δ

_{ k }is the measurement interval between

*k*and

*k*+ 1. As compared (6) and (7) with (13) and (14),

**u**

_{ k }= [

*u*

_{1, k}

*u*

_{2, k}

*u*

_{3, k}

*u*

_{4, k}]

^{ T }, and

**z**

_{ k }= [

*z*

_{1, k}

*z*

_{2, k}]

^{ T }, and

**v**

_{ k }= [

*v*

_{1, k}

*v*

_{2, k}]

^{ T }are the process noise, observed location, and measurement noise corresponding to the MT at time

*k*, respectively. In addition, for the motion model of the MT based on acceleration noise [17, 19], by adding a random component to the MT, the 2-D model describing the motion is taken as

where *E* {**Δ**_{
n
}**η**_{
n
}**(Δ**_{
k
}**η** _{
k
} **)**^{
T
} } = **Q**_{
k
} ; **η**_{
k
} = [*η*_{1, k}*η*_{2, k}] ^{
T
} is the process noise for an MT motion.

*n*×

*n*matrix, the complexity of an inversion operation is $\mathcal{O}\left({n}^{3}\right)$ with Gauss-Jordan elimination algorithm. Moreover, as shown in Table 2, many elements in the matrices are zeros for the KF tracking algorithm. In other words, the computational load of the traditional KF techniques must be considered and should be reduced for practical real-time applications.

Some matrices of a 2-D KF-based tracking scheme

$\begin{array}{c}\mathbf{\Phi}=\left[\begin{array}{cccc}\hfill 1\hfill & \hfill 0\hfill & \hfill {\Delta}_{k}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill {\Delta}_{k}\hfill \\ \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill \end{array}\right]\phantom{\rule{1em}{0ex}}\mathbf{Q}=\left[\begin{array}{cccc}\hfill {Q}_{11}\hfill & \hfill 0\hfill & \hfill {Q}_{13}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {Q}_{22}\hfill & \hfill 0\hfill & \hfill {Q}_{24}\hfill \\ \hfill {Q}_{31}\hfill & \hfill 0\hfill & \hfill {Q}_{33}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {Q}_{42}\hfill & \hfill 0\hfill & \hfill {Q}_{44}\hfill \end{array}\right]\phantom{\rule{1em}{0ex}}\mathbf{H}=\left[\begin{array}{cccc}\hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill \end{array}\right]\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\mathbf{R}=\left[\begin{array}{cc}\hfill {R}_{11}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {R}_{22}\hfill \end{array}\right]\\ \mathbf{K}=\left[\begin{array}{cc}\hfill {K}_{11}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {K}_{22}\hfill \\ \hfill {K}_{31}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {K}_{42}\hfill \end{array}\right]\phantom{\rule{0.3em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\stackrel{\u0303}{\mathbf{P}}=\left[\begin{array}{cccc}\hfill {\stackrel{\u0303}{P}}_{11}\hfill & \hfill 0\hfill & \hfill {\stackrel{\u0303}{P}}_{13}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {\stackrel{\u0303}{P}}_{22}\hfill & \hfill 0\hfill & \hfill {\stackrel{\u0303}{P}}_{24}\hfill \\ \hfill {\stackrel{\u0303}{P}}_{31}\hfill & \hfill 0\hfill & \hfill {\stackrel{\u0303}{P}}_{33}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {\stackrel{\u0303}{P}}_{42}\hfill & \hfill 0\hfill & \hfill {\stackrel{\u0303}{P}}_{44}\hfill \end{array}\right]\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\hat{\mathbf{P}}=\left[\begin{array}{cccc}\hfill {\widehat{P}}_{11}\hfill & \hfill 0\hfill & \hfill {\widehat{P}}_{13}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {\widehat{P}}_{22}\hfill & \hfill 0\hfill & \hfill {\widehat{P}}_{24}\hfill \\ \hfill {\widehat{P}}_{31}\hfill & \hfill 0\hfill & \hfill {\widehat{P}}_{33}\hfill & \hfill 0\hfill \\ \hfill 0\hfill & \hfill {\widehat{P}}_{42}\hfill & \hfill 0\hfill & \hfill {\widehat{P}}_{44}\hfill \end{array}\right]\end{array}$ |

To reduce the computational complexity of the tracking algorithm, this article proposes a location-tracking technique based on the forward message passing approach for location estimation and the one-step backward message passing approach for speed estimation. Moreover, the idea of decoupling *X* and *Y* dimensions for different tracking groups is used to reduce the computational complexity. For the 2-D problem simplified with two one-dimensional (1-D) problems, the 2-D problem can be represented by two independent main groups, *X*- and *Y*-coordinate groups (cf. [10, 18, 20, 25, 35, 36]). As a result, the approach of 1-D problem based on the proposed forward and one-step backward (FOSB-based) tracking scheme is illustrated in the following sections.

### 3.2. Adaptive weighted scheme for location tracking

*X*-coordinate group, the joint probability density of states and observations,

*p*(

*s*

_{0:K},

*x*

_{0:K},

*z*

_{0:K}) =

*p*(

*s*

_{0}, ...,

*s*

_{ i }, ...,

*s*

_{ K },

*x*

_{0}, ...,

*x*

_{ i }, ...,

*x*

_{ K },

*z*

_{0}, ...,

*z*

_{ i }, ...,

*z*

_{ K }), can be based on the probability chain rule, where

*i*= 1, ...,

*K*;

*s*

_{ i },

*x*

_{ i }, and

*z*

_{ i }, are the estimated speed, estimated location, and observed location, corresponding to the MT at time

*i*, respectively. As a result, the states of speed and location developed in the probability model and based on the Markov structure are written as

*z*

_{ k }depends only on

*x*

_{ k }, given the location states

*x*

_{0:k}, speed states

*s*

_{0:k}, and past observations

*z*

_{0:k-1}, the probability is written as

*z*

_{0:K}can be used to factor the conditional joint PDF of the state variables

*s*

_{0:K}and

*x*

_{0:K}as

*s*

_{ k }and

*x*

_{ k }as

*s*

_{ k },

*x*

_{ k }} denotes the set of variables with variables

*s*

_{ k }and

*x*

_{ k }omitted;

*f*(

*s*

_{ k },

*s*

_{k-1}) ∝

*f*(

*s*

_{ k }|

*s*

_{k-1})≜

*f*

_{ k }and

*g*(

*x*

_{ k },

*x*

_{k-1},

*s*

_{k-1})∝

*g*(

*x*

_{ k }|

*x*

_{k-1},

*s*

_{k-1})≜

*g*

_{ k }are the local speed and the local location transition PDFs, respectively;

*h*(

*z*

_{ k },

*x*

_{ k })∝

*h*(

*z*

_{ k }|

*x*

_{ k })≜

*h*

_{ k }is the local location observation PDF, and the results of

*X*and

*Y*estimated locations given from positioning approaches (cf. [10, 18, 20, 25, 30, 35, 36]) are used as the input information (observation) of

*h*for location tracking in realistic measurements. According to the concept of undirected graphs suited for expressing soft constraints between random variables, the graph representation (cf. [34], see Section "Factor graphs" in Appendix 2) related to tracking speed and location of the

*X*-coordinate group that describes (20) is illustrated as the black color diagram in Figure 4, where a correction step (variable node) is illustrated by a circle; a prediction step (factor node) is illustrated by a square. Furthermore, some notations defined in the proposed tracking scheme are described in Table 3. Based on a similar method, the mathematical model of the

*Y*-coordinate group also can be implemented.

Some notations defined in the proposed FOSB-based tracking scheme

fun | Transition function | fun | Observation function |
---|---|---|---|

○ | Variable node | ■ | Factor node |

${\mathbf{x}}_{k+1|k}{}^{\underset{\xaf}{\underset{\xaf}{\u25b3}}}\phantom{\rule{0.5em}{0ex}}{\tilde{\mathbf{x}}}_{k+1}$ | One-step prediction | ${\mathbf{x}}_{k|k}{}^{\underset{\xaf}{\underset{\xaf}{\u25b3}}}\phantom{\rule{0.5em}{0ex}}{\widehat{\mathbf{x}}}_{k}$ | Best estimation |

${\mathbf{x}}_{k|k+1}{}^{\underset{\xaf}{\underset{\xaf}{\u25b3}}}\phantom{\rule{0.5em}{0ex}}{\stackrel{\u2323}{\mathbf{x}}}_{k}$ | One-step fixed-lag smoothing |
| Speed estimation |

| Location estimation |
| Location observation |

| Speed transition PDF |
| Local speed transition PDF |

| Location transition PDF |
| Local location transition PDF |

| Location observation PDF |
| Local location observation PDF |

| Refined speed observation PDF |
| Local refined speed observation PDF |

| Message from variable node |
| Message from factor node |

The mean of ${\mu}_{{s}_{k}\to {f}_{k+1}}\left({s}_{k}\right)$ | Result of speed estimation at the | The mean of ${\mu}_{{x}_{k}\to {g}_{k+1}}\left({x}_{k}\right)$ | Result of location estimation at the |

### 3.3. Message passing based on error propagation

*X*-coordinate group are given by

*x*

_{1, k}≜

*x*

_{ k },

*s*

_{1, k}≜

*s*

_{ k }, and

*z*

_{1, k}≜

*z*

_{ k }. However, in (14), the observed information is only based on the location observations. If the speed iteration cycle is performed without a speed observation, it may cause error propagation in speed and thus reduce the location accuracy. In fact, another speed observation can be refined with the two location estimations, the known measurement interval (Δ), and the error propagation law, which is called the one-step backward algorithm (or one-step fixed-lag smoothing), as follow.

*l*(

*s*

_{ k },

*x*

_{k+1},

*x*

_{ k })∝

*l*(

*s*

_{ k }|

*x*

_{k+1},

*x*

_{ k })≜

*l*

_{ k }is the local refined speed observation PDF. That is, for speed estimation, the proposed one-step backward algorithm is to delay the calculation of the estimate until one future observation location is obtained. Consequently, for the proposed FOSB-based tracking scheme, the prediction and correction flows of location messages and of speed messages are illustrated with solid and dashed lines in Figure 4, respectively. Similarly, as the motion of the MT is with a random component based on acceleration noise, the PDFs of (15) for

*X*-coordinate group are given by

In brief, the KF approach provides a state estimate based on the present observations for real-time operation. For applications in realistic environment, it is possible to delay the computation of the estimate until future data obtained [38]. Therefore, the proposed one-step backward approach is to establish a post-processing environment, which is an approach of one-step fixed-lag smoothing using one point of future observation for location tracking. That is, a forward approach provides a state estimated based on the present observations as real-time operation in (22) and (26) for location estimation; the one-step backward algorithm is to establish a post-processing environment through a displacement during a time interval in (25) and (28) for speed estimation. In short, the forward location and the backward speed estimations are incorporated in the proposed FOSB-based location tracking scheme.

*x*

_{0}and

*s*

_{0}are distributed according to a density function

*f*(

**x**

_{0}); initial observation

*h*(

*z*

_{0}|

*x*

_{0}) is the distribution of the initial observation. In general, the initial location and speed information are given initial guess values; the parameters also can be given by positioning systems, and then the training session of location tracking scheme is performed by comparing its new state and new observation information for the operations of prediction-correction recursion. In addition, the messages of a single iteration of the tracking scheme can be generated in seven steps (Steps 5 through 11). The equations represent the propagation of messages according to the proposed FOSB approach along the chain, and the detail message-passing flows are illustrated as follows.

- (1)
A priori estimate:

Step 1: ${\widehat{G}}_{k-1}\triangleq {\mu}_{{x}_{k-1}\to {g}_{k}}\left({x}_{k-1}\right)\triangleq \mathcal{N}\left({x}_{k-1};{\widehat{M}}_{{x}_{k-1}},{\widehat{V}}_{{x}_{k-1}}\right)$

Step 2: $\widehat{F}{g}_{k-1}\triangleq {\mu}_{{s}_{k-1}\to {g}_{k}}\left({s}_{k-1}\right)\phantom{\rule{0.3em}{0ex}}\triangleq \mathcal{N}\left({s}_{k-1};\widehat{M}{g}_{{s}_{k-1}},\widehat{V}{g}_{{s}_{k-1}}\right)$

Step 3: ${\widehat{F}}_{k-1}\triangleq {\mu}_{{s}_{k-1}\to {f}_{k}}\left({s}_{k-1}\right)\phantom{\rule{0.3em}{0ex}}\triangleq \mathcal{N}\left({s}_{k-1};{\widehat{M}}_{{s}_{k-1}},{\widehat{V}}_{{s}_{k-1}}\right)$

Step 4: $\begin{array}{cc}\hfill {\stackrel{\u0303}{G}}_{k}\triangleq {\mu}_{{g}_{k}\to {x}_{k}}\left({x}_{k}\right)& \stackrel{{\mathsf{\text{oper}}}_{3}}{\propto}\mathcal{N}\left({x}_{k};{\widehat{M}}_{{x}_{k-1}}+{\Delta}_{k}\cdot \widehat{M}{g}_{{s}_{k-1}},{\widehat{V}}_{{x}_{k-1}}+{\Delta}_{k-1}^{2}\cdot \widehat{V}{g}_{{s}_{k-1}}+{Q}_{11,k-1}\right)\hfill \\ \phantom{\rule{2.77695pt}{0ex}}\triangleq \mathcal{N}\left({x}_{k};{\stackrel{\u0303}{M}}_{{x}_{k}},{\stackrel{\u0303}{V}}_{{x}_{k}}\right)\hfill \end{array}$

- (2)
Prediction state (time update phase):

Step 5: ${\stackrel{\u0303}{F}}_{k}\triangleq {\mu}_{{f}_{k}\to {s}_{k}}\left({s}_{k}\right)\stackrel{{\mathsf{\text{oper}}}_{2}}{\propto}\mathcal{N}\left({s}_{k};{\widehat{M}}_{{s}_{k-1}}\phantom{\rule{2.77695pt}{0ex}},\phantom{\rule{2.77695pt}{0ex}}{\widehat{V}}_{{s}_{k-1}}+{Q}_{33,k-1}\right)\triangleq \mathcal{N}\left({s}_{k};{\stackrel{\u0303}{M}}_{{s}_{k}}\phantom{\rule{2.77695pt}{0ex}},\phantom{\rule{2.77695pt}{0ex}}{\stackrel{\u0303}{V}}_{{s}_{k}}\right)$

Step 8: $\begin{array}{cc}\hfill {\stackrel{\u0303}{G}}_{k+1}\triangleq {\mu}_{{g}_{k+1}\to {x}_{k+1}}\left({x}_{k+1}\right)& \stackrel{{\mathsf{\text{oper}}}_{3}}{\propto}\mathcal{N}\left({x}_{k+1};{\widehat{M}}_{{x}_{k}}+{\Delta}_{k}\cdot \widehat{M}{g}_{{s}_{k}},{\widehat{V}}_{{x}_{k}}+{\Delta}_{k}^{2}\cdot \widehat{V}{g}_{{s}_{k}}+{Q}_{11,k}\right)\hfill \\ \phantom{\rule{2.77695pt}{0ex}}\triangleq \mathcal{N}\left({x}_{k+1};{\stackrel{\u0303}{M}}_{{x}_{k+1}},{\stackrel{\u0303}{V}}_{{x}_{k+1}}\right)\hfill \end{array}$

- (3)
Correction state (measurement update phase):

Step 6: $\widehat{F}{g}_{k}\triangleq {\mu}_{{s}_{k}\to {g}_{k+1}}\left({s}_{k}\right)\phantom{\rule{0.3em}{0ex}}\triangleq \phantom{\rule{0.3em}{0ex}}{\stackrel{\u0303}{F}}_{k}\phantom{\rule{0.3em}{0ex}}\triangleq \phantom{\rule{0.3em}{0ex}}\mathcal{N}\left({s}_{k};\widehat{M}{g}_{{s}_{k}},\widehat{V}{g}_{{s}_{k}}\right)$

- (4)
Correction state with the improved speed message:

To avoid the error propagation caused by a shortage of the speed observation in recursive operations, the one-step backward algorithm is proposed for speed estimation. The correction phases with improved messages for the speed estimation are described by the following steps.

Step 9: $\begin{array}{cc}\hfill \widehat{G}{b}_{k+1}\triangleq {\mu}_{{x}_{k+1}\to {l}_{k+1}}\left({x}_{k+1}\right)& \propto \mathcal{N}\left({x}_{k+1};E\left[{x}_{k+1}\right],Var\left[{x}_{k+1}\right]\right)=\mathcal{N}\left({x}_{k+1};{z}_{k+1},{R}_{11,k+1}\right)\hfill \\ \phantom{\rule{2.77695pt}{0ex}}\triangleq \mathcal{N}\left({x}_{k+1};\widehat{M}{b}_{{x}_{k}+1},\widehat{V}{b}_{{x}_{k+1}}\right)\hfill \end{array}$

Step 10: $\begin{array}{cc}\hfill \stackrel{\u0303}{G}f{b}_{k}\triangleq {\mu}_{{l}_{k+1}\to {s}_{k}}\left({s}_{k}\right)& \stackrel{{\mathsf{\text{oper}}}_{3}}{\propto}\mathcal{N}\left({s}_{k};\frac{\widehat{M}{b}_{k+1}-{\widehat{M}}_{k}}{{\Delta}_{k}},\frac{1}{{\Delta}_{k}^{2}}\cdot \left(\widehat{V}{b}_{{x}_{k+1}}+{\widehat{V}}_{{x}_{k}}+{Q}_{11,k}\right)\right)\hfill \\ \triangleq \mathcal{N}\left({s}_{k};\stackrel{\u0303}{M}{b}_{{s}_{k}},\stackrel{\u0303}{V}{b}_{{s}_{k}}\right)\hfill \end{array}$

Step 11: ${\widehat{F}}_{k}\triangleq {\mu}_{{s}_{k}\to {f}_{k+1}}\left({s}_{k}\right)\stackrel{{}^{{\mathsf{\text{oper}}}_{1}}}{\propto}\mathcal{N}\left({s}_{k};\frac{{\stackrel{\u0303}{M}}_{{s}_{k}}\cdot \widehat{V}{b}_{{s}_{k}}+\widehat{M}{b}_{{s}_{k}}\cdot {\stackrel{\u0303}{V}}_{{s}_{k}}}{\widehat{V}{b}_{{s}_{k}}+{\stackrel{\u0303}{V}}_{{s}_{k}}},\frac{\widehat{V}{b}_{{s}_{k}}\cdot {\stackrel{\u0303}{V}}_{{s}_{k}}}{\widehat{V}{b}_{{s}_{k}}+{\stackrel{\u0303}{V}}_{{s}_{k}}}\right)\triangleq \mathcal{N}\left({s}_{k};{\widehat{M}}_{{s}_{k}},{\widehat{V}}_{{s}_{k}}\right),$

*X*-coordinate at the

*k*th state estimation, respectively. Therefore, the means and uncertainties of location estimation and speed estimation are illustrated in (29)-(32).

The proposed location-tracking approach is based on both future and past information. The 2-D problem is reduced to two independent main groups, *X*- and *Y*-coordinate groups. According to similar procedures, the *Y*-coordinate group can be modeled and implemented similarly, too.

*X*and

*Y*estimated locations are decoupled as individual input (observation) of

*h*for location tracking in Figure 4. The computational complexity of the KF approach, a mean-square error (MSE) sense estimator, with decoupling

*X*and

*Y*dimensions is also illustrated in Table 4, where the count of multiplication involved either a 1 or a 0 is eliminated; the count of division involved a 1 is eliminated; the count of additions and subtraction involved a 0 is eliminated. As compared with computational complexity in Table 4, the proposed algorithm is more practical for implementation.

Computational complexity of KF-based and FOSB-based tracking schemes

Tracking Algorithms | Number of Multiplications and Division | Number of Additions and Subtractions | Inverse Operation | Transpose Operations |
---|---|---|---|---|

KF ( | S(3S ⇒ 320 | 3S ⇒ 266 | [ ] ⇒ [ ] | [ ] ⇒ [ ] |

KF decoupling ( | 40 × 2 = 80 | 27 × 2 = 54 | / | 2:[ ] ⇒ 2:[ ] |

KF decoupling ( | 13 × 2 = 26 (0 or 1 eliminated) | 16 × 2 = 32 (0 eliminated) | / | / |

FOSB ( | 15 × 2 = 30 | 9 × 2 = 18 | / | / |

## 4. Performance evaluation and numerical simulations

The proposed approach focuses on location tracking with distributed approach in terms of a weighting concept for *X* and *Y* groups filtered independently. In this section, simulations are conducted to demonstrate the efficiency and accuracy of location estimation. To verify the performance of location results introduced by the proposed scheme, it is assumed that the location parameters are based on indoor wireless local area networks. For the KF-based tracking approach used in this article, the equations of the KF algorithm are illustrated in (36)-(45), and the process cycle of KF algorithm is illustrated in Figure 3. To provide fair comparisons in this article, the KF-based tracking scheme and the FOSB-based tracking scheme use the same parameters to analyze and carry out the simulation. Namely, the KF-based tracing scheme is based on the prediction and correction phases for location estimation; the proposed FOSB-based tracking scheme is to distribute and pass the reliable messages between the prediction and correction phases for location estimation.

*s*is set to 2 m/s, and Δ

_{ k }, the measurement intervals between

*k*and

*k*+ 1, are set to 0.1~4 s for the first and the second paths;

*u*

_{ k }and

*η*

_{ k }are assumed to be normal random variables. In (14), the measurement noise,

*v*

_{ k }, has zero mean and a variance of ${\left({\sigma}_{k}^{v}\right)}^{2}$, where

*v*

_{k}is assumed to be an normal random variable. For the third path, the equations are used to generate and analyze the motion of the MT as follows. By adding a random component ${\sigma}_{k}^{\eta}$ to the MT, the 2-D model describing the motion of the MT with acceleration noise is generated by (35); by adding a random component ${\sigma}_{k}^{v}$ to the MT, the model describing the observation location of the MT is taken in (14); the model describing the analytic motion of the MT with acceleration noise is based on (15).

where speed *s* is set to 1.36 m/s (81.6 m/min) of human walking [39, 40]; *f* = 1/Δ _{
k
} is the sampling frequency; *ϕ* is the moving angle, which is uniformly distributed between 0 and 2*π*. For indoor environments, the signal strength has a variance of 4.53 dB in an office environment over long time periods [41]. In addition, it is assumed that the measurement variations have zero means and variances of ${\left({\sigma}_{k,x}^{v}\right)}^{2}=4.5$ and ${\left({\sigma}_{k,y}^{v}\right)}^{2}=4.5$ to accommodate positioning errors, and that small values, ${\sigma}_{k,x}^{\eta}=0.4$ and ${\sigma}_{k,y}^{\eta}=0.4$ are chosen. Furthermore, the simulation environment modeled as a person walking indoors is set in a 50 × 50 (m^{2}) square area. The indoor environment is similar to the table of billiard game, and the movement of the MT (person) is similar to a moving billiard ball. Therefore, when the MT moves to boundaries, the MT will change direction and move around the square area. For the simulations of the three paths, 10,000 simulation trials were performed to obtain a confident performance of the location estimates as follows.

In Figures 5 and 6, as the speed *s* set to 2 m/s and sampling time set to 1 s, the results demonstrate that more than 90 (60) percent of the non-tracking method had error distances of less than 8.67 (5.40) m for the first and second paths; the estimates of KF-based tracking scheme had error distances of less than 4.80 (2.98) m for the first path and less than 4.72 (2.94) m for the second path. The estimates of FOSB-based tracking scheme had error distances of less than 4.72 (2.92) m for the first path and less than 4.61 (2.87) m for the second path. According to the results, the location accuracy of the KF-based and FOSB-based tracking schemes is better than the non-tracking schemes. However, for the linear Gaussian model, the KF-based tracking scheme is an optimal algorithm, and it gives the linear estimator in an MSE sense [27]. Therefore, the location accuracy of the KF tracking results can be considered a reference CDF bound for location accuracy.

^{2}) square area almost be completely filled with MT's trajectory after 8,000 simulation trials. Figure 10b is the observation trajectory simulated to be extracted from the measurements of RSSs of WLAN in an indoor environment (cf. [8, 14, 41]). In addition, in terms of the first 500 samples in 10,000 simulation trials, Figure 11a-l are the original trajectory and speeds, the observed trajectory and speeds, the KF-based tracking results, and FOSB-based tracking results, respectively. Figure 11 shows that both the KF-based and the proposed FOSB-based tracking schemes can provide a high degree of accuracy for predicting next-step location and speed in tracking paths. In addition, the proposed approach is assumed that the speed observations cannot be obtained, and then the speed is defined and obtained by an MT moving through a displacement during a time interval. According to the simulation results in Figure 11e, f, the observed speeds extracted from location observations cause a large variation and lead to instability with lower reliability. However, for the proposed FOSB-based tracking scheme, the speed estimation is based on weighted reliable information of speed prediction and speed observation in Step 11. In terms of the correction phase in (10) and oper

_{1}in Table 1, the estimation speed will be dominated by the messages with higher reliability. As compared with Figure 11a-i, Figure 11j-l shows that the proposed FOSB-based tracking scheme can achieve an accurate performance very close to the traditional KF tracking scheme, and the tracking results are also very close to non-disturbance data. Consequently, when the message-passing rules used for prediction and correction phases with improved messages, the oscillation observed in Figure 7 may be caused by the proposed approach, where the performance of the proposed approach is close to an MSE estimator.

In brief, according to the proposed approach and Appendix 1, not only is the FOSB-based tracking scheme derived from Bayesian approach close to MSE estimator, but also the KF-based tracking scheme can be derived from Bayesian point of view based on MSE sense. Namely, the proposed FOSB-based tracking scheme passing the reliable messages between the prediction and correction phases can achieve an accurate location very close to the KF-based tracking scheme. Furthermore, the sampling time will influence the state space model and imply the changes of the simulated track. In Figures 5, 6, and 9a, the different values of Δ _{
k
} are used to generate and analysis in the different curves. These results show that the smaller Δ _{
k
} results in smaller location tracking errors. In terms of (15), (16), (34), and (35), the smaller Δ _{
k
} results in smaller random component added to the motion model of state equation. Therefore, for fixed random components ${\sigma}_{k}^{\eta}$ and ${\sigma}_{k}^{v}$, the estimation accuracy will be dominated by the message of the reliable motion model as the state equation is with smaller Δ _{
k
} ; the estimation accuracy will be dominated by the message of the reliable observation as the state equation is with larger Δ_{
k
}. In other words, when the value of variances or sampling times becomes high, it diminishes the location accuracy of the MT. As compared with the traditional KF-based tracking scheme, the proposed FOSB-based tracking scheme can achieve acceptable location performance and can reduce the computational burden with a slightly large corner effect. Therefore, the approach of the proposed tracking algorithm can work well under the large computational loading conditions.

## 5. Conclusion

This article presents a forward scheme for location estimation and a one-step backward scheme for speed estimation with message-passing algorithm to implement the Bayesian approach. According to the proposed algorithm, not only is a new adaptive weighted scheme used to reduce the computational complexity of traditional tracking schemes, but also the idea of decoupling *X* and *Y* dimensions is used to simplify the implementation for location estimation. In addition, to deal with a shortage of the speed observation in recursive operations, a fixed-lag smoothing concept based on the past and future location information is implemented to avoid the error propagation and then to improve the location accuracy. Namely, the location accuracy of the proposed FOSB-based tracking scheme is weighted and dominated by the incoming messages having higher reliability information of the location and speed between the prediction and correction phases. In comparison, the proposed FOSB-based with the traditional KF-based location tracking schemes, the major differences between them are the computational load, where the advantage of the former is based on the distributive approach and the decoupling idea for location estimation. For the purpose of increasing the execution speed, the lower computational complexity of the proposed FOSB-based tracking scheme is indeed a valuable improvement for estimating the location of an MT. The simulation results demonstrate that the proposed FOSB-based tracking scheme, in comparison with the traditional KF-based tracking scheme, achieves close location accuracy. Consequently, with the inherent feature of the Bayesian approach, the distributive feature of proposed prediction-correction recursion makes it suitable for practical implementation. To sum up, the proposed FOSB-based tracking scheme, with features of both good location accuracy and low computational complexity, is attractive to use in location estimation for the application of LBSs in our daily life both indoors and outdoors.

## Appendix 1

### Kalman filtering

**x**= [

*x*

_{1}, ...,

*x*

_{ n }]

^{ T }consist of independent components

*i*= 1, ...,

*n*. The PDF of

**x**is the production of the individual PDF's of

*x*

_{1}, ...,

*x*

_{ n }; $\mathcal{N}\left(\mathbf{x};\mathbf{m},\mathbf{P}\right)$ is defined as Gaussian density for

*n*dimensions; the

*n*-dimension Gaussian density function is defined by

**x**,

**m**, and

**P**are the argument, mean, and covariance, respectively. According to (1), (2), (6), and (7), the KF algorithm can be applied as follows.

*p*(

**x**

_{0}|

**z**

_{0}) =

*p*(

**z**

_{0}|

**x**

_{0})

*p*(

**x**

_{0})/

*p*(

**z**

_{0}), and then the distribution

*p*(

**x**

_{ k }|

**z**

_{0:k}) is obtained at time

*k*. Therefore, the correction step can be denoted by

**x**

_{k+1}is just a summation of two independent Gaussian random vectors,

**Φ**

_{ k }

**x**

_{ k }and

**u**

_{ k }. Under the standard rules for summation of independent Gaussian random vectors, the conditional probability density of the predictive distribution

**x**

_{k+1}depends on

**z**

_{0:k}, and the probability is written as

**z**

_{ k }is incorporated through Bayes' theorem. According to (5), (38), and (41), the correction step (measurement update) of the filtering recursion is as follows.

where ${\widehat{\mathbf{x}}}_{k}$ and ${\stackrel{\u0303}{\mathbf{x}}}_{k}$ are the state estimate matrix and state prediction matrix, respectively; ${\widehat{\mathbf{P}}}_{k}$, ${\stackrel{\u0303}{\mathbf{P}}}_{k}$ and **K**_{
k
} are the estimation error covariance matrix, prediction error covariance matrix, and Kalman Gain, respectively; **e** _{
k|j
}, ${\widehat{\mathbf{e}}}_{k}$, and ${\stackrel{\u0303}{\mathbf{e}}}_{k}$ are the state error matrix, estimation error matrix, and prediction error matrix, respectively. Therefore, the mathematical equations and phases of the KF algorithm can be summarized as a process cycle of KF given in Figure 3[8].

In addition, to verify the influence of the standard deviation of the state equation in (6) about the MT acceleration for a KF algorithm, the results of two different standard deviation, ${\sigma}_{\mathsf{\text{small}}}^{u}$ and ${\sigma}_{\mathsf{\text{large}}}^{u}$, are selected. In this simulation, it is assumed that the measurement variation has zero mean and a variance of (*σ*^{
v
} )^{2} = 9 to accommodate location errors. To simulate the non-constant speed trajectory, the sampling time is set to 0.1 s to obtain the location estimates in the simulation. Figure 8a-c shows the true location, speed, and acceleration of the MT, respectively. Figure 8d-f shows the estimate errors in KF algorithm when the standard deviation of the MT acceleration is with the small *σ* value $\left({\sigma}_{\mathsf{\text{small}}}^{u}=0.1\right)$. Figure 8g-i shows the same quantities if a large *σ* value, $\left({\sigma}_{\mathsf{\text{large}}}^{u}=1\right)$ is used. In Figure 8, as compared with the larger *σ* value, the smaller *σ* value results in larger estimation errors; the errors of the smaller *σ* value are smoother. In addition, the results show that the tracking errors are significantly less than the measurement errors (without tracking) even though the state model in (6) does not match the real acceleration of the MT very well.

## Appendix 2

### Factor graph and sum-product algorithm

#### Factor graph

**x**

_{ s }denotes a subset of the variables, and factor

*f*

_{ s }is a function of a corresponding set of variables

**x**

_{ s }. For convenience, the individual variables are denoted by

*x*

_{ i }. Therefore, the marginal density function is obtained by summing the joint distribution over all variables except

*x*as follows [26, 34].

**x**\

*x*denotes the set of variables in

**x**with variable

*x*omitted. For an FG, there are two types of nodes, and all links go between nodes of opposite type, where every variable node is illustrated by a circle in the distribution; each factor

*f*

_{ s }(

**x**

_{ s }) node is illustrated by a square in the joint distribution. According to FGs, a function of several variables can be factored into product of smaller functions. For example, let us consider a distribution expressed in terms of the factorization in (48). The distribution can be expressed by the FG shown in Figure 12.

#### Sum-product algorithm

*μ*

_{ x→f }(

*x*) denotes the message sent from variable node

*x*to factor node

*f*;

*μ*

_{ f→x }(

*x*) denotes the message sent from factor node

*f*to variable node

*x*; ne(

*x*) denotes the set of factor nodes neighboring on a given variable node

*x*; ne(

*f*) denotes the set of variable nodes neighboring on a given factor node

*f*. Therefore, two kinds of messages are denoted by the sum-product algorithm. One is the message passed from factor nodes to variable nodes, which can be calculated by

*f*

_{ l }is a function of a corresponding set of variables

**x**

_{ l },, \

*x*

_{ m }denotes that the summation takes all the variables except

*x*

_{ m }, ne(

*f*

_{ l })\

*x*

_{ m }denotes the set of variable nodes that are neighbors of the factor node

*f*

_{ l }except for the variable node

*x*

_{ m }removed. It is important to note that a factor node can send a message to a variable node after the factor node has received incoming messages from all other neighboring variable nodes. As a result, to evaluate the message sent by a factor node to a variable node along the link connecting them, one can take the product of the incoming messages along all other links coming into the factor node, multiply by the factor associated with that node, and then marginalize over all of the variables associated with the incoming messages. A message from a factor node to variable nodes is the sum of factor contributions and is illustrated in the middle and left parts of Figure 13.

where ne(*x*_{
m
} )\*f*_{
s
} denotes the set of factor nodes that are neighbors of the variable node *x*_{
m
} except for the factor node *f*_{
s
} removed. Therefore, to evaluate the message sent by a variable node to an adjacent factor node along the connecting link, the product of the incoming messages along all of the other links is taken simply. In addition, a variable node can send a message to a factor node after it has received incoming messages from all other neighboring factor nodes. A message from a variable node to a factor node is the product of incoming messages and is illustrated in the middle and right parts of Figure 13.

## Declarations

### Acknowledgements

The editor coordinating the review of this article was P. Oonincx. The authors are very grateful to the anonymous reviewers for their useful comments. This study was supported in part by the National Science Council of the Republic of China under grant NSC 98-2221-E-008-097-MY2.

## Authors’ Affiliations

## References

- Bellavista P, Kupper A, Hela S: Location-based services: back to the future.
*IEEE Pervasive Comput*2008, 7(2):85-89.View ArticleGoogle Scholar - Vaughan-Nichols SJ: Will mobile computing's future be location, location, location?
*IEEE Comput Mag*2009, 42(2):14-17.View ArticleGoogle Scholar - Barton RJ, Zheng R, Gezici S, Veeravalli VV: Signal processing for location estimation and tracking in wireless environments.
*EURASIP J Adv Signal Process*2008, 2008: 1-3.Google Scholar - Rappaport TS, Reed JH, Woerner BD: Position location using wireless communications on highways of the future.
*IEEE Commun Mag*1996, 34(10):33-41. 10.1109/35.544321View ArticleGoogle Scholar - Pahlavan K, Li X, Makela JP: Indoor geolocation science and technology.
*IEEE Commun Mag*2002, 40: 112-118.View ArticleGoogle Scholar - Gezici S: A survey on wireless position estimation.
*Wirel Personal Commun*2008, 44(3):263-282. 10.1007/s11277-007-9375-zView ArticleGoogle Scholar - Brookner E:
*Tracking and Kalman Filtering Made Easy*. John Wiley & Son, New York; 1998.View ArticleGoogle Scholar - Chiou Y-S, Wang C-L, Yeh S-C: An adaptive location estimator using tracking algorithms for indoor WLANs.
*ACM/Springer Wirel Netw*2010, 16(7):1987-2012. 10.1007/s11276-010-0240-8View ArticleGoogle Scholar - Raman Kumar K, Powar YA, Apte V: Improving the accuracy of wireless LAN based location determination systems using Kalman filter and multiple observers.
*Proc IEEE WCNC 2006*2006, 1: 463-468.Google Scholar - Wang C-L, Chiou Y-S, Dai Y-S: An adaptive location estimator based on Kalman filtering for wireless sensor networks.
*Proc IEEE VTC2007-Spring*2007, 864-868.Google Scholar - Gonzalez JR, Bleakley CJ: Non-line of sight mitigation using a range and location filtering algorithm.
*Proc IET ISSC 2008*2008, 361-366.Google Scholar - Yim J, Park C, Joo J, Jeong S: Extended Kalman filter for wireless LAN based indoor positioning.
*Decision Support Syst*2008, 45(4):960-971. 10.1016/j.dss.2008.03.004View ArticleGoogle Scholar - Girardin Y, Walsh M, Torres J, Barton J, O'Flynn B, O'Mathuna C: Accounting for sensor drift in miniature, wireless inertial measurement and positioning systems: an extended Kalman filtering approach.
*Proc IET ISSC 2010*2010, 255-260.Google Scholar - Chiou Y-S, Wang C-L, Yeh S-C, Su M-Y: Design of an adaptive positioning system based on WiFi radio signals.
*Elsevier Comput Commun*2009, 32: 1245-1254.View ArticleGoogle Scholar - Demirbas K: Mobile vehicle navigation in unknown environments: a multiple hypothesis approach.
*IEE Proc Radar Signal Process*1989, 136(6):262-268. 10.1049/ip-f-2.1989.0040MathSciNetView ArticleGoogle Scholar - Mohamed K-A: Diffusion strategies for distributed Kalman filtering: formulation and performance analysis.
*Proc EURASIP IAPR*2008, 36-41.Google Scholar - Salmond D: Target tracking: introduction and Kalman tracking filters.
*Proc IEE Workshop Target Track: Algorithms and Appl*2001, 2: 1-16.Google Scholar - Najar M, Vidal J: Kalman tracking for mobile location in NLOS situations.
*Proc IEEE Int Symp Pers, Indoor and Mobile Radio Commun*2003, 2203-2207.Google Scholar - Chiang C-T, Tseng P-H, Feng K-T: Hybrid TOA/TDOA based unified Kalman tracking algorithm for wireless networks.
*Proc IEEE Int Symp Pers, Indoor and Mobile Radio Commun*2010, 1707-1712.View ArticleGoogle Scholar - Kushki A, Plataniotisand KN, Venetsanopoulos AN: Intelligent dynamic radio tracking in indoor wireless local area networks.
*IEEE Trans Mob Comput*2010, 9(3):405-419.View ArticleGoogle Scholar - He WH, Lee Y: Low-complexity Kalman channel estimator structures for OFDM systems with and without virtual carriers.
*Proc IEEE ICC 2004*2004, 4: 2447-2451.Google Scholar - Fitzgerald RJ: Simple tracking filters: closed-form solutions.
*IEEE Trans Aerospace Electron Syst*1981, 17(6):781-785.MathSciNetView ArticleGoogle Scholar - Kalata PR: The tracking index: a genaralized parameter for α-β and α-β-γ target trackers.
*IEEE Trans Aerospace Electron Syst*1984, AES-20(2):174-182.View ArticleGoogle Scholar - Rhee I, Abdel-Hafez MF, Speyer JL: Fixed-lag alpha-beta filter for target trajectory.
*IEEE Trans Aerospace Electron Syst*2004, 40(4):1417-1421. 10.1109/TAES.2004.1386894View ArticleGoogle Scholar - Chiou Y-S, Wang C-L, Yeh S-C: Reduced-complexity scheme using alpha-beta filtering for location tracking.
*IET Commun*2011, 5(13):1806-1813. 10.1049/iet-com.2010.0968MathSciNetView ArticleMATHGoogle Scholar - Kschischang FR, Frey BJ, Loeliger HA: Factor graphs and the sum-product algorithm.
*IEEE Trans Inf Theory*2001, 47: 498-519. 10.1109/18.910572MathSciNetView ArticleMATHGoogle Scholar - Loeliger HA, Dauwels J, Junli H, Korl S, Ping L, Kschischang FR: The factor graph approach to model-based signal processing.
*Proc IEEE*2007, 95(6):1295-1322.View ArticleGoogle Scholar - Chen JC, Wang YC, Maa MS, Chen JT: Network-side mobile position location using factor graphs.
*IEEE Trans Wirel Commun*2006, 5(10):2696-2704.View ArticleGoogle Scholar - Wymeersch H, Lien J, Win MZ: Cooperative localization in wireless networks.
*Proc IEEE*2009, 97(2):427-450.View ArticleGoogle Scholar - Huang C-T, Wu C-H, Lee Y-N, Chen J-T: A novel indoor RSS-based position location algorithm using factor graphs.
*IEEE Trans Wirel Commun*2009, 8(6):3050-3058.View ArticleGoogle Scholar - Cappé O, Godsill SJ, Moulines E: An overview of existing methods and recent advances in sequential Monte Carlo.
*Proc IEEE*2007, 95(5):899-924.View ArticleGoogle Scholar - Fox D, Hightower J, Liao L, Schulz D, Borriello G: Bayesian filtering for location estimation.
*IEEE Pervasive Comput*2003, 2(3):24-33. 10.1109/MPRV.2003.1228524View ArticleGoogle Scholar - Mohamed K-A: Nonparametric Bayesian filtering for location estimation, position tracking, and global localization of mobile terminals in outdoor wireless environments.
*EURASIP J Adv Signal Process*2008., 2008: Article ID 317252Google Scholar - Bishop CM:
*Pattern Recognition and Machine Learning*. Springer, Cambridge; 2006.MATHGoogle Scholar - Sayed AH, Tarighat A, Khajehnouri N: Network-based wireless location: challenges faced in developing techniques for accurate wireless location information.
*IEEE Signal Process Mag*2005, 22(4):24-40.View ArticleGoogle Scholar - CC2431 Location engine[http://www.ti.com/lit/ds/symlink/cc2431.pdf]
- Koch K-R:
*Parameter Estimation and Hypothesis Testing in Linear Models*. Springer, Berlin; 1999.View ArticleMATHGoogle Scholar - Moon TK, Stirling WC:
*Mathematical Mthods and Algorithms for Signal Processing*. Prentice Hall, New Jersey; 2000.Google Scholar - Anderson FC, Pandy MG: Dynamic optimization of human walking.
*ASME J Biomech Eng*2001, 123(5):381-390. 10.1115/1.1392310View ArticleGoogle Scholar - Brogan DC, Johnson NL: Realistic human walking paths.
*Proc IEEE CASA 2003*2003, 5: 94-101.Google Scholar - Kaemarungsi K, Krishnamurthy P: Modeling of indoor positioning systems based on location fingerprinting.
*Proc IEEE INFOCOM 2004*2004, 1012-1022.Google Scholar - Brown RG, Hwang PYC:
*Introduction to Random Signals and Applied Kalman Filtering*. John Wiley & Sons, New York; 1992.MATHGoogle Scholar - Stark H, Woods JH:
*Probability and Random Processes with Application to Signal Processing*. Prentice Hall, New Jersey; 2002.Google Scholar - Haykin S:
*Kalman Filtering and Neural Networks*. John Wiley & Sons, New York; 2001.View ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.