Error Control Code
Error Control Code
Aim:
Requirements:
MATLAB software,
Desktop Computer
Formula:
Bit error rate = No. of bits in error after detection / No. of bits transmitted
Theory:
Block Diagram:
Algorithm:
n=7; k=4;
blk_nos=2;
Nbits=blk_nos*k; % Number of bits in simulation
snrdB=[0:10];
for ii=1:length(snrdB)
snr(ii)=10^(snrdB(ii)/10)
r=awgn(ctx, snr(ii), 'measured');
cr=r;
cr(r>=0)=1;
cr(r<=0)=0;
y=reshape(cr', n, [])';
s=mod( y*H', 2);
e0=[];
for jj=1:blk_nos
for kk=1:2^(n-k)
if(syndrom(kk,:)==s(jj,:))
ro_match=kk;
break;
end
end
e0=[e0; errpat(ro_match,:)];
end
xcat=mod( y+e0, 2); % 1 bit error correction
BER_wo_EC(ii)=length(find(ct~=cr))/length(ct)
BER_with_EC(ii)=length(find(x~=xcat))/length(ct)
end
semilogy(snr, BER_with_EC, 'r*-', snr, BER_wo_EC, 'b-+')
legend('BER_with_EC', 'BER_wo_EC,');
xlabel('SNR (dB)'); ylabel('BER'); title('BER Performance of Linear Block Code');
Observation:
Codeword length = 7
Generator Matrix=
SNR: