## 3 Adaptive Carrier-to-Noise Ratio (C/N\({}_{0}\)) Estimation Method  
According to Section 2, the calculation of the noise variances in the vector tracking loops requires signal C/N\({}_{0}\) information. In addition, C/N\({}_{0}\) can also be used for the detection and isolation of fault-tracking channels. If there is occlusion of the signal transmission path, the sudden disappearance or occurrence of the signal will cause a sudden change in the signal power, and the C/N\({}_{0}\) will also exhibit a short-term large-scale jump. In contrast to conventional receivers, vector receivers can bridge short-term interrupt signals. To fully utilize the advantages of vector-tracking loops, the C/N\({}_{0}\) estimation algorithm must adapt to the C/N\({}_{0}\) mutation environment. The classical C/N\({}_{0}\) estimators have a large delay in response to the sudden change of C/N\({}_{0}\), which will weaken the performance advantage of vector receivers in harsh environments; hence, these estimators are not suitable for vector receivers. The strong tracking Kalman filter can accurately track the state of a mutation [12]. By using a strong tracking filter to estimate the amplitude of the signal, it can effectively cope with the possible mutation of the received signal. The Allan analysis of variance adaptively estimates the measurement noise by segmenting the frequency bands of the measurement outputs. Based on these two algorithms, a C/N\({}_{0}\) estimation method that is based on the adaptive strong tracking Kalman filter is designed. When the receiver has completed signal acquisition and is tracking a signal well, the coherent integration values of the in-phase (I) and quadraphase (Q) outputs of the prompt branch of the tracking channel can be reduced to functions of \(c/n_{0}\)[17]. \[ \begin{array}{l}IP_{k}=\sqrt{2(c/n_{0})T_{coh}}\sigma_{n}\cos\phi_{e}+n_{I} \\ QP_{k}=\sqrt{2(c/n_{0})T_{coh}}\sigma_{n}\sin\phi_{e}+n_{Q}\end{array}  \tag{13}\]  
where \(T_{coh}\) denotes the coherent integration time, \(c/n_{0}\) is the carrier-to-noise ratio in Hz, \(\phi_{e}\) is the carrier phase error, and \(n_{I}\) and \(n_{Q}\) are Gaussian white noises with mean zero and variance \(\sigma_{n}^{2}\). The coherent integral values are functions of C/N\({}_{0}\). A statistical analysis of the coherent integrated sample values can estimate C/N\({}_{0}\). Define a statistic in the following form:  
\[\widetilde{A}_{k}=IP_{k}^{2}+QP_{k}^{2} \tag{14}\]  
Its mean is:  
\[E\big{[}\widetilde{A}_{k}\big{]}=A_{k}^{2}+2\sigma_{n,k}^{2} \tag{15}\]  
\[A_{k}^{2}=2(c/n_{0})T_{coh}\sigma_{n,k}^{2} \tag{16}\]  
where \(A_{k}\) is the effective amplitude of the signal and \(\widetilde{A}_{k}\) is a biased estimate of the square of the signal amplitude. According to Equation (16), C/N\({}_{0}\) in dB-Hz can be expressed as follows:  
\[\left(C/N_{0}\right)_{k}=10\log_{10}\left(\frac{A_{k}^{2}}{2T_{coh}\sigma_{n, k}^{2}}\right) \tag{17}\]  
According to Equation (17), estimation of C/N\({}_{0}\) requires the signal amplitude and noise variance information. The noise variance is estimated in the receiver via a noise correlator. The noise correlator uses a non-existing pseudo-random noise (PRN) code; hence, its output can be regarded as zero-mean Gaussian white noise [18]. In each 20 ms coherent integration period, the noise correlator outputs \(N\) samples. Empirical measurements of the noise variance are obtained as:  
\[\widetilde{\sigma}_{n,k}^{2}=\frac{1}{N}\sum_{j=1}^{N}n_{j}^{2} \tag{18}\]where \(n_{j}\) represents the noise correlator output. The interference noise in the receiver tracking channel is mainly thermal noise, and its variance changes slowly with time. Therefore, the noise variance measurement is smoothed to obtain a more accurate measurement [4]. \[\partial_{n,k}^{2}=(1-\alpha)\partial_{n,k-1}^{2}+\alpha\overline{\omega}_{n,k}^ {2} \tag{19}\]  
where \(\alpha\) is a filter coefficient, the value of which can be found in [4]. Each tracking channel is configured with an amplitude Kalman filter for estimating the signal amplitude.