- Related Questions & Answers
- What is Gray code?
- What is Excess-3 Code?
- What is unmanaged code in C#?
- Polynomial Time Approximation Scheme
- What is a managed code in C#?
- What is unsafe/unmanaged code in C#?
- Python - Implementation of Polynomial Regression
- What is -911 and -913 error code? What is a deadlock and how it occurs?
- What is the easiest code for array intersection in JavaScript?
- C++ Program for Derivative of a Polynomial
- What is the best JavaScript code to create an img element?
- How to create a polynomial model in R?
- How to create polynomial regression model in R?
- What is -551 error code in DB2? How will you resolve it?
- Managed code vs Unmanaged code in C#

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

A polynomial code is a linear code having a set of valid code words that comprises of polynomials divisible by a shorter fixed polynomial is known as generator polynomial.

They are used for error detection and correction during the transmission of data as well as storage of data.

The types of polynomial codes are:

- Cyclic Redundancy Code
- Bose–Chaudhuri–Hocquenghem (BCH) Codes
- Reed–Solomon Codes

The code words, which are essentially bit strings, are represented by polynomials whose coefficients are either 0 or 1. A 𝑘 – bit word is represented by a polynomial ranging from 𝑥^{0} to 𝑥^{𝑘−1}. The order of this polynomial is the power of the highest coefficient, i.e. (𝑘−1).

For example, an 8 – bit word 11001101 is represented by the following polynomial of order 7:

1𝑥^{7}+ 1𝑥^{6}+ 0𝑥^{5}+ 0𝑥^{4}+1𝑥^{3}+ 1𝑥^{2}+ 0𝑥^{1}+1𝑥^{0} = 𝑥^{7}+𝑥^{6}+ 𝑥^{3}+ 𝑥^{2}+1

Polynomial code operations are done by modulo 2 arithmetic.

**Addition and Subtraction:**According to the rules of finite field theory, in modulo 2 arithmetic, addition and subtraction has no carries or borrows. Thus, both the operations are same as XOR (exclusive OR) operations.

Operand | Operand | Modulo 2 Addition | Modulo 2 Subtraction |
---|---|---|---|

0 | 0 | 0 | 0 |

0 | 1 | 1 | 1 |

1 | 0 | 1 | 1 |

1 | 1 | 0 | 0 |

For example, if there are two words 11001011 and 10101111, both addition and subtraction will give the result 01100100.

**Multiplication:**Modulo 2 multiplication is the same as AND operation.

Operand | Operand | Modulo 2 Multiplication |
---|---|---|

0 | 0 | 0 |

0 | 1 | 0 |

1 | 0 | 0 |

1 | 1 | 1 |

When messages are encoded using polynomial code, a fixed polynomial called generator polynomial,𝐺(𝑥) is used. The length of 𝐺(𝑥) should be less than the length of the messages it encodes.

In CRC encoding, 𝐺(𝑥) should have 1 in both its MSB (most significant bit) and LSB (least significant bit) positions. In the process of encoding, CRC bits are appended to the message so that the resultant frame is divisible by 𝐺(𝑥).

Advertisements