# A Comprehensive Signal Quality Assessment for BDS/Galileo/GPS Satellites and Signals
## 2 Data and Methods
### Code Multipath Analysis  
A GNSS receiver theoretically receives a direct wave signal from the GNSS satellite, but in reality, in addition to the direct wave, there are several indirect waves that reach the receiver's signal-receiving antenna, including reflected waves from ground or ground objects, reflected waves from the satellite, and scattered waves from the atmospheric propagation medium. Generally, the code multipath can be evaluated by constructing a combination of multipaths using the pseudorange and carrier phase observations, which is expressed as follows. \[ \begin{array}{ll}MP_{j}^{s}&=P_{r,j}^{s}-\frac{f_{j}^{2}+f_{i}^{2}}{f_{j}^{2}-f _{i}^{2}}\[PERSON]_{r,j}^{s}+\frac{2f_{i}^{2}}{f_{j}^{2}-f_{i}^{2}}\[PERSON]_{r,j}^{s}\\ &=P_{r,j}^{s}-(\frac{f_{j}^{2}}{f_{j}^{2}-f_{i}^{2}}\[PERSON]_{r,j}^{s}-\frac{f_{i}^{ 2}}{f_{j}^{2}-f_{i}^{2}}\[PERSON]_{r,j}^{s})-\frac{f_{i}^{2}}{f_{j}^{2}-f_{i}^{2}}( \[PERSON]_{r,j}^{s}-\[PERSON]_{r,j}^{s})\end{array}  \tag{9}\]  
The penultimate term of the multipath combination corresponds to the ionosphere-free combination of the carrier phase so as to eliminate the effect of the first-order ionospheric delay, while the last term is the geometry-free combination so that the effect of the geometry term in the combination can be effectively eliminated. Substituting the observed value equation into the above equation gives the equation:  
\[MP_{j}^{s}=dM_{j}-\frac{f_{i}^{2}+f_{j}^{2}}{f_{j}^{2}-f_{i}^{2}}dm_{j}+\frac{ 2f_{i}^{2}}{f_{j}^{2}-f_{i}^{2}}dm_{i}-B \tag{10}\]  
where the subscripts \(i\) and \(j\) (\(i\
eq j\)) denote the frequency, and \(dM\) and \(dm\) stand for the code multipath error and the carrier phase multipath error. \(B\) includes the ambiguity term, as well as the hardware delay deviation, which can be expressed as  
\[B=\frac{f_{i}^{2}+f_{j}^{2}}{f_{j}^{2}-f_{i}^{2}}\lambda_{j}N_{j}-\frac{2f_{i} ^{2}}{f_{j}^{2}-f_{i}^{2}}\lambda_{i}N_{i}-d_{j}-d^{s} \tag{11}\]  
Theoretically, the carrier phase multipath error and the systematic errors, such as phase noise, were small, making them negligible with respect to the code multipath. When the carrier phase observation does not appear in the cycle slip, the ambiguity parameter can be treated as a constant. The differential code deviation was also stable in the short term. Therefore, in the multipath combination, it was possible to smooth the irrelevant items by taking the average value. Then, the code multipath in a complete arc can be obtained as  
\[MP_{j,var}^{s}=MP_{j}^{s}-<MP_{j}^{s}> \tag{12}\]  
where the operator \(<\cdot>\) indicates smoothing in the time domain. In addition, considering the fact that the code accuracy of some special signals can reach the centimeter level, it was necessary to try to make the frequency difference between the two signals as large as possible to minimize the effects of phase multipath and phase noise when choosing to build the multipath combination. Therefore, the frequency \(f_{j}\) and \(f_{i}\) were chosen in the paper, as shown in Table 3.  
Similar to the _C/N0_ model, the multipath values on all epochs corresponding to each satellite at the same frequency were grouped according to the satellite elevations, with each 10\({}^{\circ}\) elevation as a split. Then, the multipath values within the same elevation interval were averaged. \[MP_{j,ave}^{s}(k)=\frac{\sum_{i=1}^{n}MP_{j,var}^{s}(i)}{n}_{\frac{\lambda_{1} 00^{\circ}(k+1)\cdot 100^{\circ}}{n}} \tag{13}\]  
where \(MP_{j,ave}^{s}(k)\) denotes the mean multipath value of satellite \(s\) at frequency \(j\) in the \(k_{th}\) set of elevation intervals. \begin{table}
\begin{tabular}{c c c c c c c c c c c c c c} \hline \hline
**System** & \multicolumn{4}{c}{**Galileo**} & \multicolumn{4}{c}{**BDS-2**} & \multicolumn{4}{c}{**BDS-3**} & \multicolumn{4}{c}{**GPS**} \\ \hline \(f_{j}\) & E1 & E5a & E5b & E5 & E6 & B11 & B2I & B3I & B11 & B3I & B2a & L1 & L2 & L5 \\ \hline \(f_{i}\) & E5a & E1 & E1 & E1 & E1 & B2I & B11 & B11 & B3I & B11 & B11 & L2 & L1 & L1 \\ \hline \hline \end{tabular}
\end{table}