Hamming Code

3
clc; clear all; a=[1 0 0 1 1 0 1] r1=[a(7) a(6) a(5) a(4)]; r2=[a(7) a(5) a(4) a(2) a(1)]; r4=[a(6) a(5) a(4)]; r8=[a(3) a(2) a(1)]; l1=length(find(r1==1)); l2=length(find(r2==1)); l3=length(find(r4==1)); l4=length(find(r8==1)); A=[l1 l2 l3 l4]; for i=1:4 x=rem(A(1,i),2); if x==0 r(1,i)=0; else r(1,i)=1; end end H=[a(1) a(2) a(3) r(4) a(4) a(5) a(6) r(3) a(7) r(2) r(1)] h=input('Enter received code=') c1=[h(11),h(9),h(7),h(5),h(3),h(1)]; c2=[h(10),h(9),h(6),h(5),h(2),h(1)]; c4=[h(8),h(7),h(6),h(5)]; c8=[h(4),h(3),h(2),h(1)]; L1=length(find(c1==1)); L2=length(find(c2==1)); L3=length(find(c4==1)); L4=length(find(c8==1)); B=[L1 L2 L3 L4]; for i=1:4 y=rem(B(1,i),2); if y==0 c(1,i)=0; else c(1,i)=1; end

description

contenet related to hamming code

Transcript of Hamming Code

Page 1: Hamming Code

clc;clear all;

a=[1 0 0 1 1 0 1]

r1=[a(7) a(6) a(5) a(4)];r2=[a(7) a(5) a(4) a(2) a(1)];r4=[a(6) a(5) a(4)];r8=[a(3) a(2) a(1)];l1=length(find(r1==1));l2=length(find(r2==1));l3=length(find(r4==1));l4=length(find(r8==1));A=[l1 l2 l3 l4];

for i=1:4 x=rem(A(1,i),2); if x==0 r(1,i)=0; else r(1,i)=1; endendH=[a(1) a(2) a(3) r(4) a(4) a(5) a(6) r(3) a(7) r(2) r(1)]h=input('Enter received code=')c1=[h(11),h(9),h(7),h(5),h(3),h(1)];c2=[h(10),h(9),h(6),h(5),h(2),h(1)];c4=[h(8),h(7),h(6),h(5)];c8=[h(4),h(3),h(2),h(1)];

L1=length(find(c1==1));L2=length(find(c2==1));L3=length(find(c4==1));L4=length(find(c8==1));B=[L1 L2 L3 L4];

for i=1:4 y=rem(B(1,i),2); if y==0 c(1,i)=0; else c(1,i)=1; endendc=[c(4) c(3) c(2) c(1)];s=num2str(c);dec=bin2dec(s);if(dec~=0)ee=11-dec+1;fprintf('corrupted bit no')decbit=h(ee);

Page 2: Hamming Code

if(bit==1) h(1,ee)=0;else h(1,ee)=1;end

else fprintf('received bits are correct\n')end

fprintf('message bit')mess=[h(1) h(2) h(3) h(5) h(6) h(7) h(9)]

*********************OUTPUT*****************************************a =

1 0 0 1 1 0 1

H =

1 0 0 1 1 1 0 0 1 0 1

Enter received code=[1 0 0 1 1 1 0 0 1 0 1]

h =

1 0 0 1 1 1 0 0 1 0 1

received bits are correctmessage bitmess =

1 0 0 1 1 0 1