Gr_mpsk_re ceiver_cc’s costas loop issue

Hello,

I have recently been doing some tests, simulating QPSK-modulated
transmissions and studying Costas loop performance. When doing this, I
noticed a problem related to gr_mpsk_receiver_cc’s costas loop NCO
frequency
as I already mentioned in post [1].

I have created two test files: Testfile.py and Tesfile_modified.py. I
have
basically been working with Testfile.py but in order to better analyse
output (in text file) I have created Testfile_modified.py where I have
removed simple_framer and simple_correlator part which conditioned
output
(there is no output as long as simple_correlator doesn’t identify “a
frame”).

I have also slightly modified dqpsk.py file, gr_mpsk_receiver_cc.cc file
(to
print Costas loop NCO frequency for every iteration of the loop) and
gr_simple_correlator.cc (just to space display).

Please find terminal display in attached files: terminal_display_1, 2
and 3.
I have configured different values of frequency_offset (channel_model
block
parameter). I have had no answer to my questions concerning this
parameter
in post [1] so I have taken this parameter to represent a slight
deviation
between theoretical transmission frequency and the real frequency at
which
the signal is sent (in Hz).

“terminal_display” result files prove NCO’s frequency isn’t adapted to
frequency_offset correction (even for small values of frequency
deviation).

[1] http://www.nabble.com/Trace-mpsk_receiver_cc()-td17605464.html

http://www.nabble.com/file/p17757609/dqpsk.py dqpsk.py
http://www.nabble.com/file/p17757609/gr_mpsk_receiver_cc.cc
gr_mpsk_receiver_cc.cc
http://www.nabble.com/file/p17757609/gr_simple_correlator.cc
gr_simple_correlator.cc
http://www.nabble.com/file/p17757609/terminal_display_1.txt
terminal_display_1.txt
http://www.nabble.com/file/p17757609/terminal_display_2.txt
terminal_display_2.txt
http://www.nabble.com/file/p17757609/terminal_display_3.txt
terminal_display_3.txt http://www.nabble.com/file/p17757609/Testfile.py
Testfile.py http://www.nabble.com/file/p17757609/Testfile_modified.py
Testfile_modified.py

View this message in context:
http://www.nabble.com/Gr_mpsk_receiver_cc’s-costas-loop-issue-tp17757609p17757609.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi,

I have been working on the mpsk receiver code also recently. Hope I
can be of some help.

“terminal_display” result files prove NCO’s frequency isn’t adapted to
frequency_offset correction (even for small values of frequency deviation).

I am not sure what you printed as f. The mpsk_receiver_cc block can
return both the frequency and phase. The frequency is more or less
stable and seems to be the frequency offset, the NCO value is just the
phase difference as far as I remember, and will change wildly.

The mpsk_receiver_cc tracks phase change with phase tracking code, and
I don’t think there is an NCO involved…

  • Zenny