# A Novel Carrier Tracking Approach for GPS Signals Based on Gauss-Hermite Kalman Filter
## 4 GHKF-Based Carrier Tracking Algorithm  
Assume that we have estimate \(\mathbf{m}_{k-1/k-1}\) of the four-dimensional normally distributed state vector presented in Equation (1) at time \(k-1\) and its error covariance matrix \(\mathbf{P}_{k-1}\). The recursive GHKF algorithm of degree \(p\) is reduced to the following steps [24; 25; 26]:  
**Prediction steps:**  
1. Find the roots \(x_{i};i=1,2,\ldots,p\) of the Hermite polynomial \(H_{p}(x)\).
2. Calculate the corresponding weights, as in Equation (14).  
Use the Cartesian product rule in Equation (11) to expand \(x_{i}\) to a \(n_{x}\)-dimensional case of \(p^{n_{x}}\) points \(\xi_{i};\ i=1,2,\ldots,p^{n_{x}}\), with the corresponding weights in Equation (18).
4. Propagate the cubature points. \[\mathbf{x}_{i,k-1|k-1}=\mathbf{m}_{k-1|k-1}+\sqrt{\mathbf{P}_{k-1|k-1}}\xi_{i} ;\ i=1,2,\ldots,p^{n_{x}}.\] (21)
5. Evaluate the cubature points with the dynamic model function, presented in Equation (1). \[\mathbf{x}_{i,k|k-1}^{*}=F\mathbf{x}_{i,k-1|k-1}.\] (22)
6. Estimate the predicted state mean and error covariance. \[\left\{\begin{array}{l}\mathbf{m}_{k|k-1}=\sum\limits_{i=1}^{p^{n_{x}}}w_{i }\mathbf{x}_{i,k|k-1}^{*};\\ \mathbf{P}_{k|k-1}=\left[\sum\limits_{i=0}^{2L}w_{i}\mathbf{x}_{i,k|k-1}^{*} \mathbf{(x}_{i,k|k-1}^{*})^{T}\right]-\mathbf{m}_{k-1|k-1}(\mathbf{m}_{k-1|k- 1})^{T}+Q\end{array}\right..\] (23)  
**Update steps:**  
1. Repeat steps 1-3 from earlier to get the cubature points and their weights.
2. Propagate the cubature points. \[\mathbf{x}_{i,k-1|k-1}=\mathbf{m}_{k|k-1}+\sqrt{\mathbf{P}_{k|k-1}}\xi_{i};\ i=1,2,\ldots,p^{n_{x}}.\] (24)
3. Evaluate the cubature points using the measurement model, presented in Equation (2). \[\mathbf{z}_{i,k-1|k-1}=h(\mathbf{x}_{i,k-1|k-1}).\] (25)
4. Estimate the predicted measurement and the innovation covariance matrix. \[\left\{\begin{array}{l}\mathbf{\hat{z}}_{i,k|k-1}=\sum\limits_{i=1}^{p^{n_{ x}}}w_{i}\mathbf{z}_{i,k-1|k-1};\\ \mathbf{S}_{k|k-1}=\left[\sum\limits_{i=0}^{2L}w_{i}\mathbf{z}_{i,k-1|k-1}( \mathbf{z}_{i,k-1|k-1})^{T}\right]-\mathbf{\hat{z}}_{i,k|k-1}^{*}\mathbf{( \hat{z}}_{i,k|k-1})^{T}+R.\end{array}\right.\] (26)
5. Estimate the cross-covariance matrix. \[\mathbf{P}_{xz,k|k-1}=\left[\sum\limits_{i=0}^{2L}w_{i}\mathbf{x}_{i,k-1|k-1} (\mathbf{z}_{i,k-1|k-1})^{T}\right]-\mathbf{m}_{k|k-1}(\mathbf{\hat{z}}_{i,k |k-1})^{T}.\] (27)
6. Calculate the Kalman gain and the current state mean and covariance. \[\left\{\begin{array}{l}\mathbf{K}_{k}=(\mathbf{P}_{xz,k|k-1})(\mathbf{S}_{ k|k-1})^{-1};\\ \mathbf{m}_{k|k}=\mathbf{m}_{k|k-1}+\mathbf{K}_{k}(\mathbf{z}_{k}-\mathbf{\hat {z}}_{k|k-1});\\ \mathbf{P}_{k}=\mathbf{P}_{k|k-1}-\mathbf{K}_{k}\mathbf{S}_{k|k-1}\mathbf{K}_ ^{T}.\end{array}\right.\] (28)  
In the above algorithm, \(n_{x}=4\) is the dimension of the state vector \(\mathbf{x}_{k}=[A_{k},\delta\varphi_{k},f_{d,k},f^{\prime}_{~{}d}]\), \(p\) is the degree of the Hermite polynomial \(H_{p}(x)\), and \(Q\) and \(R\) are the covariance matrices of the process and measurement noise, respectively. These matrixes are described in Equations (3) and (4).