- Error Detection and Correction Definition: Error detection and correction are processes to identify and fix errors in data transmission, ensuring accurate communication.
- Parity Code: Parity codes add an extra bit to data strings to detect errors, using even or odd parity methods.
- Limitations of Parity Checks: While useful for single-bit errors, parity checks can’t detect two-bit errors.
- Repetition Code: This method repeats data bits to detect and correct errors but can be inefficient with larger data.
- Cyclic Redundancy Check (CRC): CRC is a powerful method that uses check bits to detect errors, ensuring data integrity in computer networks.
Error detection and correction codes add extra bits so a receiver can see whether a digital word was changed in transit, and in some codes restore the original bits. Analog and digital links both pick up errors; a computer or a comms link needs a definite check because one wrong bit can change a code.
Noise on the bit stream is the usual cause. If a flipped bit is not found, a computer or a radio link can treat the wrong word as valid.
The usual method of error detection and correction is to add check bits, also called redundant bits. Those bits carry no message; they only let the receiver test the word. The codes below are used for error detection and correction in digital systems.
Parity Code
A parity bit is an extra bit sent with a data string so the receiver can test the word. Even parity and odd parity are the two forms.
Even parity means the word, including the extra bit, contains an even number of 1’s. Odd parity means that count is odd. Take the eight-bit ASCII code 01000001.
If the extra bit is 0 the nine-bit word is 001000001, which has two 1’s, so the parity is even. If the extra bit is 1 the word is 101000001, which has three 1’s, so the parity is odd. Even parity is the more common choice on ASCII, not a rule.
A single parity bit flags an odd number of flips. Two flips leave the parity looking correct, so the method misses them. Other codes are used when more than one bit must be found or corrected.
Repetition Code
A repetition code sends each data bit several times as a short block so the receiver can vote. More than one flipped bit in the message can still be seen. Example: the original word is 101.
If each bit is sent three times, 101 is transmitted as 111000111. A single flip in a triple shows up as 011, 110 or 101, and majority vote restores the bit. Repeating more times wastes bandwidth as the block grows.
Cyclic Redundancy Check Code
A cyclic redundancy check (CRC) gives strong protection for a small number of extra bits. To form the code word, append a run of zeroes. The length of that run is the number of check bits wanted.
That padded word is divided by a generator word of length n + 1, where n is the number of check bits. The remainder from modulo-2 division is appended to the data to form the cyclic code.
The finished code word is divisible by the same generator. At the receiver, division by that generator leaves an all-‘0’ remainder if the word was not changed.
A nonzero remainder means the word does not match the generator. With n check bits, error detection for a well-chosen polynomial catches every single-bit error and every double-bit error. It also catches every odd-weight error and every burst shorter than n + 1. Detection falls to 1 – (1/2)n−1 for a burst of length n + 1, and to 1 – (1/2)n for a longer burst.





