0

## Linear Block Code with Example

• Linear Block Code with Example

Need for Parity bits: Consider a 2-bit binary code made of 1s and 0s. In this scheme, we have four combinations of bits. These are 00, 01, 10, and 11, respectively. Let us assume that 00 represents decimal number 0, 01 represents decimal 1, 10 represents decimal 2, and 11 represents decimal 3. We then say that 00 to 11 are code words of the 2-bit binary code.

Now let us assume that these four bits are transmitted to a distant receiver in a random order to sent some information. For example, we may transmit the bits in the order 01-00-11-10, or in the order 11-01-00-10. If these patterns get transmitted through a noisy channel, there is every possibility that they get corrupted by noise (since noise is unwanted amplitude variations).

To illustrate this further, assume that the transmitted message is 01-00-11-10 and the received message is 00-00-11-10. We find that received message is corrupted by noise; the first pair of transmitted bits is 01, while that received is 01. Thus, we find that in this case we have received a message totally different from the transmitted one.

Now, let us assume that we attach two more bits to the message bits. Let the added bits yield the new combinations of 0000, 0101, 1010, and 1111. It must be remembered that the newly added pairs of bits have no meaning at all, i.e., they do not carry any information. For example, 00 (the first pair of data bits) was assigned to represent decimal 0. To this first pair, we add the new pair of bits 00 to yield the code word of 0000. In this new code word, only the first pair of bits has any meaning and we call it as data word (similar to the term code word). The second pair has no meaning at all. The newly added bits are called as parity bits, and this bit pair may be called as parity word (similar to the term code word). Parity word is added to the data word to recover original data from the noise-corrupted received signal. Thus we find a code word to consist of a data word and a parity word. In this context it is to be noted that the new terms data word and parity word are coined by the authors for the convenience of explanation. We now discuss on how parity words help in recovering the original data transmitted. For this, we first draw Table 1.19.

Table 1.19 Code, data, and parity table (I)
 Code word Data  word Parity word 0000 0101 1010 1111 00 01 10 11 00 01 10 11

From table 1.19, we find that each data word has a unique parity word attached to it; it may further be noticed that each parity word is ‘owned’ by the data word to which it is added. Thus, in this coding scheme, parity word 00 will always be attached to data word 00; it can not be attached to 01, 10, or11. So, if 0000 is the code word transmitted and 0100 is received, we immediately recognize that an error has occurred in the received code word, and the correct data must be 0000 and not 0100. Thus using the uniqueness of the parity word attached to each data word, we can detect and correct noise-corrupted received data.

It may also be understood that the pattern of parity word is not fixed; it depends on the designer of the code. For example, parity words shown in Table 1.19 may be changed to those shown in Table 1.20. From Table 1.20, we find that the change in parity words has changed the code words form those shown Tale 1.19. Thus, code words will be different for different patterns (i.e., arrangement of parity bits) in parity words.

Table 1.20 Code, data, and parity table (II)
 Code word Data  word Parity word 0010 0111 1000 1101 00 01 10 11 10 11 00 01

After having explained the advantage of parity words, we now discuss the disadvantage of having them in a code word. As before, let us assume that the code words before the addition of parity words are 00, 01, 10, and 11, respectively. Assuming 6 kHz sampling frequency, we find that to transmit 2 bit data, we require a channel bandwidth of 2×8000 = 16 kHz. Now, if we add 2-bit parity words to 2-bit data words to yield 4-bit code words, we find the bandwidth required becomes 4×8000 = 32 kHz. This is twice that required to transmit 2-bit code words. Thus, this example illustrates that addition of parity words increases the bandwidth requirement, which reduces the capacity of the channel.