A 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 that have been designed and built (from the very beginning) with the only purpose of being a 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.
When comparing hardware vs software GNSS receivers, a number of pros and cons can be found for each approach:
Hardware GNSS receivers are in general more efficient from the point of view of both computational load and power consumption since they have been designed in a highly specialized way with the only purpose of implementing the GNSS processing.Software GNSS receivers allow a huge 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.Under some assumptions, Software GNSS receivers can be more profitable for some applications, as long as sufficient computational power is available (and can be shared among multiple applications). For example, the microprocessor of a smartphone can be used to provide GNSS navigation with the only need of including a frontend (instead of a full, more expensive, hardware receiver).Currently, most of the GNSS receiver market is still hardware. However, there already exist operational solutions based on the software approach able to run on low-cost microprocessors. Software GNSS receivers are expected to increase their market share or even take over in the near future, following the development of the computational capabilities of the microprocessors (Moore's law).
This comparison is strictly about GNSS SDR; please do not include general GNSS positioning and mapping software.Galileo Satellite Navigation LTD.- GSN:URL: http://galileo-nav.comBusiness Model - IP core license + royaltiesDevelopmentProgramming language: CUser interface - NMEAHardware support:PlatformsPC - windowsPC - LinuxCEVA - XC familyCEVA - TL3/4Cadence (Tensilica) - BBE16/32RF FEMAXIMNECGNSS/SBAS signals support:GPS: L1/CA,GLONASS: G1Galileo: E1,BeiDou: B1SBASQZSS: L1/CAFeatures:Acquisition: yesTracking: yesGenerating pseudo-range observable: yesDecoding navigation data: yesPosition estimation: yesMaximum number of real-time channels demonstrated: 16/systemMulti-correlator: yesSample data recording: yesSX3 (formerly SX-NSR)General information:URL: http://www.ifen.com/products/sx-scientific-gnss-solutions/sx-software-receiver.htmlPublication: http://gpsworld.com/software-gnss-receiver-an-answer-for-precise-positioning-researchDevelopment:Programming language: C++User interface (none, CLI, GUI): CLI, GUIUnder active development (as-of date): yes (2016-Mar-17)Creator/sponsor organization: IfEN GmbH, GermanyLatest release (version and date): v3.2.1, March 2016First release (version and date): v1.0, March 2007Hardware support:Front-ends: NavPort, NavPort-4, SX3 frontendHost computer special hardware supported: SIMD (SSE2, SSSE3), CUDAMulticore supported: yesGNSS/SBAS signals support:GPS: L1CA, L2C, L2P (codeless), L5GLONASS: G1, G2Galileo: E1, E5a, E5b, E5ab (AltBOC), E6BeiDou: B1, B2SBAS: EGNOSQZSS: L1CAIRNSS: L5, S-BandFeatures:Acquisition: yes (several algorithms)Tracking: yes (several algorithms)Generating pseudo-range observable: yesGenerating carrier-phase observable: yesDecoding navigation data: yesSpectrum analyzer: yesPosition estimation: yesMaximum number of real-time channels demonstrated: 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: yesDual antenna support: yesScintillation monitoring: yesMulti-correlator: yesSample data recording: yesMultipath mitigation: yes (several algorithms)GNSS-SDRLIBGeneral information:URL: http://www.taroz.net/gnsssdrlib_e.htmlPublication:Software licence:Development:Programming language: CUser 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 Marine Science and Technology, JapanLatest release (version and date):First release (version and date):Hardware support:Front-ends: NSL STEREO v2 and SiGe GN3S Sampler v3Host computer special hardware supported: SIMD (SSE2 and AVX)Multicore supported?:GNSS/SBAS signals support:GPS: L1CA, L1C, L2C, L5GLONASS: G1, G2Galileo: E1, E5a, E5bBeiDou: B1QZSS: LEXFeatures:Acquisition: yesTracking: yesGenerating pseudo-range: yesDecoding navigation data: yesSpectrum analysis: yesPosition estimation: yes (through RTKLIB)Maximum number of real-time channels demonstrated: ?ARAMIS(TM) (formerly iPRx)Versions:Free academic version : http://www.ip-solutions.jp/free%20SDR%20receiver.htmlIonospheric Scintillation Monitor receiverR&D versionGeneral information:URL: http://www.ip-solutions.jp/ionosphere_scintillation_monitor.htmlPublication: http://www.cambridge.org/us/academic/subjects/engineering/communications-and-signal-processing/digital-satellite-navigation-and-geophysics-practical-guide-gnss-signal-simulator-and-receiver-laboratoryDevelopment:Programming language: C++User interface : GUIUnder active development (as-of date): yes (2014-Nov)Creator/sponsor organization: iP-Solutions, Japan, JAXA, JapanLatest release (version and date): April 2014First release (version and date): April 2008Hardware support:Front-ends: Eagle, FEM, MFRMulticore supported: yesGNSS/SBAS signals support:GPS: L1CA, L2P (codeless)GLONASS: G1, G2Galileo: E1QZSS: L1CAFeatures:Acquisition: yesTracking: yesGenerating pseudo-range observable: yesGenerating carrier-phase observable: yesDecoding navigation data: yesPosition estimation: yesMaximum number of real-time channels : 60 (5 correlators per channel)Application programming interface: yesDual antenna support: yes, for FEM front endMulti-correlator: yesSample data recording: yesSoftGNSS v3.0 (also known as SoftGPS)General information:URL: SoftGNSS @ Aalborg Team , SoftGNSS @ University of ColoradoPublication: http://www.springer.com/birkhauser/engineering/book/978-0-8176-4390-4Source code: included with the bookSoftware licence: GPL v2Non real-time (post-processing) GNSS software receiverDevelopment:Programming language: MATLABUser interface (none, CLI, GUI): CLI and GUINumber 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 require configuration changes and in some cases also minor code changes.Host computer special hardware supported: noMulticore supported?: noGNSS/SBAS signals support (separate version for each band of each GNSS):GPS: L1CAFeatures:Acquisition: yesTracking: yesGenerating pseudo-range observable: yesGenerating carrier-phase observable: noDecoding navigation data: yesPosition estimation: yesGNSS-SDR, An open source GNSS Software Defined ReceiverGeneral information:URL: http://gnss-sdr.org/Source code: Software licence: GPL v3Development: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: Centre Tecnològic de Telecomunicacions de CatalunyaLatest release (version and date): 0.0.8 (as Sept. 2016)First release (version and date): 2011-Mar-11 first svn commitHardware support:Front-ends: UHD-compatible (USRP v1, v2, etc.), OsmoSDR, RTL2832-based USB dongles and SiGe GN3S Sampler v2Host computer special hardware supported: SIMD (via VOLK and VOLK_GNSSSDR), CUDAMulticore supported?: YesGNSS/SBAS signals support:GPS: L1CAGLONASS:Galileo: E1b, E1cBeiDou:SBAS: EGNOSFeatures:Acquisition: yes (several algorithms)Tracking: yes (several algorithms)Generating pseudo-range observable: yesGenerating carrier-phase observable: yesDecoding navigation data: yesPosition estimation: yesMaximum number of real-time channels demonstrated: > 100Output formats: RINEX, KML, RTCMGNSS-SDR, An open source GNSS Software Defined Receiver based on SoftGNSS v3.0General information:URL: http://gnss-sdr.ru/index.php?blogid=2Source code: https://code.google.com/p/gnsssdr/Software licence: GPL v3Non real-time (postprocessing) GNSS software receiverDevelopment:Programming language: SciLabNumber of developers: 1Under active development (as-of date): yes (2013-Sep-25)GNSS/SBAS signals support (separate version for each band of each GNSS):GPS: L1CAGLONASS: L1SP, L2SP, L3 (L3 CDMA is under development)Galileo: E1 (under development)BeiDou: B1IFeatures:Acquisition: yesTracking: yesGenerating pseudo-range observable: yesGenerating carrier-phase observable: noDecoding navigation data: yesPosition estimation: yesTRIGROpenSourceGPSNAMURUGNSS SDR Tools for Education and ResearchGPL-GPSGPSRCVRWitchNavigatorkkGPSipexSRGSNRxSNACS snSDRGPSSoftGNSSiPRxGMV srx-10FGI-GSRxEttus 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 bandOneTalent GNSS SdrNavXX (€250-800)iP-Solutions academic (Eagle), multi-system (FEM), multi-frequency (MFR) GNSS front ends (from $550)TeleOrbit GTEC RFFE developed by Fraunhofer IIS