# Polyphase Clock Synchronization block add some noise to constellation

**URL:** <https://www.ruby-forum.com/t/polyphase-clock-synchronization-block-add-some-noise-to-constellation/240976>\
**Category:** GNU Radio\
**Created:** [May 8, 2014, 12:08pm UTC](https://www.ruby-forum.com/t/polyphase-clock-synchronization-block-add-some-noise-to-constellation/240976 "2014-05-08T12:08:56Z")\
**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 8, 2014, 12:08pm UTC](https://www.ruby-forum.com/t/polyphase-clock-synchronization-block-add-some-noise-to-constellation/240976/1 "2014-05-08T12:08:56Z")

</div>

Hi all,  
I am using Polyphase Clock Synchronization block of GRC for symbol  
timing synchronization.currently I am doing simulations of QPSK using  
channel modal block. Ployphase clock synchronizer block work properly  
means  
it will synchronize the timing offsets in the signal remove the ISI from  
constellation but the problem is that it will add some noise to the  
constellation so could some one tell me how to solve this problem.  
The picture of my flow graph is attached with this email you can see the  
parameters of polyphase clock synchronization I have used the  
firdes.root\_raised\_cosine\_filter() for filter design in this block.

---

<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 8, 2014, 3:54pm UTC](https://www.ruby-forum.com/t/polyphase-clock-synchronization-block-add-some-noise-to-constellation/240976/2 "2014-05-08T15:54:07Z")

</div>

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

> 

A few things. First, yes, there will be some noise added to the received  
signal. The PFB clock sync block very specifically produces noise based  
on  
the settings. The default value of using 32 filters in the filterbank is  
designed such that the aliasing noise it creates is below the  
quantization  
noise of a 16 bit number. The length of the RRC filter per filterbank  
arm  
will determine how much ISI you will accept. You can trade these issues  
off  
between computational performance and signal fidelity.

From your flowgraph, my guess is that you have something wrong with your  
filter taps and settings. The value of 44 for the number of filters is  
strange. It feels like you think that that’s the number of taps per  
filter  
instead of the number of filters in the filterbank. The RRC prototype  
filter (rrctaps, I think, in your flowgraph) should be the normal RRC  
filter upsampled by the number of filters you use. So rrctaps will be a  
really long filter, but the filterbank partitions it among the N  
filters,  
so each arm becomes a reasonable filter again.

Also, you are using 2 for the output samples per symbol. The Costas loop  
works better off 1 sps as will your constellation.

Check out the documentation for this block to try to understand better  
what  
it’s doing and how it works:

> **[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
