Select Page

LRC (Longitudinal Redundancy Check):

  • LRC is a simple form of error detection that involves adding an extra parity bit (or bits) to each data unit, typically at the end.
  • The parity bit(s) is calculated based on the longitudinal parity of the bits in the data unit.
  • LRC is used for detecting single-bit errors and some types of burst errors.

VRC (Vertical Redundancy Check):

  • VRC involves adding a parity bit for each bit position in a group of data units.
  • Each parity bit is calculated based on the bits in the same position across the data units.
  • VRC is used for detecting errors in individual bits within a data unit.


  • Checksum is a value calculated from the contents of a data unit (e.g., a message) using a mathematical algorithm.
  • The checksum is appended to the data unit and transmitted along with it.
  • At the receiving end, the checksum is recalculated, and if the calculated checksum matches the received checksum, the data is considered to be error-free.
  • Checksums are commonly used in network protocols and file transfer protocols for error detection.

CRC (Cyclic Redundancy Check):

  • CRC is a more sophisticated error detection technique that involves generating a checksum based on the binary polynomial division of the data unit by a predefined generator polynomial.
  • The remainder of this division operation becomes the CRC value.
  • CRC is widely used in digital communication systems, including Ethernet networks, USB connections, and storage devices, for error detection and correction.

Hamming Code:

  • Hamming Code is an error detection and correction code that adds extra parity bits to a data unit to enable the detection and correction of errors.
  • The number of parity bits is determined based on the Hamming distance between the data bits.
  • Hamming Code can detect and correct single-bit errors and some types of multiple-bit errors, making it particularly useful in situations where data integrity is critical, such as in computer memory systems.

These techniques play crucial roles in ensuring the reliability and integrity of data transmission and storage in digital systems. Depending on the requirements and constraints of a specific application, one or more of these techniques may be employed for error detection and correction.