Terminologies used in Error Detection and Error Correction
Forward Error Correction (FEC) and other coding techniques use specific terms that are crucial for designing robust systems. This article explains the most important terminologies used in these techniques.
Error Detection vs Error Correction
- Error Detection: Receiver identifies that an error occurred but may not correct it.
Example: Single parity bit. - Error Correction: Receiver identifies and fixes the error using redundancy.
Example: Hamming code, Reed-Solomon code.
Codeword
A codeword is the sequence of bits transmitted over a channel, consisting of data bits and redundancy bits. These redundancy bits allow the receiver to detect and correct errors.
Example: If your data is 1011 and you add 3 parity bits 011, the transmitted codeword becomes 1011011.
Data Bits vs Parity Bits
- Codeword length (n): Total bits transmitted = Data bits + Parity bits. Usually we define the codeword length first, then derive the parity bits (as in the example).
- Data bits (k): Original information to transmit.
- Parity bits (n-k): Extra bits added for error detection/correction.
Example: A Hamming (7,4) code has 4 data bits and 3 parity bits → total codeword length = 7.
Hamming Distance
The Hamming distance is the number of bit positions in which two codewords differ.
- With a hamming distance of d_min, you can do the following,
- → can correct
terrors - → can detect
terrors
- → can correct
Example: 1011 vs 1111 differ by 1 bit → Hamming distance = 1.
Bit Error Rate (BER)
BER is the fraction of bits received incorrectly over total transmitted bits. FEC reduces effective BER by correcting errors before data reaches higher layers.
Redundancy / Coding Rate
- Redundancy: Extra bits added to help correct errors.
- Coding Rate (R): Ratio of data bits to total bits:
R = k / n- High rate → fewer parity bits, less error protection
- Low rate → more parity bits, stronger protection
Soft Decision vs Hard Decision
- Hard Decision: Receiver decides each bit as 0 or 1, then applies error correction.
- Soft Decision: Receiver uses probability/confidence of each bit → better error correction performance.
Burst Errors vs Random Errors
- Random Error: Single-bit errors scattered across codewords.
- Burst Error: Consecutive multiple-bit errors.
- Some codes (like Reed-Solomon) are designed to correct burst errors efficiently.
Generator Matrix & Parity-Check Matrix
- Generator Matrix (G): Encodes data bits into codewords.
- Parity-Check Matrix (H): Used to detect errors at the receiver.
Example: In Hamming (7,4) code, G converts 4 data bits into a 7-bit codeword; H is used to check parity and find errors.