The Global Navigation Satellite System (GNSS) software-defined receivers offer greater flexibility, cost-effectiveness, customization, and integration capabilities compared to traditional hardware-based receivers, making them essential for a wide range of applications. The continuous evolution of GNSS research and the availability of new features require these software-defined receivers to upgrade continuously to facilitate the latest requirements. The Finnish Geospatial Research Institute (FGI) has been supporting the GNSS research community with its open-source implementations, such as a MATLAB-based GNSS software-defined receiver `FGI-GSRx' and a Python-based implementation `FGI-OSNMA' for utilizing Galileo's Open Service Navigation Message Authentication (OSNMA). In this context, longer datasets are crucial for GNSS software-defined receivers to support adaptation, optimization, and facilitate testing to investigate and develop future-proof receiver capabilities. In this paper, we present an updated version of FGI-GSRx, namely, FGI-GSRx-v2.0.0, which is also available as an open-source resource for the research community. FGI-GSRx-v2.0.0 offers improved performance as compared to its previous version, especially for the execution of long datasets. This is carried out by optimizing the receiver's functionality and offering a newly added parallel processing feature to ensure faster capabilities to process the raw GNSS data. This paper also presents an analysis of some key design aspects of previous and current versions of FGI-GSRx for a better insight into the receiver's functionalities. The results show that FGI-GSRx-v2.0.0 offers about a 40% run time execution improvement over FGI-GSRx-v1.0.0 in the case of the sequential processing mode and about a 59% improvement in the case of the parallel processing mode, with 17 GNSS satellites from GPS and Galileo. In addition, an attempt is made to execute v2.0.0 with MATLAB's own parallel computing toolbox. A detailed performance comparison reveals an improvement of about 43% in execution time over the v2.0.0 parallel processing mode for the same GNSS scenario.
Read full abstract