An open source Global Navigation Satellite Systems software-defined receiver

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).

lightbulb_outline View ideas list


  • c/c++
  • c++
  • c++11
  • c++14
  • gnss


email Mailing list

GNSS-SDR 2017 Projects

  • Gabriel Araujo
    Expanding the GNSS-SDR receiver to GLONASS
    Expanding the receiver to GLONASS signals will help the community to research and implement new algorithms for multi-constellation and new estimation...
  • Damian Miralles
    Expanding the receiver to GLONASS
    Add code to support GLONASS processing in the GNSS-SDR platform
  • Usman Haider
    Graphical User Interface for GNSS-SDR configuration
    A proposal for developing GUI for generating configuration files for GNSS-SDR receiver. The project will deliver a friendly and intuitive GUI for the...
  • Antonio Ramos de Torres
    Pulsed and continuous wave radio frequency interferences mitigation: application to GNSS-SDR in low Signal to Noise ratio scenarios
    During last decades Global Navigation Satellite Systems (GNSS) have increasingly become a fundamental tool for high accuracy positioning purposes....
  • Shashanka Joisa
    Robust KF-based Tracking Techniques for Advanced GNSS Receivers
    The currently available tracking technique in GNSS-SDR includes three parameters(code phase, Doppler shift, carrier phase). The GNSS-SDR technique...