Cyclic Redundancy Check Part-1

Duration: 8 min

This video lesson is available to enrolled students.

Enroll to watch — Computer Networks

AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This lecture introduces Cyclic Redundancy Check (CRC) as a method for error detection in data transmission, rooted in the properties of cyclic codes. The instructor begins by defining cyclic codes as a special class of linear block codes where any cyclic shift of a valid codeword results in another valid codeword. An illustrative example is provided: shifting the binary sequence 1011000 to the left yields 0110001, which remains a valid codeword. The lecture then transitions to the mechanics of CRC, explaining that a k-bit dataword is augmented by appending n-k zeros to its right-hand side. This augmented word serves as the dividend for a modulo-2 division operation using a predefined generator polynomial of size n-k+1. The remainder from this division becomes the CRC checksum, which is appended to the original dataword before transmission. The instructor demonstrates this process through detailed binary long division on a whiteboard, showing step-by-step subtraction and bit manipulation to derive the final remainder.

Chapters

  1. 0:00 2:00 00:00-02:00

    The session opens with a slide titled "CYCLIC CODES" defining them as linear block codes where cyclic shifts produce valid codewords. The instructor underlines the phrase "is another codeword" to emphasize this property and writes the number 10 on the display. The presentation then introduces Cyclic Redundancy Check, explaining that a k-bit dataword is augmented by appending n-k zeros. An example with k=4 and n=7 requires adding 3 zeros to create an n-bit result. Diagrams at the bottom visualize the sender's encoder and generator blocks alongside the receiver's checker components.

  2. 2:00 5:00 02:00-05:00

    The instructor moves to a whiteboard setup for binary long division with divisor 1011 and dividend 1001000. He explains the process while gesturing towards the numbers, writing intermediate binary values such as 011 beneath the dividend to demonstrate subtraction steps. The instructor performs a binary division operation for CRC, writing down the dividend and divisor, then subtracting binary values step-by-step. The process involves bringing down subsequent bits from the dividend to continue the division until a remainder is found, with on-screen text showing "1011" and "10010000".

  3. 5:00 8:09 05:00-08:09

    The instructor demonstrates CRC calculation using binary division, showing two separate examples on the whiteboard. He illustrates how to append zeros to a message and divide by a generator polynomial, highlighting specific bits during division steps. The instructor crosses out zeros and carries down subsequent bits to find the remainder, with on-screen text displaying "1011", "1010", "100110", and "106116". The demonstration emphasizes XOR operations and remainder generation, highlighting the final CRC checksum.

The lecture systematically builds understanding of Cyclic Redundancy Check by first establishing the theoretical foundation of cyclic codes and then applying it to practical error detection. The core concept is that cyclic codes maintain validity under rotation, which allows for efficient implementation using polynomial division. The instructor emphasizes the augmentation process where n-k zeros are appended to a k-bit dataword, transforming it into an (n)-bit dividend. This augmented word is divided by a generator polynomial of degree n-k using modulo-2 arithmetic, which behaves like XOR operations without carries. The remainder from this division constitutes the CRC checksum. Through whiteboard demonstrations, the instructor shows how to perform binary long division step-by-step, crossing out leading zeros and bringing down bits. The visual progression from definition to calculation helps students grasp how CRC detects errors by verifying that the received message is divisible by the generator polynomial without remainder.

Loading lesson…