Application and Optimization of Kalman Filter for Baseband Signal Processing of GPS Receivers

High sensitivity tracking in GPS receiver is required in many weak signal circumstances. The key of improving sensitivity is the optimization of the loop filter in tracking. As Kalman filter is the most optimized linear filter, it is used in many engineering fields. This article introduced the application of Kalman filter as the loop filter of the carrier tracking loop in GPS receiver, to improve tracking sensitivity. The traditional loop filter is replaced. Simulation results show that the new structure improves the tracking sensitivity by 6dB and can make the tracking loop more robust when the navigation signal is languishing. The optimization of theKalman filter is also analysed, which further improves the sensitivity by 4dB.


Introduction
The navigation signal is very weak when it arrives at earth surface from the satellites.The nominal power of the signal is -130dBm [1].But in practical circumstances, it is further blocked by buildings, bridges, forests, etc.The signal power can be under -140dBm, or even lower.How to make the receiver module keep working in low carrier-to-noise ratio (CNR) is an important issue for the navigation receiver design.
After the radio frequency module converts the radio-frequency signal to intermediate-frequency signal, the acquisition module starts working to get the rough estimate of carrier frequency and code phase, which is searching along frequency dimension and pseudo random noise (PRN) code phase dimension.In tracking step, the acquisition result is used to generate local signal.The received signal is multiplied by the local signal to strip off the carrier and the PRN code.Because there is error in frequency and code phase from the acquisition result, the multiplied result has residual frequency and code phase.Since code loop is more robust and simple than carrier loop, so code loop won't be discussed here.A phase detector and a frequency detector are used to get phase error and frequency error, respectively.The errors are filtered by loop filter to remove noise.Then the filtered result is used to adjust local numerically controlled oscillator (NCO) to generate the signal of the next moment with the updated frequency.From the analysis above, appropriate loop filter method is important to the noise performance of a loop.
Kalman filter is originally used in positioning algorithm to improve position precision, which is in post navigation part.But just taking into account its properties that it updates its estimates considering the measurement noise and the uncertainty in its current estimates, it also performs well in previous signal processing of navigation [2].Difference is that the total physical model should be rebuilt according to the signal properties.
For higher Signal to Noise Ratio (SNR) during processing, coherent integration is adopted before phase detection and frequency detection.At the beginning of the tracking step, 1ms coherent integration is adopted because the bit synchronization has not realised.Longer coherent integration will increase the possibility of the integration crossing bit edges, which impairs the integration result if there is a bit transition.Short coherent integration means low integration gain.So if the CNR is low, noise may be too large to keep tracking.In this article, the application circumstance is that the tracking has just started following acquisition, so 1ms coherent integration is employed.The rest of the article will compare traditional loop filter and Kalman filter in noise performance.The final section will analyse the optimization of the Kalman filter.
2 The traditional tracking structure 2.1.Structure overview Fig. 1 describes the traditional tracking loop structure with a third-order phase-locked loop assisted by a second-order frequency-locked loop.The transfer functions of the second-order frequency-locked loop filter and the third-order phase-locked loop filter are expressed by (1), (2) respectively, which can be described in Fig. 2 after bilinear transformation.PLL can track carrier phase closely, but its dynamic tolerance is poor.It will lose lock when noise power is strong or the loop bandwidth is wide.FLL tracks signal frequency, the integral of carrier phase.So it is more robust with good dynamic performance and it can keep locked in lower SNR circumstances.But its tracking is not quite close, inducing large tracking error.Thus, combining PLL and FLL together is a reasonable solution for both high sensitivity and high dynamics.Frequency error should be integrated to become phase error, so FLL order is one order less than that of PLL.The bilinear transformation of the integrator can be equivilant to a rectangle integrator as in Fig. 3 [3].The filter paramaters are set with empirical values as in Table 1 [1].

Asthe filter output is
where ݂ is the acquisition result frequency.
3 Tracking structure using Kalman filter

Structure overview
All modules remain the same except that the filter is replaced by Kalman filter, as in Fig. 4. The inputs of the Kalman filter are from phase discriminator andfrequency discriminator.The filter output is the updated state vectorܺ.There is no need to additionally add a carrier offset.The filter output is directly used by NCO.

Kalman filter modelling
Use absolute phase and frequency as state vector ܺ.
where is the process noise; ܶ is the coherent integration time.
ି is used to generate the local carrier at next moment.

Mean square error (MSE) of forward-prediction
where is the covariance matrix of the process noise and it can be simplified to 0 in the simulation where there is no crystal jitter.ି is the MSE matrix of the posteriori estimates of the last moment.
ି is the MSE matrix of the priori estimates of the present moment.

Kalman gain
where is the relationship matrix between the state vector and the observation vector.is the covariance matrix of the observation noise.In this scenario, is the phase resolution and the frequency resolution from acquisition.

Update
where is the observation vector at present moment.So the observation equation is So Kalman filter comprehensively considers the prediction value and the observation value, adding them together with reasonable weight to get the most reliable estimation.

NCO tuning
The updated phase (1) and the updated radian frequency (2) are the unbiased estimations of the signal carrier phase and the signal carrier frequency of the kth moment.Compared to the kth local carrier, which is generated based on the kthpriori estimate ି , the phase adjustment amount is [4] The forward-prediction based on is used to generate the k+1th local carrier, using both the phase adjustment amount and the frequency adjustment amount.According to the analysis in section 2, the integration of delta frequency equals to the adjustment amount of the initial phase, i.e.

Traditional tracking loop
Assume the frequency error from acquisition is -12Hz and the phase error is 25 °.The PLL bandwidth and the FLL bandwidth are both 20Hz.The signal CNR start with 35dBHz and is decreased by 2dB every 1s for 5s.So the CNR is 35dBHz, 33dBHz, 31dBHz, 29dBHz, 27dBHz.From Fig. 5, it is seem that at 35dBHz and 33dBHz, the loop can converge and the frequency error is hopping between +10Hz and -10Hz.When CNR decreases further, the tracking error is gradually increasing, making the tracking invalid.Considering the thermal noise MSE equations of PLL and FLL, this phenomenon can be explained [5], [6]: The general value of F is 1when CNR is high.It is 2 when CNR is low and the tracking is approaching the threshold.

Kalman tracking loop
For Kalman filter, importance should be attached to the setting of the measurement noise and the initial values of the state vector and the MSE matrix .The covariance matrix of the observation noise is a 2*2 diagonal matrix related to the error variances of the phase discriminator and the frequency discriminator.Remember that equation ( 16) and ( 17) are measurement variances of the whole loop.According to [5], the independent variances errors of the phase discriminator and the frequency discriminator are: ܴ(1,1) = ߪ ଶ ܴ(2,2) = ߪ ி ଶ is constant as long as CNR doesn't change.The measured phase and radian frequency at t=0 is used as [7].In the application of this article, the initial phase and radian frequency are the results from acquisition.The MSE matrix is a 2*2 diagonal matrix reflecting the MSE of , which corresponds to the search resolution in acquisition.Set: is changing during iterations, decreasing gradually when converging [7].The initial frequency error and phase error settings are the same as that of traditional tracking loop.Fig. 6 shows the loop tracking error converging to 0Hz within 500ms at CNR=27dBHz.
Another simulation scenario is that the signal CNR start with 27dBHz and is decreased by 2dB every 1s for 5s, with changing accordingly.So the CNR is 27dBHz, 25dBHz, 23dBHz, 21dBHz, 19dBHz.It can be seen in Fig. 7 that as long as the loop converges at 27dBHz, when CNR decreases further, loop can still keep locked.

Optimization of Kalman filter
When CNR is under 27dBHz, the loop is likely to be locked at a steady error not equals .The reason is that theMSE matrix over converges, making the values in the second column of the Kalman gain matrix too small [8].So the frequency error can't be reflected in the updated state vector.This phenomenon is reflected in Fig. 8 with CNR=23dBHz.In fact, according to other engineering experiences, Kalman filter can decrease the error by 70%~80%.Athreshold can be set for to keep its value large enough so that the values in the second column of the Kalman gain matrix are large enough.This actually sacrifices tracking precision for the correct lock.The converging speed will also slow down.If the threshold is set too large, the tracking precision will be poor and thefiltering effect is lost.If the threshold is set too small, false lock will still appear.Considering the engineering experiences, set: That means the maximum convergence is that the frequency MSE(2,2) become 1/25 of its initial value.Fig. 9 shows the effect of this optimization with CNR=23dBHz and time=5s.It can be seemed more obviously with the frequency error of the updated Kalman state vector at 23dBHz in Fig. 10.

Conclusions
The articledescribed in details about the application of Kalman filter in tracking navigation signals.Simulation results have shown that the tracking loop using Kalman filter exceeds traditional tracking loop by 6dB in sensitivity.For ultra-weak signal tracking, which is under 27dBHz, an optimization method is introduced to sacrifice tracking precision for correct lock.Future research should pay attention to make Kalman tracking loop be suitable for more complex circumstances.

Figure 3 .
Figure 3.The integrator's transform step in filter design is the selection of the loop bandwidth.Large bandwidth has fine dynamic performance while small bandwidth has good anti-noise performance.The different needs in actual situations should be taken into consideration.For application on DOI: 10.1051/ 03007 (2016) , matecconf/2016 MATEC Web of Conferences 7503007 7 vehicles, bandwidth can be set to 20Hz and this is also the simulation condition in this article.
10)where is the observation noise.Define residual error as :

Figure 5 .
Figure 5. Frequency tracking error of traditional tracking loop running for 5s with CNR decreasing 2dB every 1s from 35dBHz.

Figure 6 .
Figure 6.Frequency tracking error of Kalman tracking loop running for 500ms with CNR= 27dBHz.

Figure 7 .
Figure 7. Frequency tracking error of Kalman tracking loop running for 5s with CNRdecreasing 2dB every 1s from 27dBHz.

Figure 8 .
Figure 8. Frequency tracking error of Kalman tracking loop running for 500ms with CNR=23dBHz.

Figure 9 .
Figure 9. Frequency tracking error of optimized Kalman tracking loop running for 5s with CNR=23dBHz.

Figure 10 .
Figure 10.Updated frequency tracking error of optimized Kalman tracking loop running for 5s with CNR=23dBHz.