• Modify and extend the following Matlab script (adapted from [1]) to simulate and plot the BER of QPSK, 16-QAM and 64-QAM as a function of the energy per bit to noise power spectral density ratio (Eb/N0) for an AWGN channel. Discuss and critically analyse your results. Compare them to the theoretical results. [10 marks]


%% Constants




%% Initializations

AWGN = comm.AWGNChannel;

BitError = comm.ErrorRate;

%% Outer Loop computing Bit-error rate as a function of EbNo

for EbNo = EbNo_vector

snr = EbNo + 10*log10(2);


numErrs = 0; numBits = 0;results=zeros(3,1);

%% Inner loop modeling transmitter, channel model and receiver for each EbNo

while ((numErrs < MaxNumErrs) && (numBits < MaxNumBits))

% Transmitter

u = randi([0 1], FRM,1); % Generate random bits


% Channel

rx_sig = step(AWGN, mod_sig); % AWGN channel


% Receiver

results = step(BitError, u, y); % Update BER

numErrs = results(2);

numBits = results(3);


% Compute BER

ber = results(1); bits= results(3);

%% Clean up & collect results




[6 marks]

  • Using QPSK for modulation, add a turbo encoder and decoder to your transceiver and plot the simulated BER as a function of Eb/N0 for the AWGN channel. Discuss the results.

[6 marks]

  • Increase the number of iterations in the turbo decoder (use two additional values). Plot on the same figure the BER curve for each value. Comment on the results.

[6 marks]

  • Replace the turbo coder by an LDPC coder. Plot the BER and comment on the results. You must justify your choice for the LDPC coder.

[7 marks]

  • LTE uses a turbo coder as a channel coder. However, the 3GPP RAN1 group has recommended using LDPC codes for data channels and polar codes for signaling (i.e., for the control channels) for 5G systems. Research the literature to explain this decision. What is your personal view on this recommendation? Your answer must not exceed 1000 words.

[10 marks]

[1] Houman Zarrinkoub, Understanding LTE with Matlab, Wiley, 2014.