## 2 Signal Model  
The multipath suppression algorithm aims to improve signal quality and reduce the impact of multipath effects on signal transmission. The core idea is to analyze the IF data received by the receiver, apply suitable algorithms to estimate the parameters of the multipath signals, identify and suppress the interference caused by different propagation paths, and ultimately enhance the accuracy of signal synchronization. When multipath signals exist, the signal received by the GNSS receiver can be modeled as follows [22]:  
\[r(t)=a_{0}c(t-\tau_{0})\cos(wt+\theta_{0})+\sum\limits_{i=0}^{M}a_{i}c(t-\tau_ {i})\cos(wt+\theta_{i})+n(t) \tag{1}\]  
where \(a_{0}\) and \(a_{i}\) are the amplitudes of the direct signal and the multipath signal, respectively, \(c(t)\) is the pseudo-code sequence, \(w\) is the carrier angular frequency, \(M\) is the number of multipath routes, and \(\tau_{0}\) and \(\tau_{1}\) are the code delays of the direct signal and the multipath signal, respectively. Additionally, \(\theta_{0}\) and \(\theta_{i}\) represent the carrier phases, \(n(t)\) is Gaussian white noise, and the navigation message is ignored. Due to the loss of power caused by signal reflection, the amplitude of the multipath signal is weaker than that of the direct signal, i.e., \(a_{0}>a_{i}\). Furthermore, the transmission delay of the multipath signal is longer, denoted as \(\tau_{i}>\tau_{0}\)[23]. Assuming the received signal contains only one direct signal and one in-phase multipath signal, the correlation peaks of the direct and multipath signals overlap due to the receiver's inability to distinguish between the direct signal and the reflected signal, leading to a distortion in the shape of the autocorrelation function [24]. As shown in Figure 1, the reflected signal has an amplitude of 0.5 and a delay of 0.4, causing the correlation function curve of the received signal to lose symmetry about the center. This distortion results in the code loop locking to the incorrect phase during subsequent code tracking, which introduces errors in the pseudo-code discriminator. Multipath interference affects both the carrier tracking loop and the code tracking loop. The impact of multipath on the carrier tracking loop is relatively small, typically within a few centimeters, and can generally be ignored. However, the effect of pseudo-code tracking errors on receiver positioning is more significant. Since each GPS C/A code consists of 1023  
Figure 1: Effect of multipath signals on correlation results. chips, with a code rate of 1.023 MHz and a chip duration of slightly less than 1 microsecond (approximately 300 m) [25], severe multipath interference can cause substantial errors in the code tracking loop's estimation. This can result in positioning errors of several hundred meters. Figure 2 illustrates the relationship between the receiver's pseudo-code phase tracking error and the multipath parameters [26]. After digitizing the received signal and performing correlation with the local pseudo-code generator, the output of the \(j\)-th correlator can be expressed as follows:  
\[y_{j}=a_{0}C(\kappa-d_{j})+\sum_{i=1}^{M}a_{i}C(\kappa-d_{j}-k_{i})+n(k) \tag{2}\]  
where \(C\) represents the autocorrelation function of the current satellite's C/A code, \(\kappa\) is the direct signal delay, \(d_{j}\) is the interval between the \(j\)-th correlator and the direct signal, \(k_{i}\) is the code chip delay of the \(i\)-th multipath signal relative to the direct signal, and \(n(k)\) stands for Gaussian white noise. When the correlator interval is known, the correlation output value is related to the amplitude, time delay and noise of the direct and multipath signals. Therefore, the state space of the system can be modeled as follows:  
\[x_{k}=\left[a_{0},\cdots,a_{M},\kappa,k_{1},\cdots,k_{M}\right] \tag{3}\]  
The state model is expressed as follows:  
\[x_{k+1}=Ax_{k}+q \tag{4}\]  
where \(A\) is the state matrix, and \(q\) is the process noise.