This is a software GNSS receiver in C based on the receiver in "A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach"
step1: run "make" command step2: run "./GNSS_Receiver"
gsl libirary is needed, if you don't install it, you can execute the following steps to install it.
- download the gsl source code(https://ftp.gnu.org/gnu/gsl/)
- step into the source code file
- run
./configuration
- run
make
and wait untill it finishs. - run
sudo make install
- install the gls-dev
sudo apt-get install libgsl-dev
After these steps, you are ready to compile this project.
code has just tested in ubuntu 20.04.1
- step into this folder
- config this software receiver to suit your signal file
all configuration can be done in only one file named initSetting.c
these are variables you may need to modify
- fileName( the name of your signal file )
- msToProcess( total processed time )
- intermediatFreq( intermediate frequency )
- samplingFreq( sampling frequency )
- run
make
- run
./GNSS_Receiver
- L1Ant1.dat is a signal file generated by a simulator(NOT I/Q FILE). it's intermediate frequency is 1.42MHz, and sampling frequency is 10MHz. Data type is int8.
- IE.dat, IP.dat and IL.dat are I path results of ealy code path, prompt code path and late code path respectively. QE.dat, QP.dat and QL.dat have the similar meaning.
- pos.dat is the output of postion, once one millisecond.
this code most is ported from the software receiver in "A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach". So if you want to know more details, you can read this book or send email to me.