> Maybe I misread the reply from Jason, but said reply seemed to suggest
> to me that a single sample per symbol should be used.

This where a specific distinction comes in to play.  Mpsk_receiver is
not just a costas loop.  There are two actions happening in
mpsk_receiver.  First, the signal is being corrected for incorrect
sample timing, using an MM loop.  Second, the phase offset is being
tracked with a costas loop (and corrected for).

The user in the linked post was not using a sampler prior to his
(standalone) costas loop.  The benchmark_rx uses an MM sampler and
costas loop together (called mpsk_receiver).  The MM loop finds the
appropriate place to sample the entire symbol, leaving us with one
complex value representative of the center of the symbol.  The costas
loop then operates on this single sample to softly slice the symbol
and update the phase error for the next iteration of the loop.  The
'samples per symbol' parameter is the number of samples /you/ want to
use, which is an input to the sampler, not the costas loop.

If you follow the flow in the mpsk_receiver block used in benchmark_rx
it will be much clearer:
 
http://gnuradio.org/cgit/gnuradio.git/tree/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc

Jason


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to