8
BLOCK AND
CONVOLUTIONAL
CHANNEL CODES
In Chapter 7, we treated channel coding and decoding from a general
viewpoint, and showed that even randomly selected codes on the average yield
performances close to the capacity of a channel. In the case of orthogonal
signals, we demonstrated that the channel capcity limit can be achieved as the
‘umber of signals approaches infinity.
In this chapter, we describe specific codes and evaluate their performance
for the additive white gaussian noise channel. In particular, we treat two
classes of codes, namely, linear block codes and convolutional codes. The code
performance is evaluated for both hard-decision decoding and soft-decision
decoding.
81 LINEAR BLOCK CODES
A block code consists of @ set of fixed-length vectors called code words. The
length of a code word is the number of elements in the vector and is denoted
by 1. The elements of a code word are selected from an alphabet of q
elements. When the alphabet consists of two elements, 0 and 1, the code is @
binary code and the elements of any code word are called bits. When the
elements of a code word are selected from an alphabet having g elements
(q >2), the code is nonbinary. It is interesting to note that when q is a power
of 2, ie. g=2" where b is a positive integer, each q-ary element has an
equivalent binary representation consisting of 6 bits, and, thus, a nonbinary
code of block length N can be mapped into a binary code of block length
n= BN.
‘There are 2" possible code words in a binary block code of length n. From
413414 picrtat comsunteaTions
these 2" code words, we may select M = 2 code words (k