LTE Quick Reference SNR, BER, Constellation   This page is to show some snapshot and intuitive picture about LTE modulation schedule being supported as of now and how SNR would influence on signal quality at the reciever side. These snapshots are at the level of constellation meaning it is before any kind of channel decoding and error correction. (If you are not so familiar with the the concept of SNR, BER. See the SNR and BER page in this site. Also, you may get some intuitive understanding of effect of SNR on real UE after going through all those channel decoding and error correct from Physical Layer Performance Test page).   Following shows the 3GPP specification of each of LTE Modulation scheme based on 36.211 7.1 Modulation mapper. Matlab code to show these plots is at < List 1 >. It is long code, but it is just bunch of numbers copied from the 3GPP specification. No complicated logic.   Followings are the plots showing the constellation of 10000 LTE symbols with different modulation scheme and AWGN with various level. Just look at how the range of error for each symbol (EVM) gets wider as SNR decreases.  Matlab code for this is at < List 2 >.                   Following constellation is based on 36.211 7.1 Modulation mapper.   clear all;   BPSK = [1/sqrt(2) + j*1/sqrt(2);         -1/sqrt(2) - j*1/sqrt(2)];      QPSK = [1/sqrt(2) + j*1/sqrt(2);         1/sqrt(2) - j*1/sqrt(2);         -1/sqrt(2) + j*1/sqrt(2);         -1/sqrt(2) - j*1/sqrt(2)];      QAM16 = [1/sqrt(10) + j*1/sqrt(10);          1/sqrt(10) + j*3/sqrt(10);          3/sqrt(10) + j*1/sqrt(10);          3/sqrt(10) + j*3/sqrt(10);          1/sqrt(10) - j*1/sqrt(10);          1/sqrt(10) - j*3/sqrt(10);          3/sqrt(10) - j*1/sqrt(10);          3/sqrt(10) - j*3/sqrt(10);          -1/sqrt(10) + j*1/sqrt(10);          -1/sqrt(10) + j*3/sqrt(10);          -3/sqrt(10) + j*1/sqrt(10);          -3/sqrt(10) + j*3/sqrt(10);          -1/sqrt(10) - j*1/sqrt(10);          -1/sqrt(10) - j*3/sqrt(10);          -3/sqrt(10) - j*1/sqrt(10);          -3/sqrt(10) - j*3/sqrt(10)];            QAM64 = [3/sqrt(42) + j*3/sqrt(42);               3/sqrt(42) + j*1/sqrt(42);               1/sqrt(42) + j*3/sqrt(42);               1/sqrt(42) + j*1/sqrt(42);               3/sqrt(42) + j*5/sqrt(42);               3/sqrt(42) + j*7/sqrt(42);               1/sqrt(42) + j*5/sqrt(42);               1/sqrt(42) + j*7/sqrt(42);               5/sqrt(42) + j*3/sqrt(42);               5/sqrt(42) + j*1/sqrt(42);               7/sqrt(42) + j*3/sqrt(42);               7/sqrt(42) + j*1/sqrt(42);               5/sqrt(42) + j*5/sqrt(42);               5/sqrt(42) + j*7/sqrt(42);               7/sqrt(42) + j*5/sqrt(42);               7/sqrt(42) + j*7/sqrt(42);               3/sqrt(42) - j*3/sqrt(42);               3/sqrt(42) - j*1/sqrt(42);               1/sqrt(42) - j*3/sqrt(42);               1/sqrt(42) - j*1/sqrt(42);               3/sqrt(42) - j*5/sqrt(42);               3/sqrt(42) - j*7/sqrt(42);               1/sqrt(42) - j*5/sqrt(42);               1/sqrt(42) - j*7/sqrt(42);               5/sqrt(42) - j*3/sqrt(42);               5/sqrt(42) - j*1/sqrt(42);               7/sqrt(42) - j*3/sqrt(42);               7/sqrt(42) - j*1/sqrt(42);               5/sqrt(42) - j*5/sqrt(42);               5/sqrt(42) - j*7/sqrt(42);               7/sqrt(42) - j*5/sqrt(42);               7/sqrt(42) - j*7/sqrt(42);               -3/sqrt(42) + j*3/sqrt(42);               -3/sqrt(42) + j*1/sqrt(42);               -1/sqrt(42) + j*3/sqrt(42);               -1/sqrt(42) + j*1/sqrt(42);               -3/sqrt(42) + j*5/sqrt(42);               -3/sqrt(42) + j*7/sqrt(42);               -1/sqrt(42) + j*5/sqrt(42);               -1/sqrt(42) + j*7/sqrt(42);               -5/sqrt(42) + j*3/sqrt(42);               -5/sqrt(42) + j*1/sqrt(42);               -7/sqrt(42) + j*3/sqrt(42);               -7/sqrt(42) + j*1/sqrt(42);               -5/sqrt(42) + j*5/sqrt(42);               -5/sqrt(42) + j*7/sqrt(42);               -7/sqrt(42) + j*5/sqrt(42);               -7/sqrt(42) + j*7/sqrt(42);               -3/sqrt(42) - j*3/sqrt(42);               -3/sqrt(42) - j*1/sqrt(42);               -1/sqrt(42) - j*3/sqrt(42);               -1/sqrt(42) - j*1/sqrt(42);               -3/sqrt(42) - j*5/sqrt(42);               -3/sqrt(42) - j*7/sqrt(42);               -1/sqrt(42) - j*5/sqrt(42);               -1/sqrt(42) - j*7/sqrt(42);               -5/sqrt(42) - j*3/sqrt(42);               -5/sqrt(42) - j*1/sqrt(42);               -7/sqrt(42) - j*3/sqrt(42);               -7/sqrt(42) - j*1/sqrt(42);               -5/sqrt(42) - j*5/sqrt(42);               -5/sqrt(42) - j*7/sqrt(42);               -7/sqrt(42) - j*5/sqrt(42);               -7/sqrt(42) - j*7/sqrt(42)];                 QAM256 = [5/sqrt(170) + j*5/sqrt(170);                5/sqrt(170) + j*7/sqrt(170);                7/sqrt(170) + j*5/sqrt(170);                7/sqrt(170) + j*7/sqrt(170);                5/sqrt(170) + j*3/sqrt(170);                5/sqrt(170) + j*1/sqrt(170);                7/sqrt(170) + j*3/sqrt(170);                7/sqrt(170) + j*1/sqrt(170);                3/sqrt(170) + j*5/sqrt(170);                3/sqrt(170) + j*7/sqrt(170);                1/sqrt(170) + j*5/sqrt(170);                1/sqrt(170) + j*7/sqrt(170);                3/sqrt(170) + j*3/sqrt(170);                3/sqrt(170) + j*1/sqrt(170);                1/sqrt(170) + j*3/sqrt(170);                1/sqrt(170) + j*1/sqrt(170);                5/sqrt(170) + j*11/sqrt(170);                5/sqrt(170) + j*9/sqrt(170);                7/sqrt(170) + j*11/sqrt(170);                7/sqrt(170) + j*9/sqrt(170);                5/sqrt(170) + j*13/sqrt(170);                5/sqrt(170) + j*15/sqrt(170);                7/sqrt(170) + j*13/sqrt(170);                7/sqrt(170) + j*15/sqrt(170);                3/sqrt(170) + j*11/sqrt(170);                3/sqrt(170) + j*9/sqrt(170);                1/sqrt(170) + j*11/sqrt(170);                1/sqrt(170) + j*9/sqrt(170);                3/sqrt(170) + j*13/sqrt(170);                3/sqrt(170) + j*15/sqrt(170);                1/sqrt(170) + j*13/sqrt(170);                1/sqrt(170) + j*15/sqrt(170);                11/sqrt(170) + j*5/sqrt(170);                11/sqrt(170) + j*7/sqrt(170);                9/sqrt(170) + j*5/sqrt(170);                9/sqrt(170) + j*7/sqrt(170);                11/sqrt(170) + j*3/sqrt(170);                11/sqrt(170) + j*1/sqrt(170);                9/sqrt(170) + j*3/sqrt(170);                9/sqrt(170) + j*1/sqrt(170);                13/sqrt(170) + j*5/sqrt(170);                13/sqrt(170) + j*7/sqrt(170);                15/sqrt(170) + j*5/sqrt(170);                15/sqrt(170) + j*7/sqrt(170);                13/sqrt(170) + j*3/sqrt(170);                13/sqrt(170) + j*1/sqrt(170);                15/sqrt(170) + j*3/sqrt(170);                15/sqrt(170) + j*1/sqrt(170);                11/sqrt(170) + j*11/sqrt(170);                11/sqrt(170) + j*9/sqrt(170);                9/sqrt(170) + j*11/sqrt(170);                9/sqrt(170) + j*9/sqrt(170);                11/sqrt(170) + j*13/sqrt(170);                11/sqrt(170) + j*15/sqrt(170);                9/sqrt(170) + j*13/sqrt(170);                9/sqrt(170) + j*15/sqrt(170);                13/sqrt(170) + j*11/sqrt(170);                13/sqrt(170) + j*9/sqrt(170);                15/sqrt(170) + j*11/sqrt(170);                15/sqrt(170) + j*9/sqrt(170);                13/sqrt(170) + j*13/sqrt(170);                13/sqrt(170) + j*15/sqrt(170);                15/sqrt(170) + j*13/sqrt(170);                15/sqrt(170) + j*15/sqrt(170);                                5/sqrt(170) - j*5/sqrt(170);                5/sqrt(170) - j*7/sqrt(170);                7/sqrt(170) - j*5/sqrt(170);                7/sqrt(170) - j*7/sqrt(170);                5/sqrt(170) - j*3/sqrt(170);                5/sqrt(170) - j*1/sqrt(170);                7/sqrt(170) - j*3/sqrt(170);                7/sqrt(170) - j*1/sqrt(170);                3/sqrt(170) - j*5/sqrt(170);                3/sqrt(170) - j*7/sqrt(170);                1/sqrt(170) - j*5/sqrt(170);                1/sqrt(170) - j*7/sqrt(170);                3/sqrt(170) - j*3/sqrt(170);                3/sqrt(170) - j*1/sqrt(170);                1/sqrt(170) - j*3/sqrt(170);                1/sqrt(170) - j*1/sqrt(170);                5/sqrt(170) - j*11/sqrt(170);                5/sqrt(170) - j*9/sqrt(170);                7/sqrt(170) - j*11/sqrt(170);                7/sqrt(170) - j*9/sqrt(170);                5/sqrt(170) - j*13/sqrt(170);                5/sqrt(170) - j*15/sqrt(170);                7/sqrt(170) - j*13/sqrt(170);                7/sqrt(170) - j*15/sqrt(170);                3/sqrt(170) - j*11/sqrt(170);                3/sqrt(170) - j*9/sqrt(170);                1/sqrt(170) - j*11/sqrt(170);                1/sqrt(170) - j*9/sqrt(170);                3/sqrt(170) - j*13/sqrt(170);                3/sqrt(170) - j*15/sqrt(170);                1/sqrt(170) - j*13/sqrt(170);                1/sqrt(170) - j*15/sqrt(170);                11/sqrt(170) - j*5/sqrt(170);                11/sqrt(170) - j*7/sqrt(170);                9/sqrt(170) - j*5/sqrt(170);                9/sqrt(170) - j*7/sqrt(170);                11/sqrt(170) - j*3/sqrt(170);                11/sqrt(170) - j*1/sqrt(170);                9/sqrt(170) - j*3/sqrt(170);                9/sqrt(170) - j*1/sqrt(170);                13/sqrt(170) - j*5/sqrt(170);                13/sqrt(170) - j*7/sqrt(170);                15/sqrt(170) - j*5/sqrt(170);                15/sqrt(170) - j*7/sqrt(170);                13/sqrt(170) - j*3/sqrt(170);                13/sqrt(170) - j*1/sqrt(170);                15/sqrt(170) - j*3/sqrt(170);                15/sqrt(170) - j*1/sqrt(170);                11/sqrt(170) - j*11/sqrt(170);                11/sqrt(170) - j*9/sqrt(170);                9/sqrt(170) - j*11/sqrt(170);                9/sqrt(170) - j*9/sqrt(170);                11/sqrt(170) - j*13/sqrt(170);                11/sqrt(170) - j*15/sqrt(170);                9/sqrt(170) - j*13/sqrt(170);                9/sqrt(170) - j*15/sqrt(170);                13/sqrt(170) - j*11/sqrt(170);                13/sqrt(170) - j*9/sqrt(170);                15/sqrt(170) - j*11/sqrt(170);                15/sqrt(170) - j*9/sqrt(170);                13/sqrt(170) - j*13/sqrt(170);                13/sqrt(170) - j*15/sqrt(170);                15/sqrt(170) - j*13/sqrt(170);                15/sqrt(170) - j*15/sqrt(170);                               -5/sqrt(170) + j*5/sqrt(170);               -5/sqrt(170) + j*7/sqrt(170);               -7/sqrt(170) + j*5/sqrt(170);               -7/sqrt(170) + j*7/sqrt(170);               -5/sqrt(170) + j*3/sqrt(170);               -5/sqrt(170) + j*1/sqrt(170);               -7/sqrt(170) + j*3/sqrt(170);               -7/sqrt(170) + j*1/sqrt(170);               -3/sqrt(170) + j*5/sqrt(170);               -3/sqrt(170) + j*7/sqrt(170);               -1/sqrt(170) + j*5/sqrt(170);               -1/sqrt(170) + j*7/sqrt(170);               -3/sqrt(170) + j*3/sqrt(170);               -3/sqrt(170) + j*1/sqrt(170);               -1/sqrt(170) + j*3/sqrt(170);               -1/sqrt(170) + j*1/sqrt(170);               -5/sqrt(170) + j*11/sqrt(170);               -5/sqrt(170) + j*9/sqrt(170);               -7/sqrt(170) + j*11/sqrt(170);               -7/sqrt(170) + j*9/sqrt(170);               -5/sqrt(170) + j*13/sqrt(170);               -5/sqrt(170) + j*15/sqrt(170);               -7/sqrt(170) + j*13/sqrt(170);               -7/sqrt(170) + j*15/sqrt(170);               -3/sqrt(170) + j*11/sqrt(170);               -3/sqrt(170) + j*9/sqrt(170);               -1/sqrt(170) + j*11/sqrt(170);               -1/sqrt(170) + j*9/sqrt(170);               -3/sqrt(170) + j*13/sqrt(170);               -3/sqrt(170) + j*15/sqrt(170);               -1/sqrt(170) + j*13/sqrt(170);               -1/sqrt(170) + j*15/sqrt(170);               -11/sqrt(170) + j*5/sqrt(170);               -11/sqrt(170) + j*7/sqrt(170);               -9/sqrt(170) + j*5/sqrt(170);               -9/sqrt(170) + j*7/sqrt(170);               -11/sqrt(170) + j*3/sqrt(170);               -11/sqrt(170) + j*1/sqrt(170);               -9/sqrt(170) + j*3/sqrt(170);               -9/sqrt(170) + j*1/sqrt(170);               -13/sqrt(170) + j*5/sqrt(170);               -13/sqrt(170) + j*7/sqrt(170);               -15/sqrt(170) + j*5/sqrt(170);               -15/sqrt(170) + j*7/sqrt(170);               -13/sqrt(170) + j*3/sqrt(170);               -13/sqrt(170) + j*1/sqrt(170);               -15/sqrt(170) + j*3/sqrt(170);               -15/sqrt(170) + j*1/sqrt(170);               -11/sqrt(170) + j*11/sqrt(170);               -11/sqrt(170) + j*9/sqrt(170);               -9/sqrt(170) + j*11/sqrt(170);               -9/sqrt(170) + j*9/sqrt(170);               -11/sqrt(170) + j*13/sqrt(170);               -11/sqrt(170) + j*15/sqrt(170);               -9/sqrt(170) + j*13/sqrt(170);               -9/sqrt(170) + j*15/sqrt(170);               -13/sqrt(170) + j*11/sqrt(170);               -13/sqrt(170) + j*9/sqrt(170);               -15/sqrt(170) + j*11/sqrt(170);               -15/sqrt(170) + j*9/sqrt(170);               -13/sqrt(170) + j*13/sqrt(170);               -13/sqrt(170) + j*15/sqrt(170);               -15/sqrt(170) + j*13/sqrt(170);               -15/sqrt(170) + j*15/sqrt(170);                              -5/sqrt(170) - j*5/sqrt(170);               -5/sqrt(170) - j*7/sqrt(170);               -7/sqrt(170) - j*5/sqrt(170);               -7/sqrt(170) - j*7/sqrt(170);               -5/sqrt(170) - j*3/sqrt(170);               -5/sqrt(170) - j*1/sqrt(170);               -7/sqrt(170) - j*3/sqrt(170);               -7/sqrt(170) - j*1/sqrt(170);               -3/sqrt(170) - j*5/sqrt(170);               -3/sqrt(170) - j*7/sqrt(170);               -1/sqrt(170) - j*5/sqrt(170);               -1/sqrt(170) - j*7/sqrt(170);               -3/sqrt(170) - j*3/sqrt(170);               -3/sqrt(170) - j*1/sqrt(170);               -1/sqrt(170) - j*3/sqrt(170);               -1/sqrt(170) - j*1/sqrt(170);               -5/sqrt(170) - j*11/sqrt(170);               -5/sqrt(170) - j*9/sqrt(170);               -7/sqrt(170) - j*11/sqrt(170);               -7/sqrt(170) - j*9/sqrt(170);               -5/sqrt(170) - j*13/sqrt(170);               -5/sqrt(170) - j*15/sqrt(170);               -7/sqrt(170) - j*13/sqrt(170);               -7/sqrt(170) - j*15/sqrt(170);               -3/sqrt(170) - j*11/sqrt(170);               -3/sqrt(170) - j*9/sqrt(170);               -1/sqrt(170) - j*11/sqrt(170);               -1/sqrt(170) - j*9/sqrt(170);               -3/sqrt(170) - j*13/sqrt(170);               -3/sqrt(170) - j*15/sqrt(170);               -1/sqrt(170) - j*13/sqrt(170);               -1/sqrt(170) - j*15/sqrt(170);               -11/sqrt(170) - j*5/sqrt(170);               -11/sqrt(170) - j*7/sqrt(170);               -9/sqrt(170) - j*5/sqrt(170);               -9/sqrt(170) - j*7/sqrt(170);               -11/sqrt(170) - j*3/sqrt(170);               -11/sqrt(170) - j*1/sqrt(170);               -9/sqrt(170) - j*3/sqrt(170);               -9/sqrt(170) - j*1/sqrt(170);               -13/sqrt(170) - j*5/sqrt(170);               -13/sqrt(170) - j*7/sqrt(170);               -15/sqrt(170) - j*5/sqrt(170);               -15/sqrt(170) - j*7/sqrt(170);               -13/sqrt(170) - j*3/sqrt(170);               -13/sqrt(170) - j*1/sqrt(170);               -15/sqrt(170) - j*3/sqrt(170);               -15/sqrt(170) - j*1/sqrt(170);               -11/sqrt(170) - j*11/sqrt(170);               -11/sqrt(170) - j*9/sqrt(170);               -9/sqrt(170) - j*11/sqrt(170);               -9/sqrt(170) - j*9/sqrt(170);               -11/sqrt(170) - j*13/sqrt(170);               -11/sqrt(170) - j*15/sqrt(170);               -9/sqrt(170) - j*13/sqrt(170);               -9/sqrt(170) - j*15/sqrt(170);               -13/sqrt(170) - j*11/sqrt(170);               -13/sqrt(170) - j*9/sqrt(170);               -15/sqrt(170) - j*11/sqrt(170);               -15/sqrt(170) - j*9/sqrt(170);               -13/sqrt(170) - j*13/sqrt(170);               -13/sqrt(170) - j*15/sqrt(170);               -15/sqrt(170) - j*13/sqrt(170);               -15/sqrt(170) - j*15/sqrt(170)];                      subplot(1,5,1);      plot(real(BPSK),imag(BPSK),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);            subplot(1,5,2);      plot(real(QPSK),imag(QPSK),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);            subplot(1,5,3);      plot(real(QAM16),imag(QAM16),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);            subplot(1,5,4);      plot(real(QAM64),imag(QAM64),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);            subplot(1,5,5);      plot(real(QAM256),imag(QAM256),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);       clear all;   BPSK = [1/sqrt(2) + j*1/sqrt(2);         -1/sqrt(2) - j*1/sqrt(2)];      QPSK = [1/sqrt(2) + j*1/sqrt(2);         1/sqrt(2) - j*1/sqrt(2);         -1/sqrt(2) + j*1/sqrt(2);         -1/sqrt(2) - j*1/sqrt(2)];      QAM16 = [1/sqrt(10) + j*1/sqrt(10);          1/sqrt(10) + j*3/sqrt(10);          3/sqrt(10) + j*1/sqrt(10);          3/sqrt(10) + j*3/sqrt(10);          1/sqrt(10) - j*1/sqrt(10);          1/sqrt(10) - j*3/sqrt(10);          3/sqrt(10) - j*1/sqrt(10);          3/sqrt(10) - j*3/sqrt(10);          -1/sqrt(10) + j*1/sqrt(10);          -1/sqrt(10) + j*3/sqrt(10);          -3/sqrt(10) + j*1/sqrt(10);          -3/sqrt(10) + j*3/sqrt(10);          -1/sqrt(10) - j*1/sqrt(10);          -1/sqrt(10) - j*3/sqrt(10);          -3/sqrt(10) - j*1/sqrt(10);          -3/sqrt(10) - j*3/sqrt(10)];            QAM64 = [3/sqrt(42) + j*3/sqrt(42);               3/sqrt(42) + j*1/sqrt(42);               1/sqrt(42) + j*3/sqrt(42);               1/sqrt(42) + j*1/sqrt(42);               3/sqrt(42) + j*5/sqrt(42);               3/sqrt(42) + j*7/sqrt(42);               1/sqrt(42) + j*5/sqrt(42);               1/sqrt(42) + j*7/sqrt(42);               5/sqrt(42) + j*3/sqrt(42);               5/sqrt(42) + j*1/sqrt(42);               7/sqrt(42) + j*3/sqrt(42);               7/sqrt(42) + j*1/sqrt(42);               5/sqrt(42) + j*5/sqrt(42);               5/sqrt(42) + j*7/sqrt(42);               7/sqrt(42) + j*5/sqrt(42);               7/sqrt(42) + j*7/sqrt(42);               3/sqrt(42) - j*3/sqrt(42);               3/sqrt(42) - j*1/sqrt(42);               1/sqrt(42) - j*3/sqrt(42);               1/sqrt(42) - j*1/sqrt(42);               3/sqrt(42) - j*5/sqrt(42);               3/sqrt(42) - j*7/sqrt(42);               1/sqrt(42) - j*5/sqrt(42);               1/sqrt(42) - j*7/sqrt(42);               5/sqrt(42) - j*3/sqrt(42);               5/sqrt(42) - j*1/sqrt(42);               7/sqrt(42) - j*3/sqrt(42);               7/sqrt(42) - j*1/sqrt(42);               5/sqrt(42) - j*5/sqrt(42);               5/sqrt(42) - j*7/sqrt(42);               7/sqrt(42) - j*5/sqrt(42);               7/sqrt(42) - j*7/sqrt(42);               -3/sqrt(42) + j*3/sqrt(42);               -3/sqrt(42) + j*1/sqrt(42);               -1/sqrt(42) + j*3/sqrt(42);               -1/sqrt(42) + j*1/sqrt(42);               -3/sqrt(42) + j*5/sqrt(42);               -3/sqrt(42) + j*7/sqrt(42);               -1/sqrt(42) + j*5/sqrt(42);               -1/sqrt(42) + j*7/sqrt(42);               -5/sqrt(42) + j*3/sqrt(42);               -5/sqrt(42) + j*1/sqrt(42);               -7/sqrt(42) + j*3/sqrt(42);               -7/sqrt(42) + j*1/sqrt(42);               -5/sqrt(42) + j*5/sqrt(42);               -5/sqrt(42) + j*7/sqrt(42);               -7/sqrt(42) + j*5/sqrt(42);               -7/sqrt(42) + j*7/sqrt(42);               -3/sqrt(42) - j*3/sqrt(42);               -3/sqrt(42) - j*1/sqrt(42);               -1/sqrt(42) - j*3/sqrt(42);               -1/sqrt(42) - j*1/sqrt(42);               -3/sqrt(42) - j*5/sqrt(42);               -3/sqrt(42) - j*7/sqrt(42);               -1/sqrt(42) - j*5/sqrt(42);               -1/sqrt(42) - j*7/sqrt(42);               -5/sqrt(42) - j*3/sqrt(42);               -5/sqrt(42) - j*1/sqrt(42);               -7/sqrt(42) - j*3/sqrt(42);               -7/sqrt(42) - j*1/sqrt(42);               -5/sqrt(42) - j*5/sqrt(42);               -5/sqrt(42) - j*7/sqrt(42);               -7/sqrt(42) - j*5/sqrt(42);               -7/sqrt(42) - j*7/sqrt(42)];                 QAM256 = [5/sqrt(170) + j*5/sqrt(170);                5/sqrt(170) + j*7/sqrt(170);                7/sqrt(170) + j*5/sqrt(170);                7/sqrt(170) + j*7/sqrt(170);                5/sqrt(170) + j*3/sqrt(170);                5/sqrt(170) + j*1/sqrt(170);                7/sqrt(170) + j*3/sqrt(170);                7/sqrt(170) + j*1/sqrt(170);                3/sqrt(170) + j*5/sqrt(170);                3/sqrt(170) + j*7/sqrt(170);                1/sqrt(170) + j*5/sqrt(170);                1/sqrt(170) + j*7/sqrt(170);                3/sqrt(170) + j*3/sqrt(170);                3/sqrt(170) + j*1/sqrt(170);                1/sqrt(170) + j*3/sqrt(170);                1/sqrt(170) + j*1/sqrt(170);                5/sqrt(170) + j*11/sqrt(170);                5/sqrt(170) + j*9/sqrt(170);                7/sqrt(170) + j*11/sqrt(170);                7/sqrt(170) + j*9/sqrt(170);                5/sqrt(170) + j*13/sqrt(170);                5/sqrt(170) + j*15/sqrt(170);                7/sqrt(170) + j*13/sqrt(170);                7/sqrt(170) + j*15/sqrt(170);                3/sqrt(170) + j*11/sqrt(170);                3/sqrt(170) + j*9/sqrt(170);                1/sqrt(170) + j*11/sqrt(170);                1/sqrt(170) + j*9/sqrt(170);                3/sqrt(170) + j*13/sqrt(170);                3/sqrt(170) + j*15/sqrt(170);                1/sqrt(170) + j*13/sqrt(170);                1/sqrt(170) + j*15/sqrt(170);                11/sqrt(170) + j*5/sqrt(170);                11/sqrt(170) + j*7/sqrt(170);                9/sqrt(170) + j*5/sqrt(170);                9/sqrt(170) + j*7/sqrt(170);                11/sqrt(170) + j*3/sqrt(170);                11/sqrt(170) + j*1/sqrt(170);                9/sqrt(170) + j*3/sqrt(170);                9/sqrt(170) + j*1/sqrt(170);                13/sqrt(170) + j*5/sqrt(170);                13/sqrt(170) + j*7/sqrt(170);                15/sqrt(170) + j*5/sqrt(170);                15/sqrt(170) + j*7/sqrt(170);                13/sqrt(170) + j*3/sqrt(170);                13/sqrt(170) + j*1/sqrt(170);                15/sqrt(170) + j*3/sqrt(170);                15/sqrt(170) + j*1/sqrt(170);                11/sqrt(170) + j*11/sqrt(170);                11/sqrt(170) + j*9/sqrt(170);                9/sqrt(170) + j*11/sqrt(170);                9/sqrt(170) + j*9/sqrt(170);                11/sqrt(170) + j*13/sqrt(170);                11/sqrt(170) + j*15/sqrt(170);                9/sqrt(170) + j*13/sqrt(170);                9/sqrt(170) + j*15/sqrt(170);                13/sqrt(170) + j*11/sqrt(170);                13/sqrt(170) + j*9/sqrt(170);                15/sqrt(170) + j*11/sqrt(170);                15/sqrt(170) + j*9/sqrt(170);                13/sqrt(170) + j*13/sqrt(170);                13/sqrt(170) + j*15/sqrt(170);                15/sqrt(170) + j*13/sqrt(170);                15/sqrt(170) + j*15/sqrt(170);                                5/sqrt(170) - j*5/sqrt(170);                5/sqrt(170) - j*7/sqrt(170);                7/sqrt(170) - j*5/sqrt(170);                7/sqrt(170) - j*7/sqrt(170);                5/sqrt(170) - j*3/sqrt(170);                5/sqrt(170) - j*1/sqrt(170);                7/sqrt(170) - j*3/sqrt(170);                7/sqrt(170) - j*1/sqrt(170);                3/sqrt(170) - j*5/sqrt(170);                3/sqrt(170) - j*7/sqrt(170);                1/sqrt(170) - j*5/sqrt(170);                1/sqrt(170) - j*7/sqrt(170);                3/sqrt(170) - j*3/sqrt(170);                3/sqrt(170) - j*1/sqrt(170);                1/sqrt(170) - j*3/sqrt(170);                1/sqrt(170) - j*1/sqrt(170);                5/sqrt(170) - j*11/sqrt(170);                5/sqrt(170) - j*9/sqrt(170);                7/sqrt(170) - j*11/sqrt(170);                7/sqrt(170) - j*9/sqrt(170);                5/sqrt(170) - j*13/sqrt(170);                5/sqrt(170) - j*15/sqrt(170);                7/sqrt(170) - j*13/sqrt(170);                7/sqrt(170) - j*15/sqrt(170);                3/sqrt(170) - j*11/sqrt(170);                3/sqrt(170) - j*9/sqrt(170);                1/sqrt(170) - j*11/sqrt(170);                1/sqrt(170) - j*9/sqrt(170);                3/sqrt(170) - j*13/sqrt(170);                3/sqrt(170) - j*15/sqrt(170);                1/sqrt(170) - j*13/sqrt(170);                1/sqrt(170) - j*15/sqrt(170);                11/sqrt(170) - j*5/sqrt(170);                11/sqrt(170) - j*7/sqrt(170);                9/sqrt(170) - j*5/sqrt(170);                9/sqrt(170) - j*7/sqrt(170);                11/sqrt(170) - j*3/sqrt(170);                11/sqrt(170) - j*1/sqrt(170);                9/sqrt(170) - j*3/sqrt(170);                9/sqrt(170) - j*1/sqrt(170);                13/sqrt(170) - j*5/sqrt(170);                13/sqrt(170) - j*7/sqrt(170);                15/sqrt(170) - j*5/sqrt(170);                15/sqrt(170) - j*7/sqrt(170);                13/sqrt(170) - j*3/sqrt(170);                13/sqrt(170) - j*1/sqrt(170);                15/sqrt(170) - j*3/sqrt(170);                15/sqrt(170) - j*1/sqrt(170);                11/sqrt(170) - j*11/sqrt(170);                11/sqrt(170) - j*9/sqrt(170);                9/sqrt(170) - j*11/sqrt(170);                9/sqrt(170) - j*9/sqrt(170);                11/sqrt(170) - j*13/sqrt(170);                11/sqrt(170) - j*15/sqrt(170);                9/sqrt(170) - j*13/sqrt(170);                9/sqrt(170) - j*15/sqrt(170);                13/sqrt(170) - j*11/sqrt(170);                13/sqrt(170) - j*9/sqrt(170);                15/sqrt(170) - j*11/sqrt(170);                15/sqrt(170) - j*9/sqrt(170);                13/sqrt(170) - j*13/sqrt(170);                13/sqrt(170) - j*15/sqrt(170);                15/sqrt(170) - j*13/sqrt(170);                15/sqrt(170) - j*15/sqrt(170);                               -5/sqrt(170) + j*5/sqrt(170);               -5/sqrt(170) + j*7/sqrt(170);               -7/sqrt(170) + j*5/sqrt(170);               -7/sqrt(170) + j*7/sqrt(170);               -5/sqrt(170) + j*3/sqrt(170);               -5/sqrt(170) + j*1/sqrt(170);               -7/sqrt(170) + j*3/sqrt(170);               -7/sqrt(170) + j*1/sqrt(170);               -3/sqrt(170) + j*5/sqrt(170);               -3/sqrt(170) + j*7/sqrt(170);               -1/sqrt(170) + j*5/sqrt(170);               -1/sqrt(170) + j*7/sqrt(170);               -3/sqrt(170) + j*3/sqrt(170);               -3/sqrt(170) + j*1/sqrt(170);               -1/sqrt(170) + j*3/sqrt(170);               -1/sqrt(170) + j*1/sqrt(170);               -5/sqrt(170) + j*11/sqrt(170);               -5/sqrt(170) + j*9/sqrt(170);               -7/sqrt(170) + j*11/sqrt(170);               -7/sqrt(170) + j*9/sqrt(170);               -5/sqrt(170) + j*13/sqrt(170);               -5/sqrt(170) + j*15/sqrt(170);               -7/sqrt(170) + j*13/sqrt(170);               -7/sqrt(170) + j*15/sqrt(170);               -3/sqrt(170) + j*11/sqrt(170);               -3/sqrt(170) + j*9/sqrt(170);               -1/sqrt(170) + j*11/sqrt(170);               -1/sqrt(170) + j*9/sqrt(170);               -3/sqrt(170) + j*13/sqrt(170);               -3/sqrt(170) + j*15/sqrt(170);               -1/sqrt(170) + j*13/sqrt(170);               -1/sqrt(170) + j*15/sqrt(170);               -11/sqrt(170) + j*5/sqrt(170);               -11/sqrt(170) + j*7/sqrt(170);               -9/sqrt(170) + j*5/sqrt(170);               -9/sqrt(170) + j*7/sqrt(170);               -11/sqrt(170) + j*3/sqrt(170);               -11/sqrt(170) + j*1/sqrt(170);               -9/sqrt(170) + j*3/sqrt(170);               -9/sqrt(170) + j*1/sqrt(170);               -13/sqrt(170) + j*5/sqrt(170);               -13/sqrt(170) + j*7/sqrt(170);               -15/sqrt(170) + j*5/sqrt(170);               -15/sqrt(170) + j*7/sqrt(170);               -13/sqrt(170) + j*3/sqrt(170);               -13/sqrt(170) + j*1/sqrt(170);               -15/sqrt(170) + j*3/sqrt(170);               -15/sqrt(170) + j*1/sqrt(170);               -11/sqrt(170) + j*11/sqrt(170);               -11/sqrt(170) + j*9/sqrt(170);               -9/sqrt(170) + j*11/sqrt(170);               -9/sqrt(170) + j*9/sqrt(170);               -11/sqrt(170) + j*13/sqrt(170);               -11/sqrt(170) + j*15/sqrt(170);               -9/sqrt(170) + j*13/sqrt(170);               -9/sqrt(170) + j*15/sqrt(170);               -13/sqrt(170) + j*11/sqrt(170);               -13/sqrt(170) + j*9/sqrt(170);               -15/sqrt(170) + j*11/sqrt(170);               -15/sqrt(170) + j*9/sqrt(170);               -13/sqrt(170) + j*13/sqrt(170);               -13/sqrt(170) + j*15/sqrt(170);               -15/sqrt(170) + j*13/sqrt(170);               -15/sqrt(170) + j*15/sqrt(170);                              -5/sqrt(170) - j*5/sqrt(170);               -5/sqrt(170) - j*7/sqrt(170);               -7/sqrt(170) - j*5/sqrt(170);               -7/sqrt(170) - j*7/sqrt(170);               -5/sqrt(170) - j*3/sqrt(170);               -5/sqrt(170) - j*1/sqrt(170);               -7/sqrt(170) - j*3/sqrt(170);               -7/sqrt(170) - j*1/sqrt(170);               -3/sqrt(170) - j*5/sqrt(170);               -3/sqrt(170) - j*7/sqrt(170);               -1/sqrt(170) - j*5/sqrt(170);               -1/sqrt(170) - j*7/sqrt(170);               -3/sqrt(170) - j*3/sqrt(170);               -3/sqrt(170) - j*1/sqrt(170);               -1/sqrt(170) - j*3/sqrt(170);               -1/sqrt(170) - j*1/sqrt(170);               -5/sqrt(170) - j*11/sqrt(170);               -5/sqrt(170) - j*9/sqrt(170);               -7/sqrt(170) - j*11/sqrt(170);               -7/sqrt(170) - j*9/sqrt(170);               -5/sqrt(170) - j*13/sqrt(170);               -5/sqrt(170) - j*15/sqrt(170);               -7/sqrt(170) - j*13/sqrt(170);               -7/sqrt(170) - j*15/sqrt(170);               -3/sqrt(170) - j*11/sqrt(170);               -3/sqrt(170) - j*9/sqrt(170);               -1/sqrt(170) - j*11/sqrt(170);               -1/sqrt(170) - j*9/sqrt(170);               -3/sqrt(170) - j*13/sqrt(170);               -3/sqrt(170) - j*15/sqrt(170);               -1/sqrt(170) - j*13/sqrt(170);               -1/sqrt(170) - j*15/sqrt(170);               -11/sqrt(170) - j*5/sqrt(170);               -11/sqrt(170) - j*7/sqrt(170);               -9/sqrt(170) - j*5/sqrt(170);               -9/sqrt(170) - j*7/sqrt(170);               -11/sqrt(170) - j*3/sqrt(170);               -11/sqrt(170) - j*1/sqrt(170);               -9/sqrt(170) - j*3/sqrt(170);               -9/sqrt(170) - j*1/sqrt(170);               -13/sqrt(170) - j*5/sqrt(170);               -13/sqrt(170) - j*7/sqrt(170);               -15/sqrt(170) - j*5/sqrt(170);               -15/sqrt(170) - j*7/sqrt(170);               -13/sqrt(170) - j*3/sqrt(170);               -13/sqrt(170) - j*1/sqrt(170);               -15/sqrt(170) - j*3/sqrt(170);               -15/sqrt(170) - j*1/sqrt(170);               -11/sqrt(170) - j*11/sqrt(170);               -11/sqrt(170) - j*9/sqrt(170);               -9/sqrt(170) - j*11/sqrt(170);               -9/sqrt(170) - j*9/sqrt(170);               -11/sqrt(170) - j*13/sqrt(170);               -11/sqrt(170) - j*15/sqrt(170);               -9/sqrt(170) - j*13/sqrt(170);               -9/sqrt(170) - j*15/sqrt(170);               -13/sqrt(170) - j*11/sqrt(170);               -13/sqrt(170) - j*9/sqrt(170);               -15/sqrt(170) - j*11/sqrt(170);               -15/sqrt(170) - j*9/sqrt(170);               -13/sqrt(170) - j*13/sqrt(170);               -13/sqrt(170) - j*15/sqrt(170);               -15/sqrt(170) - j*13/sqrt(170);               -15/sqrt(170) - j*15/sqrt(170)];           % Number of Symbols (Data Points)     N = 10000;       % Change this value and see how the result changes     SNR_dB = 30;       % Convert SNR from dB scale to Linear Scale     SNR_lin = 10 .^ (SNR_dB/10);          % Generate BPSK and AWGN     sBPSK = [];          for i = 1:N        idx = randi([1 length(BPSK)]);        sBPSK = [sBPSK BPSK(idx)];       end;                     EavgBPSK = sum(abs(sBPSK) .^ 2)/N;     awgnSigmaBPSK = sqrt(EavgBPSK/(2*SNR_lin));     awgnBPSK = awgnSigmaBPSK*(randn(1,N)+j*randn(1,N));          yBPSK = sBPSK + awgnBPSK;          % Generate QPSK and AWGN     sQPSK = [];          for i = 1:N        idx = randi([1 length(QPSK)]);        sQPSK = [sQPSK QPSK(idx)];       end;                     EavgQPSK = sum(abs(sQPSK) .^ 2)/N;     awgnSigmaQPSK = sqrt(EavgQPSK/(2*SNR_lin));     awgnQPSK = awgnSigmaQPSK*(randn(1,N)+j*randn(1,N));          yQPSK = sQPSK + awgnQPSK;       % Generate 16QAM and AWGN     sQAM16 = [];          for i = 1:N        idx = randi([1 length(QAM16)]);        sQAM16 = [sQAM16 QAM16(idx)];       end;                     EavgQAM16 = sum(abs(sQAM16) .^ 2)/N;     awgnSigmaQAM16 = sqrt(EavgQAM16/(2*SNR_lin));     awgnQAM16 = awgnSigmaQAM16*(randn(1,N)+j*randn(1,N));          yQAM16 = sQAM16 + awgnQAM16;          % Generate 64QAM and AWGN     sQAM64 = [];          for i = 1:N        idx = randi([1 length(QAM64)]);        sQAM64 = [sQAM64 QAM64(idx)];       end;                     EavgQAM64 = sum(abs(sQAM64) .^ 2)/N;     awgnSigmaQAM64 = sqrt(EavgQAM64/(2*SNR_lin));     awgnQAM64 = awgnSigmaQAM64*(randn(1,N)+j*randn(1,N));          yQAM64 = sQAM64 + awgnQAM64;          % Generate 256 QAM and AWGN     sQAM256 = [];          for i = 1:N        idx = randi([1 length(QAM256)]);        sQAM256 = [sQAM256 QAM256(idx)];       end;                     EavgQAM256 = sum(abs(sQAM256) .^ 2)/N;     awgnSigmaQAM256 = sqrt(EavgQAM256/(2*SNR_lin));     awgnQAM256 = awgnSigmaQAM256*(randn(1,N)+j*randn(1,N));          yQAM256 = sQAM256 + awgnQAM256;           % Plot the constellation and noise for BPSK      subplot(1,5,1);      plot(real(yBPSK),imag(yBPSK),'ko','MarkerFaceColor',[0,0,0],'MarkerSize',1);      axis([-1.5 1.5 -1.5 1.5]);      hold on;      plot(real(BPSK),imag(BPSK),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);      title(strcat('SNR=',num2str(SNR_dB),'dB'));      hold off;            % Plot the constellation and noise for QPSK      subplot(1,5,2);      plot(real(yQPSK),imag(yQPSK),'ko','MarkerFaceColor',[0,0,0],'MarkerSize',1);      axis([-1.5 1.5 -1.5 1.5]);      hold on;      plot(real(QPSK),imag(QPSK),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);      title(strcat('SNR=',num2str(SNR_dB),'dB'));      hold off;            % Plot the constellation and noise for 16 QAM      subplot(1,5,3);      plot(real(yQAM16),imag(yQAM16),'ko','MarkerFaceColor',[0,0,0],'MarkerSize',1);      axis([-1.5 1.5 -1.5 1.5]);      hold on;      plot(real(QAM16),imag(QAM16),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);      title(strcat('SNR=',num2str(SNR_dB),'dB'));      hold off;            % Plot the constellation and noise for 64 QAM      subplot(1,5,4);      plot(real(yQAM64),imag(yQAM64),'ko','MarkerFaceColor',[0,0,0],'MarkerSize',1);      axis([-1.5 1.5 -1.5 1.5]);      hold on;      plot(real(QAM64),imag(QAM64),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);      title(strcat('SNR=',num2str(SNR_dB),'dB'));      hold off;                  % Plot the constellation and noise for 256 QAM      subplot(1,5,5);      plot(real(yQAM256),imag(yQAM256),'ko','MarkerFaceColor',[0,0,0],'MarkerSize',1);      axis([-1.5 1.5 -1.5 1.5]);      hold on;      plot(real(QAM256),imag(QAM256),'ro','MarkerFaceColor',[1,0,0],'MarkerSize',2);      axis([-1.5 1.5 -1.5 1.5]);      title(strcat('SNR=',num2str(SNR_dB),'dB'));      hold off;