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 *p*_{e}) that a data bit *b* (*n*) is received incorrectly even when the probability of *c* (*l*) be received in error remains
*p*_{e} 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.

- 988 reads