In this thesis several new Kalman filter based tracking algorithms for GPS software receivers are presented. Traditional receivers use Costas loops and Delay Lock Loops (DLL) to track the carrier and Pseudo-Random Noise (PRN) signals broadcast by the GPS satellites, respectively. The tasks of tracking the the carrier and PRN signals are done separately. The Kalman filter based algorithms introduced in this thesis provide an alternative to the Costas loop and DLL. The task of tracking the PRN sequences is handled by a single Extended Kalman Filter (EKF). The EKF is used to estimate the user’s position in the Earth-Centered Earth-Fixed (ECEF) coordinate frame. Using the EKF’s estimates, the code phases of the PRN sequences being received from the different satellites are predicted. Estimates of the code phase error between the predicted and received codes are generated using discriminator functions. The estimates of the code phase errors are used to update the EKF’s estimates of the user’s navigation states. To provide proof of concept, data was collected using a Spirent GPS simulator. The recorded data was used to show that the new Kalman filter based algorithms outperform traditional tracking methods.