Software-defined receivers are used to implement and test various algorithms before hardware implementation. In this project, a real time software-defined GPS receiver has been implemented on a dual core 3.0GHz x86 platform running Windows XP.
The object-oriented programming (OOP) methodology is used to separate the system into three modules: satellite acquisition, carrier tracking, and position estimates.
Single instruction multiple data commands and multi-threading programming are used to handle data sampling, acquisition loops, tracking loops, and position calculation.
The GPS receiver can track 7 satellites with less than 50% CPU usage. It successfully updates the position every 600ms.