%------------------------------------
%----- Question 2 ; Part c ---------
%------------------------------------
% function Q2_c()
clc
clear all
close all
N=2000; % No. of Random Bits
RdmStr=randi([0 1],1,N); % Random Stream
snr=-20:1:20;
% Modulating Random Stream
ModStr=BPSK_Mod(RdmStr);
% Crossing through Channel
ChOut=CIR(ModStr);
Temp=zeros(length(snr),length(ChOut));
for k=1:length(snr)
Temp(k,:)=awgn(ChOut,snr(k),'measured');
end
% Decoding with Viterbi Algorithm as an Equalizer
for b=1:length(snr)
Decoded(b,:)=my_VA4Mod(Temp(b,:));
end
% Calcutating BER
berData=zeros(1,length(snr));
for j=1:length(snr)
berData(j)=(sum(Decoded(j,:)~=RdmStr))/N;
% berData2(k)=(sum(DecodedwithMatlab(k,:)~=RdmStr))/N;
end
for i=1:length(snr)
strrrH(i)=sum(Decoded(j,:)~=RdmStr);
% disp(str);
end
semilogy(snr,berData,'-*');
grid on;
xlabel('SNR (dB)');
ylabel('Bit error rate');
title('Viterbi decoder with AWGN channel');
axis tight
% end