Polyphase Clock Synchronization with Matched Filter


Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Hi,

I am trying to use Polyphase Clock Synchronization (PCS) block to
conduct

timing synchronization for QPSK signal with half-sine pulse shaping. In the
doxygen document of PCS, it says that the “taps” parameter could be the
matched filter. Thus, I put the matched filter of half-sine pulse here,
[0,sin(pi/4),1,sin(3*pi/4)]. However, the output is all 0.

Is there anyone knows how to generate the “taps” parameter here? Any
suggestion would be appreciated. Thanks in advance.

I’m not an expert in all the details, but what I know is that the taps
there need to be generated at “Filter Size” * “Sample Rate”.

So I’d try something like [math.sin(math.pii/(324)) for i in
range(32*4)]

Cheers,

Sylvain

On Mon, Apr 27, 2015 at 9:34 AM, Sylvain M. [email protected]
wrote:

I’m not an expert in all the details, but what I know is that the taps
there need to be generated at “Filter Size” * “Sample Rate”.

So I’d try something like [math.sin(math.pii/(324)) for i in range(32*4)]

Cheers,

Sylvain

What Sylvain said should work, I believe. But you should study the
manual
page on this block:

http://gnuradio.org/doc/doxygen/classgr_1_1digital_1_1pfb__clock__sync__ccf.html

Hopefully understanding the way it works will help you understand why
the
taps need to be this way.

Tom

Hi Sylvain and Tom,

Thanks a lot. It works.

So the “Taps” should contain all the matched filter coefficients for
Filter_Size (32) filters instead of just one filter. Then each filter
takes
SPS (4) out of them to generate a phase-shifted shaping filter. Hence,
we
have a filterbank with different phases. The optimal sample timing could
be
estimated as described in Tutorial 7.

Best regards,

Su Li

2015-04-27 15:58 GMT+02:00 Tom R. [email protected]: