## 4 Performance Assessment of Single Point Positioning with Smartphone Code Pseudoranges
### Positioning Methodology
From the comparison of the boxes in the figure, the improvement provided by the use of weights as a function of \(C/N_{0}\) is evident: the purple and orange boxes (relating to this type of observables weighing scheme) are more \"compact\" than the pink and light blue ones (related to weighing in function of satellite elevation) and positioned lower. This type of representation also allows us to highlight the best performance provided by the Huawei P30 compared to other smartphones even in relation to outliers, represented by the red cross in the figure. Table 3 reports mean and standard deviations of 3D coordinate error for each smartphone for both weighting schemes. For all three smartphones, the results obtained with \(C/N_{0}\)-dependent strategy are always better than those obtained with elevation dependent ones. The best improvement is obtained for the Xiaomi Mi 9: with GPS solution, the mean error and STD are of 14.85 m and 17.15 m when elevation weighting is used with respect to 9.62 m and 5.15 m when \(C/N_{0}\)-dependent weighting is used. A good improvement is also achieved with the Xiaomi Mi 8: the mean error is reduced by about 3 m and STD is halved when only GPS satellites are used. Finally, the improvement is about 2 m when the Huawei P30 and the multi-GNSS strategy are considered. Figure 10: Three-dimensional coordinate error histogram for GPS and multi-GNSS solutions. The results achieved with the elevation-dependent weighting scheme are represented in blue while those obtained with \(C/N_{0}\) weighting are represented in red. Each bin is 2 m wide. Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 smartphones are shown in the left, middle and right columns, respectively. A cut-off threshold of 30 m is used to achieve a better visibility of higher probability region. This improvement in position accuracy is also evident by separating the horizontal component of the error from the vertical one as showed in Figures 12 and 13. In Figure 12, the blue markers represent the errors obtained when the elevation weighting scheme is used, while the red markers represent the errors obtained when the \(C/N_{0}\) weighting function is used. In the figure, multi-GNSS and GPS solutions are given in the first and the second rows, respectively, while Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 smartphones results are distinguished by columns. Figure 13 shows the time series of vertical coordinate component error with the same representation of the previous figures. The red clouds showed in Figure 12 are all contained within the blue ones. This highlights how the horizontal component accuracy is improved when \(C/N_{0}\) weighting is used. The figure also clearly shows the improvement that is achieved by using multi-constellation signals instead of GPS only that was, however, expected. What happens for the horizontal errors is exactly repeated also for the vertical component shown in Figure 13.  
The next comparison we present is the one between the various smartphones. By observing the histograms shown in Figure 10, it can be immediately noted that the worst results in terms of three-dimensional error are obtained by the Xiaomi Mi 9: each histogram related to it has a wider tail. Vice versa, the Huawei P30 smartphone shows the best results: its histograms are narrower than the others. Figures 7-13 show that the best positioning performance of Huawei P30 is in line with what is shown in the section related to the analysis of the observables since code pseudoranges of this smartphone exhibit the lowest noise. \[P_{r,n}^{s,R}-\rho_{r,0}^{s,R}+c\cdot dt^{s,R}+b_{n}^{s,R}-d_{r, trop}^{s,R}-d_{r,n,ion}^{s,R}=e_{r}^{s,R}\cdot\delta X_{r}+c\cdot(d\bar{t}_{r}+dt_{r}^{R -G})+e_{r,n}^{s,R} \tag{2}\]0 Three-dimensional coordinate error box-plots for GPS and multi-GNSS solutions with both \(C/N_{0}\) and elevation-dependent weighting schemes. Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 smartphones are shown in the first, second, and third panels, respectively. A cut-off threshold of 90 m is used to achieve a better visibility.