In digital communication, "noise" is inevitable. Forward Error Correction (FEC) is the mathematical shield that allows us to rebuild corrupted information at the destination without asking for a repeat.
Source
FEC Encoder
Receiver
Claude Shannon, the father of Information Theory, proved that every communication channel has a maximum Capacity (C). As long as the transmission rate is below this capacity, we can achieve error-free communication by using sophisticated encoding—regardless of the noise.
Where B is Bandwidth and S/N is Signal-to-Noise Ratio
FEC works by increasing the "distance" between valid messages. If "00" and "11" are my only valid codes, a single bit flip results in "01" or "10"—which are invalid. The decoder sees the invalid state and maps it back to the "nearest" valid code.
Block Codes: Divide data into fixed chunks (like the Hamming(7,4) code in our lab).
Convolutional Codes: Process a continuous stream of bits using shift registers and memory.
Different applications require different FEC trade-offs. Here is where the math meets reality.
Excellent at handling "burst errors" (clusters of flips). Used in CDs, DVDs, and QR codes to ensure readability even with scratches.
Iterative decoding that approaches the Shannon Limit. Revolutionized 3G and 4G mobile networks and deep space satellite comms.
Low-Density Parity-Check codes. Current gold standard for 5G, Wi-Fi 6 (802.11ax), and 10Gb Ethernet due to massive parallel efficiency.
Interactively encode and correct a Hamming(7,4) block
Wireless Propagation Channel
Interference detected! Add noise to test the decoder.
Welcome to the Lab. In this lesson, we simulate a Hamming(7,4) code. This specific code takes 4 bits of data and adds 3 parity bits, allowing us to correct exactly 1 bit error per block.
ARQ requires the receiver to send a message back saying "I got it wrong, send again." This is impossible in deep space (Voyager takes hours to signal) or real-time streaming where waiting for a re-send causes lag. FEC fixes errors in real-time.
Coding gain is the measure of how much less power we can use to transmit a signal while maintaining the same error rate, thanks to FEC. It's essentially "free energy" provided by math.
No. Every code has a threshold. If the noise is too high (surpassing the Shannon Limit), the parity bits themselves get corrupted beyond repair, and the system fails. This is called the "Cliff Effect."