# 7 Coding theory and practice

To fully grasp the subject of coding for digital communications requires a very good working knowledge of mathematics and it is difficult to give an introduction to coding without either quickly losing the reader in complex equations and statistical theory, or providing a superficial overview which lacks rigour. This chapter attempts to inform the reader of the terminology and importance of coding for communications, but goes no further. Good texts on the subject include, of course, Proakis (1989) and Halsall (1992), from different perspectives. The term coding is applied to many operations within a communications system, including: Source coding – where an analogue or digital source is altered in some way to make it best suited for transmission purposes. Channel coding – where extra information (redundancy) is added to an existing bit or symbol set in order to provide a means of detecting and/or correcting transmission errors. Usually channel coding involves operations on binary data. Modulation coding – where a modulation symbol set (constellation) is expanded, again in order to allow the detection and correction of erroneous symbols. Modulation coding usually involves operations on analogue data symbols. In many modern communication links, combinations of source, channel and modulation coding are employed in a dependent manner to optimize performance.