## 3 V FAPLL Based on Maximum Likelihood Estimation
Assuming that the C/A code is stripped from the received signal, the expression of the received signal is changed from (8) to the following form:  
\[\widetilde{g}(k)=A\cos(2\pi T(f_{IF}+f_{d})k+\varphi)+\widetilde{n}(k) \tag{21}\]  
where \(\widetilde{g}(k)=g(k)C(k-\hat{\tau})\) and \(\widetilde{n}(k)=n(k)C(k-\hat{\tau})\) represent the received signal and noise after stripping the C/A code, respectively, and the loop can be simplified into a carrier tracking loop. At this time, the gradient matrix and Hessian matrix in the LM algorithm are as follows [27]:  
\[\frac{\partial L}{\partial f_{d}}=-\frac{4\pi T}{N_{0}}\left\{\sum\limits_{k }\widetilde{g}\cdot\cos\right\}\times\left\{\sum\limits_{k}\widetilde{g}\cdot k \cdot\sin\right\}+\frac{4\pi T}{N_{0}}\left\{\sum\limits_{k}\widetilde{g}\cdot \sin\right\}\times\left\{\sum\limits_{k}\widetilde{g}\cdot k\cdot\cos\right\} \tag{22}\]  
\[\frac{\frac{\partial^{2}L}{\partial f_{d}^{2}}}{\frac{\partial^{2}L}{\partial f _{d}^{2}}}=\frac{8\pi^{2}\tau^{2}}{N_{0}}\left\{\sum\limits_{k}\widetilde{g} \cdot k\cdot\sin\right\}^{2}+\frac{8\pi^{2}\tau^{2}}{N_{0}}\left\{\sum\limits_{ k}\widetilde{g}\cdot k\cdot\cos\right\}^{2}-\frac{8\pi^{2}\tau^{2}}{N_{0}} \left\{\sum\limits_{k}\widetilde{g}\cdot\cos\right\}\times\left\{\sum\limits_ {k}\widetilde{g}\cdot k^{2}\cdot\cos\right\} \tag{23}\]  
\[-\frac{8\pi^{2}\tau^{2}}{N_{0}}\left\{\sum\limits_{k}\widetilde{g}\cdot\sin \right\}\times\left\{\sum\limits_{k}\widetilde{g}\cdot k^{2}\cdot\sin\right\}\]where \(\sin=\sin(2\pi T(f_{IF}+f_{d})k)=\sin\left(2\pi T\Big{(}f_{IF}k+f_{0}k+\frac{f_{2}} {6}k^{2}+\frac{f_{2}}{6}k^{3}\Big{)}\right)\), \(\cos=\cos(2\pi T(f_{IF}+f_{d})k)=\cos\left(2\pi T\Big{(}f_{IF}k+f_{0}k+\frac{f_{ 1}}{2}\ k^{2}+\frac{f_{2}}{6}k^{3}\Big{)}\right)\), \(\widetilde{g}=\widetilde{g}(k)\), \(\sum\limits_{k}(\cdot)=\sum\limits_{k=0}^{N-1}(\cdot)\). This process eliminates the related computation of \(\tau\) in the original gradient matrix and Hessian matrix, thus reducing the amount of computation. The purpose of the iterative process is to use an efficient method to gradually find the maximum value. This process can be divided into three steps. First, a set of initial values is set, and there is a distance between this set of values and the peak value. Second, it approaches the peak in some way from the starting value. Third, some method is needed to test whether the obtained value is a peak (i.e., the maximum likelihood solution). This corresponds to testing a new set of estimated values to assess whether the maximum value has been reached. If the result of the judgment has reached the maximum value, then the search can be stopped, and the set of values can be used as the maximum likelihood estimation solution. However, if the judgment result has not reached the maximum value, then the second and third steps need to be repeated until the maximum likelihood solution is found. The following is the specific iterative process of the LM algorithm [27]:  
1. First, set the initial values of \(\hat{\theta}\) and matrix \(d\). When selecting initial values, we can consider the range of variables in the model and the assumed range of real parameters and then randomly select a set of initial values, or we can obtain them based on prior information. In this paper, we select a set of initial values based on previous research, where matrix \(d\) should be initialized as a diagonal matrix. 2. After obtaining the initial value, the maximum likelihood solution is gradually found by iteration. In this paper, the gradient is used to find the maximum value, and this algorithm uses a climbing method. Calculate the gradient matrix and the Hessian matrix based on the initial value, and then use Formula (1) to update \(\hat{\theta}^{i}\). 3. Calculate the maximum likelihood estimation cost function \(L(\hat{\theta}^{i}|r_{N})\) and compare it with the previous cost function. If it is greater than or equal to the previous one, then accept this iteration and go to the next step.