So I am trying to demodulate an OFDM signal with SNR = 10 dB, the parameters of modulation are as follows, oversampling factor = 8, cyclic prefix length = 144, number of Sub carriers used = 3600, number of symbols = 1, modulation format = 16 QAM.

when I use an SNR of 30 dB, I can demodulate the QAM constellation perfectly, but when I lower down the SNR, I can no more get the constellation, I am fairly new to the topic so I am having a hard time understanding the ways to mitigate this problem, any advice would be hugely appreciated.

this is the constellation I get with SNR 10 dB

  • 1
    $\begingroup$ To answer your question, can you give some details about your environment (Python, GNU Radio with SDR devices, MATLAB) ?. Secondly, are you performing this simulation in the AWGN channel or fading channels? $\endgroup$ Sep 25, 2021 at 13:18
  • $\begingroup$ I am doing it in MATLAB environment, and yes in the AWGN channel. $\endgroup$ Sep 25, 2021 at 14:07

1 Answer 1


I think it is so normal to see such a constellation at the output of your receiver. Firstly, the look of your constellation is not as bad as you think since the SNR is not so high, actually acceptable. To validate the performance of your system, you can send multiple streams ( say $10^4$) and count the symbol (or bit) error rate. If your bit error rate is as expected, therefore, your system works properly. You can check the symbol/bit error probability of 16-QAM from the internet. Recall that if you are using OFDM in frequency flat channels, the symbol/bit error rate does not differ from the case where you use a single carrier system. In addition, you may have not performed the energy normalization of your message signal/ or noise power well. To see this, I recommend you do your Monte Carlo simulations by sweeping different SNR values in a wide interval. If you obtain a BER/SER curve that is shifted that what it should be then you can understand that your energy normalization is not done properly.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.