Channel coding is used in digital communications to reduce errors. Additional binary digits are interwoven into the transmission, which can be checked and repaired on the receiving end. Automatic repeat request and channel encoding are two common methods. The first forward error correcting code was the Hamming code, which is a member of block codes. Convolutional coding is another method, which can encode a bit stream of any length but increases in complexity during decoding. Concatenated error-correcting codes combine both methods.
Channel coding is a technique used in digital communications to ensure that a transmission is received with little or no errors. The various coding methods that can be employed are achieved by interweaving additional binary digits into the transmission. When decoded on the receiving end, the transmission can be checked for errors that may have occurred and, in many cases, repaired. Other times, the recipient simply asks for the transmission again.
The idea behind channel coding was developed due to the inevitable existence of errors on a certain type of communication channel. Radio waves, electrical signals, and even light waves on fiber optic channels will have a certain amount of noise on the medium, as well as signal degradation that occurs at a distance. Being such a common problem in communications, numerous theories on how to deal with it have developed in branches of applied mathematics such as information theory and coding theory.
One commonly used method is called an automatic repeat request (ARQ), which simply involves the recipient checking the transmission for errors and requesting retransmission if necessary. This is sometimes referred to as backward error correction. Channel encoding, on the other hand, is a forward error correction (FEC) technique. The sender prepares the bits for transmission using a special algorithm known as an error correcting code, which is then decoded on the receiving end. Both methods are also often used in a hybrid fashion, allowing small errors in the transmission to be fixed with one channel code, with larger errors requiring a full retransmission.
The first channel coding technique was created by a mathematician named Richard Hamming, who developed the so-called Hamming code. This was the first forward error correcting code, which involves including additional binary digits in the transmission which are called parity bits. An intelligent computation of the parity bits at the receiving end of the transmission will reveal if errors have occurred in the transmission, where they are located in the bit string, and how to fix them to recover the original transmission.
Hamming code is a member of the family of channel coding methods called block codes, many of which have been developed over the years. Block ciphers typically involve collecting bits into blocks of a fixed length, which are then called codewords. Each codeword is assigned the appropriate control bits for decoding by the receiver. Block cipher methods tend to increase the transmission size due to the added bits in the codeword, which can have an effect on channel bandwidth.
Another method of channel coding is known as convolutional coding. These methods are much faster and can encode a bit stream of any length. A commonly used code of this type is called the Viterbi code, created by the Italian mathematician Andrew Viterbi. The disadvantage of this method is that as the length of the convolutional code increases, so does its complexity during decoding. In many cases, convolutional codes are used in conjunction with block codes in so-called concatenated error-correcting codes.
Protect your devices with Threat Protection by NordVPN