# Channel coding

In communications engineering, channel coding (also known as channel coding ) is the process of protecting digital data against transmission errors during transmission over disturbed channels by adding redundancy .

Coding theory provides the mathematical basis for channel coding .

A distinction is to be made between channel coding and source coding , which reduces redundancy, and line coding , which performs a spectral adaptation to the requirements of the transmission channel.

## Procedure

Transmission with source, channel and line coding

Channel coding adds redundancy to the data at the input of a transmission channel and decodes the data at its output. If the additional information only indicates an error and requires the data to be retransmitted, this is called backward error correction . If the redundancy information is sufficient to correct the error, it is a forward error correction . Efficient channel coding increases the signal-to-noise ratio while the bit error rate remains unchanged . Depending on the channel coding method , the code gain is several dB .

An essential property of a channel code is its (code) code rate , with the number of symbols at the input of the encoder (information symbols) and the number at the output (code symbols). Information symbols are therefore mapped onto code symbols. A small rate (large ) means a higher proportion of code symbols in the transmitted symbols, i.e. a lower data transmission rate . A channel code with a lower code rate can usually correct more errors than a comparable channel code with a high code rate - it is therefore possible to swap data transmission rate and error correction capability. ${\ displaystyle R = k / n}$${\ displaystyle k}$${\ displaystyle n}$${\ displaystyle k}$${\ displaystyle n}$${\ displaystyle n}$

### Code chaining

By skilfully chaining codes (e.g. in the case of turbo codes), the correction capability of the chained code created in this way can be much higher than that of the individual codes (component codes).

### Dotting

Puncturing is the deliberate deletion of individual code symbols so that the number of code symbols transmitted is reduced from to . This results in a higher rate for the punctured code . Puncturing allows the same encoder / decoder pair to be used for codes at different rates. ${\ displaystyle n}$${\ displaystyle n '}$${\ displaystyle R '= k / n'> k / n = R}$

## Encodings

### Source codes

Source code example: Huffman code

### Channel codes

If one knows the types of errors that occur in a transmission channel, one can construct various codes which can correct the frequent types of errors well, and less frequent types of errors less well. The following figure shows an overview of frequently used code classes.

Overview of frequently used code classes

### Line codes

Line code example: Manchester coding

## Examples

• Channel error dependent on source coding
The definition of a coding method takes into account both the quality requirements of the signal to be transmitted and the properties of the channel. If, for example, a bit is corrupted on the transmission path in the case of a television signal that is transmitted uncompressed, then only one pixel of a (half) picture changes. If the same error occurs with a compressed MPEG -coded television signal, it corrupts a whole macroblock of a certain number of pixels (depending on the size of the macroblock: 16 × 16 up to 4 × 4 pixels) and the subsequent pictures; only when an independently coded frame (I-frame) comes again, the error is no longer present.
• Example of backward error correction
Adding parity bits to a data word.
• Example backward / forward error correction
ISBN code: If the check digit does not match , only a few ISBN codes can be considered as correct values.
• Example forward error correction
Post code and city information : a misspelled city name can be corrected using the post code. Similarly Zahlendreher recognized in the zip code by matching with the place name.
The telephone limits the frequency range of the speech to approx. 4 kHz. Sampling at 8 kHz with a quantization of 8 bits per sample results in a data stream of 64 kbit / s. The GSM source coding reduces it to approx. 13 kbit / s. Redundancies are added to the data stream in order to limit the frequency of bit errors in radio transmission that is prone to interference. The channel coding increases the bit rate to 22.8 kbit / s.