veeresht / CommPy

Digital Communication with Python
http://veeresht.github.com/CommPy
BSD 3-Clause "New" or "Revised" License
551 stars 179 forks source link

Constellation mapping implemented for MQAM is not the Gray mapping #99

Closed edsonportosilva closed 3 years ago

edsonportosilva commented 3 years ago

I have noted that the constellation mapping implemented is not actually the Gray mapping. Because of that, e.g. for high order QAM, there is a performance mismatch with respect to the theoretical BER vs SNR curves for the AWGN channel, if one tries to use the QAMModem methods to modulate and demodulate a sequence of bits and compute the BER afterward.

BastienTr commented 3 years ago

You're right. Gray mapping is a feature that we are asked. At the moment, I'm almost alone to take care of CommPy on a day by day basis and I don't have the time to look after new features... If you ever had time to make this change and open a PR, it would be really enjoyed!

I close this issue as it's a duplicate of #60, we can continue the conversation there.