Â
from operator import xor
import numpy as np
print("\n(6,3) Linear Block Code Generation with generator matrix in IP format.\n")
gx = np.array([[1, 0, 0, 1, 1, 0], [0, 1, 0, 1, 0, 1], [0, 0, 1, 0, 1, 1]])
print("The Generator Matrix is: \n", gx)
d = np.array([[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1],
[1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]])
print("The Data Matrix is: \n", d)
i = 1
print("\nThe Codeword Matrix is: \n")
for i in range(8):
C = np.array([d[i][0], d[i][1], d[i][2],xor(d[i][0], d[i][1]), xor(d[i][0], d[i][2]),
xor(d[i][1], d[i][2])])
print(C)
m = np.dot(d, gx)
count = [0, 0, 0, 0, 0, 0, 0, 0]
for i in range(8):
for j in range(6):
if m[i][j] == 1:
count[i] = count[i]+1
if m[i][j] > 1:
m[i][j] = 0
dmin = min(count[1:])
errd = dmin - 1
errc = errd/2
print("\nMinimum Hamming Distance is: ", dmin, "\nError Detection Capacity = ",
errd, "\nError Correction Capacity = ", int(errc))
#ENJOY CODING
Post a Comment
FOR ANY DOUBTS AND ERRORS FEEL FREE TO ASK. YOUR DOUBTS WILL BE ADDRESSED ASAP