# An Enhanced Non-Coherent Pre-Filter Design for Tracking Error Estimation in GNSS Receivers
## 3 Enhanced Non-Coherent Pre-Filter Design
### Implementing FDE Structure in the Non-Coherent Prefilter Design  
Carrier phase tracking loop is the most vulnerable tracking loop in GNSS receivers. The vulnerability of carrier phase tracking partly comes from the limited working region of the ATAN discriminator. The effective working range of the ATAN discriminator is (\(-0.25\) cycle, \(0.25\) cycle). If the input carrier phase error is beyond the effective working range, the ATAN discriminator would output the wrong estimation of carrier phase error. If this wrong estimation is entering the loop filter, the carrier NCO feedback commands would be adjusted toward the wrong direction and the PLL may lose lock for carrier phase. Figure 8: **(a)** The error of estimation noise variance of Equation (18) for ATAN discriminator; **(b)** The error of estimation noise variance of Equation (19) for ATAN2 discriminator. Figure 9: The generation and usage of look-up table. As the non-coherent pre-filter takes ATAN discriminator outputs as observations, the limited work range of the ATAN discriminator also affects the non-coherent pre-filter. For recognizing and eliminating the wrong ATAN discriminator outputs, the FDE structure is introduced in non-coherent pre-filter. Figure 10 shows the operation flow chart of a non-coherent pre-filter with FDE structure. The symbols in Figure 10 are explained as follows: \(k\) represents the time stamps of Kalman filter, \(\hat{X}\) is posteriori estimation for \(X_{\text{nonCoh}}\), \(\widetilde{X}\) is priori estimation for \(X_{\text{nonCoh}}\), \(P_{k}^{-}\) is the covariance matrix of estimation error of \(\widetilde{X}\), \(P_{k}\) is the covariance matrix of estimation error of \(\hat{X}\), \(R_{k}\) is the observation noise variance matrix, Res indicates the residuals of observations, Res(2,1) represents the 2 nd row, 1 st column element of vector Res and denotes the observation residual corresponding to the carrier phase error, \(K\) is the Kalman gain, \(I\) is unit matrix, \(A\) is the state transition matrix which is equal to \(A_{\text{nonCoh}}\), and \(C\) is the observation matrix which is equal to \(C_{\text{nonCoh}}\). The FDE structure is aiming at reducing the weight of incorrect carrier phase error observations from ATAN discriminator outputs. This weight reduction is accomplished by adjusting the observation noise covariance matrix. If the input phase error is within the working range of the ATAN discriminator, Res(2,1)is very small. Under such a condition, the observation noise variance matrix is chosen as:  
\[R_{k1}=\left[ \begin{array}{cc}\sigma_{\text{NC-EMLE}}^{\text{LUT}}{}^{2}(C/N _{0},T_{\text{coh}},d)\\ \sigma_{\text{ATAN}}^{\text{LUT}}{}^{2}(C/N_{0},T_{\text{coh}})\\ \sigma_{\text{ATAN}}^{\text{LUT}}{}^{2}(C/N_{0},T_{\text{coh}})\end{array} \right] \tag{31}\]  
If the input phase error is beyond the effective working range of the ATAN discriminator, the discriminator output would jump from \(-0.25\) to \(0.25\), or from \(0.25\) to \(-0.25\). Res(2,1) would also jump. This jump is easy to detect. In this paper, the threshold for detecting the jump is set to \(0.25\). After the jump of Res(2,1) is detected, the observation noise variance matrix is chosen as:  
\[R_{k2}=\left[ \begin{array}{cc}\sigma_{\text{NC-EMLE}}^{\text{LUT}}{}^{2}(C/N _{0},T_{\text{coh}},d)\\ 10000\\ \sigma_{\text{ATAN}}^{\text{LUT}}{}^{2}(C/N_{0},T_{\text{coh}})\end{array} \right] \tag{32}\]  
Figure 10: The fault detection and exclusion (FDE) structure for non-coherent pre-filter. After the incorrect ATAN discriminator outputs are detected, their weight is decreased in the process of Kalman filtering. The carrier phase error estimation of the non-coherent pre-filter is mainly depending on the system model and ATAN2 discriminator output in this case. It also should be noted here that the non-coherent pre-filter cannot keep the correct estimation of carrier phase error with constant use of \(R_{k2}\). The estimation error would accumulate with time because of observation noise of the ATAN2 discriminator and the error of system model.