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 geo-spatial positioning. It allows satellite navigation devices to determine their location (longitude, latitude, and altitude/elevation) to high pre ...
(GNSS) receiver that has been designed and implemented using
software-defined radio Software-defined radio (SDR) is a radio communication system where components that have been traditionally implemented in analog hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by me ...
. 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 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 A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
. 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 portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
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 number of transistors in a dense integrated circuit (IC) doubles about every two years. Moore's law is an observation and projection of a historical trend. Rather than a law of physics, it is an empir ...
).


Comparison of implementations

:''This comparison is strictly about GNSS SDR; please do not include general GNSS positioning and mapping software.'' *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), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
: L1/CA, ***
GLONASS GLONASS (russian: ГЛОНАСС, label=none, ; rus, links=no, Глобальная навигационная спутниковая система, r=Global'naya Navigatsionnaya Sputnikovaya Sistema, t=Global Navigation Satellite System) is ...
: G1 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642) was an Italian astronomer, physicist and engineer, sometimes described as a polymath. Commonly referred to as Galileo, his name was pronounced (, ). He was ...
: E1, ***
BeiDou The BeiDou Navigation Satellite System (BDS; ) is a Chinese satellite navigation system. It consists of two separate satellite constellations. The first BeiDou system, officially called the BeiDou Satellite Navigation Experimental System and ...
: B1 *** SBAS ***
QZSS The Quasi-Zenith Satellite System (QZSS), also known as , is a four-satellite regional time transfer system and a satellite-based augmentation system developed by the Japanese government to enhance the United States-operated Global Positioni ...
: 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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
): 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), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
: L1CA, L2C, L2P (codeless), L5 ***
GLONASS GLONASS (russian: ГЛОНАСС, label=none, ; rus, links=no, Глобальная навигационная спутниковая система, r=Global'naya Navigatsionnaya Sputnikovaya Sistema, t=Global Navigation Satellite System) is ...
: G1, G2 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642) was an Italian astronomer, physicist and engineer, sometimes described as a polymath. Commonly referred to as Galileo, his name was pronounced (, ). He was ...
: E1, E5a, E5b, E5ab (AltBOC), E6 ***
BeiDou The BeiDou Navigation Satellite System (BDS; ) is a Chinese satellite navigation system. It consists of two separate satellite constellations. The first BeiDou system, officially called the BeiDou Satellite Navigation Experimental System and ...
: B1, B2 *** SBAS: EGNOS ***
QZSS The Quasi-Zenith Satellite System (QZSS), also known as , is a four-satellite regional time transfer system and a satellite-based augmentation system developed by the Japanese government to enhance the United States-operated Global Positioni ...
: L110CAdieyure ***
IRNSS The 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 s ...
: 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 A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source c ...
:
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
): 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), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
: L1CA, L1C, L2C, L5 ***
GLONASS GLONASS (russian: ГЛОНАСС, label=none, ; rus, links=no, Глобальная навигационная спутниковая система, r=Global'naya Navigatsionnaya Sputnikovaya Sistema, t=Global Navigation Satellite System) is ...
: G1, G2 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642) was an Italian astronomer, physicist and engineer, sometimes described as a polymath. Commonly referred to as Galileo, his name was pronounced (, ). He was ...
: E1, E5a, E5b ***
BeiDou The BeiDou Navigation Satellite System (BDS; ) is a Chinese satellite navigation system. It consists of two separate satellite constellations. The first BeiDou system, officially called the BeiDou Satellite Navigation Experimental System and ...
: B1 ***
QZSS The Quasi-Zenith Satellite System (QZSS), also known as , is a four-satellite regional time transfer system and a satellite-based augmentation system developed by the Japanese government to enhance the United States-operated Global Positioni ...
: 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), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
: L1CA, L2C *** BeiDou B1, B2 ***
GLONASS GLONASS (russian: ГЛОНАСС, label=none, ; rus, links=no, Глобальная навигационная спутниковая система, r=Global'naya Navigatsionnaya Sputnikovaya Sistema, t=Global Navigation Satellite System) is ...
: G1, G2, G3 ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642) was an Italian astronomer, physicist and engineer, sometimes described as a polymath. Commonly referred to as Galileo, his name was pronounced (, ). He was ...
: E1 *** IRNSS: L5, S ***
QZSS The Quasi-Zenith Satellite System (QZSS), also known as , is a four-satellite regional time transfer system and a satellite-based augmentation system developed by the Japanese government to enhance the United States-operated Global Positioni ...
: 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 A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source c ...
:
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general us ...
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, implementation ...
*** 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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
): 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), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
: 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 A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source c ...
:
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general us ...
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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
): 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 Universal Software Radio Peripheral (USRP) is a range of software-defined radios designed and sold by Ettus Research and its parent company, National Instruments. Developed by a team led by Matt Ettus, the USRP product family is commonly used ...
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 processing in Flynn's taxonomy. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (ISA), but it should ...
(via VOLK and VOLK_GNSSSDR), CUDA *** Multicore supported?: Yes ** ''GNSS/SBAS signals support:'' ***
GPS The Global Positioning System (GPS), originally Navstar GPS, is a Radionavigation-satellite service, satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of t ...
: L1CA, L2C, L5 ***
GLONASS GLONASS (russian: ГЛОНАСС, label=none, ; rus, links=no, Глобальная навигационная спутниковая система, r=Global'naya Navigatsionnaya Sputnikovaya Sistema, t=Global Navigation Satellite System) is ...
: L1SP, L2SP ***
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642) was an Italian astronomer, physicist and engineer, sometimes described as a polymath. Commonly referred to as Galileo, his name was pronounced (, ). He was ...
: 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 exchange, data interchange format for raw global navigation satellite system, satellite navigation system data. This allows the user to post-process the received data t ...
,
KML Keyhole Markup Language (KML) is an XML notation for expressing geographic annotation and visualization within two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Key ...
, 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,
RTCM The Radio Technical Commission for Maritime Services (RTCM) is a non-profit international standards organization. Although started in 1947 as a U.S. government advisory committee, RTCM is now an independent organization supported by its member org ...
, 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, implementation ...
and
Octave In music, an octave ( la, octavus: eighth) or perfect octave (sometimes called the diapason) is the interval between one musical pitch and another with double its frequency. The octave relationship is a natural phenomenon that has been refer ...
, 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 (pro ...
via h5py.


References


Further reading

* * * {{cite book , last1 = Petrovski , first1 = Ivan , last2 = Tsujii , first2 = Toshiaki , title = Digital satellite navigation and geophysics a practical guide with GNSS signal simulator and receiver laboratory , publisher =
Cambridge University Press Cambridge University Press is the university press of the University of Cambridge. Granted letters patent by Henry VIII of England, King Henry VIII in 1534, it is the oldest university press A university press is an academic publishing hou ...
, year = 2012 , isbn = 9780521760546


External links


Software GPS has many advantages

A starting point for learning about GPS with Open Source Software

Mitigation of ionospheric effects on GNSS positioning
Computing comparisons Software-defined radio Navigational equipment Satellite navigation