Python program for (6,3) codewords generation | Python

In this we are going to see generation of (6,3) codewords using python.

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

Previous Post Next Post