0

I have an s-band radio that passes data through a reed-solomon encoder (255,223) , then an NRZ-M PCM encoder, then a convolutional encoder (octal 171, 133 connection vectors), and finally through an OQPSK modulator.

I have a file with raw received data and I am trying to demodulate and decode the signal to recover the original data. Currently I'm using an MPSK receiver (deprecated, but don't know what to use otherwise) and PSK demodulator, then feeding that data through "Decode CCSDS 27" (convolutional decoder), m (a custom block I wrote to decode NRZ-M), and finally sending that bitstream to the CCSDS Decoder, which is being used to do the reed-solomon decoding. However, I'm not getting any of my data out of the CCSDS Decoder. I'm a bit of amateur in this field, so I'm sure there is much to be improved upon.

Here's a screenshot of my flowgraph

Any help is greatly appreciated!

  • I suggest you isolate the problems in steps. First of all, I don't think its a good idea to have the power squelch block. This way, you might miss a number of frames at lower SNRs (which your flowgraph might be able to detect). There is a mix-up of synchronizers. Both MPSK receiver and PSK demod perform phase and timing recovery. I dont think it is wise to use both of them at the same time. I suggest you stick to MSPK receiver block for demodulation and use another block for constellation demapping. – Moses Browne Mwakyanjala Nov 06 '18 at 09:47
  • The number of samples per symbol is not clear. What is the baud rate of the data stream in the file? Make sure demodulation is done perfectly by looking at the spectrum/constellation diagram after demodulation before you jump into viterbi. And by the way, try to avoid the CCSDS27 block. There are more robust blocks for doing Viterbi decoding. – Moses Browne Mwakyanjala Nov 06 '18 at 09:50

0 Answers0