This project has a small hardware component.
Development boards and custom FPGA software were used to obtain data sets consisting of raw 1-bit samples, taken at 16.368 MHz. A complete set of GPS NAV data is transmitted every 30 seconds, so it is essential that at least a minute's data is captured - requiring 120MB of storage. Because of the importance of timing information, it is also essential that every sample is captured. To do this with the equipment I had on hand, a small FPGA-based solution is used.
The bulk of the project is software. The software has to perform the following actions:
- Acquire the GPS signals from the satellite - finding the approximate frequency and phase . All satellites transmit on the same frequency, but signals a Doppler shifted and have taken many milliseconds to travel the to reach the antenna.
- Locking onto the carrier. From a rough ball-park frequency we need to get an absolute frequency lock to ensure good data reception
- Locking onto the phase of the GPS C/A code that is transmitted by the satellite. This generates the sub-microsecond timing information which is required to produce a location fix. As light travels at about 300,000,000 m/s this needs to be resolved with about 30ns of accuracy
- Reception of 50bps BPSK data (the 'NAV' messages)
- Decoding of the NAV data
- Calculating the position and time at which the signals were transmitted
- Calculating the solution for the antenna's location.
Gonçalo Nespral
osannolik
Scott Bragg
Hi every body. Can anyone help me through MAX2771 setting for 4.092MHZ IF and 16.368MHz sampling frequency, one bit or 2 bit sampling is ok for me.