Cyclic Code
Cyclic codes are known to be a subcategory of linear coding technique because these offers efficient encoding and decoding schemes using a shift register. A code C is called a cyclic if the following two properties satisfies by it:
Explanation:
A linear combination of two codewords must be another codeword. Suppose we have two codewords Ci and Cj. So, on adding Ci + Cj = Cp where this Cp must also be a codeword. For example, suppose we have given 3 codewords (110, 101, 011). the addition of any of the two given codewords must produce the third codeword. i.e 110 + 101 = 011
After a right or left shift in the bits of codewords the resultant code generated must be another codeword. For example, consider again those 3 codewords (110, 101, 011), an either right or left shift in the bits of a codeword must generate another codeword.
110: shifting the bits towards the right will provide 011.
Generator polynomial for Cyclic Codes
For (n.k) binary cyclic code the generator polynomial is

Let we have cyclic code (n,k) as
C=(C0, C1, C2, …. Cn-1)
So polynomial code is

Consider the first non-zero codeword for (7,4) code C1 =(1101000)
C1(x) = 1 + x + x3
This the generator for (7, 4) hamming code and from this code we can get all the codewords
C2(x) = x * C1(x) = x + x2 + x4 and C2 =(0110100)
C3(x) = x * C2(x) = x2 + x3 + x5 and C3 =(0011010)
C4(x) = x * C3(x) = x3 + x4 + x6 and C4 =(0001101)
Statlearner
Statlearner