A
simple example of channel coding is data several times in a row, known
as a repetition code. For instance, if each of the information bits,
which together form the information sequence {010011}, is sent 3 times,
the result is the codeword {000 110 000 000 111 111}, as shown in Figure
1.2. The code-rate then is 1/3, meaning for every one bit of information,
three encoded bits, or symbols, are sent (a group of symbols represent
a codeword).
Example: A repetition code.
0
|
1
|
0
|
0
|
1
|
1
|
|
0
|
1
|
0
|
1
|
1
|
0
|
Repeat
the data 3 times |
1
|
1
|
0
|
0
|
1
|
1
|
|
0
|
1
|
0
|
0
|
1
|
1
|
Majority
Voting |
Redundancy,
or the sending of extra symbols, increases the reliability of the received
data. The lower the rate, the more redundancy, which results in better
performance. However, two major drawbacks are that increasing the redundancy
either (1) increases the bandwidth or (2), decreases the information
rate.
Code Performance and Coding Gain :
Error-correcting codes operate in general
by introducing redundancy to combat errors introduced by the noise in
the channel. Thus by introducing coding we have reduced the rate of
information transfer from 1 bit per channel use, to a fraction R = (k/n)
bits per channel use, where k is number of information bits (before
adding redundancy), and n is number of bits after encoding. The ratio
R is called the rate of the code.
In order to introduce the concept of Code
Performance, we need to introduce two definitions. (1): Bit Error Rate
(BER) is the probability of any particular bit being in error within
a transmission. (2): The signal to noise ratio (SNR, expressed as Eb/No)
is the ratio of the channel power to the noise power.
Bit Error Rate (BER) and Signal to Noise
Ratio (SNR) of the transmission determine channel performance. As shown
below in Figure 1.3 [2], low bit error rates are attainable with all
channels, coded or uncoded. The difference, however, is how much power
(SNR) is necessary to achieve a low BER.
For
a fixed BER, the required Eb/No is reduced with error-control coding
by coding gain. The plot in Figure 1.3 shows the coding gains available
with the Golay rate (12/23) code having block length 23. At a bit-error
probability equal to 10-6, the available coding gain using hard decisions
is 2.15dB.
The goal of channel coding is to reduce
the number of errors caused by transmission in a power-limited environment.
Theoretically, the best possible performance any channel can accomplish
is called the Shannon limit A code with Shannon limit performance is
ideal, but so far, has not been achieved in practice. The only practical
code that comes close to the Shannon limit is the RSC Turbo code.
Before we introduce Turbo Code in Section
IV, we will briefly introduce Block Code in Section II and Convolutional
Code in Section III. Then we will present performance comparison within
these three different coding scheme in Section V. After that we will
present our conclusion and future work.