fastgps is a fully functional GPS software receiver which demonstrates all the steps performed in a GNSS navigation receiver. This receiver includes: an FFT acquisition; code and carrier tracking; pseudorange measurements; navigation data decoding; and position, velocity, and time estimation functions. The software receiver is also capable of using external aiding data from the International GNSS Service (IGS) as well as applying WAAS differential ionosphere corrections.