o as a payload. Let us refer to the originator's message as the data payload. The key purpose of ECC is to ensure that the payload arrives at the destination with the smallest possible probability of symbol errors. The tax to pay for ECC implementation is that some additional information must be included in the message code, referred to as control bits. Such control bits, which disappear after ECC decoding, correspond to what is called overhead information, or "overhead" for short. How does ECC work? A first and most basic approach consists of appending a certain number of redundancy bits to the payload data. The decoder then uses these redundancy bits to decide whether (a) the payload bits have been properly detected, and (b) any resulting corrective action is required to restore the "errored" bit (as telecom jargon goes) to their correct initial value. An obvious redundancy scheme is to repeat the Error correction information a certain number of times. It is just like communicating a phone number or someone's name over a poor telephone connection or in noisy surroundings. By repeating the information two or three times, the hope is that the number or the name spelling is going to be unambiguously communicated. For instance, one can transmit 0000 instead of a single 0 symbol, and 1111 instead of a single 1 symbol. According to this code, the received sequence (underscores introduced for clarity) 0010_1111_0111_1011 is interpreted as very likely to represent the payload message: (0000_1111_1111_1111 In the above guess of the correct message, we have followed an intuitive rule of majority logic. The bit errors were automatically corrected based on the fact that the three bit anomalies in the four-bit groups were easily identifiable. However, there is no absolute certainty that such an intuitive "majority-rule" decoding may yield the actual payload. Indeed, if two errors occur in any of the above four-bit words (however less likely the event), receiving 1100 or any other permutation thereof could be decoded as 1111