## 4 Performance Assessment of Single Point Positioning with Smartphone Code Pseudoranges
### Positioning Methodology
Positioning Performance Comparison of the Smartphones and Benefits from the \(C/n_{0}\)-Dependent Weighting Scheme and Multi-GNSS Signals  
The analysis carried out in the previous section implies that the commonly employed elevation-dependent function may not be advantageous for smartphone GNSS observation weighting and suggests an application of the \(C/N_{0}\)-dependent ones. Therefore, we begin with the evaluation of the advantage of the \(C/N_{0}\) weighting function over the elevation-dependent one in the coordinate domain. In Figures 7-9, the three-dimensional (3D) positioning error scatter plots for Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 smartphones are shown, respectively. The first row of each figure shows the errors obtained using a multi-constellation solution fed with single-frequency observations (L1/E1/B1/G1), while the second row shows the errors obtained using GPS L1 C/A code signals. Blue markers represent errors when the solution was obtained using elevation-dependent weights while red circles represent error obtained using \(C/N_{0}\)-related weights. The figures clearly confirm that the application of \(C/N_{0}\)-dependent weighting function gives better results than those obtained with the elevation-dependent function: the red point cloud is always contained within the blue one. Figure 7: Three-dimensional coordinate error scatter plots for single point positioning of Xiaomi Mi 8. The first row corresponds to multi-GNSS solution while the second row to the GPS one. Blue markers represent errors when the solution was obtained using elevation-dependent weights; red circles represent errors obtained using \(C/N_{0}\) weights. Figure 10 shows the 3D positioning error histogram for both GPS and multi-constellation solutions. The results achieved by using elevation-dependent weighting are represented in blue while in red those obtained with \(C/N_{0}\)-dependent weighting. Each bin is 2 m wide. Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 smartphones are shown in the  
Figure 8: Three-dimensional coordinate error scatter plots for single point positioning of Xiaomi Mi 9. The first row corresponds to multi-GNSS solution while the second row to the GPS one. Blue markers represent errors when the solution was obtained using elevation-dependent weights; red circles represent errors obtained using \(C/N_{0}\) weights. Figure 9: Three-dimensional coordinate error scatter plots for single point positioning of Huawei P30. The first row corresponds to the multi-GNSS solution while the second row to the GPS one. Blue markers represent errors when the solution was obtained using elevation-dependent weights; red circles represent errors obtained using \(C/N_{0}\) weights. left, middle and right column, respectively. This figure confirms that the accuracy obtained using the \(C/N_{0}\) weighting is higher than that obtained using the elevation one; the blue curves are always wider than the red ones; thus, the errors for the \(C/N_{0}\)-dependent scheme have a standard deviation lower than those obtained with the elevation-dependent scheme. Figure 11 represent three-dimensional coordinate error box-plots for GPS and multi-GNSS SPP solutions with both \(C/N_{0}\) and elevation weighting. Xiaomi Mi 8, Xiaomi Mi 9, and Huawei P30 smartphones are shown in the first, second, and third panels, respectively. Some errors for the Xiaomi Mi 9 are very high (occasionally greater than 150 m). To ensure a better view of the figure, a threshold of 90 m has been adopted. The light purple boxes represent the errors obtained with the multi-GNSS and \(C/N_{0}\) weighting scheme, the pink boxes represent errors for multi-GNSS with an elevation weighting scheme. Orange and light blue boxes represent errors for the GPS approach with \(C/N_{0}\) and elevations weighting functions, respectively.