The **cyclic redundancy check** in communication system a bit is transmitted over the computer network, they are get corrupted due to noise interference and some other type of problem. The error bits leads to spurious data which is by the receiver and this are called errors data the cyclic redundancy check is use in communication system. The **cyclic redundancy check** is a error detection correction method in which for checking whether the data is corrupted or not in frame that has been transmitted via network.

In error detection technique the sender send some additional data along with information. The receiver receives information and add binary zeros and perform the binary division operation. If receiver not finds any error it remove the redundant bits from the frame.

The three methods use for detecting errors in data frames:

**Parity Check,****Checksum****Cyclic Redundancy Check (CRC).**

In this tutorial only discus about the cyclic redundancy check

**What is cyclic redundancy check?**

A cyclic redundancy check (CRC) is a technique in which finding the corrupt data or error in information. The cyclic redundancy checks (CRC) use generator polynomial in the both side of transmitter and receiver. Let see the example if polynomials generator is the form of x^{3} + x + 1. This polynomials generator represents the 1011

Let see another example the polynomial generator is x^{2} + 1. And we simplify the polynomial like this 1* x^{2} +0* x^{1} +0* x^{0} +1. So, polynomial generator represents the 1001.

The CRC is a block coding and it was invented in 1961 by W. Wesley Peterson. This code is commonly used to detect the accidental change of data when it is transmitted through the channel.

In this type of coding the binary data is involves like “zero” and “one”. These binary bits perform division operation being sent by a predetermined divisor. Another name of cyclic redundancy checks (CRC) is polynomial code checksum.

**The process is illustrated ****cyclic redundancy checks (CRC) ****generator and checker.**

**Qualities ****of ****cyclic redundancy checks (CRC)**

- It has accurately one less bit than the divisor.
- The CRC bit joining it to the end of the data. And the resulting bit sequence precisely divisible by the divisor.

**Step of ****cyclic redundancy checks (CRC)**

- A string of N-1 0 s is added to the data unit.
- The new data unit is divided. The remainder appearing from the division is
**cyclic redundancy checks –**CRC error. - The newly formed data unit
*e.*original data and zeros that are divided by the divisor using binary division and remainder are obtained. This remainder is called**cyclic redundancy checks –**CRC error. - The CRC of n bits interpreted in phase 2 restores the added 0s at the end of the data unit.
- The information + CRC are transmitted to receiver.
- The receiver on receiving it divides data unit + CRC by the same divisor & checks the remainder. When division operations perform and there is no generation of any reminder, the receivers assume there is no error in data.
- If remainder is non-zero. This non zero shows the data has an error and receiver rejects it.

**Example**

Message D = 1010001101 (10 bits)

Predetermined P = 110101 (6 bits)

FCS “R” is 5 bits

Value of n = 15, K = 10 and (n – k) = 5

The message is generated through 2^{5}: accommodating 1010001101000

The product is divided by P.

The remainder is inserted to 2^{5}D to provide T = 101000110101110 that is sent.

If information is errorless. The receiver gets 101000110101110 perfect.

In division operation there is no remainder. So, there are no errors.

**Summery**

Cyclic duplication testing (cyclic redundancy code; CRC) The most commonly used for error detection. Additional digits are added to data and to provide a way to check data for possible errors.

CRC is available using a more complex algorithm than the simple CHECKSUM, which incorporates MODULE ARITHMETIC (hence the word ‘cyclic’) and treats each inserted word as a set of polynomial feeds.

**Some point about cyclic redundancy code**

- In error detection the CRC is more powerful than Vertical redundancy check (VRC) and (longitudinal redundancy check) LRC.
- It is not based on binary addition. It is based on binary division.
- The CRC has one bit less. It means that if CRC is of n-1 binary bits, divisor is of n binary bit.
- At the receiver, the incoming data
*i.e.*data + CRC is divided by the same number (binary predetermined divider). - If the remainder after division is zero this means show there is no error in the data unit. And the receiver accepts it.
- If remainders are present after division, it shows that the data unit has some error & receiver rejected it.
- This technique is more useful than parity check and checksum error detection technique.
- CRC is based on binary. A sequence of unwanted bits called CRC or the rest of the CRC is attached to the end of the data unit as a byte.

Also read :- Multiplexer