## 5 Conclusions  
In this study, we explored the performances of different open-source Apps in generating typical GNSS measurements. We also introduced our newly developed software (namely UofC CSV2 RINEX) written in C++ for converting a CSV file into a RINEX file. The quality of raw GNSS observation logged by different smart devices and using different loggers was assessed from different aspects, including the inconsistency between the pseudorange, carrier-phase and Doppler measurements, presence of some carrier-phase observations without changes over time and its possible reasons, etc. Then, the positioning performance of our software was assessed using a kinematic experiment. The conclusions of our study are listed as follows:  
1. Consistency between generated pseudorange, carrier-phase and Doppler observations from Android smartphone devices was not fully met in the RINEX outputs of the GnssLogger and Geo++ RINEX Logger Apps. As a highlight, in GnssLogger RINEX file, pseudorange and carrier-phase, observations were not consistent with each other while looking at the CMP combination. In Geo++ RINEX Logger output, the consistency between the carrier-phase and Doppler observations was not met. With our converter software, these three types of measurements were consistent;
2. GnssLogger App had an issue that some carrier-phase observations from the Xiaomi Mi8 and Samsung S20 devices (saved into the RINEX files) did not change over time. These epochs mainly belonged to the lower C/N0 values with invalid ADR states;  
Figure 12: Horizontal positioning errors from Geo++ RINEX logger output and converted RINEX (**left**), cumulative distribution function plot for horizontal positioning error from Geo++ RINEX logger output and converted RINEX (**right**).  
With our converter software, an improved positioning accuracy could be witnessed when compared with both Geo++ RINEX Logger and GnssLogger outputs. Using UofC CSV2 RINEX output, the 50 th percentile CEP was 0.330 m, which was 0.450 m for GEO++ RINEX Logger, and SPP-level accuracy for GnssLogger due to frequent cycle slip was detected.  
Finally, it should be noted that, to obtain better understanding of the potential reasons of such misbehavior in the typical GNSS observations of the two Apps, a joint effort with their developers is recommended in the future to understand and assess the models and algorithms that have been used to generate the GNSS observations.  
All the authors have contributed to the presented work. The first author, [PERSON], analyzed the static datasets, prepared the plots and wrote the draft of the manuscript. The second author, [PERSON], collected kinematic dataset, generated the reference for it and wrote Introduction and Conclusion sections. [PERSON] and [PERSON] developed the UofC CSV2 RINEX convertor. [PERSON] supervised manuscript development and the direction of the research, revised the paper and provided further analysis. All authors participated in formulating the idea and in discussing the proposed approach and results. All authors have read and agreed to the published version of the manuscript.  
The financial support from the Natural Sciences and Engineering Research Council of Canada (NSERC) is greatly acknowledged. The first author greatly acknowledges the funding support provided by the Izaak Walton Killam Memorial Scholarship.  
Not applicable.  
The data used in this study are available on request from the corresponding author.  
We are grateful to Profound Positioning Inc. (PPI) for providing the Xiaomi Mi8 and Samsung S20 devices to collect data used in this paper.  
The authors declare no conflict of interest.