Raw GPS signal samples data set for testing GPS receivers
9-Oct-2016
Fellow New Zealander Mike Field has been developing his own GPS processing software using this
data set as input. He sent us a calculated position and some NAV frame data.
Thanks Mike!
Time parameters for Space Vehicle 1
This may be helpful for verifying that you are decoding NAV frame 1 messages correctly
Week No 1608 (note - 1023 has been added) Accuracy 0 Health 63 IDOC 29 T_gd = -1.909211277961731e-008; T_oc = 468000; a_f2 = 0; a_f1 = -3.637978807091713e-012; a_f0 = -0.00018144771456718445;
iode 0x1D M0 = 0.62771227171855348; delta_n = 4.5551897419368644e-009; e = 0.0044012551661580801; sqrt_A = 5153.5262393951416; omega_0 = 0.54383810776010433; i_0 = 0.96682775824546008; w = 0.94870461852108878; omega_dot = -8.1653401191908879e-009; idot = -5.7502395205569635e-011; Cuc = -3.6451965570449829e-006; Cus = 6.5993517637252808e-006; Crc = 254.875; Crs = -73.15625; Cic = 1.3038516044616699e-008; Cis = 1.3038516044616699e-008; Toe = 468000;(note - this may still have some minor errors in the correction factors)
T (raw) : 466728.880214 T (corrected) : 466728.880396 X : 10716730.587792 Y : -11197225.083927 Z : 21436792.054187
3-Sep-2013
Raw GPS signal sample data can be a little hard to find on the net. Here is a 56 MB file containing about 77 seconds of data:
gps.samples.1bit.I.fs5456.if4092.bin
It was copied and re-formatted from Michele Bavaro's excellent GPS blog, although the file is not there now:
michelebavaro.blogspot.com
The parameters of the file are: 1-bit sign I-only data (not I&Q, not 2 or 3-bit sign & magnitude), bit-packed Little Endian (i.e. start with bit 0 of byte 0), sample rate fs = 5.456 MHz, IF = 4.092 MHz (i.e. not a zero-IF signal -- you have to mix (xor) with 4.092 MHz in addition to the C/A code). As Michele's post mentions if your decoding works you should get a lat/lon position in Nottingham, UK.
I used this file as input to a software simulation I wrote of the FPGA tracking parts of Andrew Holme's wonderful homemade GPS receiver documented here: aholme.co.uk/GPS
Just using Andrew's FFT-based C++ search code alone immediately finds five signals:
SV-0 PRN-1 lo_shift 6 ca_shift 1465 snr 108.7
SV-20 PRN-21 lo_shift 8 ca_shift 686 snr 121.7
SV-28 PRN-29 lo_shift -9 ca_shift 3868 snr 167.2
SV-29 PRN-30 lo_shift -9 ca_shift 2998 snr 145.2
SV-30 PRN-31 lo_shift -8 ca_shift 2337 snr 121.3