8th Program
8th Program
disp ('The Order of Linear block Code for given Generator Matrix is:')
[n,k] = size(transpose(g))
for i = 1:2^k
for j = k:-1:1
if rem(i-1,2^(-j+k+1))>=2^(-j+k)
u(i,j)=1;
else
u(i,j)=0;
end
end
end
c = rem(u*g,2)
disp('The Minimum Hamming Distance dmin for given Block Code is= ')
d_min = min(sum((c(2:2^k,:))'))
% Code Word
p = [g(:,n-k+2:n)];
h = [transpose(p),eye(n-k)];
disp('Hammimg Code')
48
Simulated Output:
g=
1 0 0 0 1 0 1
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
G=
The Order of Linear block Code for given Generator Matrix is:
n= 7
k =4
c=
0 0 0 0 0 0 0
0 0 0 1 0 1 1
0 0 1 0 1 1 0
0 0 1 1 1 0 1
0 1 0 0 1 1 1
0 1 0 1 1 0 0
0 1 1 0 0 0 1
0 1 1 1 0 1 0
1 0 0 0 1 0 1
1 0 0 1 1 1 0
1 0 1 0 0 1 1
1 0 1 1 0 0 0
1 1 0 0 0 1 0
1 1 0 1 0 0 1
1 1 1 0 1 0 0
51
ht = transpose(h)
s = rem(r*ht,2)
for i = 1:1:size(ht)
if(ht(i,1:3)==s)
r(i) = 1-r(i);
break;
end
end
disp(i);
disp(r);
% CYCLIC CODE
clc;
clear all;
close all;
n=7;
k=4;
genpoly=[1 1 0 1];
% genpoly=cyclpoly(n,k,'max');
% msg=randint(4,k,[0,1]);
msg=[1 0 1 1];
code=encode(msg,n,k,'cyclic/binary',genpoly);
49
1 1 1 1 1 1 1
The Minimum Hamming Distance dmin for given Block Code is=
d_min = 3
r= 1 0 0 0 1 0 0
Hammimg Code
ht =
1 0 1
1 1 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
s= 0 0 1
1 0 0 0 1 0 1
52
decoded=decode(code,n,k,'cyclic/binary',genpoly);
disp('Message vector');
disp(msg)
disp(genpoly)
disp('Decoded vector');
disp(decoded);
%#####################################################
50