NRZ/PM demodulation for an old satellite in GNU Radio

631 views Asked by At

There is an old S-band satellite that im trying to receive telemetry data from by using a USRP board and GNU Radio. Below are the specs

  1. Modulation - NRZ/PM
  2. Modulation index - 1.86rad
  3. Data rate - 720896bps
  4. Required bandwidth (taking account Doppler and carrier drift) - 4367285.12 Hz

Based on the specs above, I found the following aspects challenging. Im looking for tips on how to proceed

Sampling

The total required bandwidth , Δω = 4367285.12 Hz has to be captured. Therefore, I have upsampled the signal by a factor of 16. The resulting sample rate is Rs = 69876561.92Hz. Given that the data rate is R = 720896bps, the number of samples per symbol becomes sps = Rs⁄R = 96.93. To get a good sps value, I upsample the signal by 1600 and downsample it by 9693. This will give sps = 16, which is easier to deal with. Is my approach correct? Any suggestions on how to set the USRP clock rate to accommodate this sampling rate will also be appreciated.

Carrier frequency tracking

In my other satellite applications, I have been relying on GPredict for Doppler effect mitigation, which cant be used in my case [tracking software is not GPredict]. Doppler shift and carrier drift account for 242Khz of overall carrier shift. The approach I have in mind is to use something like a Phase-Locked Loop for carrier tracking. An example of how to do this in GNU Radio will be highly appreciated

NRZ/PM Demodulation

To my understanding this modulation scheme encodes data to the phase of a sinusoid. Its pretty different from the standard modulation schemes im familiar with such PSK, FSK etc. Any information about this modulation scheme is highly appreciated. Also, there is no demodulator block in GNU Radio. Any suggestions on how to implement it will also be appreciated

0

There are 0 answers