ing tech- niques for data storage are based on Huffman's work [4, 5]. One result of Shannon's paper is that for a binary coding method (i.e. using 1's and O's) the code length on average is equal to -log(p), where pi is the probability of message i. This is an important definition as it determines how messages from a source may be efficiently represented using binary 'bits'. Clearly significant improvement in coding efficiency can be obtained with entropy coding. However, this efficiency gain comes at the expense of complexity and error propagation as Example 4.4 demonstrates. Example 4.4 Consider the source of Example 4.1 which produces four messages, m1, m,, m3 and m4. Two source coding methods were given in Figure 4.2 and Figure 4.3. The sequence be source coded: With the first source encoder as: 01000010001101011100000010000001 With the second source encoder as: 0111001100001010001110011101 The second source coding method uses 4 bits fewer bits (or 87.5%) and is more efficient. You can verify that both sequences are decoded to produce the original message sequence using their respective coding methods. However, the first coding method is more robust. Assume 1 bit arrives in error (shown in bold) because of transmission imperfection: 201000010001101011101000010000001' A decoder using the first source coding method produces only one decoding error: 'm2 m1 m1 m3 m1 mmm m4 m2 mm, m3 mm m2'. However, a single error in reception with the second coding method can result in error propagation: '0111001100001000001110011101'. This decodes to 'm, m1 m1 m m1 m4 m2 m4 m mm m mmm2. In other words, efficiency is gained at the expense of robustness. Such entropy coding methods are therefore used in systems where probability of error can be kept very small. Frequency, Bandwidth and Power As discussed in Chapter 3, an electromagnetic wave can be equally specified in a time or fre- quency domain. In the time domain a signal is specified as a continuous waveform, or a stream of discrete samples. Equally the signal is specified b