1
$\begingroup$

I once used a GNU Radio QPSK receiver for oQPSK demodulation. All I did was to "forcefully" delay the Q channel by half the symbol time. At the time, I was using a discrete number of samples per symbol divisible by 2 (which made it easier to delay the Q channel). I'm now wondering how to achieve the same when the number of samples per symbol is neither discrete nor divisible by two. Could a fractional interpolator (Cubic, polyphase, etc) be used in this case (i.e. to delay the Q channel by N/2)?

Regards,

Moses.

$\endgroup$
1
$\begingroup$

If the need is for a time delay then this is readily implemented with fractional delay filters. Two common approaches for this are polyphase filters and Farrow filters set for a delay of half a symbol, or polynomial interpolation.

In the transmitter it would be simplest however to implement the modulation using 1 sample per symbol and then resample the output of the modulator to the rate desired after mapping the data to the symbols in the constellation.

Similarly in the receiver you could consider first resampling the received constellation to 2 samples per symbol which also makes life easy for other blocks such as timing recovery.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.