Software-Defined GPS Receiver

Anthony J. Corbin | Dr. In Soo Ahn

Project Summary 

At present, most commercial GPS receivers utilize hardware designs to perform signal processing.  While hardware designs may have many advantages, software designs have several added benefits including the potential for cost reduction, fast time-to-market, and the ability for after-market upgrades to support presently undefined navigation signals.  Processing GPS signals in real-time is computationally complex and stretches the capabilities of even the newest processors.  The goal of this project was to investigate this complexity and implement a software-GPS receiver in real-time.  The software was written in C++ and utilizes a platform-independent and parallel architecture.  In order to obtain a platform-independent and parallel architecture, an open-source library from Intel called Threading Building Blocks, which supports Windows and Linux, is used, which overcomes some of the problems with re-coding for a platform-specific application programmer’s interface (API).  While this software stretches the capabilities of present-day hardware, advances in processor design will lead to smaller, cheaper, and upgradeable GPS receivers.