GNSS software-defined receiver


A software GNSS receiver is a Global Navigation Satellite System receiver that has been designed and implemented using software-defined radio.
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.
GNSS receivers have been traditionally implemented in hardware: a hardware GNSS receiver is conceived as a dedicated chip that have been designed and built 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.

Hardware vs. software GNSS receivers

When comparing hardware vs software GNSS receivers, a number of pros and cons can be found for each approach:
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.

Comparison of implementations