BER Vs Eb/N0 for QPSK modulation over AWGN
In the previous article we saw about how QPSK modulation and demodulation can be done. This concept is extended further to simulate the performance of QPSK modulation technique over an AWGN.
For the QPSK modulation , a series of binary input message bits are generated. In QPSK, a symbol contains 2 bits. The generated binary bits are combined in terms of two bits and QPSK symbols are generated. From the constellation of QPSK modulation the symbol ’00′ is represented by 1, ’01′ by j (90 degrees phase rotation), ’10′ by -1 (180 degrees phase rotation) and ’11′ by -j (270 degrees phase rotation). In pi/4 QPSK, these phase rotations are offset by 45 degrees. So the effective representation of symbols in pi/4-QPSK is ’00′=1+j (45 degrees), ’01′=-1+j (135 degrees), ’10′ = -1-j (225 degrees) and ’11′= 1-j (315 degrees).
Here we are simulating a pi/4 QPSK system.Once the symbols are mapped, the power of the QPSK modulated signal need to be normalized by 1/sqrt(2).
For QPSK modulation the channel can be modeled as
where y is the received signal at the input of the QPSK receiver, x is the complex modulated signal transmitted through the channel , a is a channel amplitude scaling factor for the transmitted signal usually 1. ‘n’ is the Additive Gaussian White Noise random random variable with zero mean and variance σ2. For AWGN the noise variance in terms of noise power spectral density (N0) is given by,
For M-PSK modulation schemes including BPSK, the symbol energy is given by
where Es =Symbol energy per modulated bit (x), Rm = log2(M) , (for BPSK M=2, QPSK M=4, 16 QAM M=16 etc..,). Rc is the code rate of the system if a coding scheme is used. In our case since no coding scheme is used Rc = 1. Eb is the Energy per information bit.
Assuming Es=1 for BPSK (Symbol energy normalized to 1) Eb/N0 can be represented as (using above equations),
From the above equation the noise variance for the given Eb/N0 can be calculated as
For the channel model randn function in Matlab is used to generate the noise term. This function generates noise with unit variance and zero mean. In order to generate a noise with sigma σ for the given Eb/N0 ratio , use the above equation , find σ, multiply the ‘randn’ generated noise with this sigma , add this final noise term with the transmitted signal to get the received signal. For a pi/4 QPSK system, since the modulated signal is in complex form, the noise should also be also in complex form.
QPSK receiver employs two threshold detectors that detect real(inphase arm) and imaginary part (quadrature arm). The detected signals are sent through a parallel to serial converter (achieved by “reshape” function in MATLAB).
The Eb/N0 Vs BER Curve for QPSK and BPSK are identical. This is because, QPSK actually consists of two orthogonal BPSK systems. Since the two individual BPSK systems are orthogonal, they don’t interfere with each other. That is why the BER curved for QPSK and BPSK are identical.
Check this book for full Matlab code.
Simulation of Digital Communication Systems Using Matlab – by Mathuranathan Viswanathan
 BER Vs Eb/N0 for 8-PSK modulation over AWGN
 BER Vs Eb/N0 for M-PSK modulation over AWGN
QPSK modulation and Demodulation
 Simulation of BER Vs Eb/N0 for BPSK modulation over AWGN in Matlab
 Intuitive derivation of Performance of an optimum BPSK receiver in AWGN channel