Harvey Mudd College
I use an RTL-SDR and a cheap GPS antenna to see some some of the Global Positioning System (GPS) satellite transmissions.
The GPS reference used to find the taps for the C/A code is http://www.naic.edu/~phil/rfi/gps/AFD-070803-059-1.pdf (IS-GPS-200, Table 3-Ia). The flowgraphs now carry a note with the two G2 taps for all 32 satellites; the table and the delay-chain construction in the flowgraphs were checked against the published first-ten-chips column for every PRN.
bias=1 to the RTL-SDR Source’s device arguments (rtl,bias=1), as the flowgraphs do. Put the antenna where it can see the sky.doppler_shift slider therefore spans ±10 kHz. If you know your dongle’s ppm error (from Lesson 2 or a known station), enter it as Frequency Correction (ppm) so the search stays near zero. With Ncycles = 4 ms of coherent integration the correlation peak is only ~250 Hz wide, so step the slider slowly, or increase the step size and reduce Ncycles for a first look.GPS correlation and demodulation in operation:

A more sophisticated result with better fine-tuning of the carrier offset:

lesson23_GPS_RTL_SDR_calculateCA_simplified.grc
Other flowgraphs for this lesson:
lesson23_GPS_RTL_SDR_calculateCA_shift.grclesson23_GPS_RTL_SDR_from_known_cacodes.grclesson23_GPS_RTL_SDR_calculateCA_old_resampled.grc
All GNURadio flowgraphs are at https://github.com/gallicchio/learnSDR