A Signal Acquisition & Tracking Software-Defined Radio in Matlab by David S. De Lorenzo current stable release: 3.3 Start with 'Simple_Acquisition_Interface.m' & 'Simple_Tracking_Interface.m' This will point to the test data file provided with this receiver, and perform acquisition & tracking using known stable settings for the signal processing (loop bandwidths, coherent & non-coherent integration, etc.). This is probably a good place to start, but as you gain familiarity with the code, you can try your own raw data files or make changes to the code settings provided with this receiver. Default settings for initializing the receiver are kept in the two files 'acquisitionSettings.m' and 'trackingSettings.m'; default settings can be over-written at run-time by a data file specific settings script, which always takes the name '***___settings.m' (where *** is the file name of the binary input data file). Secondary parameters which are determined by the desired settings are computed at run-time. Note, the input data is always a binary data file which is read from disk at run-time in one millisecond blocks. Depending on your data capture source, this may require conversion to a binary data format, although most formats supported by an "fread" statement will work just fine. Whether your data is real or complex also works just fine; simply specify in the configuration settings file. Note finally, the Matlab path variable is re-initialized and built at run-time, to avoid any errors due to path dependencies or duplicated function names. If you have complicated or carefully-cultivated path variable, you may want to take appropriate precautions beforehand. ------------------------------------------------------------------------------ Signal Acquisition by FFT Processing GPS signal acquisition via FFT-based multi-millisecond coherent integration followed by multi-second non-coherent accumulation. Usage: 1. change pathName & fileName to point to input data 2. define signal characteristics in "settings" file 3. set 'signalType' parameter as required 4. run code, which generates/saves 'acqResults' structure Assumptions: 1. high-sensitivity desired 2. may have Doppler estimate 3. lots of CPU time 4. lots of memory 5. not time-critical or real-time 6. quartz oscillator (doesn't leverage OCXO or TCXO) 7. no nav. bit alignment or nav. sequence knowledge ------------------------------------------------------------------------------ Signal Tracking - FLL/PLL and DLL GPS code and carrier tracking via FLL/PLL and DLL. Usage: 1. change pathName & fileName to point to input data 2. define signal characteristics in "settings" file 3. run code, which generates/saves 'trackResults' structure Assumptions: 1. initial estimates from acquisition module 2. moderately strong signals (final coherent integration 20ms) 3. not time-critical or real-time 4. no signal re-acquisition or loss-of-lock detector 5. no interference or multipath mitigation 6. hard-coded tracking mode transitions: pull-in --> transition --> fine-tracking