Cyclic Code

Cyclic Code is a #Linear Block Code that shows linear property and cyclic property. Linear property means that the sum of two code words in a set is also a code word (in the set). Cyclic property means that shifting done on a code word will produce another code word within the set.

We can describe a Cyclic Code of length \(n\) with a polynomial of degree \(n-1\), known as code word polynomial#. A Systematic# Cyclic Code should be in form of:

$$ x(D) = b(D) + D^{n-k}m(D) $$

Where:

  • \(x(D)\) is the Cyclic Code polynomial
  • \(b(D)\) is the parity polynomial#
  • \(m(D)\) is the message polynomial

Note: Notice that last \(k\) bits of the resulting \(x(D)\) is equal to \(m(D)\). This statement will not hold true for the following non-systematic way of Cyclic code word generation.

In non-systematic form, the Cyclic Code is defined as:

$$ x(D) = m(D) \times g(D) $$

Where:

Due to the nature of Cyclic Code, we can state that a binary polynomial of order \(n-1\) or less is a code word polynomial if and only if it is a multiple of \(g(D)\)#. Multiply a polynomial with \(D^i\) modulus with \(D^n + 1\) can be viewed as a \(i\) right cyclic shift.

Links to this page
#math #encoding