# Reduced-Complexity Tracking Algorithms on Chip for Real-Time Location Estimation
## 2 Kalman Filtering Algorithm  
Wireless communication technology makes KF usability greatly improved. Localization technologies have received high attention for LBS and IoT applications recently [21; 22; 23; 24; 25; 26; 27; 28; 29]. KF is also known as the optimal linear filter and is called the linear combination of the output value. In order to implement the simple and pure filter of the time domain, the covariance matrix will be used in the implementation process. The basic dynamic system of the KF approach can be represented by the Markov chain. Linear transformation of the Markov chain is simultaneously disturbed by the Gaussian distributed noise. The states develop timely based on a probability model and adopt Markov structure, Equation (1) is the  
\[p(\mathbf{x}_{k+1}|\mathbf{z}_{0:k+1}) =\frac{p(\mathbf{z}_{k+1}|\mathbf{x}_{k+1,}\mathbf{z}_{0:k})p( \mathbf{x}_{k+1}|\mathbf{z}_{0:k})}{p(\mathbf{z}_{k+1}|\mathbf{z}_{0:k})}=\frac {h(\mathbf{z}_{k+1}|\mathbf{x}_{k+1})p(\mathbf{x}_{k+1}|\mathbf{z}_{0:k})}{p( \mathbf{z}_{k+1}|\mathbf{z}_{0:k})} \tag{5}\]  
To enhance the location accuracy, the technology of the KF approach is used to track the location of an MD. The location state of an MD can be presented by its position and speed. In this article, the measurement formula of the observed location and the motion of mobile equation with a two-dimensional model describing are taken as follows [10; 30]. \[\mathbf{x}_{k+1} =\mathbf{\Phi}_{k}\mathbf{x}_{k}+\mathbf{u}_{k},\ \mathbf{u}_{k} \sim\mathcal{N}\ (0,Q_{k}\ ) \tag{6}\] \[\mathbf{z}_{k} =\mathbf{H}_{k}\mathbf{x}_{k}+\mathbf{v}_{k},\ \mathbf{v}_{k} \sim\mathcal{N}\ (0,\ \mathbf{R}_{k}\ ), \tag{7}\]  
where \(\mathbf{x}_{k}\) is the state vector, \(\mathbf{\Phi}_{k}\) is the state transition matrix, \(\mathbf{u}_{k}\) is the MD model noise also called process noise, \(\mathbf{Q}_{k}\) is the MD model noise covariance matrix, \(\mathbf{z}_{k}\) is the actual measurement equation, \(\mathbf{H}_{k}\) is the measurement matrix, \(\mathbf{v}_{k}\) is the measurement noise, and \(\mathbf{R}_{k}\) is the measurement noise covariance matrix. A two-dimensional (2D) model describing the motion of the mobile equations is taken as follows:  
\[ \begin{bmatrix}x_{1,k+1}\\ x_{2,k+1}\\ \dot{x}_{1,k+1}\\ \dot{x}_{2,k+1}\end{bmatrix}  = \begin{bmatrix}x_{1,k+1}\\ x_{2,k+1}\\ s_{1,k+1}\\ s_{1,k+1}\end{bmatrix} = \begin{bmatrix}1&0&\Delta_{k}&0\\ 0&1&0&\Delta_{k}\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix}\begin{bmatrix}x_{1,k}\\ x_{2,k}\\ \dot{x}_{1,k}\\ \dot{x}_{2,k}\end{bmatrix} + \begin{bmatrix}u_{1,k}\\ u_{2,k}\\ u_{3,k}\\ u_{4,k}\end{bmatrix}  \tag{8}\] \[ \begin{bmatrix}z_{1,k}\\ z_{2,k}\end{bmatrix}  = \begin{bmatrix}1&0&0&0\\ 0&1&0&0\end{bmatrix}\begin{bmatrix}x_{1,k}\\ x_{2,k}\\ \dot{x}_{1,k}\\ \dot{x}_{2,k}\end{bmatrix} + \begin{bmatrix}v_{1,k}\\ v_{2,k}\end{bmatrix}  \tag{9}\]  
where \(x_{1,k}\) and \(x_{2,k}\) are the location of \(x\)-axis and \(y\)-axis, respectively; \(s_{1,k}\) and \(s_{2,k}\) are speed of \(x\)-axis and \(y\)-axis, respectively. As illustrated in Figure 1, time update can predict current state estimates in advance; measurement updates can correct the just predicted estimate by actual measurement at that time. As shown in (10), in update state, the value of KG is calculated by using the error variance value in prediction state and the error variance value in the measurement. The KG is the weight of the measurement and the weight of the previous estimate. The covariance matrix of the noise of measured value is represented by R (the covariance matrix of \(v\), \(v\): measurement noise). \(\hat{\mathbf{x}}_{k}\) is the state estimate matrix, and \(\mathbf{K}_{k}\) is the weight update procedures. As illustrated in (11), when the tracking approach forms a new estimate, it illustrates how much the measurement changes the estimate for  
Figure 1: The prediction and correction phase of tracking systems. estimate. The last step is to update the value of covariance for the next iteration, as shown in (12) [10; 30].