# Cyclic Redundancy Check (CRC) Algorithm Explained

## CNT4007

**Can you check if I did 1 right and help me with 2?**

Consider the Cyclic Redundancy Check (CRC) algorithm discussed in Section 6.2.3 of the text. Suppose that the 4-bit generator (G) is 1001, that the data payload (D) is 10011011:

**What is the size of r?**

G= 1001 10011011 1001 1011 1001 r= 10

**What are the CRC bits (R) associated with the data payload D?**

**Final answer:** The size of r is 2 and the CRC bits (R) associated with the data payload D are 10.

**Explanation:** The Cyclic Redundancy Check (CRC) algorithm is a method used to detect errors in digital data transmission. It involves the use of a generator polynomial to perform a mathematical calculation on the data payload, resulting in a remainder called the CRC bits.

In this case, the 4-bit generator (G) is 1001 and the data payload (D) is 10011011.

To calculate the CRC bits, we perform a division operation:

The division is performed bit by bit, starting from the leftmost bit of the data payload. If the current bit is 1, we perform an XOR operation with the generator polynomial. If the current bit is 0, we skip the XOR operation.

After performing the division, the remainder is the CRC bits (R). In this case, the size of r is 2, as the remainder is 10.

What is the purpose of the Cyclic Redundancy Check (CRC) algorithm in digital data transmission?

The main purpose of the Cyclic Redundancy Check (CRC) algorithm in digital data transmission is to detect errors that may occur during the transmission process. By performing mathematical calculations on the data payload using a generator polynomial, the CRC algorithm generates a remainder (CRC bits) that can be used to determine whether the data has been corrupted or altered.