HOME

TheInfoList



OR:

A software GNSS receiver is a
Global Navigation Satellite System A satellite navigation or satnav system is a system that uses satellites to provide autonomous geopositioning. A satellite navigation system with global coverage is termed global navigation satellite system (GNSS). , four global systems are op ...
(GNSS) receiver that has been designed and implemented using
software-defined radio Software-defined radio (SDR) is a radio communication system where components that conventionally have been implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/ demodulators, detectors, etc.) are instead implemented ...
. A GNSS receiver, in general, is an electronic device that receives and digitally processes the signals from a navigation 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 has 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 A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
. 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 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.Real-Time Software Receivers
GPS World, September 1, 2009 by Pierre-André Farine, Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron * 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 A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as multi ...
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 Moore's law is the observation that the Transistor count, number of transistors in an integrated circuit (IC) doubles about every two years. Moore's law is an observation and Forecasting, projection of a historical trend. Rather than a law of ...
).


Comparison of GNSS SDR implementations

*Galileo Satellite Navigation LTD.- GSN: **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 The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: L1/CA, ***
GLONASS GLONASS (, ; ) is a Russian satellite navigation system operating as part of a radionavigation-satellite service. It provides an alternative to Global Positioning System (GPS) and is the second navigational system in operation with global cove ...
: G1 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
: E1, ***
BeiDou The BeiDou Navigation Satellite System (BDS; ) is a satellite-based radio navigation system owned and operated by the China National Space Administration. It provides geolocation and time information to a BDS receiver anywhere on or near the ...
: 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 demonstrated: 16/system ***Multi-correlator: yes ***Sample data recording: yes * SX3 (formerly SX-NSR) **''General information:'' *** Publication: http://gpsworld.com/software-gnss-receiver-an-answer-for-precise-positioning-research ** ''Development:'' *** Programming language: C++ *** User interface (none,
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
, 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 The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: L1CA, L2C, L2P (codeless), L5 ***
GLONASS GLONASS (, ; ) is a Russian satellite navigation system operating as part of a radionavigation-satellite service. It provides an alternative to Global Positioning System (GPS) and is the second navigational system in operation with global cove ...
: G1, G2 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
: E1, E5a, E5b, E5ab (AltBOC), E6 ***
BeiDou The BeiDou Navigation Satellite System (BDS; ) is a satellite-based radio navigation system owned and operated by the China National Space Administration. It provides geolocation and time information to a BDS receiver anywhere on or near the ...
: B1, B2 *** SBAS: EGNOS *** QZSS: L110CAdieyure ***
IRNSS Indian Regional Navigation Satellite System (IRNSS), with an operational name of NavIC (acronym for Navigation with Indian Constellation; also, 'sailor' or 'navigator' in Indian languages), is an autonomous regional satellite navigation system ...
: 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 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: yes *** Dual antenna support: yes *** Scintillation monitoring: yes *** Multi-correlator: yes *** Sample data recording: yes *** Multipath mitigation: yes (several algorithms) * GNSS-SDRLIB **''General information:'' *** Publication: *** Software licence:
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
2+ ** ''Development:'' *** Programming language: C *** User interface (none,
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
, 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, 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 The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: L1CA, L1C, L2C, L5 ***
GLONASS GLONASS (, ; ) is a Russian satellite navigation system operating as part of a radionavigation-satellite service. It provides an alternative to Global Positioning System (GPS) and is the second navigational system in operation with global cove ...
: G1, G2 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
: E1, E5a, E5b ***
BeiDou The BeiDou Navigation Satellite System (BDS; ) is a satellite-based radio navigation system owned and operated by the China National Space Administration. It provides geolocation and time information to a BDS receiver anywhere on or near the ...
: 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 demonstrated: ? * ARAMIS (formerly iPRx) **''Versions:'' *** Free academic version *** Ionospheric Scintillation Monitor receiver *** R&D version ** ''General information:'' *** 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): February 2018 *** First release (version and date): April 2008 ** ''Hardware support:'' *** Front-ends: Eagle, FEM, Simceiver *** Multicore supported: yes ** ''GNSS/SBAS signals support:'' ***
GPS The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: L1CA, L2C *** BeiDou B1, B2 ***
GLONASS GLONASS (, ; ) is a Russian satellite navigation system operating as part of a radionavigation-satellite service. It provides an alternative to Global Positioning System (GPS) and is the second navigational system in operation with global cove ...
: G1, G2, G3 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
: E1 *** IRNSS: L5, S *** QZSS: L1CA *** SBAS ** ''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:'' *** Publication: https://www.springer.com/birkhauser/engineering/book/978-0-8176-4390-4 *** Source code: included with the book *** Software licence: GPL v2 *** Non real-time (post-processing) GNSS software receiver ** ''Development:'' *** Programming language:
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
*** User interface (none,
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
, 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 require configuration changes and in some cases also minor code changes. *** Host computer special hardware supported: no *** Multicore supported?: no ** ''GNSS/SBAS signals support (separate version for each band of each GNSS):'' ***
GPS The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: 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:'' *** Software licence: GPL v3 ** ''Development:'' *** Programming language: C++ *** User interface (none,
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
, GUI): CLI. *** Number of developers: 26 (along the project) *** Under active development (as-of date): yes (2021-Jan-08) *** Creator/sponsor organization: Centre Tecnològic de Telecomunicacions de Catalunya *** Latest release (version and date): 0.0.14 (as Jan 2021) *** First release (version and date): 2011-Mar-11 first svn commit ** ''Hardware support:'' *** Front-ends: UHD-compatible ( USRP family), OsmoSDR-compatible (RTL2832-based USB dongles, bladeRF, HackRF One), SiGe GN3S Sampler v2, AD-FMCOMMS2-EBZ *** Host computer special hardware supported:
SIMD Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
(via VOLK and VOLK_GNSSSDR), CUDA *** Multicore supported?: Yes ** ''GNSS/SBAS signals support:'' ***
GPS The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: L1CA, L2C, L5 ***
GLONASS GLONASS (, ; ) is a Russian satellite navigation system operating as part of a radionavigation-satellite service. It provides an alternative to Global Positioning System (GPS) and is the second navigational system in operation with global cove ...
: L1SP, L2SP ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
: E1b, E1c, E5a *** BeiDou: B1I, B3I *** 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 demonstrated: > 100 *** Output formats:
RINEX In the field of geodesy, Receiver Independent Exchange Format (RINEX) is a data interchange format for raw satellite navigation system data. This allows the user to post-process the received data to produce a more accurate result — usually ...
, KML, GPX,
GeoJSON GeoJSON is an open standard format designed for representing simple geographical features, along with their non-spatial attributes. It is based on the JSON format. The features include points (therefore addresses and locations), line strings ...
,
NMEA The National Marine Electronics Association (NMEA) is a US-based marine electronics trade organization setting standards of communication between marine electronics. Standards NMEA 0183 NMEA 2000 NMEA OneNet NMEA OneNet is the latest standard ...
, RTCM, intermediate results stored in binary .mat files readable from
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
and
Octave In music, an octave (: eighth) or perfect octave (sometimes called the diapason) is an interval between two notes, one having twice the frequency of vibration of the other. The octave relationship is a natural phenomenon that has been referr ...
, and from
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
via h5py. * GRID, Generalized Radionavigation Interfusion Device **''General information:'' *** Software licence: Commercial ***Publication
Software-Defined GNSS is Ready for Launch
***Contact
Radionavigation LaboratoryLocus Lock
** ''Development:'' *** Programming language: C++ *** Platforms: Linux, Windows, MacOS *** User interface (none,
CLI CLI may refer to: Computing * Call Level Interface, an SQL database management API * Command-line interface, of a computer program * Command-line interpreter or command language interpreter; see List of command-line interpreters * CLI (x86 instruc ...
, GUI): CLI. *** Number of developers: 15 (along the project) *** Under active development (as-of date): yes (2023-Apr-28) *** Creator/sponsor organization: University of Texas at Austin *** Latest release (version and date): 2022 annual release *** First release (version and date): 2008-Jul-01 ** ''Hardware support:'' *** Front-ends: Several and, practically speaking, any. *** Host computer special hardware supported: Intel SIMD (SSE2 through AVX-512), ARM NEON (64-bit and 128-bit) *** Multicore supported?: Yes ** ''GNSS/SBAS signals support:'' ***
GPS The Global Positioning System (GPS) is a satellite-based hyperbolic navigation system owned by the United States Space Force and operated by Mission Delta 31. It is one of the global navigation satellite systems (GNSS) that provide geol ...
: L1CA, L2C, L5 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
: E1b, E1c, E5a *** QZSS: L1CA *** SBAS: WAAS L1 ** ''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 *** Multiple antennas: yes *** Real-time Kinematic: yes, GRID can function as an RTK-base station or rover with integrated network support, RTK estimation when integrated with PpEngine (available through separate license) *** Differential corrections: yes, CNAV and SBAS *** Maximum number of real-time channels: Hardware-dependent, 30 on a Raspberry Pi 1, >100 on most desktop computers. *** Output formats:
RINEX In the field of geodesy, Receiver Independent Exchange Format (RINEX) is a data interchange format for raw satellite navigation system data. This allows the user to post-process the received data to produce a more accurate result — usually ...
, KML,
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
.mat files, CSV, proprietary GBX (GRID binary exchange) format. *** Current applications: experimental FOTON receiver, several GNSS-RO commercial applications, commercial LEO satellite on-board navigation, RTK-based rocket navigation (launch-to-orbit), RTK-based vehicle navigation in urban environments, RTK-based drone, several fixed reference stations, signal abnormality monitoring


References


Further reading

* * *


External links


Software GPS has many advantages

A starting point for learning about GPS with Open Source Software
{{Webarchive, url=https://web.archive.org/web/20120830101733/http://home.earthlink.net/%7Ecwkelley/ , date=2012-08-30
Mitigation of ionospheric effects on GNSS positioning
Computing comparisons Software-defined radio Navigational equipment Satellite navigation