An unparalleled learning tool and guide to error correction coding Error correction coding techniques allow the detection and correction of errors occurring during the transmission of data in digital communication systems. These techniques are nearly universally employed in modern communication systems, and are thus an important component of the modern information economy. Error Correction Coding: Mathematical Methods and Algorithms provides a comprehensive introduction to both the theoretical and practical aspects of error correction coding, with a presentation suitable for a wide variety of audiences, including graduate students in electrical engineering, mathematics, or computer science. The pedagogy is arranged so that the mathematical concepts are presented incrementally, followed immediately by applications to coding. A large number of exercises expand and deepen students' understanding. A unique feature of the book is a set of programming laboratories, supplemented with over 250 programs and functions on an associated Web site, which provides hands-on experience and a better understanding of the material. These laboratories lead students through the implementation and evaluation of Hamming codes, CRC codes, BCH and R-S codes, convolutional codes, turbo codes, and LDPC codes. This text offers both "classical" coding theory-such as Hamming, BCH, Reed-Solomon, Reed-Muller, and convolutional codes-as well as modern codes and decoding methods, including turbo codes, LDPC codes, repeat-accumulate codes, space time codes, factor graphs, soft-decision decoding, Guruswami-Sudan decoding, EXIT charts, and iterative decoding. Theoretical complements on performance and bounds are presented. Coding is also put into its communications and information theoretic context and connections are drawn to public key cryptosystems. Ideal as a classroom resource and a professional reference, this thorough guide will benefit electrical and computer engineers, mathematicians, students, researchers, and scientists.
This book discusses both the theory and practical applications of self-correcting data, commonly known as error-correcting codes. The applications included demonstrate the importance of these codes in a wide range of everyday technologies, from smartphones to secure communications and transactions. Written in a readily understandable style, the book presents the authors’ twenty-five years of research organized into five parts: Part I is concerned with the theoretical performance attainable by using error correcting codes to achieve communications efficiency in digital communications systems. Part II explores the construction of error-correcting codes and explains the different families of codes and how they are designed. Techniques are described for producing the very best codes. Part III addresses the analysis of low-density parity-check (LDPC) codes, primarily to calculate their stopping sets and low-weight codeword spectrum which determines the performance of th ese codes. Part IV deals with decoders designed to realize optimum performance. Part V describes applications which include combined error correction and detection, public key cryptography using Goppa codes, correcting errors in passwords and watermarking. This book is a valuable resource for anyone interested in error-correcting codes and their applications, ranging from non-experts to professionals at the forefront of research in their field. This book is open access under a CC BY 4.0 license.
Constrained Coding and Soft Iterative Decoding is the first work to combine the issues of constrained coding and soft iterative decoding (e.g., turbo and LDPC codes) from a unified point of view. Since constrained coding is widely used in magnetic and optical storage, it is necessary to use some special techniques (modified concatenation scheme or bit insertion) in order to apply soft iterative decoding. Recent breakthroughs in the design and decoding of error-control codes (ECCs) show significant potential for improving the performance of many communications systems. ECCs such as turbo codes and low-density parity check (LDPC) codes can be represented by graphs and decoded by passing probabilistic (a.k.a. `soft') messages along the edges of the graph. This message-passing algorithm yields powerful decoders whose performance can approach the theoretical limits on capacity. This exposition uses `normal graphs,' introduced by Forney, which extend in a natural manner to block diagram representations of the system and provide a simple unified framework for the decoding of ECCs, constrained codes, and channels with memory. Soft iterative decoding is illustrated by the application of turbo codes and LDPC codes to magnetic recording channels. For magnetic and optical storage, an issue arises in the use of constrained coding, which places restrictions on the sequences that can be transmitted through the channel; the use of constrained coding in combination with soft ECC decoders is addressed by the modified concatenation scheme also known as `reverse concatenation.' Moreover, a soft constraint decoder yields additional coding gain from the redundancy in the constraint, which may be of practical interest in the case of optical storage. In addition, this monograph presents several other research results (including the design of sliding-block lossless compression codes, and the decoding of array codes as LDPC codes). Constrained Coding and Soft Iterative Decoding will prove useful to students, researchers and professional engineers who are interested in understanding this new soft iterative decoding paradigm and applying it in communications and storage systems.
Fundamentals of Error Correcting Codes is an in-depth introduction to coding theory from both an engineering and mathematical viewpoint. As well as covering classical topics, there is much coverage of techniques which could only be found in specialist journals and book publications. Numerous exercises and examples and an accessible writing style make this a lucid and effective introduction to coding theory for advanced undergraduate and graduate students, researchers and engineers, whether approaching the subject from a mathematical, engineering or computer science background.
Providing in-depth treatment of error correction Error Correction Coding: Mathematical Methods and Algorithms, 2nd Edition provides a comprehensive introduction to classical and modern methods of error correction. The presentation provides a clear, practical introduction to using a lab-oriented approach. Readers are encouraged to implement the encoding and decoding algorithms with explicit algorithm statements and the mathematics used in error correction, balanced with an algorithmic development on how to actually do the encoding and decoding. Both block and stream (convolutional) codes are discussed, and the mathematics required to understand them are introduced on a “just-in-time” basis as the reader progresses through the book. The second edition increases the impact and reach of the book, updating it to discuss recent important technological advances. New material includes: Extensive coverage of LDPC codes, including a variety of decoding algorithms. A comprehensive introduction to polar codes, including systematic encoding/decoding and list decoding. An introduction to fountain codes. Modern applications to systems such as HDTV, DVBT2, and cell phones Error Correction Coding includes extensive program files (for example, C++ code for all LDPC decoders and polar code decoders), laboratory materials for students to implement algorithms, and an updated solutions manual, all of which are perfect to help the reader understand and retain the content. The book covers classical BCH, Reed Solomon, Golay, Reed Muller, Hamming, and convolutional codes which are still component codes in virtually every modern communication system. There are also fulsome discussions of recently developed polar codes and fountain codes that serve to educate the reader on the newest developments in error correction.