Error Correction Coding
From finite-field arithmetic to decoders in silicon.
14 chapters2 parts≈ 11.4 h readIn progress
A course in error-correcting codes that starts with a single flipped bit and ends inside the decoders of shipping memories, links and radios. Every code arrives with its algebra worked by hand, a proof behind each claim, and the encoder and decoder hardware that carries it.
Fifteen Parts, meant to be read in order, each assuming the ones before it and nothing else. The opening Parts assume high-school algebra and binary numbers, with no abstract algebra and no coding theory, and build every finite field and every proof from a worked example small enough to check by hand. The middle Parts reach the soft-decision and iterative codes that modern storage and wireless links run on, and the closing Parts read at research level. Each Part ends with a case study of a real system, a project that builds a tested encoder or decoder, and a lab that measures one. The Python reference models and the SystemVerilog behind every project live in a companion repository and run on an ordinary laptop with open-source tools. Everything rests on public sources: textbooks, peer-reviewed papers and published standards.
Table of Contents
2 parts · 14 chapters- 01Why Codes Existbeginner49 min read
- 02Probability for Codingbeginner52 min read
- 03Channels, Signals and Likelihoodsbeginner50 min read
- 04Information and Entropybeginner52 min read
- 05Source Coding and Prefix Codesbeginner45 min read
- 06Compression in Practicebeginner50 min read
- 07Capacity and Shannon's Theorembeginner54 min read
- 08Distance, Detection and Correctionbeginner50 min read
- 09Error-Control Strategies and Performancebeginner51 min read
- 10Case Study: Codes in the Wildbeginner45 min read
- 11Project: A Channel Simulatorbeginner47 min read
- 12Lab: A First Hardware Checkerbeginner52 min read