10 Channel Coding and Interleaving
10.2 Block Codes
Besides that, we assume that all words coming from the message source have the same length and consist of m < nc message symbols. The difference between code word length nc and the number of message symbols m is the number of control symbols k of the block code
\( k=n_c-m \). (10-5)
If a code word contains the complete message word it is called systematically. Most of the time these codes are shown with a first part only consisting of message symbols and a second part with control symbols.
The code word or the code vector C consists of nc code symbols, containing m message symbols and k control symbols.
The redundant control symbols zi are calculated in the encoder with a defined algorithm fed with source symbols xi, so that at the transmission channel the code word ct to be transmitted is given as a combination of xi and zi. On the transmission channel single symbols may be falsified so that the receiver receives a code word which is not identical with ct. In the receiver the same algorithm as in the transmitter calculates a new code word from the received message symbols xi'.
For error detection the buffered received control symbols zi' are compared with the control symbols calculated at the receiver \( \tilde{z}'_i \). If the control symbols match pairwise we can assume that the received code word is error free and the message can be given to the sink. If an error is detected the receiver asks the transmitter for retransmission (Figure 10-7).
Figure 10-7: Block diagram of the communication system with error detection.
A system which can correct errors takes the result of the comparison to calculate which symbols of the code word are falsified with the highest probability. These symbols are corrected before the message is given to the sink.
If at minimum those error patterns with one error should be corrected, then there are nc patterns with only one error, i.e.nc ≤ 2k – 1 or m ≤ 2k – k – 1 with nc = m + k.
Depending on the type of the errors caused during the transmission there are different bit error patterns. If only a single bit is falsified, we call it bit error. A burst error is defined by a block of length l bit in which at least the first and the last bit are falsified. For a block code the input data are separated in blocks of length m and after each block k control bits are added. The overall block length then is n = m + k bit, the code is called a (n,m) code.
Block codes are suited for the correction of symbol errors, i.e. errors where a falsified symbol of length l is considered which contains up to l bit errors at random positions.
In general, nowadays binary codes are used, i.e. codes which only contain the symbols 0 and 1. To handle binary codes mathematically correct we need to be aware that all operations have to be calculated modulo 2, so that e.g. 1+1 = 2 (decimal) = 0 mod 2. You need to keep that in mind in the following calculations. Further in the binary world m message symbols result in 2m valid code words. For these we have 2nc valid received vectors as the code contains nc code symbols.
Advantages of this coding are reduction of the RF component and reduction of the symbol rate by 25%.