# Root rasied cosine parameters issue

**URL:** <https://www.ruby-forum.com/t/root-rasied-cosine-parameters-issue/241164>\
**Category:** GNU Radio\
**Created:** [May 15, 2014, 1:57pm UTC](https://www.ruby-forum.com/t/root-rasied-cosine-parameters-issue/241164 "2014-05-15T13:57:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [May 15, 2014, 1:57pm UTC](https://www.ruby-forum.com/t/root-rasied-cosine-parameters-issue/241164/1 "2014-05-15T13:57:00Z")

</div>

Hi all,  
I have problem with pulse shaping RRC filter parameters when I set  
the  
parameters as

interpolation=4 Gain=nfilts sample rate=1 symbol rate=1  
Alpha=0.5  
Num Taps=11_sps_nfilts

(nfilts = 32, sps=4)

but my output constellation have much ISI please any one tell me the  
reason. check the parameters uf there is any problem then inform me.  
my flowgraph is attached with this mail

---

<div class="post-metadata">

**Author:** ![Irfan\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/57b2e6/32.png) [@Irfan\_U](https://www.ruby-forum.com/u/Irfan_U)\
**Post date:** [May 15, 2014, 2:27pm UTC](https://www.ruby-forum.com/t/root-rasied-cosine-parameters-issue/241164/2 "2014-05-15T14:27:47Z")

</div>

On Thu, May 15, 2014 at 7:55 AM, Irfan U. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> reason. check the parameters uf there is any problem then inform me.  
> my flowgraph is attached with this mail

Irfan,

You seem to have confused the RRC taps in a normal FIR filter and the  
polyphase filterbank resampler implementation that we’ve used in our PSK  
mod/demod blocks. When just using the RRC filter as a filter, like the  
Root  
Raised Cosine Block in your example, you want to define it like you  
normally would:

interpolation: 4  
gain: 4 (to account for the loss when interpolating)  
sample rate: samples\_per\_symbol  
symbol rate: 1  
alpha: (whatever between 0 and 1; generally \<= 0.5)  
num taps: ~45

Your use of nfilts in your email suggests you’ve pulled those ideas out  
of  
using the PFB resampler. That resampler block takes in a large prototype  
filter, which we define based on the number of filters in the PFB  
filterbank (32 is default and usually enough). Using this filterbank  
allows  
us to set an arbitrary real number of samples per symbol. Using just the  
interpolating FIR filter means we can only use integer values for this.

Also, remember that using an RRC filter /will/ result in ISI. You have  
to  
use a secondary RRC filter to remove the ISI. In another posting of  
yours,  
I also saw that you used both an RRC decimating filter and the PFB clock  
sync, which implements this for us. You don’t need both. Read the clock  
sync documentation closely:

> **[GNU Radio Manual and C++ API Reference: gr::digital::pfb\_clock\_sync\_ccf Class...](https://www.gnuradio.org/doc/doxygen/classgr_1_1digital_1_1pfb __clock__ sync__ccf.html)**

Tom
