Scaling factor in QAM
When QAM (Quadrature Amplitude Modulation) is used, typically one may find a scaling factor associated with the constellation mapping operation. It may be reasonably obvious that this scaling factor is for normalizing the average energy to one.
This post attempts to compute the average energy of the 16-QAM, 64-QAM and M-QAM constellation (where is a power of 2), thanks to the nice example 5.16 in [DIG-COMM-BARRY-LEE-MESSERSCHMITT]
.
Consider a typical 16-QAM modulation scheme where the alphabets
are used.
Figure: 16QAM constellation mapping
Observations:
1. The number/type of the used constellation points in all the four quadrants are similar. Hence average energy computed over one quadrant is same as the energy over all the quadrants. The mean power can be computed over 16/4 = 4 constellation points.
2. The same alphabet set is used for real and imaginary axis. Hence energy of real and imaginary components are the same.
3. In each quadrant, the elements of each alphabet is used times by real and imaginary part respectively.
Considering so the average energy of 16-QAM is,
.
Hence the constellation points of 16-QAM are normalized with the factor to ensure that the average energy over all symbols is one.
Consider a 64-QAM modulation scheme with the alphabets
.
Figure: 64QAM constellation mapping
Observations for 64-QAM:
1. Each quadrant has 16 constellation points
2. The energy of real and imaginary components are the same.
3. In each quadrant, the elements of each alphabet is used times by real and imaginary part respectively.
Hence the constellation points of 64-QAM are normalized with the factor to ensure that the average energy over all symbols is one.
Extending this to a general M-QAM constellation mapping, where is a power of 2. The elements of the alphabet are
, where
.
1. Each quadrant has constellation points
2. The energy of real and imaginary components are the same.
3. In each quadrant, the elements of each alphabet is used times by real and imaginary part respectively.
.
% Simple Matlab example
% QAM scaling factor
clear
clc
alpha_16qam = [-3 -1 1 3];
N = 10^5;
const_16qam = randsrc(1,N,alpha_16qam) + j*randsrc(1,N,alpha_16qam); % generating 16-QAM constellation points
energy_16qam = const_16qam*const_16qam’/N
alpha_64qam = [-7 -5 -3 -1 1 3 5 7];
const_64qam = randsrc(1,N,alpha_64qam) + j*randsrc(1,N,alpha_64qam); % generating 16-QAM constellation points
energy_64qam = const_64qam*const_64qam’/N
Can observe that energy_16qam and energy_64qam takes values close to 10 and 42 respectively.
Hope this helps.
Krishna
Reference
[DIG-COMM-BARRY-LEE-MESSERSCHMITT] Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt
Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN. Thanks for visiting! Happy learning.
If you liked this post, you may leave a comment below, or subscribe to the RSS feed.
You may also find these posts relevant...
Comments
If I am using the modulator/demodulator object in MATLAB does it normalize the output signal so that it has unit energy?
Hi, I think this is the first time i have understood why we require to multiply a scaling factor to our signal.Cheers for that.
I would request you to please eloborate a bit as to why we require to normallize the power in a channel as well. say if a channel is 6 taps (complex) than we are require to multiply it with 1/sqrt(6). or i can put my question in more general term and ask why we want that equivalent taps in all channels have equal power.
Regards,
umar
Thanks for that example, I have been searching the web a long time to find something about constellation scaling.
Concerning the formula for E_MQAM I believe there is a small typo. It should be 2/3*(M-1) instead of 2/3*M-1. I think you even said that in one of the later comments.
How would you go about constellations of sizes where sqrt(M) is not a power of 2? Is there an easy way to derive a formula for that?
Hi Krishna,
Following on from you last comment on this page, did you manage to find normalizing factor for rectangular constellations such as 8QAM, 32QAM?
thanks. I am learning so much from your contributions!






























Hi, Krishna
The explanation for QAM and 16-QAM are very useful, what about QPSK isit the same as the above? if not how would be.
Thanks