You are on page 1of 2

EXPERIMENT -1

Analyse the BER for m-ary PSK using matlab for


Rayliegh fading with AWGN matlab code

Syntax:-
close all
clear all
clc
snr=-5:1:10;
lsn=length(snr);
M=2;
t_data=randi([0 M-1],100000,1);
mod_data = pskmod(t_data,M);
h=rayleighchan (1/100000,10);
changain1=filter(h,ones(size(t_data)));
a=max(max(abs(changain1)));
changain1=changain1./a;
chan_data = changain1.*mod_data;
no_of_error=zeros(1,lsn);
ratio=zeros(1,lsn);
no_of_error_1=zeros(1,lsn);
ratio_1=zeros(1,lsn);
for ii=1:lsn
chan_awgn = awgn(chan_data,snr(ii),'measured'); % awgn addition
no_chan_awgn=awgn(mod_data,snr(ii),'measured');
chan_awgn =a*chan_awgn./changain1; % assuming ideal channel estimation
demod_Data = pskdemod(chan_awgn,M); %demodulating the data
[no_of_error(ii),ratio(ii)]=biterr(t_data,demod_Data) ; % error rate
calculation
demod_Data_1 = pskdemod(no_chan_awgn,M); %demodulating the data
[no_of_error_1(ii),ratio_1(ii)]=biterr(t_data,demod_Data_1) ; % error
rate calculation
end
semilogy(snr,ratio,'--*b','linewidth',2);
hold on;
EbN0Lin = 10.^(snr/10);
theoryBer_rf = 0.5.*(1-sqrt(EbN0Lin./(EbN0Lin+1)));
theoryBer = 0.5*erfc(sqrt(10.^(snr/10)));
semilogy(snr,theoryBer_rf,'--or','linewidth',2);
semilogy(snr,theoryBer,'--og','linewidth',2);
semilogy(snr,ratio_1,'--om','linewidth',2);
legend('Rayleigh simulted','Rayleigh theoritical','Only AWGN
Theoritical','only AWGN simulated')
grid on
xlabel('SNR');
ylabel('BER');
title('Bit error probability curve for BPSK');
result:-

You might also like