GNSS software-defined receiver

software GNSS receiver is a GNSS receiver that has been designed and implemented following the philosophy of software-defined radio .

A GNSS receiver, in general, is an electronic device that receives and digitally processes the signals from a GNSS satellite constellation in order to provide position, velocity and time (of the receiver).

GNSS receivers-have-been traditionally Implemented in hardware: a hardware GNSS receiver is Conceived as a dedicated chip-have beens That designed and built (from the Very Beginning) with the only purpose of being white has GNSS receiver.

In a software GNSS receiver, all digital processing is performed by a general purpose microprocessor . In this approach, a small amount of inexpensive hardware is still needed, known as the frontend , that digitizes the signal from the satellites. The microprocessor can then work on this raw digital stream to implement the GNSS functionality.

Hardware vs. Software GNSS receivers

When comparing hardware vs software GNSS receivers, a number of pros and cons can be found for each approach:

  • Hardware GNSS is the most widely used GNSS-based computing platform for GNSS applications.
  • Software GNSS receivers allow a great flexibility: many features of the receiver can be modified just through software. This provides the receiver with adaptive capabilities, depending on the user’s needs and working conditions. In addition, the receiver can be easily upgraded via software. [1]
  • Under some assumptions, Software GNSS receivers can be more profitable for some applications, as long as sufficient computational power is available. For example, the microprocessor of a smartphone can be used to provide GNSS navigation with the only need for a frontend (instead of a full, more expensive, hardware receiver).

Currently, most of the GNSS receiver market is still hardware . However, microprocessors are already low cost microprocessors. Software GNSS receivers are expected to increase their market share or even take over in the future future, following the development of the computational capabilities of the microprocessors ( Moore’s law ).

Comparison of implementations

This comparison is strictly about GNSS SDR; GNSS positioning and mapping software.
  • Galileo Satellite Navigation LTD.- GSN :
    • URL: http://galileo-nav.com
    • Business Model – IP core license + royalties
    • Development
      • Programming language: C
      • User interface – NMEA
    • Hardware support:
      • Platforms
        • PC – windows
        • PC – Linux
        • CEVA – XC family
        • CEVA – TL3 / 4
        • Cadence (Tensilica) – BBE16 / 32
      • RF FE
        • MAXIM
        • NEC
    • GNSS / SBAS signals support:
      • GPS : L1 / CA,
      • GLONASS : G1
      • Galileo : E1,
      • BeiDou : B1
      • SBAS
      • QZSS : L1 / CA
    • Features:
      • Acquisition: yes
      • Tracking: yes
      • Generating pseudo-range observable: yes
      • Decoding navigation data: yes
      • Position estimation: yes
      • Maximum number of real-time channels shown: 16 / system
      • Multi-correlator: yes
      • Sample data recording: yes
  • SX3 (formerly SX-NSR)
    • General information:
      • URL: http://www.ifen.com/products/sx-scientific-gnss-solutions/sx-software-receiver.html
      • Publication: http://gpsworld.com/software-gnss-receiver-an-answer-for-precise-positioning-research
    • Development:
      • Programming language: C ++
      • User interface (none, CLI , GUI ): CLI, GUI
      • Under active development (as-of date): yes (2016-Mar-17)
      • Creator / sponsor organization: IfEN GmbH, Germany
      • Latest release (version and date): v3.2.1, March 2016
      • First release (version and date): v1.0, March 2007
    • Hardware support:
      • Front-ends: NavPort, NavPort-4, SX3 frontend
      • Host computer special hardware supported: SIMD (SSE2, SSSE3), CUDA
      • Multicore supported: yes
    • GNSS / SBAS signals support:
      • GPS : L1CA, L2C, L2P (codeless), L5
      • GLONASS : G1, G2
      • Galileo : E1, E5a, E5b, E5ab (AltBOC), E6
      • BeiDou : B1, B2
      • SBAS : EGNOS
      • QZSS : L1CA
      • IRNSS : L5, S-Band
    • Features:
      • Acquisition: yes (several algorithms)
      • Tracking: yes (several algorithms)
      • Generating pseudo-range observable: yes
      • Generating carrier-phase observable: yes
      • Decoding navigation data: yes
      • Spectrum analyzer: yes
      • Position estimation: yes
      • Maximum number of real-time channels shown: 490 (GPS L1 C / A channels @ 20 MHz sample rate, 3 correlators per channel, INTEL Core i7-4970K processor (not over clocked))
      • Application programming interface: yes
      • Dual antenna support: yes
      • Scintillation monitoring: yes
      • Multi-correlator: yes
      • Sample data recording: yes
      • Multipath mitigation: yes (several algorithms)
  • GNSS-SDRLIB
    • General information:
      • URL: http://www.taroz.net/gnsssdrlib_e.html
      • Publication:
      • Software license :
    • Development:
      • Programming language: C
      • User interface (none, CLI , GUI ): CLI, GUI.
      • Number of developers: 1?
      • Under active development (as-of date): yes (2013-Sep-25)
      • Creator / sponsor organization: Tokyo University of Science and Technology, Japan
      • Latest release (version and date):
      • First release (version and date):
    • Hardware support:
      • Front-ends: NSL STEREO v2 and SiGe GN3S Sampler v3
      • Host computer special hardware supported: SIMD (SSE2 and AVX)
      • Multicore supported ?:
    • GNSS / SBAS signals support:
      • GPS : L1CA, L1C, L2C, L5
      • GLONASS : G1, G2
      • Galileo : E1, E5a, E5b
      • BeiDou : B1
      • QZSS : LEX
    • Features:
      • Acquisition: yes
      • Tracking: yes
      • Generating pseudo-range: yes
      • Decoding navigation data: yes
      • Spectrum analysis: yes
      • Position estimation: yes (through RTKLIB)
      • Maximum number of real-time channels shown:?
  • ARAMIS (TM) (formerly iPRx)
    • versions:
      • Free academic version: http://www.ip-solutions.jp/free%20SDR%20receiver.html
      • Ionospheric Scintillation Monitor receiver
      • R & D version
    • General information:
      • URL: http://www.ip-solutions.jp/ionosphere_scintillation_monitor.html
      • Publication: http://www.cambridge.org/us/academic/subjects/engineering/communications-and-signal-processing/digital-satellite-navigation-and-geophysics-practical-guide-gnss-signal-simulator-and- receiver-laboratory
    • Development:
      • Programming language: C ++
      • User interface: GUI
      • Under active development (as-of date): yes (2014-Nov)
      • Creator / sponsor organization: iP-Solutions, Japan, JAXA, Japan
      • Latest release (version and date): April 2014
      • First release (version and date): April 2008
    • Hardware support:
      • Front-ends: Eagle, FEM, MFR
      • Multicore supported: yes
    • GNSS / SBAS signals support:
      • GPS : L1CA, L2P (codeless)
      • GLONASS : G1, G2
      • Galileo : E1
      • QZSS : L1CA
    • Features:
      • Acquisition: yes
      • Tracking: yes
      • Generating pseudo-range observable: yes
      • Generating carrier-phase observable: yes
      • Decoding navigation data: yes
      • Position estimation: yes
      • Maximum number of real-time channels: 60 (5 correlators per channel)
      • Application programming interface: yes
      • Dual antenna support: yes, for FEM front end
      • Multi-correlator: yes
      • Sample data recording: yes
  • SoftGNSS v3.0 (also known as SoftGPS)
    • General information:
      • URL: SoftGNSS @ Aalborg Team , SoftGNSS @ University of Colorado
      • Publication: http://www.springer.com/birkhauser/engineering/book/978-0-8176-4390-4
      • Source code: included with the book
      • Software license : GPL v2
      • Non-real-time (post-processing) GNSS software receiver
    • Development:
      • Programming language: MATLAB
      • User interface (none, CLI , GUI ): CLI and GUI
      • Number of developers: 4 (along the project)
      • Under active development (as-of date): public version – no, non-public versions – yes (2013-Sep-30)
    • Hardware support:
      • Front-ends: SiGe GN3S Sampler v1 (in the original SDR and driver release). Signal records originating from other Sampler versions or other front-ends.
      • Host computer special hardware supported: no
      • Multicore supported ?: no
    • GNSS / SBAS signals support (separate version for each band of each GNSS):
      • GPS : L1CA
    • Features:
      • Acquisition: yes
      • Tracking: yes
      • Generating pseudo-range observable: yes
      • Generating carrier-phase observable: no
      • Decoding navigation data: yes
      • Position estimation: yes
  • GNSS-SDR , An open source GNSS Software Defined Receiver
    • General information:
      • URL: http://gnss-sdr.org/
      • Source code: https://github.com/gnss-sdr/gnss-sdr.git
      • Software license : GPL v3
    • Development:
      • Programming language: C ++
      • User interface (none, CLI , GUI ): CLI.
      • Number of developers: 8 (along the project)
      • Under active development (as-of date): yes (2016-Sep-24)
      • Creator / sponsor organization: Tecnologic Center of Telecomunicaciones de Catalunya
      • Latest release (version and date): 0.0.8 (as Sept. 2016)
      • First release (version and date): 2011-Mar-11 first svn commit
    • Hardware support:
      • Front-ends: UHD-compatible ( USRP v1, v2, etc.), OsmoSDR, RTL2832-based USB dongles and SiGe GN3S Sampler v2
      • Host computer special hardware supported: SIMD (via VOLK and VOLK_GNSSSDR), CUDA
      • Multicore supported ?: Yes
    • GNSS / SBAS signals support:
      • GPS : L1CA
      • GLONASS:
      • Galileo : E1b, E1c
      • BeiDou:
      • SBAS : EGNOS
    • Features:
      • Acquisition: yes (several algorithms)
      • Tracking: yes (several algorithms)
      • Generating pseudo-range observable: yes
      • Generating carrier-phase observable: yes
      • Decoding navigation data: yes
      • Position estimation: yes
      • Maximum number of real-time channels shown:> 100
      • Output formats: RINEX , KML , RTCM
  • GNSS-SDR , An open source GNSS Software Defined Receiver based on SoftGNSS v3.0
    • General information:
      • URL: http://gnss-sdr.ru/index.php?blogid=2
      • Source code: https://code.google.com/p/gnsssdr/
      • Software license : GPL v3
      • No real-time (postprocessing) GNSS software receiver
    • Development:
      • Programming language: SciLab
      • Number of developers: 1
      • Under active development (as-of date): yes (2013-Sep-25)
    • GNSS / SBAS signals support (separate version for each band of each GNSS):
      • GPS : L1CA
      • GLONASS: L1SP, L2SP, L3 (L3 CDMA is under development)
      • Galileo : E1 (under development)
      • BeiDou: B1I
    • Features:
      • Acquisition: yes
      • Tracking: yes
      • Generating pseudo-range observable: yes
      • Generating carrier-phase observable: no
      • Decoding navigation data: yes
      • Position estimation: yes
  • TRIGR
  • OpenSourceGPS
  • NAMURU
  • GNSS SDR Tools for Education and Research
  • GPL-GPS
  • GPSRCVR
  • WitchNavigator
  • kkGPS
  • ipexSR
  • GSNRx
  • SNACS snSDRGPS
  • SoftGNSS
  • iPRx
  • GMV srx-10
  • IGF-GSRx

Front-ends

This section needs expansion . You can help by adding to it .(September 2013)
  • Ettus USRP ($ 675 +)
  • Nuand bladeRF ($ 420 +)
  • CCAR / SiGe / sparkfun GN3S ($ 450, $ 405)
  • Digial TV Dongle ($ 25?)
  • NSL STEREO v2 (£ 650)
  • Gnss-sdr.ru open-hardware L1 band
  • OneTalent GNSS SdrNavXX (€ 250-800)
  • GNSS front ends (from $ 550) Multi-system (FEM), multi-frequency (MFR)
  • TeleOrbit GTEC RFFE developed by Fraunhofer IIS

References

  1. Jump up^ Real-Time Software Receivers, GPS World, September 1, 2009 by Pierre-André Farine, Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron

Leave a Comment

Your email address will not be published. Required fields are marked *