In the last post, we acquired the signals from GNSS satellites. Now we will keep tracking these signals to demodulate the navigation data continuously.
The signal transmitted by a satellite is:
is C/A code sequence,
is P(Y) code sequence,
is P(Y) navigation data sequence,
is power.
We need to extract the data from the signal above. So downconversion, band/low pass filters, etc. are used. Basically, the diagram below is used;
The output from the front end including filtering and downconversion can be described as
where is the intermediate frequency.
Then the signal is sampled by the A/D converter. Because of the narrow bandpass filter around the C/A code, the P code is distorted. The signal from satellite can be shown as:
To get the from the signal above, the signal is converted to baseband by carrier removal.
Now, the second term is removed by lowpass filter. The rest term is multiplication of the nav message and PRN code.
The next and last step is removing the PRN code from the signal.
The demodulation above is only for a signal with one satellite. This is done to reduce the complexity, to explain the theory and to give a simpler idea of the demodulation scheme.
Jitu Sanwale
Hi Unal,
Thanks Unal for upload of SoftGNSS software.
Do you have SoftGNSS which can perform PVT processing of Complex signals.
I am finding error as:
<<Warning: carrFreq for 32 exceeds 10kHz. Skipping for now. May be bug in code?
<< In acquisition (line 232)
In postProcessing (line 106)
In init (line 75)
funal
Hey Sanwale,
Thanks for your comment and question.
Yes, I have that version, thanks for reminding me that! I added the additional files to the GitHub repo. Please check it.
Good luck with your study!