Communication-system designers have always had to deal with trade-offs among data reliability, efficient use of available spectrum, data throughput, and cost. Error-correction coding (ECC) is one of ...