Articles

# Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK

I have written another article in DSPDesginLine.com. This article can be treated as the third post in the series aimed at understanding Shannon’s capacity equation.

For the first two posts in the series are:

The article summarizes the symbol error rate derivations in AWGN for modulation schemes like BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK.

The article in DSPDesignline.com details the following:

• Based on the knowledge of bandwidth requirements for each type of modulation scheme, the capacity in bits/seconds/Hz is listed.
• Using the knowledge that the symbol to noise ratio $\frac{E_s}{N_0}$ is $k=\log_2(M)$ times the bit to noise ratio $\frac{E_b}{N_0}$, the symbol error rate vs $\frac{E_b}{N_0}$ curves are plotted.
• Using symbol error rate versus $\frac{E_b}{N_0}$ plots, the $\frac{E_b}{N_0}$ required for achieving symbol error rate of $10^{-5}$is identified.
• Upon having the capacity and $\frac{E_b}{N_0}$ requirement, the requirements for BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK are mapped on to the Shannon’s capacity vs Eb/No curve.
• Assuming Gray coded modulation mapping, each symbol error causes one bit out of $k=\log_2(M)$ bits to be in error. So, the relation between symbol error and bit error is,$P_b \approx \frac{Ps}{k}$.
• Using this assumption, the Bit Error Rate (BER) for BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK are listed and the BER vs Eb/No curve plotted.

## 112 thoughts on “Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK”

1. Bala says:

Hi Krishna,
Can you give me a link to a MATLAB pgm which would help us estimate the IQ imbalance in the received OFDM signal.?

2. Jeffrey Bridge says:

Hi there,
This looks like a really good article in DSPDesignLine, except that now it redirects to eetimes.com and although the text of the article is there, all the image links seem to be broken. Without the images containing the formulas, the article is now useless. Is there any way you can fix it?

1. @Jeffrey Bridge: Thanks for pointing that out. Let me ping eetimes.com to get the article fixed

3. Donny says:

Hi Krishna,

Given that the modulation type is either 16QAm or 16APSK, is there a formula to relate the SNR(Es/No) to the average constellation dispersion for each modulation type? How do we derive the relationship?

Thanks.

4. ssstecz says:

Hare Krishna ! 🙂

Thanks a lot for all the information you posted here, it was very useful for me.

5. Junaid Khan says:

hi can you please help me with matlab code for area spectral efficiency in OFDMA or LTE. thanks

will anybody help me to implement SLM technique of PAPR reduction in matlab?

please do needfull if any one.

Hi Krishna,

Have you any work on 2×2 MIMO OFDM systems with rayleigh channel, for BPSK, QPSK, 8PSK and 16PSK?

Much appreciated

1. @Adam Scott: There are articles on MIMO discussed at https://dsplog.com/tag/mimo
But most of there are discussing using BPSK modulation as example. Extending this to higher order modulation seems reasonably straightforward though

8. Ratheesh says:

Hi,
I just need some help relating to data rate and bandwidth. I have a fixed bandwidth of transmission of 25KHz. So i want to calculate the data rates in different types of modulation to determine which one i can use. Can you help me with some formula with which i could calculate this.. Or any other better approach?
Thanks a lot

9. akash singh says:

sir i have to prepare a model and project on the comparison between BPSK and QPSK. can you please help me in making the model..or you can provide any information regarding this topic.

sir, i am looking for QPSK Algorithms…
can you provide some details about few algorithms

11. lavanya says:

i want the code for 8-qam.plese provide it to me

12. Shareef Ahmed says:

I need mapping and demapping function commands in MATLAB code for OFDMA and SC-FDMA. will you please help me.

1. @Shareef: Is it modulation and demodulation mapping i.e. bits to constellation?

please i need it too : you very kind man 🙂

13. abdullah says:

I would like to share in this web bcz it very use full

14. racheal says:

Dear Krishna,

I just want to first thank you for your posts especially us students from un developed countries. Your website has taught us a lot and we do not feel inferior.

I was so bad at scripts but i picket interest and your work has greatly helped me. Thank you so much and May God bless you.

I want to kindly ask you for the matlab/ octave script for simulating BER vs SNR per bit (Eb/No) for various digital modulation schemes(Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK).

I was able to see your output from this website “http://www.eetimes.com/design/signal-processing-dsp/4017668/Modulation-roundup-error-rates-noise-and-capacity?pageNumber=2” but i can not access the script.

I also want to ask you if you have examples of matlab/octave scripts for Sum capacity Vs SNR of MIMO or MU-MIMO with correlated and uncorrelated channel to help with some of them.

Otherwise am waiting to hear from you. Thank you

I can not say enough thank you for your posts on https://dsplog.com. If i were to give you a gift it would be ” to give you the ability to see yourself as others see you, then you could really see how special you are and how you have made a big difference in lives of many people”

1. @rachael: Thanks for the kind words. Will add a post on sum capacity soon

15. maruf al mahmud sajib says:

i face a problem of BER formula for math lab simulation which is

BER=.5 erfc[sqrt(snr)/2]

i need to analyze the performance of a short distance terrestrial OWC system as a function of wavelength.
i need a help that BER formula is right or wrong.

16. wep says:

hi krishna …..
hi sir …
Can you help me about tutorials from the m-QAM (m = 4,8,16,32,64),
about the theory, the calculation of bit error probability (BER) and the constellation of m-QAM..
thanks before……

17. Stud says:

Sir,

can u give me the matlab code for the BER compersion of conventional BPSK, QPSK and 8PSK over an AWGN channel.

Regards

18. azura says:

hello sir ..
i’m doing my final project..
do you have matlab simulation for ber performance in ofdm system of various modulation technique in self cancellation in OFDM..

19. Hassan says:

sir,
please can you tell me how should I assign 2 bits to symbols for 4-PAM . i.e how shall I program such that -3 has two bits , similarly -1, 1 and 3??If you have a code, kindly is it possible to provide it?

20. maria says:

sir, pls do help wid our prjct..can u plsssssss send me the matlab alamouti STBC code for QPSK modulation in rayleigh fading channel?????
plssssssssssss……………..

21. Md.Monirul Islam says:

Total probability of symbol error of the following Modulation technique:
CPSK, 2-PSK,M-PAM,2-DPSK,16APSK.
(with matlab coding).

22. hi every one ineed your hellp in how to make symbol mapping function
or how to make bit mapping simmulation in mate lab.
with my thanksssss

23. hello,can i know what is actually relation between baud and bandwidth?and is that baud rate in QPSK=(bit rate/4)?or same with bandwidth like others such as ASK,BPSK,FSKn and how about QAM?is that same as QPSK or what?..please help me

24. shubrodeep says:

hi, i need some help please

i have simulated a qpsk tx and rx system. i got the BER curve perfectly. my next task was to have the qpsk signal pass thru an FIR filter. I did that as welland as expected the signal underwent distortion.

1. i should generate h(n), which is the impulse response. i have to generate 6 coefficients. i know to do that but i’m asked to generate them with variances of 1, 1/2, 1/3, 1/4, 1/5, 1/6.
i should also be normalised such that summation Hi square = 1.

2. i have to then convolute it with the input signal x(n).

3. then for every 500 samples i have to change the coefficients, should do this 30 times.

4. finally from the h(n) coefficients i should try and get bak the original signal.

coul some1 plz plz plz help with the following tasks listed above.. i would be greatful.

thank you.

regards,
shubro

25. Amit says:

Hello Sir,
I wanna a code for QAM modulation Technique. Hope u will do this today

26. john says:

I am trying to simulate a rayleigh fading channel using the following code, i am not getting the desired resultls, where am i going wrong?

bit_error_rate=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
for q=1:no
%%% data generation
data_get =data_gen(rate_id);
%%% data randomization
data_rand=randomizer(data_get);
%%% FEC ENCODER
data_rscoded=rsencodecod(data_rand,rate_id,10);
%%convolution encoder
data_coded=convolution(data_rscoded,rate_id,10);
%%% INTERLEAVING
data_interleav=interleav_d(data_coded,rate_id);
%%% Digital modulator SYMBOL MAPPER
data_mod=mod_d(data_interleav,rate_id);
%%% IFFT modulator
data_tx=ofdmsymbol_fft_cp(data_mod,G,10);

SNR=[1 2 3 5 7 9 10 12 15 17 20 22 25 27 30]; % specify SNR
for p=1:1:15
snr=SNR(p);
ts=1/22800000;
fd=0.4;
tau=[0 0.4e-6 0.9e-6];
pdb=[0 -5 -10];
chan=rayleighchan(ts,fd,tau,pdb);
%%% channel
data_fil=filter(chan,data_tx);
data_rx=channel_d(data_fil,snr);
%%% FFT demodulator
data_rxp=ofdmsymbol_fft_cp(data_rx,G,01);
%%% Digital demodulator SYMBOL DEMEPPER
data_demod=demod_d(data_rxp,rate_id);
%%% DEINTERLEAVING
data_deinterleav=deinterleav_d(data_demod,rate_id);
% %%% FEC DECODER
%% convolution decoder
data_decoded=convolution(data_deinterleav,rate_id,01);
%%% RSdecoder
data_rsdecoded=rsencodecod(data_decoded,rate_id,01); % removing added tail bits
%%% Data Derandomizer
data_unrand=randomizer(data_rsdecoded);

27. chowdary says:

Hi krishna,

I came across this site very late.
I am looking for ofdm transmission through SUI,Cost207,exponential channel models, i need matlab code, plzzzz help me it require for my project i need to submit with in 2days, how can i know the performance of these channaels.plzzzz help me i am waiting for you reply.

28. Communications Engineer says:

Hello Krishna,

Can you tell me how I can use BER to plot capacity curves for OFDM and MC-CDMA?

Any hint

29. wap says:

hi sir…………..
hi krishna………
what is pi/4 qpsk???

are u have tutorial pi/4 qpsk??
can u explain defferent qpsk n pi/4 qpsk?

thanks before……………

hi
i want information about hybrid modulation “OFDM-OOK”
regards

31. hi,
i hope you are fine.please could you give me theoretical equaion of Bit Error Rate for convolutioanly coded BPSK,QOSk,16QAM,64 QAM and simulation of Adaptive modulation of BPSK,QPSK,16QAM,64QAM?
thnaks.

32. Student says:

Why did you delete my comment?

1. @Student: 🙂 The comments are moderated. Hence they take ‘time to appear’

33. Student says:

Hello,

in my lecture I learned that the relation between S/N and Eb/N0 is:
S/N = Eb/N0 * m

m: Number of bits/Symbol

Now I found the formula for the relation between Es/N0 and Eb/N0:
Es/N0 = Eb/N0 * m

because there are m bits/Symbol.

That would mean that
S/N = Es/N0.

In another pdf I found:
C/N = S/N = Eb/N0 * Rb/B
so
Es/N0 = Eb/N0 * Rb/B
so
Es = Eb * Rb/B
so
m * Eb = Eb * Rb/B
so
m = Rb/B

that makes sense for me.

But: In all books, B = B_baseband = f3dB of the lowpass in baseband. In my lecture, B is B_RF = 2 * B_baseband.

I need clearly the relation between S/N and Eb/N0 to calculate S/N_min for a 802.11a receiver with the given PER_max = 10% (=> BER= 1,32E-5).

Can someone please confirm my calculations or show me the errors?
Thank you very much!

Student

34. EGRUE NNAMDI says:

Hi Krishna

Compliments of the season, actually i have made a request to you last time and you granted the request by given me the link to which my concerns where addressed. Sincerelly speeking all your your work are very lovely, and very educative, infact i would like to work with people like you, because you have been very helpful. I want to “develop a model in my dissertation for variable noise channel and simulate results for bit error rate (BER)”i will need your assisitance on how i can do that. then below are some of the terms you have used in your simulations, pls i will need an explanation for each one of them, what they mean. Am very gratefull.

ipBit =

ipMod =

xF =

xt =

nt =

yt =

yF =

yMod =

ipModHat =

ipBitHat =

Concatenating =

Thanks Very much

NNAMDI

1. @EGRUE: Thanks for the comment. I think that the code is self explanatory. You can take a shot at explaining each. I will correct them as needed.

35. Selvi Rajan says:

Sir, Iam working on OFDM simulation for Optical domain. I want to know the parpameter Calculation for OFDM, i.e Frequency Offset calculation , phase noise error , Derving different parameter from the IEEE standards

36. alex says:

Hi,Krishna Sankar；
How are you!I hope you are doing fine and in good health.
I write a code for phase noise simulation in Butter ,cheby1,cheby2,and ellip fillter.But the programe run also error.Please give me help!Thanks a lot.

[Bb,Ab] = butter(4,0.5); % order 4, cutoff at 0.5 * pi
Hb=freqz(Bb,Ab);
Db=grpdelay(Bb,Ab);

[Bc1,Ac1] = cheby1(4,1,0.5); % 1 dB passband ripple
Hc1=freqz(Bc1,Ac1);
Dc1=grpdelay(Bc1,Ac1);

[Bc2,Ac2] = cheby2(4,20,0.5); % 20 dB stopband attenuation
Hc2=freqz(Bc2,Ac2);
Dc2=grpdelay(Bc2,Ac2);

[Be,Ae] = ellip(4,1,20,0.5); % like cheby1 + cheby2
He=freqz(Be,Ae);
[De,w]=grpdelay(Be,Ae);

figure(1); plot(w,abs([Hb,Hc1,Hc2,He])); grid(‘on’);
legend(‘butter’,’cheby1′,’cheby2′,’ellip’);
saveplot(‘../eps/grpdelaydemo1.eps’);

figure(2); plot(w,[Db,Dc1,Dc2,De]); grid(‘on’);
legend(‘butter’,’cheby1′,’cheby2′,’ellip’);
saveplot(‘../eps/grpdelaydemo2.eps’);

1. @alex: I do not have the function grpdelay() with me. What is the error which you are observing?

37. invizi says:

Hi krishna!
I hope you are doing fine and in good health.
I am working on an OFDMA system. I want to write equation for channel capacity for each user. I have the equations for the ICI but I dont know how to write the capacity equations…
______________________________________________
C(k) = Summation [ log2(1+SNR(v))] in bits/OFDM-Sym.
where k = user index
v = subcarrier allocated to a user
—————————————————————————–
I know this equation which is the theoretical channel capacity of each user. But I want to write the actual channel capacity. As I said I have the ICI equations …. kindly help how to proceed.
invizi

1. @invizi: You can find the theoretical capacity from Shannon’s bounds, no?

38. W.Y says:

Sir!

I was wondering how I can implement the channel capacity of BPSK, using by Matlab???

1. @W.Y: For the post on BER for BPSK modulation, we know the Eb/No required for achieving an arbitrarily low BER of 10^-5.
Further, since we know the bandwidth required by BPSK, we know the capacity in bits/second/Hz is 1.
Knowing both these values, we can plot where BPSK lies in Shanon’s Eb/No vs capacity curve.
Please refer to the following posts:
1) http://www.dspdesignline.com/howto/208801783;jsessionid=GBNINTPPYCUNFQE1GHRSKH4ATMY32JVN?pgno=2
2) https://dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/

Hope this helps.

39. Ranjan says:

Hi,
I got prob of error formulas for QPSK as follows,
1) From std result: Pe=erfc(sqrt(Es/2N0))
2)Pe= erfc(sqrt (1.5*snr/M-1))
3)Pe=4Q(dmin/2*sigma)
I am not able to relate all thes three.
Can you help me.
Thanks
ranjan

1. @Ranjan: Let me try:
For QPSK, M = 4, so erfc(sqrt (1.5*snr/3)) = erfc(sqrt (snr/2)) = erfc(sqrt(Es/2N0)). So (1) and (2) are the same.
Since Q(x)=0.5*erfc(x/sqrt(2)), dmin = sqrt(2); then 4Q(dmin/2*sigma) = 2erfc(1/(sqrt(2)*sigma) = 2erfc(sqrt(1/(2*sigma^2))).
If we assume that variance of signal is 1, and the variance of noise = sigma^2, then 1/sigma^2 = Es/N0 = SNR

The function (3) seems close to (1), (2) except for the scaling of 2. Are you sure that QPSK error rate is 4Q(dmin/2*sigma) and not 2Q(dmin/2*sigma)?

Does this help?

40. kiki says:

hello all. i found a code which modulates QPSK but i couldn’t demodulate it back . please help. here is the code
clear all
clc
f=100;
N=5;
b= sign(randn(1,N));
b;
c=rem(length(b),2);
if c ~= 0
b=[b 1];
end
len=length(b);
t=0:1/99:1;
qcar=[];icar=[]; %initialize in-phase and quadrature carriers
ic=[];qc=[]; %initialize in-phase and quadrature components;
for n=1:2:len
if b(n)==-1 & b(n+1)==-1;
temp=-1/sqrt(2)*ones(1,100);
temp1=-1/sqrt(2)*ones(1,100);
elseif b(n)==-1 & b(n+1)==1;
temp=-1/sqrt(2)*ones(1,100);
temp1=1/sqrt(2)*ones(1,100);
elseif b(n)==1 & b(n+1)==-1;
temp=1/sqrt(2)*ones(1,100);
temp1=-1/sqrt(2)*ones(1,100);
elseif b(n)==1 & b(n+1)==1;
temp=1/sqrt(2)*ones(1,100);
temp1=1/sqrt(2)*ones(1,100);
end
i=cos(2*pi*f*t);
q=sin(2*pi*f*t);
ic=[ic temp];
qc=[qc temp1];
icar=[icar i];
qcar=[qcar q];
end
qpsk=ic.*icar+qc.*qcar;
plot(qpsk);

41. Girish K. says:

sir i am working on hiperlan/2 using BPSK,QPSK and 16QAM modulation technique and ofdm multiplexing so plz help me to solve the prob for delay and Rician and Rayleigh channel

1. @Girish: Can you please provide more details about the problems which you are facing.

42. Jasdeep says:

Hi

i need information or matlab code for filter to reduce or to compensate fading.
I need to put this code for nakagami channel……

Thanks

1. @Jasdeep: I believe you are looking for a channel equalization technique. I have not discussed channel equalization in a multipath channel (resulting in ISI) for single carrier system, however you may find articles on flat fading Rayleigh channel @ https://dsplog.com/tag/rayleigh/

43. simon says:

Hi,

I wonder if you know anything about BER for OOK.
either the figure or the theoretical function is enough for me.

thanks

44. JAFAR says:

I need to BER CURVED versuse Eb/N0 for qpsk modulation up to 1e-6.

45. alger says:

Hi,
please, comment faire pour ploter la constullation 16-qam dans matlab avec des équations mathématique du signal de sortie de modulateur.
Thenks

46. Abi says:

Hi all,

please, how can we plot Shannon’s curve against Eb/No for various rates ?? I mean simlate them ??

Many thanks

hi

kindly send me the complete derivation expression for the probability of a bit error of 4-QAM in terms of Eb n No

also the gray maping constellation of 4 QAM

thanx

1. @Adeela: You may refer to the posts
https://dsplog.com/2007/11/06/symbol-error-rate-for-4-qam/ for discussion on Symbol Error rate (Ps) versus symbol to noise ratio (Es/N0).
To convert to Pb versus Eb/N0, please make the following assumptions:
Since each constellation symbol carriers two bits, Eb/N0 = 1/2*Es/N0
Further if we assume Gray coded constellation, each symbol error typicallly causes 1 out of 2 bits to be in error
Pb ~= Ps/2.

Hope this helps.

1. haleh says:

Hi Krishna,
you mentioned Pb ~= Ps/k …is it versus Eb/No or Es/No?

48. NOOR says:

. MIMO-OFDM: VBLAST versus STBC
The objective here is to compare VBLAST and Alamouti STBC in the context of MIMO-OFDM operating over frequency-selective Rayleigh fading channels. Consider a 2×2 system with N=64 carriers and a cyclic prefix long enough to avoid interblock interference. QPSK is used in STBC and BPSK is used in V-BLAST in order to have the same spectral efficiency. The discrete-time channels are assumed to be mutually uncorrelated and have L taps each. The taps are uncorrelated and obey an exponential power delay profile, i.e. E{|hk|2} = C.exp(- k) where C is a constant; take =0.2. It is assumed that the channel does not vary over two OFDM symbols. Assuming perfect knowledge of the channels at the receiver, provide simulations results depicting the average BERs for the two systems versus the average SNR in the cases where L=1, L=4, L=8, and L=16. Comment on the obtained results.
as soon as you can

49. NOOR says:

1-Why did we map the uniform random integers onto the complex symbols in 64 QAM simulations?
2-Why does increased transmitted power decrease the error rate of the system ?

3-How does this equation D(r^t,sm)=abs(r^t-sm)^2 become optimum detector ?

1. @NOOR: My replies:
1. The transmit data might be coming from some higher layer, which we assume to be random. So we use rand() function to define random bits, group them and assign to constellation points.
2. The effect of noise becomes smaller as we increase the transmit power
3. I believe you wrote the equation of Maximum likelihood, correct?

50. Melinda says:

Hi,

QPSK has – 4 constellation points; 16 QAM -16 constellation points; 64 – 64 constellation points.

16QAM vs QPSK -> Now with the 16 possible points in the constellation diagram we have 16 possible symbols. For this 16 symbols we need 4 bits for coding . Compared to the QPSK modulation now we have doubled the transfer rate when using the same symbol clock.But compared to the QPSK, points are closer to each other and so the allowed noise circle radius is decreased. Noise can be interpreted as a vector which turns around the points of the constellation diagram producing a circle with a noise amplitude dependend radius. If we have normalized constellation (i.e. max distance is 1 – i.e. distance between two outer edges of circle of outer constellation points), then:
required distance QAM16 -> 1/(SQRT(QAM res.)) = 1/SQRT(16) = 0.25
required distance QPSK -> 1/(SQRT(QPSK res.)) = 1/SQRT(4) = 0.5
So we get a ratio of QPSK/QAM distance required to get no overlap of the points of: 20 * log(o.5/0.25) = 6dB.
So to have the same S/N ratio with the same noise level the signal for 16QAM has to be 6 dB stronger than QPSK. The same case is between 64QAM and 16 QAM(6db difference), 256QAM and 64QAM(6db difference) ….
We see that with each bit we add to the symbol rate we need a 3 dB better S/N of the received signal. So we see the tradeoff we have to do between the increasing transfer rate and the required S/N ratio.
Of course another way to increase the transfer rate is a higher symbol clock with the same symbol width.
===================================================================

But, I saw also formula(in MATLAB help) Es/No = Eb/No + 10log10(k); where k is the number of information bits per symbol.
By this formula we get:
QPSK: Es/No = Eb/No + 10log10(2)=Eb/No + 3.0103;
16QAM: Es/No = Eb/No + 10log10(4)=Eb/No + 6.0206;
64QAM: Es/No = Eb/No + 10log10(6)=Eb/No + 7.7815;

For BER of 10e-5, we get for QPSK that required Eb/No is about 9.5 dB, for 16QAM is about 13dB, for 64QAM is about 17,5dB…(I get this by MATLAB bertool). So we now have:
QPSK: Es/No = Eb/No + 10log10(2)=9.5 + 3.0103 ~ 12.5 dB;
16QAM: Es/No = Eb/No + 10log10(4)=13 + 6.0206 ~ 20 dB;
64QAM: Es/No = Eb/No + 10log10(6)=17.5 + 7.7815 ~ 26.2 dB;

So as You see the difference between 12.5 and 20 is not 6dB, in case QPSK vs 16QAM!

(PS: I think that this is a very important line: “So to have the same S/N ratio with the same noise level the signal for 16QAM has to be 6 dB stronger than QPSK.” – in AN97047.pdf)

So what is correct? Is this the same thing I try to correlate or…
If so, why is that?

Thanks and best regards

1. @Melinda: For sure, that was a long comment. 🙂
If I may summarize, the jist of the questions is: Should the difference between QPSK and 16-QAM be 6dB (as claimed in NXP paper) OR around 7.5dB (as seen from Mathworks simulations).

To do the comparison, may I suggest using the average distance approach. The average distance between
constellation points in
(a) QPSK is 2/sqrt(2)
(b) 16-QAM is 2/sqrt(10)
For details on why the term 1/sqrt(2) and 1/sqrt(10) are present, please refer to the post on scaling factor in QAM
https://dsplog.com/2007/09/23/scaling-factor-in-qam/

It is reasonable to guess that as average distance reduces, the error rate increases. Doing a relative comparison,
diff in dB = 20*log10((2/sqrt(2))/(2/sqrt(10) )) = 7dB. This means that, for achieving the same symbol error rate, 16-QAM requires 7dB more Es/No than QPSK.
And this what I observed, when I performed simulations comparing all modulation schemes. Click here for the article in dspdesignline.com.

Hope this helps.

51. Allyson says:

Hi Krishna,

What is the exact formula for BER QPSK (Theoretical). I saw that you have SER for QPSK which i think differ from BER right?

52. Ranjan says:

Hi,
I am in seach of BER formula for QPSk OFDM.may I get some help from you.
thanks

53. @krishna kant: It is a bit difficult to comment based on your given observation. From the Chapter 8 of Digitial Communication Proakis, I can see that k=7 should have the lowest BER for a given Eb/No, then k = 5 and worst ber is for k=3.

Maybe you can have a look at the figures in the text book and compare your curves against the text book curves.

All the best.

54. krishna kant says:

sorry ,the errors had increased as k increased.so why is this

55. krishna kant says:

hello sir,i have a case where i encode a message with convolutional coder and puncture it , map it to 16 qam and in the receiver- demodulate it using hard decisions , depuncture and perform viterbi decoding. this was done with constraint lengths k=3,5,7 and corresponding generator polynomials (5,7) ; (23,35) and (171,133).i plotted the BER vs SNR curves (with SNR considered from 2 to 12).The performance of the configuration had improved as k increased. why is it so? plase reply sor

hi krishna
i wana matlab code for adaptive modulation using BPSK,QPSK and QAM.also need the plot of spectral efficiency vs SNR for adaptive modulation.

1. sara zaalik says:

hello Krishna, i want a matlab code that simulates the BER of 4×1 Extended Alamouti Space Time Block Coding (EASTBC), with ZF and ML recievers, the channel is rayleigh .. thanks alot and waiting for your reply.

Sara

56. lealem says:

hello! Krishina how are you today? i would like you to ask a help concerning 64-QAM modulation technique. i was doing a matlab simulation for 64-QAM OFDM but i didn’t get the exact output, do you have a matlab script which is used to simulate performance(BER Vs SNR) of 64-QAM modulation technique. hope u will send it to me this afternoon.
Bye….