We can, to some extent, correct errors made by the receiver with only the error-filled bit stream emerging from the digital channel available to us. The idea is for the transmitter to send not only the symbol-derived bits emerging from the source coder but also additional bits derived from the coder's bit stream. These additional bits, the error correcting bits, help the receiver determine if an error has occurred in the data bits (the important bits) or in the error-correction bits. Instead of the communication model (Figure 6.17: DigMC) shown previously, the transmitter inserts a channel coder before analog modulation, and the receiver the corresponding channel decoder (Figure 6.20). This block diagram shown there forms the Fundamental Model of Digital Communication.
To correct errors that occur in the digital channel, a channel coder and decoder are added to the communication system. Properly designed channel coding can greatly reduce the probability (from the uncoded value of pe) that a data bit b (n) is received incorrectly even when the probability of c (l) be received in error remains pe or becomes larger. This system forms the Fundamental Model of Digital Communication.
Shannon's Noisy Channel Coding Theorem (Noisy Channel Coding Theorem ) says that if the data aren't transmitted too quickly, that error correction codes exist that can correct all the bit errors introduced by the channel. Unfortunately, Shannon did not demonstrate an error correcting code that would achieve this remarkable feat; in fact, no one has found such a code. Shannon's result proves it exists; seems like there is always more work to do. In any case, that should not prevent us from studying commonly used error correcting codes that not only find their way into all digital communication systems, but also into CDs and bar codes used on merchandise.