Library
Back to reading

What Is Channel Coding?

What Is Error-Control Coding?

Preview: Learn more about channel coding and error-control coding.

Channel coding, also known as error-control coding, is the process of adding carefully designed redundancy to digital information before it is transmitted. Unlike source encoding, which removes redundancy to improve efficiency, channel coding deliberately introduces additional bits that enable the receiver to detect and often correct transmission errors caused by noise, interference, and other impairments within the communications channel. It is one of the key technologies that allows modern digital communications systems to achieve extremely high levels of reliability.

No practical communications channel is perfect. Whether information is transmitted over copper cables, optical fibers, radio links, or satellite systems, the received signal is always affected to some extent by noise, attenuation, distortion, or interference. These impairments may cause individual bits to be received incorrectly, potentially corrupting computer files, interrupting video streams, or producing errors in control systems.

Early communication systems dealt with transmission errors simply by requesting that damaged messages be sent again. While this approach is acceptable for applications such as file transfers over the Internet, it is far less suitable for systems where retransmission is slow, expensive, or impossible. For example, a spacecraft orbiting Mars cannot easily request immediate retransmission because of the considerable propagation delay, while live television broadcasts and voice conversations must continue without interruption.

Channel coding provides an elegant solution to this problem. Before transmission, the encoder adds extra check bits according to carefully designed mathematical rules. At the receiver, a corresponding decoder examines both the information bits and the additional check bits to determine whether transmission errors have occurred. Depending on the coding scheme employed, the decoder may simply detect the presence of errors or may identify and correct them automatically without requiring any retransmission.

The foundations of channel coding were established during the middle of the twentieth century. In 1948, Claude Shannon demonstrated that reliable communication over noisy channels was theoretically possible provided sufficient redundancy was added and the transmission rate remained below the Shannon-Hartley limit. Although Shannon's work proved that highly reliable communication was achievable, it did not describe practical methods of constructing such codes. Over subsequent decades, engineers and mathematicians developed increasingly sophisticated coding techniques that progressively approached Shannon's theoretical limit.

One of the earliest practical error-correcting codes was the Hamming code, developed by Richard Hamming during the 1950s. Hamming's work showed that carefully chosen check bits could not only detect errors but also determine which bit had been corrupted, allowing automatic correction. This pioneering work inspired many other coding techniques, including Reed-Solomon codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, convolutional codes, turbo codes, low-density parity-check (LDPC) codes, and, more recently, polar codes. Each was developed to provide improved performance for particular communication environments and applications.

Today, channel coding is used in virtually every digital communications system. Mobile telephone networks employ powerful error-control codes to maintain reliable communication despite fading and interference. Satellite systems rely heavily on channel coding because retransmission is often impractical and transmitted signals may be extremely weak. Optical fiber networks use advanced coding techniques to achieve extraordinarily low error rates at very high data rates, while Wi-Fi, digital television, computer networks, and deep-space communications all depend upon sophisticated error-control coding to ensure reliable operation.

It is important to distinguish channel coding from source encoding. Although both involve processing digital information before transmission, they serve opposite purposes. Source encoding removes redundancy to reduce the number of transmitted bits and improve efficiency. Channel coding deliberately adds carefully structured redundancy to improve reliability. Modern communications systems almost always employ both techniques: information is first compressed to eliminate unnecessary redundancy and then encoded to protect it against transmission errors.

As communication systems have evolved, so too have channel coding techniques. Modern iterative decoding algorithms can recover information from signals that are barely distinguishable from background noise, allowing practical systems to operate remarkably close to the theoretical limits predicted by Shannon more than seventy-five years ago. These advances have been instrumental in supporting the enormous growth in data rates achieved by contemporary communications systems.

Channel coding therefore represents far more than a method of detecting transmission errors. It is one of the enabling technologies of the digital age, allowing reliable communication over channels that would otherwise be too noisy or unreliable for practical use. From deep-space probes transmitting scientific data across the Solar System to smartphones streaming high-definition video, error-control coding has become an indispensable component of modern communications engineering.

Back to reading