Thursday, May 7, 2015

Cyclic Codes are error detecting codes used in modern communication system. Here a simple block diagram is provided to see how cyclic code encoding and decoding is done on the data. The diagram illustrates how the algorithm works with simple add, multiply, divide and decision blocks which is not the reality. In reality the cyclic codes are generated by shift registers and external gates which is sequential circuit. But to understand the algorithm of encoding and decoding this block diagram might help.

The block diagram shows that the initial input is the block of data like 10011011 which is 8 bits. And there is a generator codes like 1100 perhaps. The bits can always be represented in polynomial form.

illustrative block diagram for cyclic code encoder decoder


In the block diagram, the data polynomial D(x) is multiplied by a factor x^(n-k) to get x^(n-k)D(x) a new data sequence. This step is required to make the code words systematic and systematic code words are used because it is easy to strip off the data bits from the code word bits and therefore circuit implementation. To generate the check bits the new data polynomial x^(n-k)D(x) is divided by the generator polynomial G(x). The result is the remainder R(x) which is added to the x^(n-k)D(x) to form the code word polynomial C(x). Now the data is protected so that it can be sent through the communication channel.

At the receiver the data is received as C(x) plus some error if there is any C(x)+E(x). Now this is received data C(x)+E(x) is divided by the same generator polynomial G(x) that was used to encode the data at the transmitter. The remainder of the division is S(x) which can be called syndrome polynomials. If the remainder S(x) is 0 then there was not error and it is non-zero then there was error. So this is how a cyclic encoding and decoding works for a systematic cyclic codes.

Related Posts by Categories

0 comments:

Post a Comment