Doubts on the GRC block PSK_Demod

Hi all,

I’ve some doubts on the GRC block PSK_Demod.
I tried to analyze the inner functions called in the /psk_demod block/
order to understand the algorithms approachs implemented for synchronism

/psk_demod/ derives from /generic_demod/ and the latter can be found in
Here, I can find the FLL performed by a band-Edge filters method through
functions /self.freq_recov =
digital.fll_band_edge_cc(self._samples_per_symbol, self._excess_bw,
fll_ntaps, self._freq_bw)./

Furthermore, I can find the timing recovery by polyphase filterbanks
approach, through /self.time_recov =
taps,nfilts, nfilts//2, self._timing_max_dev) /

Then, in, I find the call /self.receiver =
self._constellation, self._phase_bw,
fmin, fmax)./
My understanding is that this function performs just a Costas loop in
to recover the phase and the remaining frequency error.

Is it correct ?

My doubts derive from the fact that in
/digital_constellation_receiver_cb.h/, the function
digital.constellation_receiver_cb is described also in term of timing
recovery by a Mueller&Muller algorithm.
In my opinion, the clock recovery, as above indicated, is performed by

Thank you


View this message in context:
Sent from the GnuRadio mailing list archive at

You are correct that the digital_constellation_receiver_cb does not do
any symbol timing recovery and that the documentation is incorrect.

Thanks for pointing this out, and sorry for the confusion.


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs