# Cyclic Redundancy Check (CRC)

Cyclic Redundancy Check (CRC) is one of the most powerful errors detecting codes. It is based on binary division. In this technique, a set of redundant bits that are known as CRC Remainder.

Given a k-bit block of data the transmitter generates an n-bit sequence that is known as Frame Check Sequence (FCS), the resulting frame consisting of (k+n) number of bits is exactly divisible by some predetermined number (divisor). The receiver divides the incoming bits by the same predetermined number and if there is no remainder then it is assumed to be error-free, otherwise, there is an error in the data.

**Steps of Cyclic Redundancy Check (CRC) generation :**

1. M = k-bit message

F = n-bit FCS

P = (n+1)-bit pattern or Predetermined Number

2. M is multiplied by 2^{n} to form 2^{n}M

3. 2^{n}M is divided by P to get the remainder R

4. R is added to 2^{n}M to form T, T=2^{n}M+R .

5. T is transmitted.

**Example:**

**1. M= 1010001101 (10 bits)
P= 110101 (6 bits)
R= To be calculated (5 bits)
2. M is multiplied by 2**

^{5}, yeilding 101000110100000

**Steps of CRC Checking :**

1. P = (n+1)-bit Predetermined Number

2. Incoming data (T) is divisible by P to get the remainder R

3. If R=0 then there is no error, otherwise there must be error in the data.

## Recommended Posts:

Networking

1. Types of Computer Network

2. Transmission Modes | Simplex, Half Duplex and Full Duplex

3. Types of Network Topology | Mesh, Star, Bus, Ring, Tree, Hybrid Topology

4. Guided Transmission Media in Networking

5. Circuit Switching in Networking

6. Packet Switching in Networking

7. Message Switching in Networking

8. Nyquist Criteria – Maximum Data Rate of a Noiseless Channel

9. Shanon’s Criteria – Maximum Data Rate of a Noisy Channel

10. Cyclic Redundancy Check (CRC)

11. Checksum in Networking | Error Detection

12. Hamming Code | Error Correction