Professional Documents
Culture Documents
OUTPUT -
EXPERIMENT NO. 2
xlabel('n');
ylabel('amplitude');
title('rayleigh noise');
%%%%%%AWGN noise%%%%%%%%
s_n_r=5;
bit_energy=7;
a_w_g_n =sqrt(bit_energy/2*s_n_r)*randn(1,length(msg_signal));
subplot(4,1,3);
stem(a_w_g_n);
xlabel('n');
ylabel('amplitude');
title('awgn noise');
%%%%%%signal through rayleigh channel+AWGN%%%%%%%
received_signal=msg_signal.*R_N+a_w_g_n;
subplot(4,1,4);
stem(received_signal);
xlabel('n');
ylabel('amplitude');
title('received signal');
OUTPUT
EXPERIMENT NO. 3
for j =1:length_received
w=received_input(j);
if(w<0)
decoded(j)=0;
else
decoded(j)=1;
end;
end;
decoded_mat(q,:)=[decoded];
end;
decoded_mat
%%%%%%calculation of BER%%%%%%%
for k =1:length_snr
m=decoded_mat(k,:);
err=0;
for n=1:length(m)
o=m(n);
if(o~=msg_input(n))
err=err+1;
end;
end;
received_berr(k,:)=err/length(msg_input);
end;
received_berr
semilogy(snr,received_berr,'*');
xlabel('snr_db');
ylabel(' avg. probability of error');
title('BER V/S SNR');
OUTPUT -
EXPERIMENT NO. 4
MATLAB CODE
clear all;
close all;
clc;
msg_input=rand(1,100000)>0.5;
%msg_input
length_msg=length(msg_input);
for i =1:length_msg
x=msg_input(i);
if(x==0)
y(i)=-1;
else
y(i)=1;
end;
end;
y
%scatterplot(y)
%%%%%rayleigh channel%%%%%%%%
chan=rayleighchan;
y1=filter(chan,y);
%%%%AWGN for different values of SNR%%%%%%%%%%
snr = -10:1:10;
length_snr=length(snr);
for q =1:length_snr
received_input= awgn(y1,snr(q),'measured','db');
%received_input
%scatterplot(received_input)
%%%%%%demodulation%%%%%%%%%
length_received=length(received_input);
for j =1:length_received
w=received_input(j);
if(w<0)
decoded(j)=0;
else
decoded(j)=1;
end;
end;
decoded_mat(q,:)=[decoded];
end;
%decoded_mat
%%%%%%%%calculation of BER%%%%%%%%
for k =1:length_snr
m=decoded_mat(k,:);
err=0;
for n=1:length(m)
o=m(n);
if(o~=msg_input(n))
err=err+1;
end;
end;
received_berr(k,:)=err/length(msg_input);
end;
received_berr
semilogy(snr,received_berr,'*');
xlabel('snr_db');
ylabel('average probability of error');
title('SNR V/S BER');
10
OUTPUT -
11
EXPERIMENT NO. 5
12
else
a1=-1;
end;
xodd_m=[xodd_m a1];
end;
xodd_m;
xeven_m=[];
xeven_length=length(xeven);
for i = 1:xeven_length
b=xeven(i);
if(b==1)
b1=1;
else
b1=-1;
end;
xeven_m=[xeven_m b1];
end;
xeven_m;
snr = -10:1:10;
length_snr=length(snr);
for q =1:length_snr
received_input= awgn(xeven_m,snr(q),'measured','db');
received_input
%scatterplot(received_input)
length_received=length(received_input);
for j =1:length_received
w=received_input(j);
if(w<0)
decoded(j)=0;
else
decoded(j)=1;
end;
end;
decoded_mat(q,:)=[decoded];
end;
decoded_mat
for k =1:length_snr
m=decoded_mat(k,:);
err=0;
for n=1:length(m)
o=m(n);
if(o~=xeven(n))
err=err+1;
end;
end;
received_berr_even(k,:)=err/length(xeven);
end;
13
snr = -10:1:10;
length_snr=length(snr);
for q =1:length_snr
received_input= awgn(xodd_m,snr(q),'measured','db');
received_input
%scatterplot(received_input)
length_received=length(received_input);
for j =1:length_received
w=received_input(j);
if(w<0)
decoded(j)=0;
else
decoded(j)=1;
end;
end;
decoded_mat(q,:)=[decoded];
end;
decoded_mat
for k =1:length_snr
m=decoded_mat(k,:);
err=0;
for n=1:length(m)
o=m(n);
if(o~=xodd(n))
err=err+1;
end;
end;
received_berr_odd(k,:)=err/length(xodd);
end;
received_berr_f=[];
for i=1:length(snr)
err1=received_berr_odd(i,:)+received_berr_even(i,:);
received_berr_f=[received_berr_f,err1];
end;
semilogy(snr,received_berr_f,'*');
xlabel('snr_db');
ylabel('average probability of error');
title('SNR V/S BER');
14
OUTPUT
15
EXPERIMENT NO.6
16
else
a1=-1;
end;
xodd_m=[xodd_m a1];
end;
xodd_m;
xeven_m=[];
xeven_length=length(xeven);
for i = 1:xeven_length
b=xeven(i);
if(b==1)
b1=1;
else
b1=-1;
end;
xeven_m=[xeven_m b1];
end;
xeven_m;
chan=rayleighchan;
xeven_m1=filter(chan,xeven_m);
snr = -10:1:10;
length_snr=length(snr);
for q =1:length_snr
received_input= awgn(xeven_m1,snr(q),'measured','db');
received_input
%scatterplot(received_input)
length_received=length(received_input);
for j =1:length_received
w=received_input(j);
if(w<0)
decoded(j)=0;
else
decoded(j)=1;
end;
end;
decoded_mat(q,:)=[decoded];
end;
decoded_mat
for k =1:length_snr
m=decoded_mat(k,:);
err=0;
17
for n=1:length(m)
o=m(n);
if(o~=xeven(n))
err=err+1;
end;
end;
received_berr_even(k,:)=err/length(xeven);
end;
chan=rayleighchan;
xodd_m1=filter(chan,xodd_m);
snr = -10:1:10;
length_snr=length(snr);
for q =1:length_snr
received_input= awgn(xodd_m1,snr(q),'measured','db');
received_input
%scatterplot(received_input)
length_received=length(received_input);
for j =1:length_received
w=received_input(j);
if(w<0)
decoded(j)=0;
else
decoded(j)=1;
end;
end;
decoded_mat(q,:)=[decoded];
end;
decoded_mat
for k =1:length_snr
m=decoded_mat(k,:);
err=0;
for n=1:length(m)
o=m(n);
if(o~=xodd(n))
err=err+1;
end;
end;
received_berr_odd(k,:)=err/length(xodd);
end;
received_berr_f=[];
for i=1:length(snr)
err1=received_berr_odd(i,:)+received_berr_even(i,:);
received_berr_f=[received_berr_f,err1];
end;
semilogy(snr,received_berr_f,'*');
xlabel('snr_db');
ylabel('average probability of error');
title('SNR V/S BER');
18
OUTPUT
19