Block codes, convolutional codes, and trellis-coded modulation represent the core techniques for obtaining coding gain. We review these fundamentals by addressing: how to generate codes, how to decode them, the advantage of non-binary codes (such as Reed-Solomon) in bursty noise, the benefits of soft-decisions, and how they are implemented with Viterbi decoding of convolutional codes. Owing to recent developments, soft-decision decoding has now become very important for block codes - which leads us to the main thrust of this tutorial - examining the remarkable coding strides accomplished in this decade. These advances, which are bringing digital system performance extremely close to the theoretical limitation of what is possible, entail the use of iterative decoding techniques which we examine by using turbo-code and low-density parity-check (LDPC) code examples. We focus on the astounding performance of LDPC, and demonstrate the workings of the message-passing algorithm used with such iterative decoding methods.
Dr. Bernard Sklar is currently the Director of Advanced Systems at Communications Engineering Services, a company he founded in 1984. He has taught engineering courses at several universities, including the University of California, Los Angeles and the University of Southern California, and has presented numerous training programs throughout the world. Dr. Sklar has published and presented scores of technical papers. He is the recipient of the 1984 Prize Paper Award from the IEEE Communications Society for his tutorial series on digital communications, and he is the author of the book, Digital Communications: Fundamentals and Applications, 2nd Edition, Prentice Hall, 2001. His academic credentials include a B.S. degree in Math and Science from the University of Michigan, an M.S. degree in Electrical Engineering from the Polytechnic Institute of Brooklyn, New York, and a Ph.D. degree in engineering from the University of California, Los Angeles.