Linear block codes program: the possible codewords are:
clc; c=
clear all;
%input generated matrix 0 0 0 0 0 0 0
g=input('enter the generator matrix:');
disp('G=') 0 0 0 1 0 1 1
disp('the order of the linear block code
for given generator matrix is:') 0 0 1 0 1 1 0
[n,k]=size(transpose(g))
for i=1:2^k 0 0 1 1 1 0 1
for j=k:-1:1
if rem(i-1,2^(-j+k+1))>=2^(-j+k) 0 1 0 0 1 1 1
u(i,j)=1;
else 0 1 0 1 1 0 0
u(i,j)=0;
end 0 1 1 0 0 0 1
end
end 0 1 1 1 0 1 0
u;
1 0 0 0 1 0 1
disp('the possible codewords are:')
c=rem(u*g,2)
1 0 0 1 1 1 0
disp('the minimum hamming distance dmin
for given block code=')
1 0 1 0 0 1 1
d_min=min(sum((c(2:2^k,:))'))
%codeword 1 0 1 1 0 0 0
r=input('enter the received code word:')
p=[g(:,n-k+2:n)]; 1 1 0 0 0 1 0
h=[transpose(p),eye(n-k)];
disp('hamming code') 1 1 0 1 0 0 1
ht=transpose(h)
disp('syndrome of a given codeword is:') 1 1 1 0 1 0 0
s=rem(r*ht,2)
for i=1:1:size(ht) 1 1 1 1 1 1 1
if (ht(i,1:3)==s)
r(i)=1-r(i); the minimum hamming distance dmin for given block code
break; d_min = 3
end
end enter the received code word:[1 0 0 0 1 0 0]
disp('the error is in bit:')
i r =1 0 0 0 1 0 0
disp('the corrected codeword is:')
r hamming code
Output: ht =
enter the generator matrix:[1 0 0 0 1 0 1;0 1 0 0 1 1 1;0 0 1 0 1 1 0 1
1 0;0 0 0 1 0 1 1]
1 1 1
G=the order of the linear block code for given generator matrix
is:n = 7 1 1 0
k=4 0 1 1
syndrome of a given codeword is: 1 0 0
s= 0 0 1 0 1 0
the error is in bit:i = 7 0 0 1
the corrected codeword is:
r= 1 0 0 0 1 0 1