My objective is to demodulate QPSK signal. At this moment, my constellation in the best case looks like in the picture below:

QPSK Constellation diagram

and the corresponding eye-pattern:

eye pattern

Eyes are completely closed, which implies large ISI. To remove this, I apply RRC filter with the roll-off factor as at the transmitter side. Other parameters that I know are symbol and sampling rates. I don't know, how to select the order of the filter, though, so I try different ones (at the picture above, the order = 9). However, this does not solve the problem.

So I have three questions:

  1. What do we understand by the order of RRC filter? Length of its impulse response?
  2. Are there any methods for selection of the RRC filter order other than heuristic?
  3. What could I do in order to remove the ISI?
  • 1
    $\begingroup$ Your constellation should only be at the symbol sampling locations in order to make sense of what we see. If yours is then you still have a significant carrier offset. If not, please replot . Regarding filter order, does this help you? dsp.stackexchange.com/questions/51088/… $\endgroup$ May 3, 2021 at 3:32
  • $\begingroup$ @DanBoschen well, actually it turns out that my signal is centered around DC, so no carrier offset is present. I think that the phase recovery is still needed for successful demodulation, because it seems that my QPSK constellation points are shifted by 45 degree. Is it correct? Meanwhile, only phase recovery will probably not impact an eye diagram, so no sampling interval can still be deduced from it. $\endgroup$
    – Python
    May 3, 2021 at 16:01
  • $\begingroup$ Please update your constellation to just show the samples at the decision locations; that will confirm there is no small carrier offset. When modulated with equiprobable symbols, you should not see any DC component so this would be the way to confirm that you indeed do or do not have a carrier offset $\endgroup$ May 3, 2021 at 16:08
  • $\begingroup$ @DanBoschen Do I understand correctly that to get the samples at the decision locations means to sample a signal with a symbol rate? $\endgroup$
    – Python
    May 3, 2021 at 16:22
  • $\begingroup$ That and properly account for any timing offset. Rotate your current constellation so that the larger excursions are on the 45 degree angles and then your real and imaginary eye will definitely have openings as you can see in the constellation as you have it now. But then sample at just the proper symbol sampling locations (where the eye is widest, one sample per symbol) for further evaluation of signal quality $\endgroup$ May 3, 2021 at 19:23

1 Answer 1


The order of the filter and number of samples per symbol are two choices for the RRC filter for a given roll-off factor. Increasing the number of samples per symbol allows for simpler analog reconstruction filtering (as given by a higher sampling rate for the waveform), but this can be done with subsequent upsampling if needed so an common good choice is to implement the RRC with 2 samples per symbol to maximize the impulse response duration for a given filter order. This will then maximize the impulse response of the filter (the duration of the filter in time as given by the filter order which is one less than the number of taps in the filter). A dominant effect of having too short of an impulse response is higher out of band emissions close to the carrier that would otherwise be attenuated by the RRC filter, but to a lesser degree it can contribute pass-band ripple which can degrade signal quality as measured with EVM and rho. These trades are explained in detail at this post below:

Pulse shaping with RRC : Number of taps

The plot of interest from that post is replicated below, showing a 100 tap RRC filter as implemented with 2 samples per symbol and again with 10 samples per symbol, both with the same roll-off factor. The 2 sample per symbol case effectively has a longer impulse response in time, and with that we see the improved attenuation in the stop-band, and significantly so close to the carrier (so increasing the order would also lead to this improvement). The amount of stop band attenuation needed is driven by out of band emission specifications for the transmitter and also considers margin for subsequent possible spectral regrowth from any non-linearity in the power amplifier. In the receiver our concern would only be with signal quality (EVM, rho, etc), and for that we can often get away with a much lower order filter than that required in the transmitter-- observation/measurement of EVM vs filter order can easily confirm what would be sufficient.

RRC filter responses


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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