Real-Time GNSS Software Receiver Optimized for General Purpose Microprocessors
A satellite navigation system (like GPS) allows an user to determine its own position everywhere and anytime on Earth. The process of calculating the position is relatively simple (use of trilateration). The main issue is to obtain and decode the transmitted information and to estimate accurately the Time Of Arrival (TOA) of the signals as they lie below the thermal noise floor. A technique called spread-spectrum has been applied for the transmission of these signals that distributes a narrow-band signal over a large bandwidth with the help of spreading codes. In the receiver, these known sequences (one for every satellite) are re-generated and correlated with the incoming signal. As the satellites are moving, the signals undergo additionally a Doppler frequency shift that also has to be compensated in the receiver. These correlation processes require a huge number of opera- tions which make them difficult to be executed in software. Current microprocessors and mobile devices (like smartphones and mobile computers) offer more and more processing power and system resources. Therefore, the interest in software receivers increased during the last years as they offer a great level of flexibility and allow a low-cost implementation with few additional components. The aim of this thesis is to develop and implement a real-time software receiver on a general purpose microprocessor. This includes an extensive study of the current state-of-the-art and the development and the imple- mentation of a new signal processing baseband architecture. The require- ments and the performance are finally evaluated with simulated and real signals.