Cyclic Redundancy Check (CRC) Tutorial

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 2n to form 2nM

3. 2nM is divided by P to get the remainder R

4. R is added to 2nM to form T, T=2nM+R

5. T is transmitted.

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

Cyclic Redundancy Check (CRC)

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 an error in the data

Recommended Posts:

    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