GSoC/GCI Archive
Google Summer of Code 2014


License: GNU General Public License version 3.0 (GPLv3)

Web Page:

Mailing List:

GNSS-SDR is an open source Global Navigation Satellite Systems software receiver, written in C++, that is able to work either from raw signal samples stored in a file, or in real-time with a radio-frequency front-end as signal source, and performs all the signal processing until the observable computation and Position-Velocity-Time solution. Its modularity allows users to populate the framework with their own algorithms, allowing to put the focus on the signal processing implementation without worrying about how to embed that algorithm in a whole GNSS receiver. It also makes possible fair performance benchmarks using real GNSS signals, and its open source license allows free downloading, use and code inspection. The proposed software receiver targets multi-constellation/multi-frequency architectures, pursuing the goals of efficiency, modularity, interoperability, and flexibility demanded by user domains that require non-standard features, such as earth observers or geodesists, and allowing applications such as the observation of the ionosphere, GNSS reflectometry, signal quality monitoring, space weather, and high-accuracy positioning based on carrier-phase navigation techniques. In this project, we focus on signal processing, understood as the process between the ADC and the computation of code and phase observables, including the demodulation of the navigation message. We purposely omit data processing, understood as the computation of the navigation solution from the observables and the navigation message, since there are a number of well-established libraries and applications for that (also in the open source side, such as GPSTk or RTKLIB).


  • Development of a GNSS Sampler using the MAX2769 Universal GPS Receiver GNSS-SDR could become a great tool for students and researchers attempting to understand the internals of a GNSS receiver. If the cost of the hardware platform could be brought low and the hardware robustness is made reasonably high, many more experimenters will be willing to join the GNSS-SDR project. In this project, I would like to develop and test an Open Sourced Hardware design for a GNSS Sampler frontend using the Maxim Integrated MAX2769 Universal GPS Receiver.
  • Expanding the receiver to Galileo E5a The goal of this project is to implement and validate a software capable of processing Galileo E5a open service signal in real-time, delivering observables in RINEX format. The idea is to implement the software in a modular, scalable manner. It will be implemented in modules that will be based on basic algorithms to ensure that the whole system is finished and validated before the deadline. If there is extra time left, a module with a Kalman Filter based PVT solution will be implemented.
  • Faster GNSS Signal Acquisition using the Sparse Fourier Transform The GNSS-SDR project includes excellent libraries for performing navigation operation through software. In order to keep GNSS-SDR libraries fresh this project propose to include on it a nouvelle technique that will reduce the computational complexity of the signal acquisition by 2.2 times. The proposal is based on the work developed in
  • New blocks for BeiDou B1 in GNSS-SDR: toward a multi-constellation receiver Currently, GNSS-SDR is completely operational with GPS L1-C/A and Galileo E1 signals. To go towards an effective multi-constellation software defined receiver, GNSS-SDR extension to the Chinese Navigation Satellite System (BeiDou) is proposed. Hence, the aim of this project is to implement additional blocks to acquire, track, decode and produce PVT solution starting from the B1 signal of MEO (Medium Earth Orbit) and IGSO (Inclined Geosynchronous Satellite Orbits) BeiDou Satellites.