Cyclic Encoding & Decoding
Cyclic Encoding & Decoding
Program:
clc;
m=input('enter binary data');
c=[0 0 0];
d=[0 0 0];
l=length(m);
for i=1:1:l;
c(1)=xor(d(3),m(l+1-i));
c(2)=xor(d(1),c(1));
c(3)=d(2);
d=c;
end;
c=[d m];
disp('syndrome bits are');
disp(d);
fprintf('\n');
disp('code word is');
disp(c);
r=input('enter recieved code word');
w=length(r);
n=[0 0 0];
p=[0 0 0];
for i=1:1:w
n(1)=xor(p(3),r(w+1-i));
n(2)=xor(p(1),p(3));
n(3)=p(2);
p=n;
end;
disp('syndrome bits are');
disp(p);
if p==[0 0 0]
disp('no error in r');
elseif p==[1 0 0]
r(1)=not(r(1));
disp('error in 1st bit of code word');
disp('correct code word in r');
disp(r);
elseif p==[0 1 0]
r(2)=not(r(2));
disp('error in 2nd bit of code word');
disp('correct code word in r');
disp(r);
elseif p==[0 0 1]
r(3)=not(r(3));
disp('error in 3rd bit of code word');
disp('correct code word in r');
disp(r);
elseif p==[1 1 0]
r(4)=not(r(4));
disp('error in 4th bit of code word');
disp('correct code word in r');
disp(r);
elseif p==[0 1 1]
r(5)=not(r(5));
disp('error in 5th bit of code word');
disp('correct code
disp(r);
elseif p==[1 1 1]
r(6)=not(r(6));
disp('error in 6th
disp('correct code
disp(r);
elseif p==[1 0 1]
r(7)=not(r(7));
disp('error in 7th
disp('correct code
disp(r);
end;
word in r');
Result:
For cyclic encoding and decoding the matlab program is performed.