# Matlab Code for Performance Analysis (BER vs Eb_N0) of BPSK, QPSK & 16QAM, on 4G LTE

103 visualizaciones (últimos 30 días)
Theman JIrnadu el 17 de Feb. de 2019
Respondida: Akshay el 4 de Jun. de 2024 a las 21:01
Please can someone kindly help to edit this code i got from Nischay Malhan (youtube account) to fit in for BER performance evaluation of bpsk, qpsk and 16qam on 4G LTE. Thank you you assist.
The code below:
clc;
close all;
EbN0dB=-4:1:24;
EbN0lin=10.^(EbN0dB/10);
colors={'k-*','g-o','r-h','c-s','m-s','y-*','k-p','b:s','m:d','g:p'};
index=1;
%BPSK
BPSK = 0.5*erfc(sqrt(EbN0lin));
plotHandle=plot(EbN0dB,log10(BPSK),char(colors(index)));
set(plotHandle,'LineWidth',1.5);
hold on;
index=index+1;
%M-PSK
m=2:1:5;
M=2.^m;
for i=M,
k=log2(i);
berErr = 1/k*erfc(sqrt(EbN0lin*k)*sin(pi/i));
plotHandle=plot(EbN0dB,log10(berErr),char(colors(index)));
set(plotHandle,'LineWidth',1.5);
index=index+1;
end
%Binary DPSK
Pb = 0.5*exp(-EbN0lin);
plotHandle = plot(EbN0dB,log10(Pb),char(colors(index)));
set(plotHandle,'LineWidth',1.5);
index=index+1;
%Differential QPSK
a=sqrt(2*EbN0lin*(1-sqrt(1/2)));
b=sqrt(2*EbN0lin*(1+sqrt(1/2)));
Pb = marcumq(a,b)-1/2.*besseli(0,a.*b).*exp(-1/2*(a.^2+b.^2));
plotHandle = plot(EbN0dB,log10(Pb),char(colors(index)));
set(plotHandle,'LineWidth',1.5);
index=index+1;
%M-QAM
m=2:2:6;
M=2.^m;
for i=M,
k=log2(i);
berErr = 2/k*(1-1/sqrt(i))*erfc(sqrt(3*EbN0lin*k/(2*(i-1))));
plotHandle=plot(EbN0dB,log10(berErr),char(colors(index)));
set(plotHandle,'LineWidth',1.5);
index=index+1;
end
legend('BPSK','QPSK','8-PSK','16-PSK','32-PSK','D-BPSK','D-QPSK','4-QAM','16-QAM','64-QAM');
axis([-4 24 -8 0]);
set(gca,'XTick',-4:1:24);
ylabel('Probability of BER Error - log10(Pb)');
xlabel('Eb/N0 (dB)');
title('Probability of BER Error log10(Pb) Vs Eb/N0');
grid on;
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Sriram Tadavarty el 5 de En. de 2021
Editada: Darel el 13 de Jul. de 2021
Hi Theman,
Bit error rate (BER) performance of a modulation scheme is independent of the technology used.
To get BER of PDSCH in LTE, you can look after this page. Do note that this example includes Turbo coding and HARQ, both of which can impact BER.
Hope this helps.
Regards,
Sriram
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Más respuestas (4)

Kulith udara el 3 de Jun. de 2022
thanks man
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Zinan Nashat Zamil el 18 de Dic. de 2022
how do i run this code?
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Idin Motedayen-Aval el 30 de Mayo de 2024 a las 18:17
You also use the berawgn function from Communication Toolbox to generate these curves.
The code above uses the formulas for BER directly. The berawgn function makes those formulas transparent to the user.
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Akshay el 4 de Jun. de 2024 a las 21:01
Write code of Quadrature Phase Shift Keying (QPSK) communication system and its Bit Error Rate (BER) performance under varying Signal-to-Noise Ratio (SNR)
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre PHY Components en Help Center y File Exchange.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by