## 2 Materials and Methods
### Proposed Approach for CORS Data Quality Assessment
#### 2.2.2 Carrier-Phase Multipath Errors  
Obtaining the magnitude of multipath errors in carrier-phase measurements at a CORS station is non-trivial. Similar to pseudorange measurements, multipath errors in carrier-phase measurements are much smaller than the atmospheric biases, satellite orbits, and clock errors. Differencing must be used to obtain \"accurate\" carrier-phase residuals for multipath error analysis. For short to medium baselines, the carrier-phase residuals contain mainly multipath errors and measurement errors/random noise. With the aim of obtaining the carrier-phase multipath errors in the non-linear combined mode, the ionospheric-free combination must be avoided in the observable for residual analysis. Since the data quality assessment can be carried out in post-processing mode, the IONosphere map EXchange (IONEX) files are used to correct the ionospheric effect on GNSS measurements in our proposed approach in this paper. Regarding the tropospheric delay, the zenith tropospheric delay (ZTD) and gradient are estimated in data processing [40; 41]. The double difference (DD) carrier-phase residuals are then processed by wavelets in order to remove the DD measurement noise and obtain the DD multipath errors. As a DD measurement involves four measurements at two stations and the carrier-phase multipath error is partly proportional to the PRN code correlation function [16], MPs at the two stations are used to \"scale\" the DD carrier-phase multipath error to form the single-differencing (SD) carrier-phase multipath error of each of the two stations at the baseline. Since the reference satellite in relative positioning is usually at high elevation angles, the multipath effect can be neglected. Therefore, the SD multipath error can be assumed as the carrier-phase multipath error of the roving satellite and station. This process is shown in Figure 2 (the upper path is highlighted with a pale blue shadow). \begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline  & & **GPS** & & **GLONASS** & & & **GALILEO** & & & **BDS** \\ \hline f\({}_{1}\) & L1 & L2 & L5 & G1 & G2 & E1 & E5a & E5b & E5 & B1 & B2 \\ \hline f\({}_{2}\) & L2 & L1 & L1 & G2 & G1 & E5a & E1 & E1 & E1 & B2 & B1 \\ \hline \end{tabular}
\end{table} 
Table 2: Frequency pairing for pseudorange multipath calculation. PPP carrier-phase residuals cannot be used to obtain carrier-phase multipath errors because pseudorange multipath errors and noise are much greater than the carrier-phase multipath errors: two orders greater. Assuming low carrier-phase multipath errors at the reference station in differencing can obtain more accurate carrier-phase multipath errors at the the rover compared to using the PPP residuals. Criteria for selecting the reference station in differencing are: (1) A station with low pseudorange multipath errors (higher priority), (2) the location of the station in a group of stations (i.e., about the center of a group of stations). CORS administration centers/organizations and readers may use the \"Fixed Static\" processing mode in RTKLib Demo5 b34_d3[42, 43] to output DD carrier-phase residuals, which is the input of the flowchart in Figure 2. DD carrier-phase residuals are obtained in the \".pos\" output file, in MATLAB, or open-source. Since carrier-phase multipath errors at a static station show sinusoidal patterns [16], spectral analysis approaches such as Fourier transforms and wavelets can be used to separate the multipath \"signal\" from the noise. Wavelet analysis tools can be used to obtain the DD carrier-phase multipath errors and noise [18]. This work uses DWT and IDWT functions of the MATLAB Wavelet toolbox. The further operations in the pale blue highlighted box (i.e., for carrier-phase multipath errors) can be carried out in spreadsheets or sample programming scripts. CORS administration centers/organizations can, of course, code up the above algorithm into a piece of software with any computer programming language.