You are here

Repetition Codes

2 June, 2016 - 15:17

Perhaps the simplest error correcting code is the repetition code.

Figure 6.21 Repetition Code

The upper portion depicts the result of directly modulating the bit stream b (n) into a transmitted signal x (t) using a baseband BPSK signal set. R is the datarate produced by the source coder. If that bit stream passes through a (3,1) channel coder to yield the bit stream c (l), the resulting transmitted signal requires a bit interval T three times smaller than the uncoded version. This reduction in the bit interval means that the transmitted energy/bit decreases by a factor of three, which results in an increased error probability in the receiver. 

Here, the transmitter sends the data bit several times, an odd number of times in fact. Because the error probability pe is always less than \frac{1}{2} we know that more of the bits should be correct rather than in error. Simple majority voting of the received bits (hence the reason for the odd number) determines the transmitted bit more accurately than sending it alone. For example, let's consider the three-fold repetition code: for every bit b (n) emerging from the source coder, the channel coder produces three. Thus, the bit stream emerging from the channel coder c (l) has a data rate three times higher than that of the original bit stream b (n). The coding table illustrates when errors can be corrected and when they can't by the majority-vote decoder.

Table 6.1 Coding Table
Code Probability Bit
000 (1-p_{e})^{3} 0
001 p_{e}(1-p_{e})^{2} 0
010 p_{e}(1-p_{e})^{2} 0
011 p{_{e}}^{2}(1-p_{e}) 1
100 p_{e}(1-p_{e})^{2} 0
101 p{_{e}}^{2}(1-p_{e}) 1
110 p{_{e}}^{2}(1-p_{e}) 1
111 p{_{e}}^{3} 1

In this example, the transmitter encodes 0 as 000. The channel creates an error (changing a 0 into a 1) that with probability pe. The first column lists all possible received datawords and the second the probability of each dataword being received. The last column shows the results of the majority-vote  decoder. When the decoder produces 0, it successfully corrected the errors introduced by the channel (if there were any; the top row corresponds to the case in which no errors occurred). The error probability of the decoders is the sum of the probabilities when the decoder produces 1.

Thus, if one bit of the three bits is received in error, the receiver can correct the error; if more than one error occurs, the channel decoder announces the bit is 1 instead of transmitted value of 0. Using this repetition code, the probability of \hat{b}(n)\neq 0\;equals\; 3pe^{2}\times (1-p_{e})+p{_{e}}^_3.

This probability of a decoding error is always less than pe, the uncoded value, so long as p_{e}< \frac{1}{2}.

Exercise 6.25.1

Demonstrate mathematically that this claim is indeed true. Is

3p{_{e}}^{2}(1-p_{e})+p{_{e}}^{3}\leq p_{e}?