Communications

Error-correcting code (FEC)

An error-correcting code lets a receiver not just detect but repair bits that the channel corrupted, without ever asking the sender to repeat. The trick is to add carefully structured redundancy before transmitting — extra parity bits computed from the data so that the valid messages are spread far apart, like words that differ by several letters. When noise flips a few bits, the received pattern is no longer any valid codeword, but it's nearest to exactly one of them, so the decoder confidently snaps it back. A simple example: send each bit three times and take the majority vote.

Forward error correction (the 'forward' meaning no return channel is needed) is what makes deep-space probes, hard drives, QR codes, DVDs, and 5G all work over hopelessly noisy media. Real codes are vastly cleverer than majority vote — Reed–Solomon guards CDs and QR codes against scratches, while turbo, LDPC, and polar codes operate within a whisker of the Shannon limit and power modern Wi-Fi and cellular. The cost is the extra parity bits (the 'code rate'), a deliberate trade of raw throughput for reliability that pays off enormously on bad channels.

There's a deep dividing line: error *detection* (like a checksum or CRC) only flags that something broke and asks for a resend, while error *correction* (FEC) actually rebuilds the data on the spot — essential when there's no time or path to ask again, as on a Mars link.

Also called
FECforward error correctionchannel coding前向糾錯通道編碼