## 5 Discussion  
In this work, we assessed the quality of the observations collected by three selected recent smartphones, namely the Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 pro and their single point positioning performance. First, we analyzed the \(C/N_{0}\) of GNSS signals collected by the smartphones as a function of azimuth and elevation of satellites. We found both a low \(C/N_{0}\) dependence on satellite elevation and a clear azimuthal asymmetry of signal gain. The second analysis carried out was focused on the stochastic properties of code pseudoranges. This analysis reveals significant divergences of observation noise among devices, constellations, and frequency bands. If we compare the results between the smartphones, we discover that Huawei P30 outperforms other devices in terms of code pseudorange precision while Xiaomi Mi 9 always gives the worst results. Regarding the different frequencies, we observed a significant reduction of code noise for GPS L5 and Galileo E5a frequency bands as compared to L1 and E1 ones. In fact, the standard deviation is reduced by a factor of approximately 4 for all three smartphones when using the L5 signal instead of L1 (0.51 m, 0.96 m and 0.19 m instead of 1.86 m, 3.41 m, and 0.80 m for Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30, respectively). A clear improvement is also obtained by using the E5a signal instead of E1 passing from 1.24 m, 2.77 m and 0.48 m to 0.54 m, 0.90 m, 0.21 m for for Xiaomi Mi 8, Xiaomi Mi 9 and Huawei P30, respectively. Later, we investigated the dependence of the code noise on satellite elevation and on signal carrier-to-noise density ratio. We found a low elevation dependence of the code noise, while its dependency on the signal strength is clear. For Xiaomi Mi 8 and Huawei P30, we found that the highest noise corresponds to the signals with the lowest strength as expected, while the Xiaomi Mi 9 has the noisiest observations with \(C/N_{0}\) in the range of 20-30 dB-Hz. The code noise analyses suggest that the \(C/N_{0}\) weighting scheme should be considered as superior to the elevation-dependent one, and the expected performance of Xiaomi Mi 9 in terms of positional accuracy should be the worst. Regarding positioning domain, several techniques were used: L1 GPS, E1 Galileo, L1 GLONASS single point positioning, L1 multi-constellation single point positioning, L5 GPS, and E5a Galileo single point both with elevation- and \(C/N_{0}\)-dependent weighting function. Based on the number of visible satellites shown in Table 1, we discuss here only the results for the most significant configurations, i.e., multi-constellation and GPS only L1 and Galileo E1 and E5a for the Xiaomi Mi 9. The analysis confirms that the \(C/N_{0}\) weighting scheme gives better results with respect to the elevation-dependent one for all devices, both in multi-constellation and GPS only solutions. By using the \(C/N_{0}\) weighting scheme, a consistent improvement is achieved in the GPS only solution. The best improvement is showed by the Xiaomi Mi 9 (the smartphone whose observables are the noisiest) in the GPS only configuration: by switching from the elevation-dependent weighting scheme to the \(C/N_{0}\) one, the three-dimensional error is more than halved, going from 22.68 m to 10.92 m. A significant improvement of 4.43 m is also shown by the Xiaomi Mi 8, while the Huawei P30 performance is improved by about 2 m. The multi-constellation approach also shows improvements for all devices; however, these improvements are smaller than those obtained in the GPS only solution. These results seem to suggest that the benefit from the \(C/N_{0}\)-dependent weighting scheme is better when the satellite tracking performance is worse. The comparison between the performances obtained by the three devices also confirms what is described in the section on the analysis of the observables. The Huawei P30 shows the best performance in every configuration.