Error in creating a block

Hi all,
I crated a block named costas_loop_cc. it works fine for 2psk,
4psk,4qam
and 8psk. But it does not support to 16QAM i.e order 16. when I execute
with order 16 it shows the error like this:
Generating: “/home/lekha/Downloads/mpsk_stage6.py”

Generating: “/home/lekha/Downloads/mpsk_stage6.py”

Executing: “/home/lekha/Downloads/mpsk_stage6.py”

Using Volk machine: sse4_1_32
Traceback (most recent call last):
File “/home/lekha/Downloads/mpsk_stage6.py”, line 443, in
tb = mpsk_stage6()
File “/home/lekha/Downloads/mpsk_stage6.py”, line 285, in init
self.costas_loop_cc_0 = digital.costas_loop_cc(.1, 16)
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/digital/digital_swig.py”,
line 1104, in make
return _digital_swig.costas_loop_cc_make(*args, **kwargs)
RuntimeError: order must be 2, 4, or 8

I used QAM_constellation.py code for constellation ploting of 16 QAM .
Why
it does not support for order 16? how should I make it work? any
alternative for 16QAM demod?

On Tue, Apr 7, 2015 at 7:06 AM, Vishwanatha H G <
[email protected]> wrote:

Using Volk machine: sse4_1_32

I used QAM_constellation.py code for constellation ploting of 16 QAM . Why
it does not support for order 16? how should I make it work? any
alternative for 16QAM demod?

You mean that you wrote your own version of the costas loop block? If
so,
then it’s up to you to add support for those modulations. But the Costas
loop is not designed for QAM signals, just QPSK. And frankly, it’s
originally designed just for BPSK, then it was extended to QPSK, and we
added support for 8PSK.

You can look into the constellation_receiver block to see how other
modulations are supported. The constellation objects have the ability to
simply calculate the minimum Euclidean distance from the sample to all
possible points in the known constellation. It works, but it’s slow. The
Costas loop is a trick for these three specific ones.

Read the digital modulation page of the GNU Radio manual for more info
on
the constellation objects:
http://gnuradio.org/doc/doxygen/page_digital.html

Tom