How to implement 64QAM?

Hi, everyone:

recently I have a project which need to use higher modulation scheme,
such
as 16QAM or 64 QAM. I noticed that in python/gnuradio/blksimpl, there is
no
demodualtion part for higher modulation schemes. Is that means we need
to
finish it by ourself?
And i also noticed that from the maillist attached as below, Tom seems
working on the modualtion models. Did he finish this work, and post at
some
place i just did not find ?

I really appreciate any help from you guys. Since I am very new to the
python language and dont have confidence to programme the model in such
short time.

====
RE: constellation mapping

by trondeau Mar 06, 2007; 05:44am :: Rate this Message: - Use ratings
to
moderate (?)

Reply | Reply to Author | Print | View Threaded | Show Only this Message

Have you looked at the mpsk code that’s in the tree? Most of this
stuff is already in place. I believe that Tom R. is working on
QAM too.
… [show rest of quote]

Yep, you can already look in python/gnuradio/blksimpl for DBPSK and
DQPSK.
I’m finishing up the tests on the new stuff now and hopefully will get
those
checked in to the trunk by the end of today.

This will include D8PSK and a number of square QAM modulations up to
M=256.
These are currently disabled until the receivers are finished, but the
code
will be there to see how I’m doing it. The modulators have been verified
using our signal analyzer.

Tom

Best wishes,

Alan

View this message in context:
http://old.nabble.com/How-to-implement-64QAM--tp27396489p27396489.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Any response?

alanluo wrote:

Reply | Reply to Author | Print | View Threaded | Show Only this Message

This will include D8PSK and a number of square QAM modulations up to
Best wishes,

Alan


View this message in context:
http://old.nabble.com/How-to-implement-64QAM--tp27396489p27400007.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi,
I haven’t looked at any of the QAM-related code in the GNU Radio
baseline,
but it should be possible to design a generic MQAM demodulator.

In fact, you should be able to build a generic MQAM demodulator for a
given
constellation set. This, I’ve done before in Matlab. You start with an
AGC, feed through an equalizer which is optimized for minimizing the
phase
error between recovered and truth symbols. Another way to look at it
that
for each symbol, find the symbol that matches closest to the
constellation
vector (thats your decode symbol) and then feed the error into the
equalizer.

I believe there is a way to form a generic carrier recovery and symbol
recovery loops that can deal with generic MPSK style constellation of
which
MQAM is a part of. In fact, you could write a routine that can do
anything
from BPSK to 64QAM.

my 2 cents,
Isaac


View this message in context:
http://old.nabble.com/How-to-implement-64QAM--tp27396489p27405809.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Thanks Isaac for your kindly suggestion. I think i have to dive into
python
now…

idg101 wrote:

constellation vector (thats your decode symbol) and then feed the error


View this message in context:
http://old.nabble.com/How-to-implement-64QAM--tp27396489p27446003.html
Sent from the GnuRadio mailing list archive at Nabble.com.

On Wed, Feb 3, 2010 at 6:43 PM, alanluo [email protected] wrote:

baseline, but it should be possible to design a generic MQAM demodulator.
recovery loops that can deal with generic MPSK style constellation of
which MQAM is a part of. In fact, you could write a routine that can do
anything from BPSK to 64QAM.

my 2 cents,
Isaac

You can look at gnuradio-core/src/python/gnuradio/blks2impl/qam*.py
for a place to start. It doesn’t really do proper synchronization,
just the symbol mapping, but it should give you a way forward.

Tom