# Pulse shaping with RRC : Number of taps

I am running a BPSK flowgraph in GNU Radio which is based on RRC pulse shape. I noticed that the BER is quite poor when the number of taps is low. However, using the number of taps around $20\times Samples\_Per\_Symbol$ result in performance close to theory. I found the above number through trial and error and I was wondering if there was any general formula for determining the number of taps for RRC pulse shaping.

Regards,

Moses.

See pages 5 and 6 and the plots on the following pages specific to number of samples per symbol in this very helpful reference by Ken Gentile on designing RRC pulse shape filters:

http://www.analog.com/media/en/technical-documentation/application-notes/AN-922.pdf

An example I have previously done shows the consideration of filter length (how many symbols does the filter span) and number of samples per symbol. These were both implemented with an 81 tap RRC filter. The first case it is done with 2 samples per symbol, and in the second case it is the same number of taps but 10 samples per symbol.

Observe the following key points that illustrate some of the important considerations involved: With 2 samples per symbol the filter impulse response extends further in time. This results in a greater stop band attenuation for the same filter roll-off factor (Alpha) and complexity (number of taps). In the figures shown we see that we get 70 dB attenuation at the edge of the filter response. However the overall frequency of the digital spectrum is most constrained; this is resolved with subsequent up-sampling or consideration elsewhere in our overall system design. As long as those considerations are properly addressed, according to Nyquist sampling theorem we will achieve the full integrity of our RRC filter design (with only 2 samples per symbol!). In the second case, because of the higher number of samples per symbol, with the same number of filter taps (complexity) the impulse response of the filter does not extend as far in time, and is therefore truncated earlier. This degrades overall performance as visible here with the inferior filter rejection (about 55 dB at the edge of the frequency response, and only 35 dB at the same frequency location where our prior example achieved 65 dB! However the greater overall digital frequency spectrum is wider. An efficient design would choose to do two samples per symbol for such a "shaping" filter and then upsample to the bandwidth needed to be compatible with the analog design or other bandwidth considerations, since the upsampling filter design would be relatively simpler. Also to be considered for many applications is a polyphase RRC upsampling filter structure. In this case we would choose an even number of taps and incorporate the upsampling as described further in this response: How to implement Polyphase filter?

Keep in mind, as explained further in this post: Why root raised cosine filter can eliminate intersymbol interference (ISI) ? the entire motivation to do RRC filtering is spectral efficiency: hence regulatory requirements (spectral mask) will often dictate the rejection ultimately needed in the RRC filter (as long as subsequent analog stages, in particular the power amplifier, maintain sufficient linearity to not undo the shaping we so carefully applied...resulting in "spectral regrowth!).

• Not nitpicking, but, by any chance, did you mean "frequency" here: "With 2 samples per symbol the filter impulse response extends further in time."? – a concerned citizen Aug 8 '18 at 6:24
• @aconcernedcitizen No, I did indeed mean time. The impulse response is in the time domain (the Fourier Transform of the impulse response is the frequency response of the filter). The coefficients of the FIR filter implementing the RRC is the impulse response of the filter, so by having a longer filter, it will extend further in time. – Dan Boschen Aug 8 '18 at 9:24
• Yes, but for some reason I thought you were referring to the picture, in the frequency domain. I might need new glasses, preferably ones that do not encourage skimming over the text. :-) – a concerned citizen Aug 8 '18 at 19:41