ossible error scenarios. Both above coding methods are constructed based on creating a mathematical relationship within the codeword. In Example 6.1 the relation is construction of a codeword with an odd number of 1's, and in the relation is the construction of a multi-bit codeword. Both methods are capable of detecting/correcting a one bit error. However this capability comes at the expense of inefficiency: only 7 out of 8 bits in the error detection case carry data, an efficiency of 7/8. Similarly only 1 out of 3 bits carry information in the error correction case, Error Control Coding an efficiency of 1/3. The ratio of information bits to the total bits transmitted is called coding rate and is a measure of a code's efficiency. Since parity bits do not convey any data, they represent an extra 'cost' as energy and time is used for their transmission. The benefit gained however is significant: error detection cod- ing is beneficial as it ensures digital communications reliability, and error correction coding is beneficial as it reduces the amount of overall energy needed to achieve a certain level of error rate performance. This will be discussed further below. The error control coding field comprises a number of classes of codes. Historically each of these codes was designed for a specific application, from deep space to terrestrial mobile, to optical fibre telecommunications. Accordingly, the complexity and performance of each code differs for different applications. In the following sections a summary of the underlying error control coding principles is given in order to better describe the coding methods used in broad- band telecommunications systems. Codeword Sets Assuming a set of possible data sequences, the operation of an encoder is to take at its input a sequence of bits and create a set of codewords using a well-defined function. For example Figure 6.1 shows a set of all possible 3-bit sequences. If this sequence is transmitted without any parity bits, all received bit sequences can be valid, and there