21uec094 DL Exp4
21uec094 DL Exp4
21uec094 DL Exp4
Bachelor of Technology
in
Electronics and Communication Engineering
by
Course Coordinator
Dr. Rohit Rana
February 2024
Copyright © The LNMIIT 2024
All Rights Reserved
Chapter 1
Experiment - 4
1.1 AIM
MATLAB
1.3 Theory
1
1.4 Tasks
1.4.1 Task 1
clc close
all clear
all
N=10^3;
n=N;
SNR_DB=0:3:20;
SNR_LIN=10.^(SNR_DB./10); N_SD=sqrt(1./SNR_LIN); for
i=1:length(SNR_LIN) alphabet=[3,1,-1,-3]; x1=randsrc(1,n,alphabet);
x2=randsrc(1,n,alphabet); x=x1+1j.*x2;
noise=(1./sqrt(2)).*(N_SD(i)).*complex(randn(1,N),randn(1,N));
y1=(1./sqrt(10)).*x+noise; y=(sqrt(10)).*y1; for k=1:N
if(real(y(k))>=2) realdetected(k)=3;
elseif(real(y(k))<2 && real(y(k))>=0) realdetected(k)=1;
elseif(real(y(k))<0 && real(y(k))>=-2) realdetected(k)=-1;
else
realdetected(k)=-3;
end
end for k=1:N
if(imag(y(k))>=2)
imagdetected(k)=3;
elseif(imag(y(k))<2 && imag(y(k))>=0) imagdetected(k)=1;
elseif(imag(y(k))<0 && imag(y(k))>=-2) imagdetected(k)=-1;
else
imagdetected(k)=-3;
end
end
detected=realdetected+1j.*imagdetected; error(i)=size(find(x-
detected),2)/n;
end
error_th=1.5*erfc(sqrt(SNR_LIN/10));
semilogy(SNR_DB,error_th,'-o'); hold
on
semilogy(SNR_DB,error,'-+');grid on title("SNR vs BER qam")
2
Published with MATLAB® R2022b
2
1.4.2 Task 2
clc close
all clear
all
N=10^5;
SNR_DB=0:3:10;
SNR_LIN=10.^(SNR_DB./10); for
i=1:length(SNR_DB)
N_SD=sqrt(1./SNR_LIN(i));
sim('simul_1.slx');
error(i)=ans.simout1;
end display(error);
error_th=1.5*erfc(sqrt(SNR_LIN/10));
semilogy(SNR_DB,error_th,'-o'); hold
on semilogy(SNR_DB,error,'-+'); grid
on title("SNR vs BER qpsk")
error =
1 0 0 0
4
1
1.4.3 Task 3
clc close
all clear
all
N=10^5;
SNR_DB=0:3:10;
SNR_LIN=10.^(SNR_DB./10); for
i=1:length(SNR_DB)
N_SD=sqrt(1./SNR_LIN(i));
sim('simul_qam.slx');
error(i)=ans.simout1;
end display(error);
error_th=1.5*erfc(sqrt(SNR_LIN/10));
semilogy(SNR_DB,error_th,'-o'); hold
on semilogy(SNR_DB,error,'-+'); grid
on title("SNR vs BER qam")
error =
2 0 0 0
6
1.5 Simulink
Simulink BPSK
Simulink QAM
7
1.6 Conclusion
1. Utilized Dev C++ to generate C++ code for the modulator, facilitating efficient simulation.
2. Compared simulated results with theoretical Bit Error Rate (BER) calculations for QPSK and
16-QAM.
3. Successfully plotted simulated BER curves for both QPSK and 16-QAM transceivers,
providing insight into system performance under varying signal-to-noise ratios.
8
9