Digital and Microwave Communication Engineering-3.2


 

Error Correction Techniques: Parity checking and cyclic redundancy check:  -



In the modern digital world, data is continuously transmitted across networks, storage devices, and communication systems. Whether it’s an email, a video stream, or a financial transaction, ensuring the accuracy and integrity of that data is crucial. Any error in transmission can lead to corrupted files, miscommunication, or even major system failures.

To detect such errors, engineers have developed various error detection techniques. Among them, parity checking and cyclic redundancy check (CRC) are the most widely used. Both methods are simple and reliable and form the backbone of error detection in computer networks, data storage, and communication systems.

What is error detection

Error detection is the process of identifying whether transmitted data has been corrupted due to noise, interference, or hardware faults. Since no communication channel is entirely perfect, mechanisms must be in place to ensure that the received information is the same as what was originally sent.

For example, imagine transmitting the binary message 1011011. Due to interference, the receiver might get 1011111. A single-bit error has occurred. Without error detection, the receiver has no way of knowing that the message is incorrect. That’s where parity checking and CRC come into play.

Parity Checking

Parity checking is one of the simplest error detection techniques. It works by adding a parity bit to the original data to make the total number of 1s either even or odd.



Types of Parity Checking

Even Parity

  • The parity bit is set so that the total number of 1s in the message (including the parity bit) is even.
  • Example: Data = 1011 (which has three 1s). To make it even, the parity bit is 1. Transmitted data = 10111.

Odd Parity

  • The parity bit ensures that the total number of 1s in the message is odd.
  • Example: Data = 1011 (three 1s). Since it’s already odd, the parity bit is 0. Transmitted data = 10110.

Advantages of Parity Checking

  • Extremely simple and requires only one extra bit.
  • Easy to implement in hardware and software.

Limitations of Parity Checking

  • Can only detect single-bit errors.
  • If two bits are flipped (double-bit error), the parity check fails to detect the error.

For instance, if the transmitted data 10111 (with even parity) is received as 11101, the total number of 1s remains even, and the error goes unnoticed.

This limitation led to the development of stronger error detection techniques like Cyclic Redundancy Check (CRC).

Cyclic Redundancy Check (CRC)

Cyclic Redundancy Check (CRC) is a more advanced error detection method that can detect not just single-bit errors but also burst errors (multiple consecutive bits affected). It is widely used in Ethernet, storage devices, USB, and digital networks.



How CRC Works

CRC treats the data as a long binary number and divides it by a predefined polynomial (generator) using binary division. The remainder of this division is the CRC code, which is then appended to the data before transmission.

At the receiving end, the combined data (original message + CRC code) is divided by the same polynomial.

  • If the remainder is zero, no error is detected.
  • If the remainder is non-zero, an error is detected.

Example of CRC (Simplified)

Let’s say the data is 1101 and the generator polynomial is 1011.

  • Append zeros to the data (based on generator size).
  • Perform binary division (XOR-based).
  • The remainder is added to the original message.

This remainder is powerful because even small errors in transmission drastically change the result of the division, allowing the receiver to detect them.

Advantages of CRC

  • Detects single-bit, double-bit, and burst errors.
  • Very reliable for real-world data transmission.
  • Widely adopted in modern communication protocols.

Limitations of CRC

  • More complex than parity checking.
  • Cannot correct errors—it only detects them.

Parity vs CRC

Feature

Parity Checking

Cyclic Redundancy Check (CRC)

Complexity

Very simple

More complex

Error Detection

Only single-bit

Single, double, burst errors

Overhead

1 bit

Multiple bits (depends on polynomial)

Usage

Early systems, memory checks

Networks, storage, modern communication

Real-World Applications

Parity Checking

  • Still used in older communication systems and memory error detection (like RAM parity bits).
  • Works where data reliability requirements are low.

CRC

  • Used in Ethernet frames to detect corrupted network packets.
  • Implemented in hard disks, CDs, and USB devices to ensure accurate storage and retrieval.
  • Part of many communication protocols, such as CAN (Controller Area Network), in automobiles.

Conclusion

Error detection is a fundamental requirement in digital communication. While parity checking provides a quick and simple method, it is limited to detecting single-bit errors. On the other hand, CRC is a more sophisticated technique capable of detecting a wide range of errors, making it the standard choice in most modern applications.

Both methods highlight the importance of designing systems that protect data integrity. As technology continues to evolve, these error detection techniques remain a cornerstone of reliable communication and storage.

  ------------------------------Brief description of inter -3.3 Next Page ---------------------------------





No comments:

Post a Comment