Table of Contents
International Journal of Navigation and Observation
Volume 2011, Article ID 979815, 27 pages
Review Article

Software-Defined Radio Technologies for GNSS Receivers: A Tutorial Approach to a Simple Design and Implementation

1EM Framework Design Laboratory, Ingegneria dei Sistemi (IDS) S.p.A., 56121 Pisa, Italy
2Dipartimento di Ingegneria dell'Informazione, Università di Pisa, 56122 Pisa, Italy

Received 27 January 2010; Revised 2 December 2010; Accepted 17 February 2011

Academic Editor: Letizia Lo Presti

Copyright © 2011 Fabio Principe et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


The field of satellite navigation has witnessed the advent of a number of new systems and technologies: after the landmark design and development of the Global Positioning System (GPS), a number of new independent Global Navigation Satellite Systems (GNSSs) were or are being developed all over the world: Russia's GLONASS, Europe's GALILEO, and China's BEIDOU-2, to mention a few. In this ever-changing context, the availability of reliable and flexible receivers is becoming a priority for a host of applications, including research, commercial, civil, and military. Flexible means here both easily upgradeable for future needs and/or on-the-fly reprogrammable to adapt to different signal formats. An effective approach to meet these design goals is the software-defined radio (SDR) paradigm. In the last few years, the availability of new processors with high computational power enabled the development of (fully) software receivers whose performance is comparable to or better than that of conventional hardware devices, while providing all the advantages of a flexible and fully configurable architecture. The aim of this tutorial paper is surveying the issue of the general architecture and design rules of a GNSS software receiver, through a comprehensive discussion of some techniques and algorithms, typically applied in simple PC-based receiver implementations.