Error Correction
One parity bit that notices a flip and a grid of them that places it, codewords far enough apart to tell apart, a word that fixes one flip and reports two, a remainder that catches bursts, arithmetic on four-bit symbols, the code that rebuilds a scratched disc, and the shuffle that turns a burst into single errors.
How Computers Work · Math Foundations
Before you start
Some lessons here build on lessons from other arcs: Counting with Switches, Noisy Channels and Capacity, Modular Arithmetic: The Clock and Fast Powers.
- 1
Parity: One Bit That Noticesin review
Computers · Error Correction · ~20 minOne extra bit makes a line of bits count even, so a single flip is noticed. Lay the bits out as a grid with a parity bit per row and per column, and the failing lines cross at the flip.
- 2
Codes and Distancein review
Computers · Error Correction · ~20 minA code is a set of words, and what it can do is one number: the fewest positions two of its words differ in. That distance fixes what is noticed, what is undone, and what is perfect.
- 3
Hamming Codes: Fixing a Flipped Bitin progress
Computers · Binary · ~20 minThree parity bits guard four data bits, each over a different group of positions. Any single flip fails exactly the groups that spell its position, so the receiver can put it back without asking.
- 4
SECDED: ECC Memoryin review
Computers · Error Correction · ~20 minAn eighth parity bit over the whole Hamming word tells one flip from two: a single flip is fixed as before and a double is reported, not mended wrong. ECC memory does this on every read.
- 5
CRC: Division That Catches Burstsin review
Computers · Error Correction · ~25 minThe message as a polynomial over GF(2), divided by a generator with shift-and-XOR steps, its remainder sent along: any burst up to the generator's degree leaves a nonzero remainder at the far end.
- 6
Finite Fields: Arithmetic on Nibblesin review
Math · Abstract Algebra · ~25 minFour-bit strings add without carries and multiply as polynomials reduced by a fixed quartic. Every nonzero element is a power of x, so a log table turns products into sums and every element divides.
- 7
Reed-Solomon: Rebuilding a Scratched Discin review
Computers · Error Correction · ~25 minTreat four-bit symbols as a polynomial over GF(16), append a remainder so the generator's four roots all give zero, and solve four equations to find and undo any two changed symbols.
- 8
Interleaving: Spreading a Burstin review
Computers · Error Correction · ~20 minA burst of noise wrecks the one word it lands on. Write the words into a block by row, send the block by column, and the same burst leaves one flip in every word, which each word can fix.