# A Carrier Estimation Method Based on MLE and KF for Weak GNSS Signals
## 2 Signal Model  
The radio frequency (RF) signal transmitted by satellites is received by the receiver antenna. Then it is down-converted and digitized into the discrete intermediate frequency (IF) signal. The IF signal is sent to the baseband processing section to perform acquisition, tracking and demodulation. The acquisition process estimates coarse code phase and Doppler frequency which are used to initialize the tracking loop. Based on the acquisition results, the tracking loop can converge to the true values gradually and output the precise estimates of the code phase and Doppler frequency.  
The IF signal can be expressed as data bits \(D\) modulated by pseudo-random code (PRN) \(C\) and carrier. With the sampling interval of \(t_{s}\), the discrete IF signal can be written as,  
\[r_{IF}[i]=a(it_{s}-\tau)\cdot D(it_{s}-\tau)\cdot C(it_{s}-\tau)\cos(2\pi(f_{IF} +f_{d})it_{s}+\varphi_{0})+w(it_{s}-\tau) \tag{1}\]  
where \(i\) is the index of sampling points, \(a\) is the IF signal amplitude, \(\tau\) is the code propagation delay, \(f_{IF}\) and \(f_{d}\) denote the intermediate frequency and Doppler frequency, respectively, \(\varphi_{0}\) is the initial carrier phase, and \(w\) is the noise term which is the white Gaussian noise.  
For the general in-phase and quadrature (I/Q) processing method, IF signal performs frequency mixing with two local carriers which have a phase difference of 90 degrees, i.e., the sine and cosine carrier. Figure 1 shows the block diagram of the carrier tracking loop. After frequency mixing, code stripping is performed by multiplication with the local code. Then, coherent integration is performed to get a sequence of integration results. The integration process is operated under the assumption that the carrier is tracked accurately. Therefore, the carrier phase over the short integration time can be considered constant. Data bits must be removed if the integration time is more than the data length (20 ms for GPS L1C/A signal). In the following derivation, the integration time is no more than 20 ms, and PRN is assumed to be stripped off by the conventional delay-locked loop (DLL) completely. This assumption is reasonable because the proposed loop can replace the conventional PLL or FLL absolutely which will be explained in Section 4.2. The signal parameters of interest (i.e., signal amplitude, Doppler frequency and carrier phase) change slowly enough that they may reasonably be treated as unknown constants over the integration time. Then, the integration results of two channels can be written as a complex form [12],  
\[r[n]=A[n]\cdot D[n]\cdot\text{sinc}(fT)\exp(j(2\pi fnT+\varphi))+w_{ci}[n] \tag{2}\]  
where \(n\) is the index of the integration results, \(T\) is the coherent integration time, \(A,f\) and \(\varphi\) are the amplitude, frequency and phase residual, respectively, and \(w_{ci}\) is the complex noise term which is the accumulation of \(w\) in Equation (1). Because \(w\) is white Gauss noise, \(w_{ci}\) is white Gauss noise too. In general, the noise in the I and Q channels is independent and has the same power. Therefore, the real part and imaginary part of \(w_{ci}\) are irrelevant and have the same variance \(\sigma^{2}\).  
In the tracking process, \(f\) and \(T\) are small and sinc(\(fT\)) is approximately equal to 1 (for \(T=1\) ms and \(f=10\) Hz, sinc(\(fT\)) = 0.9998). Then Equation (2) can be rewritten as Equation (3).  
\[r[n]\approx A[n]\cdot D[n]\cdot\exp(j(2\pi fnT+\varphi))+w_{ci}[n] \tag{3}\]  
The integration results in Equation (3) are sent to the frequency discriminator and loop filter to get the frequency or phase residual estimate. The estimated residual is used to adjust the frequency and phase of the carrier numerically-controlled oscillator (NCO).