What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Error-control codes add structured redundancy to data so a receiver or storage system can detect corruption and, when the code allows, recover the intended information. That protection costs capacity: some bits or symbols carry coding information rather than original data.
What is an error-control code?
An error-control code is a method for adding redundancy to digital information so errors can be detected or corrected. In a basic block-code model, a code is a set of equal-length words over an alphabet. Encoding maps the original information to one of the code’s valid words; decoding checks whether the received word fits the code’s structure and determines how to handle any discrepancy. Cambridge University Press describes these formal ideas in its chapter on error detection, correction and decoding.
As an Amazon Associate I earn from qualifying purchases.
Error control is not encryption or compression. Its purpose is reliability: redundancy gives a decoder clues about whether data has changed and, within limits, what the original data may have been.
Free tools Windows power users keep installed
One-click scans. No signup required.
How does error control work?
- Encode: The sender or storage system adds structured bits or symbols to the information, producing a valid codeword.
- Transmit or store: Noise, interference, physical wear, or other faults may change some of those bits or symbols.
- Decode: The receiver or storage system checks the received word against the code’s structure. It may flag a problem, attempt correction, or trigger another response such as retransmission.
The redundancy makes certain errors distinguishable from valid codewords. How much can be detected or corrected depends on the code’s parameters and on the errors that occur; there is no single correction limit that applies to every code.
#1 Best Overall
What is the difference between error detection and error correction?
An error-detecting code can indicate that data may be wrong, but detection alone does not recover the original. The system may discard the data or request a retransmission. An error-correcting code also tries to infer and restore the intended data, within its correction capability. A code that corrects errors can also detect some errors, but the two capabilities are not interchangeable.
Two small teaching examples illustrate the distinction. An added parity bit can detect an odd number of bit flips in a protected word. Sending each bit three times and choosing the majority can correct one error in that three-copy group. These examples explain the principle; they are not recommendations for real-world system design. The Open University explains both examples in its introduction to error control.
Rank #2
- Data Communications and Networking with TCP/IP Protocol Suite 6th Edition by Behrouz A. Forouzan
- Data Communications and Networking with TCP/IP Protocol Suite 6th Edition
Why add redundancy?
Redundancy gives the decoder information it can use to identify or repair corruption, but it takes up transmission or storage capacity. The information rate is the share of the encoded data that represents the original information; adding more coding symbols generally lowers that share. Engineers therefore balance the desired reliability against available capacity and other system constraints. The University of Stuttgart describes this as a tradeoff between transmission rate and error resilience. University of Stuttgart: Error Control Coding (ECC)
What are common error-control code families?
Different code families address different error patterns and engineering needs. The examples below are representative, not a complete or mutually exclusive classification; none is universally best.
Rank #3
- Used Book in Good Condition
- Parity checks: A simple way to add a check bit for detecting certain errors.
- Hamming codes: A family of codes used for error detection and correction.
- Cyclic redundancy checks (CRCs): A common family of error-detection codes.
- BCH and Reed–Solomon codes: Algebraic code families used in a range of settings, including storage applications.
- Convolutional, turbo, and low-density parity-check (LDPC) codes: Other constructions used in error-control coding.
When choosing among codes, relevant considerations include the expected pattern of errors or erasures, required reliability, redundancy and information rate, decoding complexity, and the constraints of the communication channel or storage medium. The available sources do not provide a common quantitative benchmark for ranking all these families. The University of Stuttgart course overview and Wiley’s overview of Essentials of Error-Control Coding cover examples of these constructions.
Where are error-control codes used?
Error control is used in both data communications and data storage. Educational sources give examples including digital communications, computer memories, disks, solid-state drives, optical storage, disk arrays, and barcodes. The code used depends on the system; these examples do not mean every device uses the same method. OpenLearn uses barcodes to illustrate error detection, while a Technion course description by Ronny Roth names BCH and Reed–Solomon codes in storage and barcode contexts.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Further reading
For a mathematical and engineering treatment, Wiley’s Essentials of Error-Control Coding by Jorge Castiñeira Moreira and Patrick Guy Farrell covers block, cyclic, BCH, Reed–Solomon, convolutional, turbo, and LDPC codes. Wiley lists its first publication date as 27 July 2006. See the publisher’s book information.
Quick Recap
Best Value
- Used Book in Good Condition
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




