+ All Categories
Home > Documents > MIT Principal of Digital Communication

MIT Principal of Digital Communication

Date post: 08-Dec-2016
Category:
Upload: vunhi
View: 231 times
Download: 1 times
Share this document with a friend
359

Click here to load reader

Transcript
Page 1: MIT Principal of Digital Communication

Chapter 1

Introduction

The advent of cheap high-speed global communications ranks as one of the most important developments of human civilization in the second half of the twentieth century.

In 1950, an international telephone call was a remarkable event, and black-and-white television was just beginning to become widely available. By 2000, in contrast, an intercontinental phone call could often cost less than a postcard, and downloading large files instantaneously from anywhere in the world had become routine. The effects of this revolution are felt in daily life from Boston to Berlin to Bangalore.

Underlying this development has been the replacement of analog by digital communications.

Before 1948, digital communications had hardly been imagined. Indeed, Shannon’s 1948 paper [7] may have been the first to use the word “bit.”1

Even as late as 1988, the authors of an important text on digital communications [5] could write in their first paragraph:

Why would [voice and images] be transmitted digitally? Doesn’t digital transmission squander bandwidth? Doesn’t it require more expensive hardware? After all, a voice-band data modem (for digital transmission over a telephone channel) costs ten times as much as a telephone and (in today’s technology) is incapable of transmitting voice signals with quality comparable to an ordinary telephone [authors’ emphasis]. This sounds like a serious indictment of digital transmission for analog signals, but for most applications, the advantages outweigh the disadvantages . . .

But by their second edition in 1994 [6], they were obliged to revise this passage as follows:

Not so long ago, digital transmission of voice and video was considered wasteful of bandwidth, and the cost . . . was of concern. [More recently, there has been] a com-plete turnabout in thinking . . . In fact, today virtually all communication is either already digital, in the process of being converted to digital, or under consideration for conversion.

Shannon explains that “bit” is a contraction of “binary digit,” and credits the neologism to J. W. Tukey.

1

1

Page 2: MIT Principal of Digital Communication

2 CHAPTER 1. INTRODUCTION

The most important factor in the digital communications revolution has undoubtedly been the staggering technological progress of microelectronics and optical fiber technology. For wireline and wireless radio transmission (but not optical), another essential factor has been progress in channel coding, data compression and signal processing algorithms. For instance, data compres-sion algorithms that can encode telephone-quality speech at 8–16 kbps and voiceband modem algorithms that can transmit 40–56 kbps over ordinary telephone lines have become commodities that require a negligible fraction of the capacity of today’s personal-computer microprocessors.

This book attempts to tell the channel coding part of this story. In particular, it focusses on coding for the point-to-point additive white Gaussian noise (AWGN) channel. This choice is made in part for pedagogical reasons, but also because in fact almost all of the advances in practical channel coding have taken place in this arena. Moreover, performance on the AWGN channel is the standard benchmark for comparison of different coding schemes.

1.1 Shannon’s grand challenge

The field of information theory and coding has a unique history, in that many of its ultimate limits were determined at the very beginning, in Shannon’s founding paper [7].

Shannon’s most celebrated result is his channel capacity theorem, which we will review in Chapter 3. This theorem states that for many common classes of channels there exists a channel capacity C such that there exist codes at any rate R < C that can achieve arbitrarily reliable transmission, whereas no such codes exist for rates R > C. For a band-limited AWGN channel, the capacity C in bits per second (b/s) depends on only two parameters, the channel bandwidth W in Hz and the signal-to-noise ratio SNR, as follows:

C = W log2(1 + SNR) b/s.

Shannon’s theorem has posed a magnificent challenge to succeeding generations of researchers. Its proof is based on randomly chosen codes and optimal (maximum likelihood) decoding. In practice, it has proved to be remarkably difficult to find classes of constructive codes that can be decoded by feasible decoding algorithms at rates which come at all close to the Shannon limit. Indeed, for a long time this problem was regarded as practically insoluble. Each significant advance toward this goal has been awarded the highest accolades the coding community has to offer, and most such advances have been immediately incorporated into practical systems.

In the next two sections we give a brief history of these advances for two different practical channels: the deep-space channel and the telephone channel. The deep-space channel is an unlimited-bandwidth, power-limited AWGN channel, whereas the telephone channel is very much bandwidth-limited. (We realize that many of the terms used here may be unfamiliar to the reader at this point, but we hope that these surveys will give at least an impressionistic picture. After reading later chapters, the reader may wish to return to reread these sections.)

Within the past decade there have been remarkable breakthroughs, principally the invention of turbo codes [1] and the rediscovery of low-density parity check (LDPC) codes [4], which have allowed the capacity of AWGN and similar channels to be approached in a practical sense. For example, Figure 1 (from [2]) shows that an optimized rate-1/2 LDPC code on an AWGN channel can approach the relevant Shannon limit within 0.0045 decibels (dB) in theory, and within 0.04 dB with an arguably practical code of block length 107 bits. Practical systems using block lengths of the order of 104–105 bits now approach the Shannon limit within tenths of a dB.

Page 3: MIT Principal of Digital Communication

3 1.2. BRIEF HISTORY OF CODES FOR DEEP-SPACE MISSIONSB

ER

10−2

−310

−410

10−5

−610

Shannon limit

dl=100d

l=200

Threshold (dl=100)Threshold (d

l=200)

Threshold (dl=8000)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 E

b/N

0 [dB]

Figure 1. Bit error rate vs. Eb/N0 in dB for optimized irregular rate-1/2 binary LDPC codes with maximum left degree dl. Threshold: theoretical limit as block length → ∞. Solid curves: simulation results for block length = 107 . Shannon limit: binary codes, R = 1/2. (From [2].)

Here we will tell the story of how Shannon’s challenge has been met for the AWGN channel, first for power-limited channels, where binary codes are appropriate, and then for bandwidth-limited channels, where multilevel modulation must be used. We start with the simplest schemes and work up to capacity-approaching codes, which for the most part follows the historical sequence.

1.2 Brief history of codes for deep-space missions

The deep-space communications application has been the arena in which most of the most powerful coding schemes for the power-limited AWGN channel have been first deployed, because:

• The only noise is AWGN in the receiver front end;

• Bandwidth is effectively unlimited;

• Fractions of a dB have huge scientific and economic value;

• Receiver (decoding) complexity is effectively unlimited.

Page 4: MIT Principal of Digital Communication

4 CHAPTER 1. INTRODUCTION

For power-limited AWGN channels, we will see that there is no penalty to using binary codes with binary modulation rather than more general modulation schemes.

The first coded scheme to be designed was a simple (32, 6, 16) biorthogonal code for the Mariner missions (1969), decoded by efficient maximum-likelihood decoding (the fast Hadamard trans-form, or “Green machine;” see Exercise 2, below). We will see that such a scheme can achieve a nominal coding gain of 3 (4.8 dB). At a target error probability per bit of Pb(E) ≈ 5 · 10−3, the actual coding gain achieved was only about 2.2 dB.

The first coded scheme actually to be launched was a rate-1/2 convolutional code with con-straint length ν = 20 for the Pioneer 1968 mission. The receiver used 3-bit soft decisions and sequential decoding implemented on a general-purpose 16-bit minicomputer with a 1 MHz clock rate. At 512 b/s, the actual coding gain achieved at Pb(E) ≈ 5 · 10−3 was about 3.3 dB.

During the 1970’s, the NASA standard became a concatenated coding scheme based on a ν = 6, rate-1/3 inner convolutional code and a (255, 223, 33) Reed-Solomon outer code over F256. Such a system can achieve a real coding gain of about 8.3 dB at Pb(E) ≈ 10−6 .

When the primary antenna failed to deploy on the Galileo mission (circa 1992), an elaborate concatenated coding scheme using a ν = 14 rate-1/4 inner code with a Big Viterbi Decoder (BVD) and a set of variable-strength RS outer codes was reprogrammed into the spacecraft computers. This scheme was able to operate at Eb/N0 ≈ 0.8 dB at Pb(E) ≈ 2 · 10−7, for a real coding gain of about 10.2 dB.

Turbo coding systems for deep-space communications have been developed by NASA’s Jet Propulsion Laboratory (JPL) and others to get within 1 dB of the Shannon limit, and have now been standardized.

For a more comprehensive history of coding for deep-space channels, see [3].

1.3 Brief history of telephone-line modems

For several decades the telephone channel was the arena in which the most powerful coding and modulation schemes for the bandwidth-limited AWGN channel were first developed and deployed, because:

• The telephone channel is fairly well modeled as a band-limited AWGN channel;

• One dB has a significant commercial value;

• Data rates are low enough that a considerable amount of processing can be done per bit.

To approach the capacity of bandwidth-limited AWGN channels, multilevel modulation must be used. Moreover, it is important to use as much of the available bandwidth as possible.

The earliest modems developed in the 1950s and 1960s (Bell 103 and 202, and international standards V.21 and V.23) used simple binary frequency-shift keying (FSK) to achieve data rates of 300 and 1200 b/s, respectively. Implementation was entirely analog.

The first synchronous “high-speed” modem was the Bell 201 (later V.24), a 2400 b/s modem which was introduced about 1962. This modem used four-phase (4-PSK) modulation at 1200 symbols/s, so the nominal (Nyquist) bandwidth was 1200 Hz. However, because the modulation pulse had 100% rolloff, the actual bandwidth used was closer to 2400 Hz.

Page 5: MIT Principal of Digital Communication

5 1.3. BRIEF HISTORY OF TELEPHONE-LINE MODEMS

The first successful 4800 b/s modem was the Milgo 4400/48 (later V.27), which was introduced about 1967. This modem used eight-phase (8-PSK) modulation at 1600 symbols/s, so the nominal (Nyquist) bandwidth was 1600 Hz. “Narrow-band” filters with 50% rolloff kept the actual bandwidth used to 2400 Hz.

The first successful 9600 b/s modem was the Codex 9600C (later V.29), which was introduced in 1971. This modem used quadrature amplitude modulation (QAM) at 2400 symbols/s with an unconventional 16-point signal constellation (see Exercise 3, below) to combat combined “phase jitter” and AWGN. More importantly, it used digital adaptive linear equalization to keep the actual bandwidth needed to not much more than the Nyquist bandwidth of 2400 Hz.

All of these modems were designed for private point-to-point conditioned voice-grade lines, which use four-wire circuits (independent transmission in each direction) whose quality is higher and more consistent than that of the typical telephone connection in the two-wire (simultaneous transmission in both directions) public switched telephone network (PSTN).

The first international standard to use coding was the V.32 standard (1986) for 9600 b/s transmission over the PSTN (later raised to 14.4 kb/s in V.32bis ). This modem used an 8-state, two-dimensional (2D) rotationally invariant Wei trellis code to achieve a coding gain of about 3.5 dB with a 32-QAM (later 128-QAM) constellation at 2400 symbols/s, again with an adaptive linear equalizer. Digital echo cancellation was also introduced to combat echoes on two-wire channels.

The “ultimate modem standard” was V.34 (1994) for transmission at up to 28.8 kb/s over the PSTN (later raised to 33.6 kb/s in V.34bis). This modem used a 16-state, 4D rotationally invariant Wei trellis code to achieve a coding gain of about 4.0 dB with a variable-sized QAM constellation with up to 1664 points. An optional 32-state, 4D trellis code with an additional coding gain of 0.3 dB and four times (4x) the decoding complexity and a 64-state, 4D code with a further 0.15 dB coding gain and a further 4x increase in complexity were also provided. A 16D “shell mapping” constellation shaping scheme provided an additional shaping gain of about 0.8 dB (see Exercise 4, below). A variable symbol rate of up to 3429 symbols/s was used, with symbol rate and data rate selection determined by “line probing” of individual channels. Nonlinear transmitter precoding combined with adaptive linear equalization in the receiver was used for equalization, again with echo cancellation. In short, this modem used almost every tool in the AWGN channel toolbox.

However, this standard was shortly superseded by V.90 (1998). V.90 is based on a completely different, non-AWGN model for the telephone channel: namely, it recognizes that within today’s PSTN, analog signals are bandlimited, sampled and quantized to one of 256 amplitude levels at 8 kHz, transmitted digitally at 64 kb/s, and then eventually reconstructed by pulse amplitude modulation (PAM). By gaining direct access to the 64 kb/s digital data stream at a central site, and by using a well-spaced subset of the pre-existing nonlinear 256-PAM constellation, data can easily be transmitted at 40–56 kb/s (see Exercise 5, below). In V.90, such a scheme is used for downstream transmission only, with V.34 modulation upstream. In V.92 (2000) this scheme has been extended to the more difficult upstream direction.

Neither V.90 nor V.92 uses coding, nor the other sophisticated techniques of V.34. In this sense, the end of the telephone-line modem story is a bit of a fizzle. However, techniques similar to those of V.34 are now used in higher-speed wireline modems, such as digital subscriber line (DSL) modems, as well as on wireless channels such as digital cellular. In other words, the story continues in other settings.

Page 6: MIT Principal of Digital Communication

6 CHAPTER 1. INTRODUCTION

1.4 Exercises

In this section we offer a few warm-up exercises to give the reader some preliminary feeling for data communication on the AWGN channel.

In these exercises the underlying channel model is assumed to be a discrete-time AWGN channel whose output sequence is given by Y = X + N, where X is a real input data sequence and N is a sequence of real independent, identically distributed (iid) zero-mean Gaussian noise variables. This model will be derived from a continuous-time model in Chapter 2.

We will also give the reader some practice in the use of decibels (dB). In general, a dB represen-tation is useful wherever logarithms are useful; i.e., wherever a real number is a multiplicative factor of some other number, and particularly for computing products of many factors. The dB scale is simply the logarithmic mapping

ratio or multiplicative factor of α ↔ 10 log10 α dB,

where the scaling is chosen so that the decade interval 1–10 maps to the interval 0–10. (In other words, the value of α in dB is logβ α, where β = 100.1 = 1.2589....) This scale is convenient for human memory and calculation. It is often useful to have the little log table below committed to memory, even in everyday life (see Exercise 1, below).

α dB dB (round numbers) (two decimal places)

1 0 0.00 1.25 1 0.97 2 3 3.01

2.5 4 3.98 e 4.3 4.34 3 4.8 4.77 π 5 4.97 4 6 6.02 5 7 6.99 8 9 9.03 10 10 10.00

Exercise 1. (Compound interest and dB) How long does it take to double your money at an interest rate of P %? The bankers’ “Rule of 72” estimates that it takes about 72/P years; e.g., at a 5% interest rate compounded annually, it takes about 14.4 years to double your money.

(a) An engineer decides to interpolate the dB table above linearly for 1 ≤ 1 + p ≤ 1.25; i.e.,

ratio or multiplicative factor of 1 + p ↔ 4p dB.

Show that this corresponds to a “Rule of 75;” e.g., at a 5% interest rate compounded annually, it takes 15 years to double your money.

(b) A mathematician linearly approximates the dB table for p ≈ 0 by noting that as p → 0, ln(1+p) → p, and translates this into a “Rule of N ” for some real number N . What is N ? Using this rule, how many years will it take to double your money at a 5% interest rate, compounded annually? What happens if interest is compounded continuously?

(c) How many years will it actually take to double your money at a 5% interest rate, com-pounded annually? [Hint: 10 log10 7 = 8.45 dB.] Whose rule best predicts the correct result?

Page 7: MIT Principal of Digital Communication

� �

@ �

7 1.4. EXERCISES

Exercise 2. (Biorthogonal codes) A 2m × 2m {±1}-valued Hadamard matrix H2m may be constructed recursively as the m-fold tensor product of the 2 × 2 matrix

+1 +1 H2 =

+1 −1 ,

as follows: � � +H2m−1 +H2m−1

H2m = .+H2m−1 −H2m−1

(a) Show by induction that:

(i) (H2m )T = H2m , where T denotes the transpose; i.e., H2m is symmetric;

(ii) The rows or columns of H2m form a set of mutually orthogonal vectors of length 2m;

(iii) The first row and the first column of H2m consist of all +1s;

(iv) There are an equal number of +1s and −1s in all other rows and columns of H2m ;

(v) H2m H2m = 2mI2m ; i.e., (H2m )−1 = 2−mH2m , where −1 denotes the inverse.

(b) A biorthogonal signal set is a set of real equal-energy orthogonal vectors and their negatives. Show how to construct a biorthogonal signal set of size 64 as a set of {±1}-valued sequences of length 32.

(c) A simplex signal set S is a set of real equal-energy vectors that are equidistant and that have zero mean m(S) under an equiprobable distribution. Show how to construct a simplex signal set of size 32 as a set of 32 {±1}-valued sequences of length 31. [Hint: The fluctuation O − m(O) of a set O of orthogonal real vectors is a simplex signal set.]

(d) Let Y = X+N be the received sequence on a discrete-time AWGN channel, where the input sequence X is chosen equiprobably from a biorthogonal signal set B of size 2m+1 constructed as in part (b). Show that the following algorithm implements a minimum-distance decoder for B (i.e., given a real 2m-vector y, it finds the closest x ∈ B to y):

(i) Compute z = H2m y, where y is regarded as a column vector;

(ii) Find the component zj of z with largest magnitude |zj |; (iii) Decode to sgn(zj )xj , where sgn(zj ) is the sign of the largest-magnitude component zj and

xj is the corresponding column of H2m .

(e) Show that a circuit similar to that shown below for m = 2 can implement the 2m × 2m

matrix multiplication z = H2m y with a total of only m×2m addition and subtraction operations. (This is called the “fast Hadamard transform,” or “Walsh transform,” or “Green machine.”)

y1 - - - z1+@�+ A� ��y2 @R A-� - z2+-� − A A� �� y3 - A AU - z3+ � �- −A� �@R AUy4 -� − � - − - z4

Figure 2. Fast 2m × 2m Hadamard transform for m = 2.

Page 8: MIT Principal of Digital Communication

8 CHAPTER 1. INTRODUCTION

Exercise 3. (16-QAM signal sets) Three 16-point 2-dimensional quadrature amplitude mod-ulation (16-QAM) signal sets are shown in Figure 3, below. The first is a standard 4 × 4 signal set; the second is the V.29 signal set; the third is based on a hexagonal grid and is the most power-efficient 16-QAM signal set known. The first two have 90◦ symmetry; the last, only 180◦ . All have a minimum squared distance between signal points of d2 = 4. min

r rr r−3 −1 1r rr r

r √r 2 3r r r r r r √r r r r 3r r r r

3 −5r −3r −1 1 3r 5r −2.r5−0.r5 1.r5 3.r5r r r r √r r r r − 3 √r r r r r r r −2 3 r

(a) (b) (c)

Figure 3. 16-QAM signal sets. (a) (4 × 4)-QAM; (b) V.29; (c) hexagonal.

(a) Compute the average energy (squared norm) of each signal set if all points are equiprobable. Compare the power efficiencies of the three signal sets in dB.

(b) Sketch the decision regions of a minimum-distance detector for each signal set.

(c) Show that with a phase rotation of ±10◦ the minimum distance from any rotated signal point to any decision region boundary is substantially greatest for the V.29 signal set.

Exercise 4. (Shaping gain of spherical signal sets) In this exercise we compare the power efficiency of n-cube and n-sphere signal sets for large n.

An n-cube signal set is the set of all odd-integer sequences of length n within an n-cube of side 2M centered on the origin. For example, the signal set of Figure 3(a) is a 2-cube signal set with M = 4.

An n-sphere signal set is the set of all odd-integer sequences of length n within an n-sphere of squared radius r2 centered on the origin. For example, the signal set of Figure 3(a) is also a 2-sphere signal set for any squared radius r2 in the range 18 ≤ r2 < 25. In particular, it is a 2-sphere signal set for r2 = 64/π = 20.37, where the area πr2 of the 2-sphere (circle) equals the area (2M )2 = 64 of the 2-cube (square) of the previous paragraph.

Both n-cube and n-sphere signal sets therefore have minimum squared distance between signal points d2

min = 4 (if they are nontrivial), and n-cube decision regions of side 2 and thus volume 2n associated with each signal point. The point of the following exercise is to compare their average energy using the following large-signal-set approximations:

• The number of signal points is approximately equal to the volume V (R) of the bounding n-cube or n-sphere region R divided by 2n, the volume of the decision region associated with each signal point (an n-cube of side 2).

• The average energy of the signal points under an equiprobable distribution is approximately equal to the average energy E(R) of the bounding n-cube or n-sphere region R under a uniform continuous distribution.

Page 9: MIT Principal of Digital Communication

9 1.4. EXERCISES

(a) Show that if R is an n-cube of side 2M for some integer M , then under the two above approximations the approximate number of signal points is M n and the approximate average energy is nM 2/3. Show that the first of these two approximations is exact.

(b) For n even, if R is an n-sphere of radius r, compute the approximate number of signal points and the approximate average energy of an n-sphere signal set, using the following known expressions for the volume V⊗(n, r) and the average energy E⊗(n, r) of an n-sphere of radius r:

(πr2)n/2

V⊗(n, r) = (n/2)!

;

2nrE⊗(n, r) = .

n + 2

(c) For n = 2, show that a large 2-sphere signal set has about 0.2 dB smaller average energy than a 2-cube signal set with the same number of signal points.

(d) For n = 16, show that a large 16-sphere signal set has about 1 dB smaller average energy than a 16-cube signal set with the same number of signal points. [Hint: 8! = 40320 (46.06 dB).]

(e) Show that as n → ∞ a large n-sphere signal set has a factor of πe/6 (1.53 dB) smaller average energy than an n-cube signal set with the same number of signal points. [Hint: Use Stirling’s approximation, m! → (m/e)m as m → ∞.]

Exercise 5. (56 kb/s PCM modems)

This problem has to do with the design of “56 kb/s PCM modems” such as V.90 and V.92.

In the North American telephone network, voice is commonly digitized by low-pass filtering to about 3.8 KHz, sampling at 8000 samples per second, and quantizing each sample into an 8-bit byte according to the so-called “µ law.” The µ law specifies 255 distinct signal levels, which are a quantized, piecewise-linear approximation to a logarithmic function, as follows:

• 1 level at 0;

• 15 positive levels evenly spaced with d = 2 between 2 and 30 (i.e., 2, 4, 6, 8, . . . , 30);

• 16 positive levels evenly spaced with d = 4 between 33 and 93;

• 16 positive levels evenly spaced with d = 8 between 99 and 219;

• 16 positive levels evenly spaced with d = 16 between 231 and 471;

• 16 positive levels evenly spaced with d = 32 between 495 and 975;

• 16 positive levels evenly spaced with d = 64 between 1023 and 1983;

• 16 positive levels evenly spaced with d = 128 between 2079 and 3999;

• 16 positive levels evenly spaced with d = 256 between 4191 and 8031;

• plus 127 symmetric negative levels.

The resulting 64 kb/s digitized voice sequence is transmitted through the network and ulti-mately reconstructed at a remote central office by pulse amplitude modulation (PAM) using a µ-law digital/analog converter and a 4 KHz low-pass filter.

Page 10: MIT Principal of Digital Communication

10 CHAPTER 1. INTRODUCTION

For a V.90 modem, one end of the link is assumed to have a direct 64 kb/s digital connection and to be able to send any sequence of 8000 8-bit bytes per second. The corresponding levels are reconstructed at the remote central office. For the purposes of this exercise, assume that the reconstruction is exactly according to the µ-law table above, and that the reconstructed pulses are then sent through an ideal 4 KHz additive AWGN channel to the user.

(a) Determine the maximum number M of levels that can be chosen from the 255-point µ-law constellation above such that the minimum separation between levels is d = 2, 4, 8, 16, 64, 128, 256, 512, or 1024, respectively.

(b) These uncoded M -PAM subconstellations may be used to send up to r = log2 M bits per symbol. What level separation can be obtained while sending 40 kb/s? 48 kb/s? 56 kb/s?

(c) How much more SNR in dB is required to transmit reliably at 48 kb/s compared to 40 kb/s? At 56 kb/s compared to 48 kb/s?

References

[1] C. Berrou, A. Glavieux and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo codes,” Proc. 1993 Int. Conf. Commun. (Geneva), pp. 1064–1070, May 1993.

[2] S.-Y. Chung, G. D. Forney, Jr., T. J. Richardson and R. Urbanke, “On the design of low-density parity-check codes within 0.0045 dB from the Shannon limit,” IEEE Commun. Letters, vol. 5, pp. 58–60, Feb. 2001.

[3] D. J. Costello, Jr., J. Hagenauer, H. Imai and S. B. Wicker, “Applications of error-control coding,” IEEE Trans. Inform. Theory, vol. 44, pp. 2531–2560, Oct. 1998.

[4] R. G. Gallager, Low-Density Parity-Check Codes. Cambridge, MA: MIT Press, 1962.

[5] E. A. Lee and D. G. Messerschmitt, Digital Communication (first edition). Boston: Kluwer, 1988.

[6] E. A. Lee and D. G. Messerschmitt, Digital Communication (second edition). Boston: Kluwer, 1994.

[7] C. E. Shannon, “A mathematical theory of communication,” Bell Syst. Tech. J., vol. 27, pp. 379–423 and 623–656, 1948.

Page 11: MIT Principal of Digital Communication

Chapter 2

Discrete-time and continuous-time AWGN channels

In this chapter we begin our technical discussion of coding for the AWGN channel. Our purpose is to show how the continuous-time AWGN channel model Y (t) = X(t) + N(t) may be reduced to an equivalent discrete-time AWGN channel model Y = X + N, without loss of generality or optimality. This development relies on the sampling theorem and the theorem of irrelevance. More practical methods of obtaining such a discrete-time model are orthonormal PAM or QAM modulation, which use an arbitrarily small amount of excess bandwidth. Important parameters of the continuous-time channel such as SNR, spectral efficiency and capacity carry over to discrete time, provided that the bandwidth is taken to be the nominal (Nyquist) bandwidth. Readers who are prepared to take these assertions on faith may skip this chapter.

2.1 Continuous-time AWGN channel model

The continuous-time AWGN channel is a random channel whose output is a real random process

Y (t) = X(t) + N(t),

where X(t) is the input waveform, regarded as a real random process, and N(t) is a real white Gaussian noise process with single-sided noise power density N0 which is independent of X(t).

Moreover, the input X(t) is assumed to be both power-limited and band-limited. The average input power of the input waveform X(t) is limited to some constant P . The channel band B is a positive-frequency interval with bandwidth W Hz. The channel is said to be baseband if B = [0, W ], and passband otherwise. The (positive-frequency) support of the Fourier transform of any sample function x(t) of the input process X(t) is limited to B.

The signal-to-noise ratio SNR of this channel model is then

PSNR = ,

N0W

where N0W is the total noise power in the band B. The parameter N0 is defined by convention to make this relationship true; i.e., N0 is the noise power per positive-frequency Hz. Therefore the double-sided power spectral density of N(t) must be Snn(f) = N0/2, at least over the bands ±B.

11

Page 12: MIT Principal of Digital Communication

12 CHAPTER 2. DISCRETE-TIME AND CONTINUOUS-TIME AWGN CHANNELS

The two parameters W and SNR turn out to characterize the channel completely for digital communications purposes; the absolute scale of P and N0 and the location of the band B do not affect the model in any essential way. In particular, as we will show in Chapter 3, the capacity of any such channel in bits per second is

C[b/s] = W log2(1 + SNR) b/s.

If a particular digital communication scheme transmits a continuous bit stream over such a channel at rate R b/s, then the spectral efficiency of the scheme is said to be ρ = R/W (b/s)/Hz (read as “bits per second per Hertz”). The Shannon limit on spectral efficiency is therefore

C[(b/s)/Hz] = log2(1 + SNR) (b/s)/Hz;

i.e., reliable transmission is possible when ρ < C[(b/s)/Hz], but not when ρ > C[(b/s)/Hz].

2.2 Signal spaces

In the next few sections we will briefly review how this continuous-time model may be reduced to an equivalent discrete-time model via the sampling theorem and the theorem of irrelevance. We assume that the reader has seen such a derivation previously, so our review will be rather succinct.

The set of all real finite-energy signals x(t), denoted by L2, is a real vector space; i.e., it is closed under addition and under multiplication by real scalars. The inner product of two signals x(t), y(t) ∈ L2 is defined by

〈x(t), y(t)〉 = x(t)y(t) dt.

The squared Euclidean norm (energy) of x(t) ∈ L2 is defined as ||x(t)||2 = 〈x(t), x(t)〉 < ∞, and the squared Euclidean distance between x(t), y(t) ∈ L2 is d2(x(t), y(t)) = ||x(t) − y(t)||2. Two signals in L2 are regarded as the same (L2-equivalent) if their distance is 0. This allows the following strict positivity property to hold, as it must for a proper distance metric:

||x(t)||2 ≥ 0, with strict inequality unless x(t) is L2-equivalent to 0.

Every signal x(t) ∈ L2 has an L2 Fourier transform

x(t)e −2πiftx(f) = dt,

such that, up to L2-equivalence, x(t) can be recovered by the inverse Fourier transform:

2πiftdf. x(t) = x(f)eˆ

We write ˆ x(f)), and x(t) ↔ ˆx(f) = F (x(t)), x(t) = F −1(ˆ x(f).

It can be shown that an L2 signal x(t) is L2-equivalent to a signal which is continuous except at a discrete set of points of discontinuity (“almost everywhere”); therefore so is x(f). The values of an L2 signal or its transform at points of discontinuity are immaterial.

Page 13: MIT Principal of Digital Communication

2.3. THE SAMPLING THEOREM 13

By Parseval’s theorem, the Fourier transform preserves inner products:

〈x(t), y(t)〉 = 〈ˆ ˆ yx(f), y(f)〉 = x(f)ˆ∗(f) df.

In particular, ||x(t)||2 = ||x(f)||2 .

A signal space is any subspace S ⊆ L2. For example, the set of L2 signals that are time-limited to an interval [0, T ] (“have support [0, T ]”) is a signal space, as is the set of L2 signals whose Fourier transforms are nonzero only in ±B (“have frequency support ±B”).

Every signal space S ⊆ L2 has an orthogonal basis {φk (t), k ∈ I}, where I is some discrete index set, such that every x(t) ∈ S may be expressed as

� 〈x(t), φk (t)〉 x(t) = ||φk (t)||2 φk (t),

k∈I

up to L2 equivalence. This is called an orthogonal expansion of x(t).

Of course this expression becomes particularly simple if {φk (t)} is an orthonormal basis with ||φk (t)||2 = 1 for all k ∈ I. Then we have the orthonormal expansion

x(t) = xk φk(t), k∈I

where x = {xk = 〈x(t), φk (t)〉, k ∈ I} is the corresponding set of orthonormal coefficients. From this expression, we see that inner products are preserved in an orthonormal expansion; i.e.,

〈x(t), y(t)〉 = 〈x, y〉 = xk yk . k∈I

In particular, ||x(t)||2 = ||x||2 .

2.3 The sampling theorem

The sampling theorem allows us to convert a continuous signal x(t) with frequency support [−W, W ] (i.e., a baseband signal with bandwidth W ) to a discrete-time sequence of samples {x(kT ), k ∈ Z} at a rate of 2W samples per second, with no loss of information.

The sampling theorem is basically an orthogonal expansion for the space L2[0, W ] of sig-nals that have frequency support [−W, W ]. If T = 1/2W , then the complex exponentials {exp(2πifkT ), k ∈ Z} form an orthogonal basis for the space of Fourier transforms with support [−W, W ]. Therefore their scaled inverse Fourier transforms {φk (t) = sincT (t − kT ), k ∈ Z} form an orthogonal basis for L2[0, W ], where sincT (t) = (sin πt/T )/(πt/T ). Since ||sincT (t)||2 = T , every x(t) ∈ L2[0, W ] may therefore be expressed up to L2 equivalence as

1 x(t) = 〈x(t), sincT (t − kT )〉sincT (t − kT ).

T k∈Z

1Moreover, evaluating this equation at t = jT gives x(jT ) = T 〈x(t), sincT (t − jT )〉 for all j ∈ Z (provided that x(t) is continuous at t = jT ), since sincT ((j − k)T ) = 1 for k = j and sincT ((j − k)T ) = 0 for k �= j. Thus if x(t) ∈ L2[0, W ] is continuous, then

x(t) = x(kT )sincT (t − kT ). k∈Z

This is called the sampling theorem.

Page 14: MIT Principal of Digital Communication

14 CHAPTER 2. DISCRETE-TIME AND CONTINUOUS-TIME AWGN CHANNELS

Since inner products are preserved in an orthonormal expansion, and here the orthonormal √ 1coefficients are xk = √ 〈x(t), sincT (t − kT )〉 = Tx(kT ), we have T

〈x(t), y(t)〉 = 〈x, y〉 = T x(kT )y(kT ). k∈Z

The following exercise shows similarly how to convert a continuous passband signal x(t) with bandwidth W (i.e., with frequency support ±[fc − W/2, fc + W/2] for some center frequency fc > W/2) to a discrete-time sequence of sample pairs {(xc,k, xs,k), k ∈ Z} at a rate of W pairs per second, with no loss of information.

Exercise 2.1 (Orthogonal bases for passband signal spaces)

(a) Show that if {φk (t)} is an orthogonal set of signals in L2[0, W ], then {φk (t) cos 2πfct, φk (t) sin 2πfct} is an orthogonal set of signals in L2[fc − W, fc + W ], the set of signals in L2 that have frequency support ±[fc − W, fc + W ], provided that fc ≥ W .

[Hint: use the facts that F(φk (t) cos 2πfct) = (φk (f − fc) + φk (f + fc))/2 and F(φk(t) sin 2πfct) = (φk (f − fc) − φk (f + fc))/2i, plus Parseval’s theorem.]

(b) Show that if the set {φk(t)} is an orthogonal basis for L2[0, W ], then the set {φk (t) cos 2πfct, φk (t) sin 2πfct} is an orthogonal basis for L2[fc − W, fc + W ], provided that fc ≥ W .

[Hint: show that every x(t) ∈ L2[fc − W, fc + W ] may be written as x(t) = xc(t) cos 2πfct + xs(t) sin 2πfct for some xc(t), xs(t) ∈ L2[0, W ].]

(c) Conclude that every x(t) ∈ L2[fc − W, fc + W ] may be expressed up to L2 equivalence as

� 1 x(t) = (xc,k cos 2πfct + xs,k sin 2πfct) sincT (t − kT ), T =

2W,

k∈Z

for some sequence of pairs {(xc,k, xs,k ), k ∈ Z}, and give expressions for xc,k and xs,k .

2.4 White Gaussian noise

The question of how to define a white Gaussian noise (WGN) process N(t) in general terms is plagued with mathematical difficulties. However, when we are given a signal space S ⊆ L2 with an orthonormal basis as here, then defining WGN with respect to S is not so problematic. The following definition captures the essential properties that hold in this case:

Definition 2.1 (White Gaussian noise with respect to a signal space S) Let S ⊆ L2

be a signal space with an orthonormal basis {φk (t), k ∈ I}. A Gaussian process N(t) is de-fined as white Gaussian noise with respect to S with single-sided power spectral density N0 if

(a) The sequence {Nk = 〈N(t), φk (t)〉, k ∈ I} is a sequence of iid Gaussian noise variables with mean zero and variance N0/2;

(b) Define the “in-band noise” as the projection N|S (t) = Nk φk (t) of N(t) onto the signal k∈I space S, and the “out-of-band noise” as N|S⊥ (t) = N(t) −N|S (t). Then N|S⊥ (t) is a process which is jointly Gaussian with N|S (t), has sample functions which are orthogonal to S, is uncorrelated with N|S (t), and thus is statistically independent of N|S (t).

Page 15: MIT Principal of Digital Communication

� �

2.4. WHITE GAUSSIAN NOISE 15

For example, any stationary Gaussian process whose single-sided power spectral density is equal to N0 within a band B and arbitrary elsewhere is white with respect to the signal space L2(B) of signals with frequency support ±B.

Exercise 2.2 (Preservation of inner products) Show that a Gaussian process N(t) is white with respect to a signal space S ⊆ L2 with psd N0 if and only if for any signals x(t), y(t) ∈ S,

E[〈N(t), x(t)〉〈N(t), y(t)〉] = N0 〈x(t), y(t)〉.2

Here we are concerned with the detection of signals that lie in some signal space S in the presence of additive white Gaussian noise. In this situation the following theorem is fundamental:

Theorem 2.1 (Theorem of irrelevance) Let X(t) be a random signal process whose sample functions x(t) lie in some signal space S ⊆ L2 with an orthonormal basis {φk (t), k ∈ I}, let N(t) be a Gaussian noise process which is independent of X(t) and white with respect to S, and let Y (t) = X(t) + N(t). Then the set of samples

Yk = 〈Y (t), φk (t)〉, k ∈ I,

is a set of sufficient statistics for detection of X(t) from Y (t).

Sketch of proof. We may write Y (t) = Y|S (t) + Y|S⊥ (t),

where Y|S (t) = Yk φk (t) and Y|S⊥ (t) = Y (t) − Y|S (t). Since Y (t) = X(t) + N(t) and k

X(t) = 〈X(t), φk(t)〉φk (t), k

since all sample functions of X(t) lie in S, we have

Y (t) = Yk φk (t) + N|S⊥ (t), k

where N|S⊥ (t) = N(t) − 〈N(t), φk (t)〉φk (t). By Definition 2.1, N|S⊥ (t) is independent of k N|S (t) = 〈N(t), φk(t)〉φk (t), and by hypothesis it is independent of X(t). Thus the proba-k bility distribution of X(t) given Y|S (t) = Yk φk (t) and Y|S⊥ (t) = N|S⊥ (t) depends only on k Y|S (t), so without loss of optimality in detection of X(t) from Y (t) we can disregard Y|S⊥ (t); i.e., Y|S (t) is a sufficient statistic. Moreover, since Y|S (t) is specified by the samples {Yk }, these samples equally form a set of sufficient statistics for detection of X(t) from Y (t).

The sufficient statistic Y|S (t) may alternatively be generated by filtering out the out-of-band noise N|S⊥ (t). For example, for the signal space L2(B) of signals with frequency support ±B, we may obtain Y|S (t) by passing Y (t) through a brick-wall filter which passes all frequency

1components in B and rejects all components not in B. 1Theorem 2.1 may be extended to any model Y (t) = X(t) + N (t) in which the out-of-band noise N|S⊥ (t) =

N (t) − N|S (t) is independent of both the signal X(t) and the in-band noise N|S (t) = Nk φk (t); e.g., to models k in which the out-of-band noise contains signals from other independent users. In the Gaussian case, independence of the out-of-band noise is automatic; in more general cases, independence is an additional assumption.

Page 16: MIT Principal of Digital Communication

� �

16 CHAPTER 2. DISCRETE-TIME AND CONTINUOUS-TIME AWGN CHANNELS

Combining Definition 2.1 and Theorem 2.1, we conclude that for any AWGN channel in which the signals are confined to a sample space S with orthonormal basis {φk(t), k ∈ I}, we may without loss of optimality reduce the output Y (t) to the set of samples

Yk = 〈Y (t), φk(t)〉 = 〈X(t), φk (t)〉 + 〈N(t), φk (t)〉 = Xk + Nk , k ∈ I,

where {Nk, k ∈ I} is a set of iid Gaussian variables with mean zero and variance N0/2. Moreover, if x1(t), x2(t) ∈ S are two sample functions of X(t), then this orthonormal expansion preserves their inner product:

〈x1(t), x2(t)〉 = 〈x1,x2〉, where x1 and x2 are the orthonormal coefficient sequences of x1(t) and x2(t), respectively.

2.5 Continuous time to discrete time

We now specialize these results to our original AWGN channel model Y (t) = X(t) + N(t), where the average power of X(t) is limited to P and the sample functions of X(t) are required to have positive frequency support in a band B of width W . For the time being we consider the baseband case in which B = [0, W ].

The signal space is then the set S = L2[0, W ] of all finite-energy signals x(t) whose Fourier transform has support ±B. The sampling theorem shows that {φk (t) = √1 sincT (t−kT ), k ∈ Z}

T is an orthonormal basis for this signal space, where T = 1/2W , and that therefore without loss of generality we may write any x(t) ∈ S as

x(t) = xk φk(t), k∈Z

where xk is the orthonormal coefficient xk = 〈x(t), φk (t)〉, and equality is in the sense of L2

equivalence.

Consequently, if X(t) is a random process whose sample functions x(t) are all in S, then we can write

X(t) = Xkφk (t), k∈Z

where Xk = 〈X(t), φk (t)〉 = X(t)φk (t) dt, a random variable that is a linear functional of X(t). In this way we can identify any random band-limited process X(t) of bandwidth W with a discrete-time random sequence X = {Xk } at a rate of 2W real variables per second. Hereafter the input will be regarded as the sequence X rather than X(t).

Thus X(t) may be regarded as a sum of amplitude-modulated orthonormal pulses Xkφk(t). By the Pythagorean theorem,

||X(t)||2 = ||Xk φk (t)||2 = Xk 2 ,

k∈Z k∈Z

where we use the orthonormality of the φk (t). Therefore the requirement that the average power (energy per second) of X(t) be less than P translates to a requirement that the average energy of the sequence X be less than P per 2W symbols, or equivalently less than P/2W per symbol.2

2The requirement that the sample functions of X(t) must be in L2 translates to the requirement that the sample sequences x of X must have finite energy. This requirement can be met by requiring that only finitely many elements of x be nonzero. However, we do not pursue such finiteness issues.

Page 17: MIT Principal of Digital Communication

2.5. CONTINUOUS TIME TO DISCRETE TIME 17

Similarly, the random Gaussian noise process N(t) may be written as

N(t) = Nkφk(t) + N|S⊥ (t) k∈Z

where N = {Nk = 〈N(t), φk(t)〉} is the sequence of orthonormal coefficients of N(t) in S, and N|S⊥ (t) = N(t) − Nkφk(t) is out-of-band noise. The theorem of irrelevance shows k that N|S⊥ (t) may be disregarded without loss of optimality, and therefore that the sequence Y = X + N is a set of sufficient statistics for detection of X(t) from Y (t).

In summary, we conclude that the characteristics of the discrete-time model Y = X + N mirror those of the continuous-time model Y (t) = X(t) + N(t) from which it was derived:

• The symbol interval is T = 1/2W ; equivalently, the symbol rate is 2W symbols/s;

• The average signal energy per symbol is limited to P/2W ;

• The noise sequence N is iid zero-mean (white) Gaussian, with variance N0/2 per symbol;

• The signal-to-noise ratio is thus SNR = (P/2W )/(N0/2) = P/N0W , the same as for the continuous-time model;

• A data rate of ρ bits per two dimensions (b/2D) translates to a data rate of R = Wρ b/s, or equivalently to a spectral efficiency of ρ (b/s)/Hz.

This important conclusion is the fundamental result of this chapter.

2.5.1 Passband case

Suppose now that the channel is instead a passband channel with positive-frequency support band B = [fc − W/2, fc + W/2] for some center frequency fc > W/2.

The signal space is then the set S = L2[fc − W/2, fc + W/2] of all finite-energy signals x(t) whose Fourier transform has support ±B.

In this case Exercise 2.1 shows that an orthogonal basis for the signal space is a set of signals of the form φk,c(t) = sincT (t − kT ) cos 2πfct and φk,s(t) = sincT (t − kT ) sin 2πfct, where the symbol interval is now T = 1/W . Since the support of the Fourier transform of sincT (t − kT ) is [−W/2, W/2], the support of the transform of each of these signals is ±B.

The derivation of a discrete-time model then goes as in the baseband case. The result is that the sequence of real pairs

(Yk,c, Yk,s) = (Xk,c, Xk,s) + (Nk,c, Nk,s)

is a set of sufficient statistics for detection of X(t) from Y (t). If we compute scale factors correctly, we find that the characteristics of this discrete-time model are as follows:

• The symbol interval is T = 1/W , or the symbol rate is W symbols/s. In each symbol interval a pair of two real symbols is sent and received. We may therefore say that the rate is 2W = 2/T real dimensions per second, the same as in the baseband model.

• The average signal energy per dimension is limited to P/2W ;

Page 18: MIT Principal of Digital Communication

18 CHAPTER 2. DISCRETE-TIME AND CONTINUOUS-TIME AWGN CHANNELS

• The noise sequences Nc and Ns are independent real iid zero-mean (white) Gaussian se-quences, with variance N0/2 per dimension;

• The signal-to-noise ratio is again SNR = (P/2W )/(N0/2) = P/N0W ;

• A data rate of ρ b/2D again translates to a spectral efficiency of ρ (b/s)/Hz.

Thus the passband discrete-time model is effectively the same as the baseband model.

In the passband case, it is often convenient to identify real pairs with single complex variables √ via the standard correspondence between R2 and C given by (x, y) ↔ x + iy, where i = −1.This is possible because a complex iid zero-mean Gaussian sequence N with variance N0 per complex dimension may be defined as N = Nc + iNs, where Nc and Ns are independent real iid zero-mean Gaussian sequences with variance N0/2 per real dimension. Then we obtain a complex discrete-time model Y = X + N with the following characteristics:

• The symbol interval is T = 1/W , or the rate is W complex dimensions/s.

• The average signal energy per complex dimension is limited to P/W ;

• The noise sequence N is a complex iid zero-mean Gaussian sequence, with variance N0 per complex dimension;

• The signal-to-noise ratio is again SNR = (P/W )/N0 = P/N0W ;

• A data rate of ρ bits per complex dimension translates to a spectral efficiency of ρ (b/s)/Hz.

This is still the same as before, if we regard one complex dimension as two real dimensions.

Note that even the baseband real discrete-time model may be converted to a complex discrete-time model simply by taking real variables two at a time and using the same map R2 → C.

The reader is cautioned that the correspondence between R2 and C given by (x, y) ↔ x + iy preserves some algebraic, geometric and probabilistic properties, but not all.

Exercise 2.3 (Properties of the correspondence R2 ↔ C) Verify the following assertions:

(a) Under the correspondence R2 ↔ C, addition is preserved.

(b) However, multiplication is not preserved. (Indeed, the product of two elements of R2 is not even defined.)

(c) Inner products are not preserved. Indeed, two orthogonal elements of R2 can map to two collinear elements of C.

(d) However, (squared) Euclidean norms and Euclidean distances are preserved.

(e) In general, if Nc and Ns are real jointly Gaussian sequences, then Nc + iNs is not a proper complex Gaussian sequence, even if Nc and Ns are independent iid sequences.

(f) However, if Nc and Ns are independent real iid zero-mean Gaussian sequences with variance N0/2 per real dimension, then Nc + iNs is a complex zero-mean Gaussian sequence with variance N0 per complex dimension.

Page 19: MIT Principal of Digital Communication

� �

2.6. ORTHONORMAL PAM AND QAM MODULATION 19

2.6 Orthonormal PAM and QAM modulation

More generally, suppose that X(t) = Xk φk (t), where X = {Xk } is a random sequence and k {φk (t) = p(t − kT )} is an orthonormal sequence of time shifts p(t − kT ) of a basic modulation pulse p(t) ∈ L2 by integer multiples of a symbol interval T . This is called orthonormal pulse-amplitude modulation (PAM).

The signal space S is then the subspace of L2 spanned by the orthonormal sequence {p(t−kT )}; i.e., S consists of all signals in L2 that can be written as linear combinations k xk p(t − kT ).

Again, the average power of X(t) = Xk p(t −kT ) will be limited to P if the average energy k of the sequence X is limited to PT per symbol, since the symbol rate is 1/T symbol/s.

The theorem of irrelevance again shows that the set of inner products

Yk = 〈Y (t), φk(t)〉 = 〈X(t), φk (t)〉 + 〈N(t), φk (t)〉 = Xk + Nk

is a set of sufficient statistics for detection of X(t) from Y (t). These inner products may be obtained by filtering Y (t) with a matched filter with impulse response p(−t) and sampling at integer multiples of T as shown in Figure 1 to obtain

Z(kT ) = Y (τ)p(τ − kT ) dτ = Yk,

Thus again we obtain a discrete-time model Y = X + N, where by the orthonormality of the p(t − kT ) the noise sequence N is iid zero-mean Gaussian with variance N0/2 per symbol.

-Orthonormal

X = {Xk } X(t) = Xkp(t − kT )kPAMmodulator

- -

( )N t?

+��

Y (t) p(−t) sample at �� t = kT

Y = -{Yk }

Figure 1. Orthonormal PAM system.

The conditions that ensure that the time shifts {p(t−kT )} are orthonormal are determined by Nyquist theory as follows. Define the composite response in Figure 1 as g(t) = p(t) ∗p(−t), with Fourier transform g(f) = |p(f)|2. (The composite response g(t) is also called the autocorrelation function of p(t), and g(f) is also called its power spectrum.) Then:

Theorem 2.2 (Orthonormality conditions) For a signal p(t) ∈ L2 and a time interval T , the following are equivalent:

(a) The time shifts {p(t − kT ), k ∈ Z} are orthonormal;

(b) The composite response g(t) = p(t) ∗ p(−t) satisfies g(0) = 1 and g(kT ) = 0 for k �= 0;

(c) The Fourier transform g(f) = |p(f)|2 satisfies the Nyquist criterion for zero intersymbol interference, namely

1 g(f − m/T ) = 1 for all f.

T m∈Z

Sketch of proof. The fact that (a) ⇔ (b) follows from 〈p(t − kT ), p(t − k′T )〉 = g((k − k′)T ). The fact that (b) ⇔ (c) follows from the aliasing theorem, which says that the discrete-time Fourier transform of the sample sequence {g(kT )} is the aliased response 1 g(f − m/T ).T m

Page 20: MIT Principal of Digital Communication

20 CHAPTER 2. DISCRETE-TIME AND CONTINUOUS-TIME AWGN CHANNELS

It is clear from the Nyquist criterion (c) that if p(t) is a baseband signal of bandwidth W , then

(i) The bandwidth W cannot be less than 1/2T ;

(ii) If W = 1/2T , then g(f) = 0; i.e., g(t) = sincT (t);g(f) = T,−W ≤ f ≤ W , else

(iii) If 1/2T < W ≤ 1/T , then any real non-negative power spectrum g(f) that satisfies g(1/2T + f) + g(1/2T − f) = T for 0 ≤ f ≤ 1/2T will satisfy (c).

For this reason W = 1/2T is called the nominal or Nyquist bandwidth of a PAM system with symbol interval T . No orthonormal PAM system can have bandwidth less than the Nyquist bandwidth, and only a system in which the modulation pulse has autocorrelation function g(t) = p(t)∗p(−t) = sincT (t) can have exactly the Nyquist bandwidth. However, by (iii), which is called the Nyquist band-edge symmetry condition, the Fourier transform |p(f)|2 may be designed to roll off arbitrarily rapidly for f > W , while being continuous and having a continuous derivative.

Figure 2 illustrates a raised-cosine frequency response that satisfies the Nyquist band-edge symmetry condition while being continuous and having a continuous derivative. Nowadays it is no great feat to implement such responses with excess bandwidths of 5–10% or less.

T

f

2T − |p( 1 − f)|2T

���

*��

|p( 1 + f)|2T

0 21 T

Figure 2. Raised-cosine spectrum ˆg(f) = |p(f)|2 with Nyquist band-edge symmetry.

We conclude that an orthonormal PAM system may use arbitrarily small excess bandwidth beyond the Nyquist bandwidth W = 1/2T , or alternatively that the power in the out-of-band frequency components may be made to be arbitrarily small, without violating the practical constraint that the Fourier transform p(f) of the modulation pulse p(t) should be continuous and have a continuous derivative.

In summary, if we let W denote the Nyquist bandwidth 1/2T rather than the actual bandwidth, then we again obtain a discrete-time channel model Y = X + N for any orthonormal PAM system, not just a system with the modulation pulse p(t) = √1 sincT (t), in which:

T

• The symbol interval is T = 1/2W ; equivalently, the symbol rate is 2W symbols/s;

• The average signal energy per symbol is limited to P/2W ;

• The noise sequence N is iid zero-mean (white) Gaussian, with variance N0/2 per symbol;

• The signal-to-noise ratio is SNR = (P/2W )/(N0/2) = P/N0W ;

• A data rate of ρ bits per two dimensions (b/2D) translates to a data rate of R = ρ/W b/s, or equivalently to a spectral efficiency of ρ (b/s)/Hz.

2

Page 21: MIT Principal of Digital Communication

2.7. SUMMARY 21

Exercise 2.4 (Orthonormal QAM modulation)

Figure 3 illustrates an orthonormal quadrature amplitude modulation (QAM) system with symbol interval T in which the input and output variables Xk and Yk are complex, p(t) is a complex finite-energy modulation pulse whose time shifts {p(t−kT )} are orthonormal (the inner product of two complex signals is 〈x(t), y(t)〉 = x(t)y ∗(t) dt), the matched filter response is ∗p (−t), and fc > 1/2T is a carrier frequency. The box marked 2�{·} takes twice the real part

of its input— i.e., it maps a complex signal f(t) to f(t) + f∗(t)— and the Hilbert filter is a complex filter whose frequency response is 1 for f > 0 and 0 for f < 0.

2πifcte?Orthonormal � ��

X = {Xk } X(t) = k - × -Xk p(t − kT )- 2�{·}QAM ��modulator ?��

N(t)�+ −2πifct ��e@ ?�� Hilbert �Y = {Yk}� @ ∗ � × �p (−t)sample at �� filter

t = kT

Figure 3. Orthonormal QAM system.

(a) Assume that p(f) = 0 for |f | ≥ fc. Show that the Hilbert filter is superfluous.

(b) Show that Theorem 2.2 holds for a complex response p(t) if we define the composite response (autocorrelation function) as g(t) = p(t) ∗ p ∗(−t). Conclude that the bandwidth of an orthonormal QAM system is lowerbounded by its Nyquist bandwidth W = 1/T .

(c) Show that Y = X + N, where N is an iid complex Gaussian noise sequence. Show that the signal-to-noise ratio in this complex discrete-time model is equal to the channel signal-to-noise ratio SNR = P/N0W , if we define W = 1/T . [Hint: use Exercise 2.1.]

(d) Show that a mismatch in the receive filter— i.e., an impulse response h(t) other than ∗p (−t)— results in linear intersymbol interference— i.e., in the absence of noise Yk = j Xj hk−j

for some discrete-time response {hk} other than the ideal response δk0 (Kronecker delta).

(e) Show that a phase error of θ in the receive carrier— i.e., demodulation by e−2πifct+iθ rather than by e−2πifct— results (in the absence of noise) in a phase rotation by θ of all outputs Yk .

(f) Show that a sample timing error of δ— i.e., sampling at times t = kT + δ— results in linear intersymbol interference.

2.7 Summary

To summarize, the key parameters of a band-limited continuous-time AWGN channel are its bandwidth W in Hz and its signal-to-noise ratio SNR, regardless of other details like where the bandwidth is located (in particular whether it is at baseband or passband), the scaling of the signal, etc. The key parameters of a discrete-time AWGN channel are its symbol rate W in two-dimensional real or one-dimensional complex symbols per second and its SNR, regardless of other details like whether it is real or complex, the scaling of the symbols, etc. With orthonormal PAM or QAM, these key parameters are preserved, regardless of whether PAM or QAM is used, the precise modulation pulse, etc. The (nominal) spectral efficiency ρ (in (b/s)/Hz or in b/2D) is also preserved, and (as we will see in the next chapter) so is the channel capacity (in b/s).

Page 22: MIT Principal of Digital Communication

Chapter 3

Capacity of AWGN channels

In this chapter we prove that the capacity of an AWGN channel with bandwidth W and signal-to-noise ratio SNR is W log2(1+SNR) bits per second (b/s). The proof that reliable transmission is possible at any rate less than capacity is based on Shannon’s random code ensemble, typical-set decoding, the Chernoff-bound law of large numbers, and a fundamental result of large-deviation theory. We also sketch a geometric proof of the converse. Readers who are prepared to accept the channel capacity formula without proof may skip this chapter.

3.1 Outline of proof of the capacity theorem

The first step in proving the channel capacity theorem or its converse is to use the results of Chapter 2 to replace a continuous-time AWGN channel model Y (t) = X(t) + N(t) with bandwidth W and signal-to-noise ratio SNR by an equivalent discrete-time channel model Y = X + N with a symbol rate of 2W real symbol/s and the same SNR, without loss of generality or optimality.

We then wish to prove that arbitrarily reliable transmission can be achieved on the discrete-time channel at any rate (nominal spectral efficiency)

ρ < C[b/2D] = log2(1 + SNR) b/2D.

This will prove that reliable transmission can be achieved on the continuous-time channel at any data rate

R < C[b/s] = WC[b/2D] = W log2(1 + SNR) b/s.

We will prove this result by use of Shannon’s random code ensemble and a suboptimal decoding technique called typical-set decoding.

Shannon’s random code ensemble may be defined as follows. Let Sx = P/2W be the allowable average signal energy per symbol (dimension), let ρ be the data rate in b/2D, and let N be the code block length in symbols. A block code C of length N , rate ρ, and average energy Sx per dimension is then a set of M = 2ρN/2 real sequences (codewords) c of length N such that the expected value of ||c||2 under an equiprobable distribution over C is NSx.

For example, the three 16-QAM signal sets shown in Figure 3 of Chapter 1 may be regarded as three block codes of length 2 and rate 4 b/2D with average energies per dimension of Sx = 5, 6.75 and 4.375, respectively.

23

Page 23: MIT Principal of Digital Communication

� �

24 CHAPTER 3. CAPACITY OF AWGN CHANNELS

In Shannon’s random code ensemble, every symbol ck of every codeword c ∈ C is chosen independently at random from a Gaussian ensemble with mean 0 and variance Sx. Thus the average energy per dimension over the ensemble of codes is Sx, and by the law of large numbers the average energy per dimension of any particular code in the ensemble is highly likely to be close to Sx.

We consider the probability of error under the following scenario. A code C is selected randomly from the ensemble as above, and then a particular codeword c0 is selected for transmission. The channel adds a noise sequence n from a Gaussian ensemble with mean 0 and variance Sn = N0/2 per symbol. At the receiver, given y = c0 + n and the code C, a typical-set decoder implements the following decision rule (where ε is some small positive number):

• If there is one and only one codeword c ∈ C within squared distance N(Sn ± ε) of the received sequence y, then decide on c;

• Otherwise, give up.

A decision error can occur only if one of the following two events occurs:

• The squared distance ||y − c0||2 between y and the transmitted codeword c0 is not in the range N(Sn ± ε);

• The squared distance ||y − ci||2 between y and some other codeword ci �= c0 is in the range N(Sn ± ε).

Since y − c0 = n, the probability of the first of these events is the probability that ||n||2 is not in the range N(Sn − ε) ≤ ||n||2 ≤ N(Sn + ε). Since N = {Nk} is an iid zero-mean Gaussian sequence with variance Sn per symbol and ||N||2 = Nk

2, this probability goes to zero as k N → ∞ for any ε > 0 by the weak law of large numbers. In fact, by the Chernoff bound of the next section, this probability goes to zero exponentially with N .

For any particular other codeword ci ∈ C, the probability of the second event is the probability that a code sequence drawn according to an iid Gaussian pdf pX(x) with symbol variance Sx and a received sequence drawn independently according to an iid Gaussian pdf pY (y) with symbol variance Sy = Sx + Sn are “typical” of the joint pdf pXY (x, y) = pX(x)pN (y − x), where here we define “typical” by the distance ||x − y||2 being in the range N(Sn ± ε). According to a fundamental result of large-deviation theory, this probability goes to zero as e−NE , where, up to terms of the order of ε, the exponent E is given by the relative entropy (Kullback-Leibler divergence)

D(pXY ||pXpY ) = dx dy pXY (x, y) log pXY (x, y)

. pX(x)pY (y)

If the logarithm is binary, then this is the mutual information I(X; Y ) between the random variables X and Y in bits per dimension (b/D).

In the Gaussian case considered here, the mutual information is easily evaluated as

1 1+

y2 log2 e 1 I(X; Y ) = EXY −

2 log2 2πSn −

(y − x)2 log2 e +

2 log2 2πSy =

2 log2

Sy b/D.2Sn 2Sy Sn

Since Sy = Sx + Sn and SNR = Sx/Sn, this expression is equal to the claimed capacity in b/D.

Page 24: MIT Principal of Digital Communication

3.2. LAWS OF LARGE NUMBERS 25

Thus we can say that the probability that any incorrect codeword ci ∈ C is “typical” with respect to y goes to zero as 2−N (I(X;Y )−δ(ε)), where δ(ε) goes to zero as ε → 0. By the union bound, the probability that any of the M − 1 < 2ρN/2 incorrect codewords is “typical” with respect to y is upperbounded by

Pr{any incorrect codeword “typical”} < 2ρN/22−N (I(X;Y )−δ(ε)),

which goes to zero exponentially with N provided that ρ < 2I(X; Y ) b/2D and ε is small enough.

In summary, the probabilities of both types of error go to zero exponentially with N provided that

ρ < 2I(X; Y ) = log2(1 + SNR) = C[b/2D] b/2D

and ε is small enough. This proves that an arbitrarily small probability of error can be achieved using Shannon’s random code ensemble and typical-set decoding.

To show that there is a particular code of rate ρ < C[b/2D] that achieves an arbitrarily small error probability, we need merely observe that the probability of error over the random code ensemble is the average probability of error over all codes in the ensemble, so there must be at least one code in the ensemble that achieves this performance. More pointedly, if the average error probability is Pr(E), then no more than a fraction of 1/K of the codes can achieve error probability worse than K Pr(E) for any constant K > 0; e.g., at least 99% of the codes achieve performance no worse than 100 Pr(E). So we can conclude that almost all codes in the random code ensemble achieve very small error probabilities. Briefly, “almost all codes are good” (when decoded by typical-set or maximum-likelihood decoding).

3.2 Laws of large numbers

The channel capacity theorem is essentially an application of various laws of large numbers.

3.2.1 The Chernoff bound

The weak law of large numbers states that the probability that the sample average of a sequence of N iid random variables differs from the mean by more than ε > 0 goes to zero as N → ∞, no matter how small ε is. The Chernoff bound shows that this probability goes to zero exponentially with N , for arbitrarily small ε.

Theorem 3.1 (Chernoff bound) Let SN be the sum of N iid real random variables Xk , each with the same probability distribution pX (x) and mean X = EX [X]. For τ > X, the probability that SN ≥ Nτ is upperbounded by

−NEc(τ )Pr{SN ≥ Nτ} ≤ e ,

where the Chernoff exponent Ec(τ) is given by

Ec(τ) = max sτ − µ(s), s≥0

where µ(s) denotes the semi-invariant moment-generating function, µ(s) = log EX [esX ].

Page 25: MIT Principal of Digital Communication

� �

� �

26 CHAPTER 3. CAPACITY OF AWGN CHANNELS

Proof. The indicator function Φ(SN ≥ Nτ ) of the event {SN ≥ Nτ } is bounded by

s(SN −Nτ )Φ(SN ≥ Nτ ) ≤ e

for any s ≥ 0. Therefore

Pr{SN ≥ Nτ } = Φ(SN ≥ Nτ ) ≤ es(SN −Nτ ), s ≥ 0,

where the overbar denotes expectation. Using the facts that SN = Xk and that the Xk arek independent, we have

es(SN −Nτ ) −N (sτ −µ(s))= es(Xk −τ ) = e , k

where µ(s) = log esX . Optimizing the exponent over s ≥ 0, we obtain the Chernoff exponent

Ec(τ ) = max sτ − µ(s). s≥0

We next show that the Chernoff exponent is positive:

Theorem 3.2 (Positivity of Chernoff exponent) The Chernoff exponent Ec(τ ) is positive when τ > X, provided that the random variable X is nondeterministic.

Proof. Define X(s) as a random variable with the same alphabet as X, but with the tilted sx−µ(s).probability density function q(x, s) = p(x)e This is a valid pdf because q(x, s) ≥ 0 and

sx q(x, s) dx = e −µ(s) e p(x) dx = e −µ(s)eµ(s) = 1.

Evidently µ(0) = log EX [1] = 0, so q(x, 0) = p(x) and X(0) = X.

Define the moment-generating (partition) function

sxZ(s) = eµ(s) = EX [e sX ] = e p(x) dx.

Now it is easy to see that

sx sxZ ′(s) = xe p(x) dx = eµ(s) xe q(x, s) dx = Z(s)X(s).

Similarly, 2 sxZ ′′(s) = x e p(x) dx = Z(s)X2(s).

Consequently, from µ(s) = log Z(s), we have

µ ′(s) = Z ′(s)

= X(s);Z(s)

Z ′(s) �2

2 µ ′′(s) =

Z ′′(s) − = X2(s) − X(s) . Z(s) Z(s)

Thus the second derivative µ′′(s) is the variance of X(s), which must be strictly positive unless X(s) and thus X is deterministic.

Page 26: MIT Principal of Digital Communication

27 3.2. LAWS OF LARGE NUMBERS

We conclude that if X is a nondeterministic random variable with mean X, then µ(s) is a strictly convex function of s that equals 0 at s = 0 and whose derivative at s = 0 is X. It follows that the function sτ − µ(s) is a strictly concave function of s that equals 0 at s = 0 and whose derivative at s = 0 is τ −X. Thus if τ > X, then the function sτ −µ(s) has a unique maximum which is strictly positive.

Exercise 1. Show that if X is a deterministic random variable— i.e., the probability that X equals its mean X is 1— and τ > X, then Pr{SN ≥ Nτ} = 0.

The proof of this theorem shows that the general form of the function f(s) = sτ − µ(s) when X is nondeterministic is as shown in Figure 1. The second derivative f ′′(s) is negative everywhere, so the function f(s) is strictly concave and has a unique maximum Ec(τ). The slope f ′(s) = τ − X(s) therefore decreases continually from its value f ′(0) = τ − X > 0 at s = 0. The slope becomes equal to 0 at the value of s for which τ = X(s); in other words, to find the maximum of f(s), keep increasing the “tilt” until the tilted mean X(s) is equal to τ . If we denote this value of s by s ∗(τ), then we obtain the following parametric equations for the Chernoff exponent:

∗Ec(τ) = s ∗(τ)τ − µ(s (τ)); τ = X(s ∗(τ)).

�������� τ − X

s -s ∗(τ)0

f(s)

6

Ec(τ)

0

slope slope 0

Figure 1. General form of function f(s) = sτ − µ(s) when τ > X.

We will show below that the Chernoff exponent Ec(τ) is the correct exponent, in the sense that

lim log Pr{SN ≥ Nτ}

= Ec(τ). N →∞ N

The proof will be based on a fundamental theorem of large-deviation theory

We see that finding the Chernoff exponent is an exercise in convex optimization. In convex optimization theory, Ec(τ) and µ(s) are called conjugate functions. It is easy to show from the properties of µ(s) that Ec(τ) is a continuous, strictly convex function of τ that equals 0 at τ = X and whose derivative at τ = X is 0.

3.2.2 Chernoff bounds for functions of rvs

If g : X → R is any real-valued function defined on the alphabet X of a random variable X, then g(X) is a real random variable. If {Xk } is a sequence of iid random variables Xk with the same distribution as X, then {g(Xk )} is a sequence of iid random variables g(Xk ) with the same distribution as g(X). The Chernoff bound thus applies to the sequence {g(Xk )}, and shows that

1the probability that the sample mean N k g(Xk ) exceeds τ goes to zero exponentially with N as N → ∞ whenever τ > g(X).

Page 27: MIT Principal of Digital Communication

� �

28 CHAPTER 3. CAPACITY OF AWGN CHANNELS

Let us consider any finite set {gj } of such functions gj : X → R. Because the Chernoff bound decreases exponentially with N , we can conclude that the probability that any of the sample means 1

k gj (Xk) exceeds its corresponding expectation gj (X) by a given fixed ε > 0 goes to N zero exponentially with N as N → ∞.

We may define a sequence {Xk} to be ε-typical with respect to a function gj : X → R if 1

k gj (Xk) < gj (X)+ ε. We can thus conclude that the probability that {Xk} is not ε-typical N with respect to any finite set {gj } of functions gj goes to zero exponentially with N as N → ∞.

1A simple application of this result is that the probability that the sample mean N k gj (Xk) is not in the range gj (X) ± ε goes to zero exponentially with N as N → ∞ for any ε > 0, because this probability is the sum of the two probabilities Pr{ k gj (Xk) ≥ N(gj (X)+ ε)} and Pr{ −gj (Xk ) ≥ N(−gj (X) + ε)}.k

More generally, if the alphabet X is finite, then by considering the indicator functions of each possible value of X we can conclude that the probability that all observed relative frequencies in a sequence are not within ε of the corresponding probabilities goes to zero exponentially with N as N → ∞. Similarly, for any alphabet X , we can conclude that the probability of any finite

1number of sample moments Nm are not within ε of the corresponding expected moments k Xk

Xm goes to zero exponentially with N as N → ∞.

In summary, the Chernoff bound law of large numbers allows us to say that as N → ∞ we will almost surely observe a sample sequence x which is typical in every (finite) way that we might specify.

3.2.3 Asymptotic equipartition principle

One consequence of any law of large numbers is the asymptotic equipartition principle (AEP): as N → ∞, the observed sample sequence x of an iid sequence whose elements are chosen according to a random variable X will almost surely be such that pX (x) ≈ 2−N H(X), where H(X) = EX [− log2 p(x)]. If X is discrete, then pX (x) is its probability mass function (pmf ) and H(X) is its entropy; if X is continuous, then pX (x) is its probability density function (pdf) and H(X) is its differential entropy.

The AEP is proved by observing that − log2 pX (x) is a sum of iid random variables − log2 pX (xk ), so the probability that − log2 pX (x) differs from its mean NH(X) by more than ε > 0 goes to zero as N → ∞. The Chernoff bound shows that this probability in fact goes to zero exponentially with N .

A consequence of the AEP is that the set Tε of all sequences x that are ε-typical with respect to the function − log2 pX (x) has a total probability that approaches 1 as N → ∞. Since for all sequences x ∈ Tε we have pX (x) ≈ 2−N H(X )— i.e., the probability distribution pX (x) is approximately uniform over Tε— this implies that the “size” |Tε| of Tε is approximately 2N H(X). In the discrete case, the “size” |Tε| is the number of sequences in Tε, whereas in the continuous case |Tε| is the volume of Tε.

In summary, the AEP implies that as N → ∞ the observed sample sequence x will almost surely lie in an ε-typical set Tε of size ≈ 2N H(X), and within that set the probability distribution pX (x) will be approximately uniform.

Page 28: MIT Principal of Digital Communication

� �

� �

� �

3.2. LAWS OF LARGE NUMBERS 29

3.2.4 Fundamental theorem of large-deviation theory

As another application of the law of large numbers, we prove a fundamental theorem of large-deviation theory. A rough statement of this result is as follows: if an iid sequence X is chosen according to a probability distribution q(x), then the probability that the sequence will be typical of a second probability distribution p(x) is approximately

−ND(p||q)Pr{x typical for p | q} ≈ e ,

where the exponent D(p||q) denotes the relative entropy (Kullback-Leibler divergence)

D(p||q) = Ep log p(x)

= dx p(x) log p(x)

. q(x) q(x)X

Again, p(x) and q(x) denote pmfs in the discrete case and pdfs in the continuous case; we use notation that is appropriate for the continuous case.

Exercise 2 (Gibbs’ inequality).

(a) Prove that for x > 0, log x ≤ x − 1, with equality if and only if x = 1.

(b) Prove that for any pdfs p(x) and q(x) over X , D(p||q) ≥ 0, with equality if and only if p(x) = q(x).

Given p(x) and q(x), we will now define a sequence x to be ε-typical with regard to log p(x)/q(x) if the log likelihood ratio λ(x) = log p(x)/q(x) is in the range N (D(p||q) ± ε), where D(p||q) = Ep[λ(x)] is the mean of λ(x) = log p(x)/q(x) under p(x). Thus an iid sequence X chosen according to p(x) will almost surely be ε-typical by this definition.

The desired result can then be stated as follows:

Theorem 3.3 (Fundamental theorem of large-deviation theory) Given two probability distributions p(x) and q(x) on a common alphabet X , for any ε > 0, the probability that an iid random sequence X drawn according to q(x) is ε-typical for p(x), in the sense that log p(x)/q(x) is in the range N (D(p||q) ± ε), is bounded by

(1 − δ(N ))e −N(D(p||q)+ε) ≤ Pr{x ε−typical for p | q} ≤ e −N(D(p||q)−ε),

where δ(N ) → 0 as N → ∞.

Proof. Define the ε-typical region

Tε = {x | N (D(p||q) − ε) ≤ log p(x) ≤ N (D(p||q) + ε)}. q(x)

By any law of large numbers, the probability that X will fall in Tε goes to 1 as N → ∞; i.e.,

1 − δ(N ) ≤ dx p(x) ≤ 1, Tε

where δ(N ) → 0 as N → ∞. It follows that

−N(D(p||q)−ε) ≤ e −N(D(p||q)−ε);dx q(x) ≤ dx p(x)e Tε Tε

−N(D(p||q)+ε)dx q(x) ≥ dx p(x)e −N(D(p||q)+ε) ≥ (1 − δ(N ))e . Tε Tε

Page 29: MIT Principal of Digital Communication

30 CHAPTER 3. CAPACITY OF AWGN CHANNELS

Since we can choose an arbitrarily small ε > 0 and δ(N ) > 0, it follows the exponent D(p||q) is the correct exponent for this probability, in the sense that

log Pr{x ε−typical for p | q} = D(p||q).lim

N →∞ N

Exercise 3 (Generalization of Theorem 3.3).

(a) Generalize Theorem 3.3 to the case in which q(x) is a general function over X . State any necessary restrictions on q(x).

(b) Using q(x) = 1 in (a), state and prove a form of the Asymptotic Equipartition Principle.

As an application of Theorem 3.3, we can now prove:

Theorem 3.4 (Correctness of Chernoff exponent) The Chernoff exponent Ec(τ ) is the correct exponent for Pr{SN ≥ Nτ }, in the sense that

lim log Pr{SN ≥ Nτ }

= Ec(τ ), N →∞ N

where SN = k xk is the sum of N iid nondeterministic random variables drawn according to some distribution p(x) with mean X < τ , and Ec(τ ) = maxs≥0 sτ − µ(s) where µ(s) = log esX .

Proof. Let s ∗ be the s that maximizes sτ − µ(s) over s ≥ 0. As we have seen above, for s = s ∗ ∗ ∗∗ s x−µ(s ) has mean the tilted random variable X(s ∗) with tilted distribution q(x, s ) = p(x)e

X(s ∗) = τ , whereas for s = 0 the untilted random variable X(0) with untilted distribution q(x, 0) = p(x) has mean X(0) = X.

Let q(0) denote the untilted distribution q(x, 0) = p(x) with mean X(0) = X, and let q(s ∗) ∗ ∗

denote the optimally tilted distribution q(x, s ∗) = p(x)es x−µ(s ) with mean X(s ∗) = τ . Then ∗log q(x, s ∗)/q(x, 0) = s x − µ(s ∗), so

∗ D(q(s ∗)||q(0)) = s τ − µ(s ∗) = Ec(τ ).

∗Moreover, the event that X is ε-typical with respect to the variable log q(x, s ∗)/q(x, 0) = s x − ∗ ∗µ(s ∗) under q(x, 0) = p(x) is the event that s SN − Nµ(s ∗) is in the range N (s τ − µ(s ∗) ± ε),

since τ is the mean of X under q(x, s ∗). This event is equivalent to SN being in the range N (τ ± ε/s∗). Since ε may be arbitrarily small, it is clear that the correct exponent of the event Pr{SN ≈ Nτ } is Ec(τ ). This event evidently dominates the probability Pr{SN ≥ Nτ }, which

−NEc(τ ).we have already shown to be upperbounded by e

Exercise 4 (Chernoff bound ⇒ divergence upper bound.)

Using the Chernoff bound, prove that for any two distributions p(x) and q(x) over X ,

−N (D(p||q))Pr{log p(x) ≥ ND(p||q) | q} ≤ e . q(x)

[Hint: show that the s that maximizes sτ − µ(s) is s = 1.]

Page 30: MIT Principal of Digital Communication

3.2. LAWS OF LARGE NUMBERS 31

3.2.5 Proof of the forward part of the capacity theorem

We now prove that with Shannon’s random Gaussian code ensemble and with a slightly dif-ferent definition of typical-set decoding, we can achieve reliable communication at any rate ρ < C[b/2D] = log2(1 + SNR) b/2D.

We recall that under this scenario the joint pdf of the channel input X and output Y is

1 −(y−x)2/2SnpXY (x, y) = pX(x)pN (y − x) = √ 1

e −x2/2Sx √ e .2πSx 2πSn

Since Y = X + N , the marginal probability of Y is

pY (y) = � 1

e −y2/2Sy ,2πSy

where Sy = Sx + Sn. On the other hand, since incorrect codewords are independent of the correct codeword and of the output, the joint pdf of an incorrect codeword symbol X ′ and of Y is

′ −y2 /2Sy .qXY (x , y) = pX(x ′)pY (y) = √ 21

πSx e −(x′)2/2Sx �

1 e

2πSy

We now redefine typical-set decoding as follows. An output sequence y will be said to be ε-typical for a code sequence x if

pXY (x, y)λ(x, y) = log

pX(x)pY (y) ≥ N(D(pXY ||pXpY ) − ε).

2 log Sy/Sn, we find that this is equivalent to Substituting for the pdfs and recalling that D(pXY ||pXpY ) = 1

||y − x||2

≤ ||y||2

+ 2Nε. Sn Sy

Since ||y||2/N is almost surely very close to its mean Sy, this amounts to asking that ||y −x||2/N be very close to its mean Sn under the hypothesis that x and y are drawn according to the joint pdf pXY (x, y). The correct codeword will therefore almost surely meet this test.

According to Exercise 4, the probability that any particular incorrect codeword meets the test

pXY (x, y)λ(x, y) = log

pX(x)pY (y) ≥ ND(pXY ||pXpY )

is upperbounded by e−ND(pXY ||pXpY ) = 2−NI(X;Y ). If we relax this test by an arbitrarily small number ε > 0, then by the continuity of the Chernoff exponent, the exponent will decrease by an amount δ(ε) which can be made arbitrarily small. Therefore we can assert that the probability that a random output sequence Y will be ε-typical for a random incorrect sequence X is upperbounded by

Pr{Y ε-typical for X} ≤ 2−N(I(X;Y )−δ(ε)),

where δ(ε) → 0 as ε → 0.

Page 31: MIT Principal of Digital Communication

32 CHAPTER 3. CAPACITY OF AWGN CHANNELS

= 2ρN/2Now if the random codes have rate ρ < 2I(X; Y ) b/2D, then there are M code-words, so by the union bound the total probability of any incorrect codeword being ε-typical is upperbounded by

Pr{Y ε-typical for any incorrect X} ≤ (M − 1)2−N (I(X;Y )−δ(ε)) < 2−N (I(X;Y )−ρ/2−δ(ε)).

If ρ < 2I(X; Y ) and ε is small enough, then the exponent will be positive and this probability will go to zero as N → ∞.

Thus we have proved the forward part of the capacity theorem: the probability of any kind of error with Shannon’s random code ensemble and this variant of typical-set decoding goes to zero as N → ∞, in fact exponentially with N .

3.3 Geometric interpretation and converse

For AWGN channels, the channel capacity theorem has a nice geometric interpretation in terms of the geometry of spheres in real Euclidean N -space RN .

By any law of large numbers, the probability that the squared Euclidean norm ||X||2 of a random sequence X of iid Gaussian variables of mean zero and variance Sx per symbol falls in the range N(Sx ± ε) goes to 1 as N → ∞, for any ε > 0. Geometrically, the typical region

Tε = {x ∈ RN | N(Sx − ε) ≤ ||x||2 ≤ N(Sx + ε)}

is a spherical shell with outer squared radius N(Sx + ε) and inner squared radius N(Sx − ε). Thus the random N -vector X will almost surely lie in the spherical shell Tε as N → ∞. This phenomenon is known as “sphere hardening.”

Moreover, the pdf pX (x) within the spherical shell Tε is approximately uniform, as we expect from the asymptotic equipartition principle (AEP). Since pX (x) = (2πSx)−N/2 exp −||x||2/2Sx, within Tε we have

−(N/2)(ε/Sx) ≤ pX (x) ≤ (2πeSx)−N/2 e(N/2)(ε/Sx)(2πeSx)−N/2 e .

Moreover, the fact that pX (x) ≈ (2πeSx)−N/2 implies that the volume of Tε is approximately |Tε| ≈ (2πeSx)N/2 . More precisely, we have

1 − δ(N) ≤ pX (x) dx ≤ 1, Tε

where δ(N) → 0 as N → ∞. Since |Tε| = dx, we have Tε

−(N/2)(ε/Sx)1 ≥ (2πeSx)−N/2 e |Tε| ⇒ |Tε| ≤ (2πeSx)N/2 e(N/2)(ε/Sx); e(N/2)(ε/Sx) −(N/2)(ε/Sx)1 − δ(N) ≤ (2πeSx)−N/2 |Tε| ⇒ |Tε| ≥ (1 − δ(N))(2πeSx)N/2 e .

Since these bounds hold for any ε > 0, this implies that

log |Tε| 1lim =

2log 2πeSx = H(X),

N →∞ N

where H(X) = 1 2 log 2πeSx denotes the differential entropy of a Gaussian random variable with

mean zero and variance Sx.

Page 32: MIT Principal of Digital Communication

33 3.3. GEOMETRIC INTERPRETATION AND CONVERSE

We should note at this point that practically all of the volume of an N -sphere of squared radius N(Sx + ε) lies within the spherical shell |Tε| as N → ∞, for any ε > 0. By dimensional analysis, the volume of an N -sphere of radius r must be given by AN r

N for some constant AN that does not depend on r. Thus the ratio of the volume of an N -sphere of squared radius N(Sx − ε) to that of an N -sphere of squared radius N(Sx + ε) must satisfy

Sx − ε �N/2AN (N(Sx − ε))N/2

= → 0 as N → ∞, for any ε > 0. AN (N(Sx + ε))N/2 Sx + ε

It follows that the volume of an N -sphere of squared radius NSx is also approximated by eN H(X) = (2πeSx)N/2 as N → ∞.

Exercise 5. In Exercise 4 of Chapter 1, the volume of an N -sphere of radius r was given as

V⊗(N, r) = (πr2)N/2

,(N/2)!

for N even. In other words, AN = πN/2/((N/2)!). Using Stirling’s approximation, m! → (m/e)m

as m → ∞, show that this exact expression leads to the same asymptotic approximation for V⊗(N, r) as was obtained above by use of the asymptotic equipartition principle.

The sphere-hardening phenomenon may seem somewhat bizarre, but even more unexpected phenomena occur when we code for the AWGN channel using Shannon’s random code ensemble.

In this case, each randomly chosen transmitted N -vector X will almost surely lie in a spherical shell TX of squared radius ≈ NSx, and the random received N -vector Y will almost surely lie in a spherical shell TY of squared radius ≈ NSy , where Sy = Sx + Sn.

Moreover, given the correct transmitted codeword c0, the random received vector Y will almost surely lie in a spherical shell Tε(c0) of squared radius ≈ NSn centered on c0. A further consequence of the AEP is that almost all of the volume of this nonzero-mean shell, whose center c0 has squared Euclidean norm ||c0||2 ≈ NSx, lies in the zero-mean shell TY whose squared radius is ≈ NSy, since the expected squared Euclidean norm of Y = c0 + N is

EN [||Y||2] = ||c0||2 + NSn ≈ NSy.

“Curiouser and curiouser,” said Alice.

= 2ρN/2We thus obtain the following geometrical picture. We choose M code vectors at random according to a zero-mean Gaussian distribution with variance Sx, which almost surely puts them within the shell TX of squared radius ≈ NSx. Considering the probable effects of a random noise sequence N distributed according to a zero-mean Gaussian distribution with variance Sn, we can define for each code vector ci a typical region Tε(ci) of volume |Tε(ci)| ≈(2πeSn)N/2, which falls almost entirely within the shell TY of volume |TY | ≈ (2πeSy)N/2 .

Now if a particular code vector c0 is sent, then the probability that the received vector y will fall in the typical region Tε(c0) is nearly 1. On the other hand, the probability that y will fall in the typical region Tε(ci) of some other independently-chosen code vector ci is approximately equal to the ratio |Tε(ci)|/|TY | of the volume of Tε(ci) to that of the entire shell, since if y is generated according to py (y) independently of ci, then it will be approximately uniformly distributed over TY . Thus this probability is approximately

Sn �N/2(2πeSn)N/2

=Pr{Y typical for ci} ≈ |T|ε

T

(Y

ci

| )| ≈

.(2πeSy )N/2 Sy

As we have seen in earlier sections, this argument may be made precise.

Page 33: MIT Principal of Digital Communication

34 CHAPTER 3. CAPACITY OF AWGN CHANNELS

It follows then that if ρ < log2(1 + Sx/Sn) b/2D, or equivalently M = 2ρN/2 < (Sy/Sn)N/2 , then the probability that Y is typical with respect to any of the M − 1 incorrect codewords is very small, which proves the forward part of the channel capacity theorem.

On the other hand, it is clear from this geometric argument that if ρ > log2(1 + Sx/Sn) b/2D, or equivalently M = 2ρN/2 > (Sy/Sn)N/2, then the probability of decoding error must be large. For the error probability to be small, the decision region for each code vector ci must include almost all of its typical region Tε(ci). If the volume of the M = 2ρN/2 typical regions exceeds the volume of TY , then this is impossible. Thus in order to have small error probability we must have

Sx2ρN/2(2πeSn)N/2 ≤ (2πeSy)N/2 ⇒ ρ ≤ log2 Sy = log2(1 + ) b/2D. Sn Sn

This argument may also be made precise, and is the converse to the channel capacity theorem.

In conclusion, we obtain the following picture of a capacity-achieving code. Let TY be the N -shell of squared radius ≈ NSy, which is almost the same thing as the N -sphere of squared radius NSy. A capacity-achieving code consists of the centers ci of M typical regions Tε(ci), where ||ci||2 ≈ NSx and each region Tε(ci) consists of an N -shell of squared radius ≈ NSn

centered on ci, which is almost the same thing as an N -sphere of squared radius NSx. As ρ → C[b/2D] = log2(1 + Sx ) b/2D, these regions Tε(ci) form an almost disjoint partition of TY .Sn

This picture is illustrated in Figure 2. '$ nn nn &%

Figure 2. Packing ≈ (Sy /Sn)N/2 typical regions Tε(ci) of squared radius ≈ NSn into a large typical region TY of squared radius ≈ NSy .

3.3.1 Discussion

It is natural in view of the above picture to frame the problem of coding for the AWGN channel as a sphere-packing problem. In other words, we might expect that a capacity-achieving code basically induces a disjoint partition of an N -sphere of squared radius NSy into about (Sy/Sn)N/2

disjoint decision regions, such that each decision region includes the sphere of squared radius NSn about its center.

However, it can be shown by geometric arguments that such a disjoint partition is impossible as the code rate approaches capacity. What then is wrong with the sphere-packing approach? The subtle distinction that makes all the difference is that Shannon’s probabilistic approach does not require decision regions to be disjoint, but merely probabilistically almost disjoint. So the solution to Shannon’s coding problem involves what might be called “soft sphere-packing.”

We will see that hard sphere-packing— i.e., maximizing the minimum distance between code vectors subject to a constraint on average energy— is a reasonable approach for moderate-size codes at rates not too near to capacity. However, to obtain reliable transmission at rates near capacity, we will need to consider probabilistic codes and decoding algorithms that follow more closely the spirit of Shannon’s original work.

Page 34: MIT Principal of Digital Communication

Chapter 4

The gap between uncoded performance and the Shannon limit

The channel capacity theorem gives a sharp upper limit C[b/2D] = log2(1 + SNR) b/2D on the rate (nominal spectral efficiency) ρ b/2D of any reliable transmission scheme. However, it does not give constructive coding schemes that can approach this limit. Finding such schemes has been the main problem of coding theory and practice for the past half century, and will be our main theme in this book.

We will distinguish sharply between the power-limited regime, where the nominal spectral efficiency ρ is small, and the bandwidth-limited regime, where ρ is large. In the power-limited regime, we will take 2-PAM as our baseline uncoded scheme, whereas in the bandwidth-limited regime, we will take M -PAM (or equivalently (M × M )-QAM) as our baseline.

By evaluating the performance of these simplest possible uncoded modulation schemes and comparing baseline performance to the Shannon limit, we will establish how much “coding gain” is possible.

4.1 Discrete-time AWGN channel model

We have seen that with orthonormal PAM or QAM, the channel model reduces to an analogous real or complex discrete-time AWGN channel model

Y = X + N,

where X is the random input signal point sequence, and N is an independent iid Gaussian noise sequence with mean zero and variance σ2 = N0/2 per real dimension. We have also seen that there is no essential difference between the real and complex versions of this model, so from now on we will consider only the real model.

We recapitulate the connections between the parameters of this model and the corresponding continuous-time parameters. If the symbol rate is 1/T real symbols/s (real dimensions per second), the bit rate per two dimensions is ρ b/2D, and the average signal energy per two dimensions is Es, then:

35

Page 35: MIT Principal of Digital Communication

36 CHAPTER 4. UNCODED PERFORMANCE VS. THE SHANNON LIMIT

• The nominal bandwidth is W = 1/2T Hz;

• The data rate is R = ρW b/s, and the nominal spectral efficiency is ρ (b/s)/Hz;

• The signal power (average energy per second) is P = EsW ;

• The signal-to-noise ratio is SNR = Es/N0 = P/N0W ;

• The channel capacity in b/s is C[b/s] = WC[b/2D] = W log2(1 + SNR) b/s.

4.2 Normalized SNR and Eb/N0

In this section we introduce two normalized measures of SNR that are suggested by the capacity bound ρ < C[b/2D] = log2(1 + SNR) b/2D, which we will now call the Shannon limit.

An equivalent statement of the Shannon limit is that for a coding scheme with rate ρ b/2D, if the error probability is to be small, then the SNR must satisfy

SNR > 2ρ − 1.

This motivates the definition of the normalized signal-to-noise ratio SNRnorm as

SNRSNRnorm =

2ρ − 1 . (4.1)

SNRnorm is commonly expressed in dB. Then the Shannon limit may be expressed as

SNRnorm > 1 (0 dB).

Moreover, the value of SNRnorm in dB measures how far a given coding scheme is operating from the Shannon limit, in dB (the “gap to capacity”).

Another commonly used normalized measure of signal-to-noise ratio is Eb/N0, where Eb is the average signal energy per information bit and N0 is the noise variance per two dimensions. Note that since Eb = Es/ρ, where Es is the average signal energy per two dimensions, we have

Eb/N0 = Es/ρN0 = SNR/ρ.

The quantity Eb/N0 is sometimes called the “signal-to-noise ratio per information bit,” but it is not really a signal-to-noise ratio, because its numerator and denominator do not have the same units. It is probably best just to call it “Eb/N0” (pronounced “eebee over enzero” or “ebno”). Eb/N0 is commonly expressed in dB.

Since SNR > 2ρ − 1, the Shannon limit on Eb/N0 may be expressed as

2ρ − 1 Eb/N0 > . (4.2)

ρ

Notice that the Shannon limit on Eb/N0 is a monotonic function of ρ. For ρ = 2, it is equal to 3/2 (1.76 dB); for ρ = 1, it is equal to 1 (0 dB); and as ρ → 0, it approaches ln 2 ≈ 0.69 (-1.59 dB), which is called the ultimate Shannon limit on Eb/N0.

Page 36: MIT Principal of Digital Communication

4.3. POWER-LIMITED AND BANDWIDTH-LIMITED CHANNELS 37

4.3 Power-limited and bandwidth-limited channels

Ideal band-limited AWGN channels may be classified as bandwidth-limited or power-limited according to whether they permit transmission at high spectral efficiencies or not. There is no sharp dividing line, but we will take ρ = 2 b/2D or (b/s)/Hz as the boundary, corresponding to the highest spectral efficiency that can be achieved with binary transmission.

We note that the behavior of the Shannon limit formulas is very different in the two regimes. If SNR is small (the power-limited regime), then we have

ρ < log2(1 + SNR) ≈ SNR log2 e; SNR

= (Eb/N0) log2 e.SNRnorm ≈ ρ ln 2

In words, in the power-limited regime, the capacity (achievable spectral efficiency) increases linearly with SNR, and as ρ → 0, SNRnorm becomes equivalent to Eb/N0, up to a scale factor of log2 e = 1/ ln 2. Thus as ρ → 0 the Shannon limit SNRnorm > 1 translates to the ultimate Shannon limit on Eb/N0, namely Eb/N0 > ln 2.

On the other hand, if SNR is large (the bandwidth-limited regime), then we have

ρ < log2(1 + SNR) ≈ log2 SNR; SNR

SNRnorm ≈ 2ρ .

Thus in the bandwidth-limited regime, the capacity (achievable spectral efficiency) increases logarithmically with SNR, which is dramatically different from the linear behavior in the power-limited regime. In the power-limited regime, every doubling of SNR doubles the achievable rate, whereas in the bandwidth-limited regime, every additional 3 dB in SNR yields an increase in achievable spectral efficiency of only 1 b/2D or 1 (b/s)/Hz.

Example 1. A standard voice-grade telephone channel may be crudely modeled as an ideal band-limited AWGN channel with W ≈ 3500 Hz and SNR ≈ 37 dB. The Shannon limit on spectral efficiency and bit rate of such a channel are roughly ρ < 37/3 ≈ 12.3 (b/s)/Hz and R < 43,000 b/s. Increasing the SNR by 3 dB would increase the achievable spectral efficiency ρ by only 1 (b/s)/Hz, or the bit rate R by only 3500 b/s.

Example 2. In contrast, there are no bandwidth restrictions on a deep-space communication channel. Therefore it makes sense to use as much bandwidth as possible, and operate deep in the power-limited region. In this case the bit rate is limited by the ultimate Shannon limit on Eb/N0, namely Eb/N0 > ln 2 (-1.59 dB). Since Eb/N0 = P/RN0, the Shannon limit becomes R < (P/N0)/(ln 2). Increasing P/N0 by 3 dB will now double the achievable rate R in b/s.

We will find that the power-limited and bandwidth-limited regimes differ in almost every way. In the power-limited regime, we will be able to use binary coding and modulation, whereas in the bandwidth-limited regime we must use nonbinary (“multilevel”) modulation. In the power-limited regime, it is appropriate to normalize everything “per information bit,” and Eb/N0 is a reasonable normalized measure of signal-to-noise ratio. In the bandwidth-limited regime, on the other hand, we will see that it is much better to normalize everything “per two dimensions,” and SNRnorm will become a much more appropriate measure than Eb/N0. Thus the first thing to do in a communications design problem is to determine which regime you are in, and then proceed accordingly.

Page 37: MIT Principal of Digital Communication

� � �

� � � � � �

38 CHAPTER 4. UNCODED PERFORMANCE VS. THE SHANNON LIMIT

4.4 Performance of M -PAM and (M × M )-QAM

We now evaluate the performance of the simplest possible uncoded systems, namely M -PAM and (M × M )-QAM. This will give us a baseline. The difference between the performance achieved by baseline systems and the Shannon limit determines the maximum possible gain that can be achieved by the most sophisticated coding systems. In effect, it defines our playing field.

4.4.1 Uncoded 2-PAM

We first consider the important special case of a binary 2-PAM constellation

A = {−α, +α}, where α > 0 is a scale factor chosen such that the average signal energy per bit, Eb = α2 , satisfies the average signal energy constraint.

For this constellation, the bit rate (nominal spectral efficiency) is ρ = 2 b/2D, and the average signal energy per bit is Eb = α2 .

The usual symbol-by-symbol detector (which is easily seen to be optimum) makes an inde-pendent decision on each received symbol yk according to whether the sign of yk is positive or negative. The probability of error per bit is evidently the same regardless of which of the two signal values is transmitted, and is equal to the probability that a Gaussian noise variable of variance σ2 = N0/2 exceeds α, namely

Pb(E) = Q (α/σ) ,

where the Gaussian probability of error Q(·) function is defined by � ∞

Q(x) = √ 1

e −y2 /2 dy. x 2π

Substituting the energy per bit Eb = α2 and the noise variance σ2 = N0/2, the probability of error per bit is

Pb(E) = Q 2Eb/N0 . (4.3)

This gives the performance curve of Pb(E) vs. Eb/N0 for uncoded 2-PAM that is shown in Figure 1, below.

4.4.2 Power-limited baseline vs. the Shannon limit

In the power-limited regime, we will take binary pulse amplitude modulation (2-PAM) as our baseline uncoded system, since it has ρ = 2. By comparing the performance of the uncoded baseline system to the Shannon limit, we will be able to determine the maximum possible gains that can be achieved by the most sophisticated coding systems.

In the power-limited regime, we will primarily use Eb/N0 as our normalized signal-to-noise ratio, although we could equally well use SNRnorm. Note that when ρ = 2, since Eb/N0 = SNR/ρ and SNRnorm = SNR/(2ρ − 1), we have 2Eb/N0 = 3SNRnorm. The baseline performance curve can therefore be written in two equivalent ways:

Pb(E) = Q 2Eb/N0 = Q 3SNRnorm .

Page 38: MIT Principal of Digital Communication

39 4.4. PERFORMANCE OF M -PAM AND (M × M )-QAM

Uncoded 2−PAM 0

10

10

Uncoded 2−PAM Shannon Limit Shannon Limit for ρ = 2

−110

−210

Pb(E

)

−3

10−4

10−5

10−6

−2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 Eb/No [dB]

Figure 1. Pb(E) vs. Eb/N0 for uncoded binary PAM.

Figure 1 gives us a universal design tool. For example, if we want to achieve Pb(E ) ≈ 10−5

with uncoded 2-PAM, then we know that we will need to achieve Eb/N0 ≈ 9.6 dB.

We may also compare the performance shown in Figure 1 to the Shannon limit. The rate of 2-PAM is ρ = 2 b/2D. The Shannon limit on Eb/N0 at ρ = 2 b/2D is Eb/N0 > (2ρ − 1)/ρ = 3/2 (1.76 dB). Thus if our target error rate is Pb(E) ≈ 10−5, then we can achieve a coding gain of up to about 8 dB with powerful codes, at the same rate of ρ = 2 b/2D.

However, if there is no limit on bandwidth and therefore no lower limit on spectral efficiency, then it makes sense to let ρ → 0. In this case the ultimate Shannon limit on Eb/N0 is Eb/N0 > ln 2 (-1.59 dB). Thus if our target error rate is Pb(E) ≈ 10−5, then Shannon says that we can achieve a coding gain of over 11 dB with powerful codes, by letting the spectral efficiency approach zero.

4.4.3 Uncoded M -PAM and (M × M )-QAM

We next consider the more general case of an M -PAM constellation

A = α{±1, ±3, . . . , ±(M − 1)}, where α > 0 is again a scale factor chosen to satisfy the average signal energy constraint. The bit rate (nominal spectral efficiency) is then ρ = 2 log2 M b/2D.

The average energy per M -PAM symbol is

α2(M 2 − 1)E(A) = .

3

Page 39: MIT Principal of Digital Communication

40 CHAPTER 4. UNCODED PERFORMANCE VS. THE SHANNON LIMIT

An elegant way of making this calculation is to consider a random variable Z = X + U , where X is equiprobable over A and U is an independent continuous uniform random variable over the interval (−α, α]. Then Z is a continuous random variable over the interval (−Mα, M α], and1

(αM )2 α2

X2 = Z2 − U 2 = − .3 3

The average energy per two dimensions is then Es = 2E(A) = 2α2(M 2 − 1)/3.

Again, an optimal symbol-by-symbol detector makes an independent decision on each received symbol yk . In this case the decision region associated with an input value αzk (where zk is an odd integer) is the interval α[zk − 1, zk + 1] (up to tie-breaking at the boundaries, which is immaterial), except for the two outermost signal values ±α(M − 1), which have decision regions ±α[M − 2, ∞). The probability of error for any of the M − 2 inner signals is thus equal to twice the probability that a Gaussian noise variable Nk of variance σ2 = N0/2 exceeds α, namely 2Q (α/σ) , whereas for the two outer signals it is just Q (α/σ). The average probability of error with equiprobable signals per M -PAM symbol is thus

M − 2 2Pr(E) = 2Q (α/σ) + Q (α/σ) =

2(M − 1)Q (α/σ) .

M M M

For M = 2, this reduces to the usual expression for 2-PAM. For M ≥ 4, the “error coefficient” 2(M − 1)/M quickly approaches 2, so Pr(E) ≈ 2Q (α/σ).

Since an (M × M )-QAM signal set A′ = A2 is equivalent to two independent M -PAM trans-missions, we can easily extend this calculation to (M × M )-QAM. The bit rate (nominal spectral efficiency) is again ρ = 2 log2 M b/2D, and the average signal energy per two dimensions (per QAM symbol) is again Es = 2α2(M 2 − 1)/3. The same dimension-by-dimension decision method and calculation of probability of error per dimension Pr(E) hold. The probability of error per (M × M )-QAM symbol, or per two dimensions, is given by

Ps(E) = 1 − (1 − Pr(E))2 = 2 Pr(E) − (Pr(E))2 ≈ 2 Pr(E).

Therefore for (M × M )-QAM we obtain a probability of error per two dimensions of

Ps(E) ≈ 2 Pr(E) ≈ 4Q (α/σ) . (4.4)

4.4.4 Bandwidth-limited baseline vs. the Shannon limit

In the bandwidth-limited regime, we will take (M × M )-QAM with M ≥ 4 as our baseline uncoded system, we will normalize everything per two dimensions, and we will use SNRnorm as our normalized signal-to-noise ratio.

For M ≥ 4, the probability of error per two dimensions is given by (4.4):

Ps(E) ≈ 4Q (α/σ) . 1This calculation is actually somewhat fundamental, since it is based on a perfect one-dimensional sphere-

packing and on the fact that the difference between the average energy of a continuous random variable and the average energy of an optimally quantized discrete version thereof is the average energy of the quantization error. As the same principle is used in the calculation of channel capacity, in the relation Sy = Sx + Sn, we can even say that the “1” that appears in the capacity formula is the same “1” as appears in the formula for E(A). Therefore the cancellation of this term below is not quite as miraculous as it may at first seem.

Page 40: MIT Principal of Digital Communication

� � �

41 4.4. PERFORMANCE OF M -PAM AND (M × M )-QAM

Substituting the average energy Es = 2α2(M 2 − 1)/3 per two dimensions, the noise variance σ2 = N0/2, and the normalized signal-to-noise ratio

SNRSNRnorm = 2ρ − 1

= Es/N0

M 2 − 1,

we find that the factors of M 2 − 1 cancel (cf. footnote 1) and we obtain the performance curve

Ps(E) ≈ 4Q 3SNRnorm . (4.5)

Note that this curve does not depend on M , which shows that SNRnorm is correctly normalized for the bandwidth-limited regime.

The bandwidth-limited baseline performance curve (4.5) of Ps(E) vs. SNRnorm for uncoded (M × M )-QAM is plotted in Figure 2.

Uncoded QAM 100

10−3

Uncoded QAM Shannon Limit

10−1

10−2

P (E

) s

10−4

10−5

10−6

0 1 2 3 4 5 6 7 8 9 10 SNR norm [dB]

Figure 2. Ps(E) vs. SNRnorm for uncoded (M × M )-QAM.

Figure 2 gives us another universal design tool. For example, if we want to achieve Ps(E) ≈ 10−5 with uncoded (M × M )-QAM (or M -PAM), then we know that we will need to achieve SNRnorm ≈ 8.4 dB. (Notice that SNRnorm, unlike Eb/N0, is already normalized for spectral efficiency.)

The Shannon limit on SNRnorm for any spectral efficiency is SNRnorm > 1 (0 dB). Thus if our target error rate is Ps(E) ≈ 10−5, then Shannon says that we can achieve a coding gain of up to about 8.4 dB with powerful codes, at any spectral efficiency. (This result holds approximately even for M = 2, as we have already seen in the previous subsection.)

Page 41: MIT Principal of Digital Communication

Chapter 5

Performance of small signal sets

In this chapter, we show how to estimate the performance of small-to-moderate-sized signal constellations on the discrete-time AWGN channel.

With equiprobable signal points in iid Gaussian noise, the optimum decision rule is a minimum-distance rule, so the optimum decision regions are minimum-distance (Voronoi) regions.

We develop useful performance estimates for the error probability based on the union bound. These are based on exact expressions for pairwise error probabilities, which involve the Gaussian probability of error Q(·) function. An appendix develops the main properties of this function.

Finally, we use the union bound estimate to find the “coding gain” of small-to-moderate-sized signal constellations in the power-limited and bandwidth-limited regimes, compared to the 2-PAM or (M × M)-QAM baselines, respectively.

5.1 Signal constellations for the AWGN channel

In general, a coding scheme for the discrete-time AWGN channel model Y = X + N is a method of mapping an input bit sequence into a transmitted real symbol sequence x, which is called encoding, and a method for mapping a received real symbol sequence y into an estimated transmitted signal sequence x, which is called decoding.

Initially we will consider coding schemes of the type considered by Shannon, namely block codes with a fixed block length N . With such codes, the transmitted sequence x consists of a sequence (. . . ,xk ,xk+1, . . .) of N -tuples xk ∈ RN that are chosen independently from some block code of length N with M codewords. Block codes are not the only possible kinds of coding schemes, as we will see when we study convolutional and trellis codes.

Usually the number M of codewords is chosen to be a power of 2, and codewords are chosen by some encoding map from blocks of log2 M bits in the input bit sequence. If the input bit sequence is assumed to be an iid random sequence of equiprobable bits, then the transmitted sequence will be an iid random sequence X = (. . . ,Xk ,Xk+1, . . .) of equiprobable random codewords Xk . We almost always assume equiprobability, because this is a worst-case (minimax) assumption. Also, the bit sequence produced by an efficient source coder must statistically resemble an iid equiprobable bit sequence.

43

Page 42: MIT Principal of Digital Communication

44 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

In digital communications, we usually focus entirely on the code, and do not care what encoding map is used from bits to codewords. In other contexts the encoding map is also important; e.g., in the “Morse code” of telegraphy.

If the block length N and the number of codewords M are relatively small, then a block code for the AWGN channel may alternatively be called a signal set, signal constellation, or signal alphabet. A scheme in which the block length N is 1 or 2, corresponding to a single signaling interval of PAM or QAM, may be regarded as an “uncoded” scheme.

Figure 1 illustrates some 1-dimensional and 2-dimensional signal constellations.

√ r 3 r r r r r r 2 √

3

r 1 r r r 1 r r r r r r r r 3 −1 1 −3 −1 1 3 −2.r5−0.r5 1.r5 3.r5r −1 r r r −1 r r r r r r r r −√

3r −3 r r r r r −2 √

3r (a) (b) (c) (d) (e)

Figure 1. Uncoded signal constellations: (a) 2-PAM; (b) (2 × 2)-QAM; (c) 4-PAM; (d) (4 × 4)-QAM; (e) hexagonal 16-QAM.

An N -dimensional signal constellation (set, alphabet) will be denoted by

A = {aj , 1 ≤ j ≤ M }.

Its M elements aj ∈ RN will be called signal points (vectors, N -tuples).

The basic parameters of a signal constellation A = {aj , 1 ≤ j ≤ M } are its dimension N ; its 1size M (number of signal points); its average energy E(A) = M j ||aj ||2; and its minimum

squared distance d2 min(A), which is an elementary measure of its noise resistance. A secondary

parameter is the average number Kmin(A) of nearest neighbors (points at distance dmin(A)).

From these basic parameters we can derive such parameters as:

• The bit rate (nominal spectral efficiency) ρ = (2/N ) log2 M b/2D;

• The average energy per two dimensions Es = (2/N )E(A), or the average energy per bit Eb = E(A)/(log2 M ) = Es/ρ;

• Energy-normalized figures of merit such as d2 or d2 min(A)/Es min(A)/Eb,min(A)/E(A), d2

which are independent of scale.

For example, in Figure 1, the bit rate (nominal spectral efficiency) of the 2-PAM and (2 × 2)-QAM constellations is ρ = 2 b/2D, whereas for the other three constellations it is ρ = 4 b/2D. The average energy per two dimensions of the 2-PAM and (2 × 2)-QAM constellations is Es = 2, whereas for the 4-PAM and (4 × 4)-QAM constellations it is Es = 10, and for the hexagonal 16-QAM constellation it is Es = 8.75. For all constellations, d2

min = 4. The average numbers of nearest neighbors are Kmin = 1, 2, 1.5, 3, and 4.125, respectively.

Page 43: MIT Principal of Digital Communication

′ ′

5.1. SIGNAL CONSTELLATIONS FOR THE AWGN CHANNEL 45

5.1.1 Cartesian-product constellations

Some of these relations are explained by the fact that an (M × M)-QAM constellation is the Cartesian product of two M -PAM constellations. In general, a Cartesian-product constellation AK is the set of all sequences of K points from an elementary constellation A; i.e.,

AK = {(x1,x2, . . . ,xK ) | xk ∈ A}. If the dimension and size of A are N and M , respectively, then the dimension of A = AK is N ′ = KN and its size is M ′ = MK .

Exercise 1 (Cartesian-product constellations). (a) Show that if A = AK , then the parameters N, log2 M,E(A′) and Kmin(A′) of A are K times as large as the corresponding parameters of A, whereas the normalized parameters ρ,Es, Eb and d2

min(A) are the same as those of A. Verify that these relations hold for the (M × M)-QAM constellations of Figure 1.

Notice that there is no difference between a random input sequence X with elements from A and a sequence X with elements from a Cartesian-product constellation AK . For example, there is no difference between a random M -PAM sequence and a random (M × M)-QAM sequence. Thus Cartesian-product constellations capture in a non-statistical way the idea of independent transmissions. We thus may regard a Cartesian-product constellation AK as equivalent to (or a “version” of) the elementary constellation A. In particular, it has the same ρ,Es, Eb and d2

min.

We may further define a “code over A” as a subset C ⊂ AK of a Cartesian-product constellation AK . In general, a code C over A will have a lower bit rate (nominal spectral efficiency) ρ than A, but a higher minimum squared distance d2

min. Via this tradeoff, we hope to achieve a “coding gain.” Practically all of the codes that we will consider in later chapters will be of this type.

5.1.2 Minimum-distance decoding

Again, a decoding scheme is a method for mapping the received sequence into an estimate of the transmitted signal sequence. (Sometimes the decoder does more than this, but this definition will do for a start.)

If the encoding scheme is a block scheme, then it is plausible that the receiver should decode block-by-block as well. That there is no loss of optimality in block-by-block decoding can be shown from the theorem of irrelevance, or alternatively by an extension of the exercise involving Cartesian-product constellations at the end of this subsection.

We will now recapitulate how for block-by-block decoding, with equiprobable signals and iid Gaussian noise, the optimum decision rule is a minimum-distance (MD) rule.

For block-by-block decoding, the channel model is Y = X + N, where all sequences are N -tuples. The transmitted sequence X is chosen equiprobably from the M N -tuples aj in a signal constellation A. The noise pdf is

pN (n) = (2πσ

1 e−||n||2/2σ2

2)N/2 ,

where the symbol variance is σ2 = N0/2.

In digital communications, we are usually interested in the minimum-probability-of-error (MPE) decision rule: given a received vector y, choose the signal point a ∈ A to minimize the probability of decision error Pr(E).

Page 44: MIT Principal of Digital Communication

� �

� �

46 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

a is correct is simply the a posteriori probability p(ˆ |Since the probability that a decision ˆ a y), the MPE rule is equivalent to the maximum-a-posteriori-probability (MAP) rule: choose the a ∈ A such that p(ˆ |ˆ a y) is maximum among all p(aj | y), aj ∈ A.

By Bayes’ law,

p(aj | y) = p(y aj )p(aj )|

p(y) .

If the signals aj are equiprobable, so p(aj ) = 1/M for all j, then the MAP rule is equivalent to a ∈ A such that p(y a) is maximum among all the maximum-likelihood (ML) rule: choose the ˆ | ˆ

p(y | aj ), aj ∈ A.

Using the noise pdf, we can write

| 1 e−||y−aj ||2/2σ2

p(y aj ) = pN (y − aj ) = (2πσ2)N/2

.

Therefore the ML rule is equivalent to the minimum-distance (MD) rule: choose the a ∈ A such that ||y − a||2 is minimum among all ||y − aj ||2 , aj ∈ A.

In summary, under the assumption of equiprobable inputs and iid Gaussian noise, the MPE rule is the minimum-distance rule. Therefore from this point forward we consider only MD detection, which is easy to understand from a geometrical point of view.

Exercise 1 (Cartesian-product constellations, cont.).

(b) Show that if the signal constellation is a Cartesian product AK , then MD detection can be performed by performing independent MD detection on each of the K components of the received KN -tuple y = (y1, y2, . . . , yK ). Using this result, sketch the decision regions of the (4 × 4)-QAM signal set of Figure 1(d).

(c) Show that if Pr(E) is the probability of error for MD detection of A, then the probability of error for MD detection of A′ is

Pr(E)′ = 1 − (1 − Pr(E))K ,

Show that Pr(E)′ ≈ K Pr(E) if Pr(E) is small.

Example 1. The K-fold Cartesian product A = AK of a 2-PAM signal set A = {±α}corresponds to independent transmission of K bits using 2-PAM. Geometrically, A′ is the vertex set of a K-cube of side 2α. For example, for K = 2, A is the (2 × 2)-QAM constellation of Figure 1(b).

From Exercise 1(a), the K-cube constellation A = AK has dimension N ′ = K, size M ′ = 2K , bit rate (nominal spectral efficiency) ρ = 2 b/2D, average energy E(A′) = Kα2, average energy per bit Eb = α2, minimum squared distance d2 ′) = 4α2, and average number of nearest min(Aneighbors K ′ ′) = K. From Exercise 1(c), its probability of error is approximately K timesmin(Athe single-bit error probability:

Pr(E)′ ≈ KQ

the curve of (4.3) for all K-cube constellations:

Pb(E) ≈ Q

� 2Eb/N0 .

Pb(E) = Pr(E)′/K

2Eb/N0

� ,

Consequently, if we define the probability of error per bit as , then we obtain

including the (2 × 2)-QAM constellation of Figure 1(b).

A code over the 2-PAM signal set A is thus simply a subset of the vertices of a K-cube.

Page 45: MIT Principal of Digital Communication

5.1. SIGNAL CONSTELLATIONS FOR THE AWGN CHANNEL 47

5.1.3 Decision regions

Under a minimum-distance (MD) decision rule, real N -space RN is partitioned into M decision regions Rj , 1 ≤ j ≤ M , where Rj consists of the received vectors y ∈ RN that are at least as close to aj as to any other point in A:

Rj = {y ∈ RN : ||y − aj ||2 ≤ ||y − aj′ ||2 for all j′ =� j}. (5.1)

The minimum-distance regions Rj are also called Voronoi regions. Under the MD rule, given a received sequence y, the decision is aj only if y ∈ Rj . The decision regions Rj cover all of N -space RN , and are disjoint except on their boundaries.

Since the noise vector N is a continuous random vector, the probability that y will actually fall precisely on the boundary of Rj is zero, so in that case it does not matter which decision is made.

The decision region Rj is the intersection of the M − 1 pairwise decision regions Rjj′ defined by

2Rjj′ = {y ∈ RN : ||y − aj ||2 ≤ ||y − aj′ || }. Geometrically, it is obvious that Rjj′ is the half-space containing aj that is bounded by the perpendicular bisector hyperplane Hjj′ between aj and aj′ , as shown in Figure 2.

6

aj′aj′|aj′ −aj r

6

m yy|aj′ −aj = m|aj′ −aj

r '$'$Hjj′ �� aj|aj′ −aj

r aj��&%&%-

Figure 2. The boundary hyperplane Hjj′ is the perpendicular bisector between aj and aj′ .

Algebraically, since Hjj′ is the set of points in RN that are equidistant from aj and aj′ , it is characterized by the following equivalent equations:

2||y − aj ||2

= ||y − aj′ ||2; −2〈y, aj〉 + ||aj || = −2〈y, aj′ 〉 + ||aj′ ||2;

aj + aj′ 〈y, aj′ − aj〉 = 〈 2

, aj′ − aj〉 = 〈m, aj′ − aj〉. (5.2)

where m denotes the midvector m = (aj + aj′ )/2. If the difference vector between aj′ and aj is aj′ − aj and

aj′ − ajφj→j′ = ||aj′ − aj ||

is the normalized difference vector, so that ||φj→j′ ||2 = 1, then the projection of any vector x onto the difference vector aj′ − aj is

〈x, aj′ − aj〉 x|aj′ −aj = 〈x, φj→j′ 〉φj→j′ = ||aj′ − aj ||2 (aj′ − aj).

Page 46: MIT Principal of Digital Communication

� � �

48 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

The geometric meaning of Equation (5.2) is thus that y ∈ Hjj′ if and only if the projection y|aj′ −aj

of y onto the difference vector aj′ −aj is equal to the projection m|aj′ −aj of the midvector

m = (aj + aj′ )/2 onto the difference vector aj − aj′ , as illustrated in Figure 2.

The decision region Rj is the intersection of these M − 1 half-spaces:

Rj = Rjj′ . j′ �=j

(Equivalently, the complementary region Rj is the union of the complementary half-spaces Rjj′ .) A decision region Rj is therefore a convex polytope bounded by portions of a subset {Hjj′ ,aj′ ∈ N (aj)} of the boundary hyperplanes Hjj′ , where the subset N (aj) ⊆ A of neighbors of aj that contribute boundary faces to this polytope is called the relevant subset. It is easy to see that the relevant subset must always include the nearest neighbors to aj .

5.2 Probability of decision error

The probability of decision error given that aj is transmitted is the probability that Y = aj + N falls outside the decision region Rj , whose “center” is aj . Equivalently, it is the probability that the noise variable N falls outside the translated region Rj − aj , whose “center” is 0:

Pr(E | aj) = 1 − pY (y | aj) dy = 1 − pN (y − aj) dy = 1 − pN (n) dn. Rj Rj Rj −aj

Exercise 2 (error probability invariance). (a) Show that the probabilities of error Pr(E | aj) are unchanged if A is translated by any vector v; i.e., the constellation A = A + v has the same error probability Pr(E) as A.

(b) Show that Pr(E) is invariant under orthogonal transformations; i.e., the constellation A′ = UA has the same Pr(E) as A when U is any orthogonal N × N matrix (i.e., U−1 = UT ).

(c) Show that Pr(E) is unchanged if both the constellation A and the noise N are scaled by the same scale factor α > 0.

Exercise 3 (optimality of zero-mean constellations). Consider an arbitrary signal set A = 1{aj , 1 ≤ j ≤ M}. Assume that all signals are equiprobable. Let m(A) = j aj be the M

average signal, and let A′ be A translated by m(A) so that the mean of A′ is zero:

A′ = A− m(A) = {aj − m(A), 1 ≤ j ≤ M}. Let E(A) and E(A′) denote the average energies of A and A′, respectively.

(a) Show that the error probability of an optimum detector is the same for A′ as it is for A.

(b) Show that E(A′) = E(A) − ||m(A)||2. Conclude that removing the mean m(A) is always a good idea.

(c) Show that a binary antipodal signal set A = {±a} is always optimal for M = 2.

In general, there is no closed-form expression for the Gaussian integral Pr(E | aj). However, we can obtain an upper bound in terms of pairwise error probabilities, called the union bound, which is usually quite sharp. The first term of the union bound, called the union bound estimate, is usually an excellent approximation, and will be the basis for our analysis of coding gains of small-to-moderate-sized constellations. A lower bound with the same exponential behavior may be obtained by considering only the worst-case pairwise error probability.

Page 47: MIT Principal of Digital Communication

� �

5.2. PROBABILITY OF DECISION ERROR 49

5.2.1 Pairwise error probabilities

We now show that each pairwise probability has a simple closed-form expression that depends only on the squared distance d2(aj , aj′ ) = ||aj − aj′ ||2 and the noise variance σ2 = N0/2.

From Figure 2, it is clear that whether y = aj + n is closer to aj′ than to aj depends only on the projection y|aj′ −aj

of y onto the difference vector aj′ − aj . In fact, from (5.2), an error can occur if and only if

′ − aj 〉| 〈aj′ − aj , aj′ − aj 〉 = ||aj′ − aj ||

.|n|aj′ −aj | = |〈n, φj→j′ 〉| =

|〈n, aj ≥ ||aj′ − aj || 2||aj′ − aj || 2

In other words, an error can occur if and only if the magnitude of the one-dimensional noise component n1 = n|aj′ −aj

, the projection of n onto the difference vector aj′ − aj , exceeds half the distance d(aj′ , aj ) = ||aj′ − aj || between aj′ and aj .

We now use the fact that the distribution pN (n) of the iid Gaussian noise vector N is spherically symmetric, so the pdf of any one-dimensional projection such as n1 is

2 pN (n1) = √

1 e −n1/2σ2

. 2πσ2

In other words, N is an iid zero-mean Gaussian vector with variance σ2 in any coordinate system, including a coordinate system in which the first coordinate axis is aligned with the vector aj′ −aj .

Consequently, the pairwise error probability Pr{aj → aj′ } that if aj is transmitted, the received vector y = aj + n will be at least as close to aj′ as to aj is given simply by

� ∞ d(aj′ , aj )Pr{aj → aj′ } = √ 1

e −x2/2σ2 dx = Q

2σ, (5.3)

2πσ2 d(aj′ ,aj )/2

where Q(·) is again the Gaussian probability of error function.

As we have seen, the probability of error for a 2-PAM signal set {±α} is Q(α/σ). Since the distance between the two signals is d = 2α, this is just a special case of this general formula.

In summary, the spherical symmetry of iid Gaussian noise leads to the remarkable result that the pairwise error probability from aj to aj′ depends only on the squared distance d2(aj′ , aj ) = ||aj′ − aj ||2 between aj and aj′ and the noise variance σ2 .

Exercise 4 (non-equiprobable signals).

Let aj and aj′ be two signals that are not equiprobable. Find the optimum (MPE) pairwise decision rule and pairwise error probability Pr{aj → aj′ }.

5.2.2 The union bound and the UBE

The union bound on error probability is based on the elementary union bound of probability theory: if A and B are any two events, then Pr(A ∪ B) ≤ Pr(A)+Pr(B). Thus the probability of detection error Pr(E | aj ) with minimum-distance detection if aj is sent— i.e., the probability that y will be closer to some other aj′ ∈ A than to aj – is upperbounded by the sum of the pairwise error probabilities to all other signals aj′ �= aj ∈ A:

Pr(E | aj ) ≤ �

Pr{aj → aj′ } = �

Qd(aj , aj′ )

.2σ

aj =� aj′ ∈A aj =� aj′ ∈A

Page 48: MIT Principal of Digital Communication

� �

50 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

Let D denote the set of distances between signal points in A; then we can write the union bound as � � � d

Pr(E | aj ) ≤ Kd(aj )Q 2σ

, (5.4) d∈D

where Kd(aj ) is the number of signals aj′ �= aj ∈ A at distance d from aj . Because Q(x) decreases exponentially as e−x2/2 (see Appendix), the factor Q(d/2σ) will be largest for the minimum Euclidean distance

j′ ∈A ||aj′ − aj ||,dmin(A) = min

aj �=a

and will decrease rapidly for larger distances.

The union bound estimate (UBE) of Pr(E | aj ) is based on the idea that the nearest neighbors to aj at distance dmin(A) (if there are any) will dominate this sum. If there are Kmin(aj ) neighbors at distance dmin(A) from aj , then

dmin(A) �

Pr(E | aj ) ≈ Kmin(aj ) Q 2σ

. (5.5)

Of course this estimate is valid only if the next nearest neighbors are at a significantly greater distance and there are not too many of them; if these assumptions are violated, then further terms should be used in the estimate.

The union bound may be somewhat sharpened by considering only signals in the relevant subset N (aj ) that determine faces of the decision region Rj . However, since N (aj ) includes all nearest neighbors at distance dmin(A), this will not affect the UBE.

Finally, if there is at least one neighbor aj′ at distance dmin(A) from aj , then we have the pairwise lower bound

Pr(E | aj ) ≥ Pr{aj → aj′ } = Qdmin(A)

, (5.6)2σ

since there must be a detection error if y is closer to aj′ than to aj . Thus we are usually able to obtain upper and lower bounds on Pr(E | aj ) that have the same “exponent” (argument of the Q(·) function) and that differ only by a small factor of the order of Kmin(aj ).

We can obtain similar upper and lower bounds and estimates for the total error probability

Pr(E) = Pr(E | aj ),

where the overbar denotes the expectation over the equiprobable ensemble of signals in A. For example, if Kmin(A) = Kmin(aj ) is the average number of nearest neighbors at distance dmin(A), then the union bound estimate of Pr(E) is

dmin(A) �

Pr(E) ≈ Kmin(A)Q . (5.7)2σ

Exercise 5 (UBE for M -PAM constellations). For an M -PAM constellation A, show that Kmin(A) = 2(M − 1)/M . Conclude that the union bound estimate of Pr(E) is

M − 1 � �

dPr(E) ≈ 2 Q .

M 2σ

Show that in this case the union bound estimate is exact. Explain why.

Page 49: MIT Principal of Digital Communication

5.3. PERFORMANCE ANALYSIS IN THE POWER-LIMITED REGIME 51

5.3 Performance analysis in the power-limited regime

Recall that the power-limited regime is defined as the domain in which the nominal spectral efficiency ρ is not greater than 2 b/2D. In this regime we normalize all quantities “per bit,” and generally use Eb/N0 as our normalized measure of signal-to-noise ratio.

The baseline uncoded signal set in this regime is the one-dimensional 2-PAM signal set A = {±α}, or equivalently a K -cube constellation AK . Such a constellation has bit rate (nominal spectral efficiency) ρ = 2 b/2D, average energy ber bit Eb = α2, minimum squared distance d2

min(A) = 4α2, and average number of nearest neighbors per bit Kb(A) = 1. By the UBE (5.7), its error probability per bit is given by

√ Pb(E ) ≈ Q (2Eb/N0), (5.8)

√ √ √where we now use the “Q-of-the-square-root-of” function Q , defined by Q (x) = Q( x) (see Appendix). This baseline curve of Pb(E) vs. Eb/N0 is plotted in Chapter 4, Figure 1.

The effective coding gain γeff (A) of a signal set A at a given target error probability per bit Pb(E ) will be defined as the difference in dB between the Eb/N0 required to achieve the target Pb(E ) with A and the Eb/N0 required to achieve the target Pb(E) with 2-PAM (i.e., no coding).

For example, we have seen that the maximum possible effective coding gain at Pb(E) ≈ 10−5

is approximately 11.2 dB. For lower Pb(E), the maximum possible gain is higher, and for higher Pb(E ), the maximum possible gain is lower.

In this definition, the effective coding gain includes any gains that result from using a lower nominal spectral efficiency ρ < 2 b/2D, which as we have seen can range up to 3.35 dB. If ρ is held constant at ρ = 2 b/2D, then the maximum possible effective coding gain is lower; e.g., at Pb(E) ≈ 10−5 it is approximately 8 dB. If there is a constraint on ρ (bandwidth), then it is better to plot Pb(E) vs. SNRnorm, especially to measure how far A is from achieving capacity.

The UBE allows us to estimate the effective coding gain as follows. The probability of error per bit (not in general the same as the bit error probability!) is

Pr(E) Kmin(A) √ �

d2 min(A)

Pb(E) = log2 |A| ≈ Q

2N0 ,

log2 |A|√ � �

since Q d2 = Q(dmin(A)/2σ). In the power-limited regime, we define the nominalmin(A)/2N0

coding gain γc(A) as d2

min(A)γc(A) = . (5.9)

4Eb

This definition is normalized so that for 2-PAM, √ γc(A) = 1. Because nominal coding gain is

a multiplicative factor in the argument of the Q (·) function, it is often measured in dB. The UBE then becomes √

Pb(E) ≈ Kb(A)Q (2γc(A)Eb/N0), (5.10)

where Kb(A) = Kmin(A)/ log2 |A| is the average number of nearest neighbors per transmitted bit. Note that for 2-PAM, this expression is exact.

Given γc(A) and Kb(A), we may obtain a plot of the UBE (5.10) simply by moving the baseline curve (Figure 1 of Chapter 4) to the left by γc(A) (in dB), and then up by a factor of Kb(A), since Pb(E) is plotted on a log scale. (This is an excellent reason why error probability curves are always plotted on a log-log scale, with SNR measured in dB.)

Page 50: MIT Principal of Digital Communication

52 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

Thus if Kb(A) = 1, then the effective coding gain γeff (A) is equal to the nominal coding gain γc(A) for all Pb(E ), to the accuracy of the UBE. However, if Kb(A) > 1, then the effective coding gain is less than the nominal coding gain by an amount which depends on the steepness of the Pb(E) vs. Eb/N0 curve at the target Pb(E). At Pb(E) ≈ 10−5, a rule of thumb which is fairly accurate if Kb(A) is not too large is that an increase of a factor of two in Kb(A) costs about 0.2 dB in effective coding gain; i.e.,

γeff (A) ≈ γc(A) − (0.2)(log2 Kb(A)) (in dB). (5.11)

A more accurate estimate may be obtained by a plot of the union bound estimate (5.10).

Exercise 6 (invariance of coding gain). Show that the nominal coding gain γc(A) of (5.9), the UBE (5.10) of Pb(E), and the effective coding gain γeff (A) are invariant to scaling, orthogonal transformations and Cartesian products.

5.4 Orthogonal and related signal sets

Orthogonal, simplex and biorthogonal signal sets are concrete examples of large signal sets that are suitable for the power-limited regime when bandwidth is truly unconstrained. Orthogonal signal sets are the easiest to describe and analyze. Simplex signal sets are believed to be optimal for a given constellation size M when there is no constraint on dimension. Biorthogonal signal sets are slightly more bandwidth-efficient. For large M , all become essentially equivalent.

The following exercises develop the parameters of these signal sets, and show that they can achieve reliable transmission for Eb/N0 within 3 dB from the ultimate Shannon limit.1 The drawback of these signal sets is that the number of dimensions (bandwidth) becomes very large and the spectral efficiency ρ very small as M → ∞. Also, even with the “fast” Walsh-Hadamard transform (see Chapter 1, Problem 2), decoding complexity is of the order of M log2 M , which increases exponentially with the number of bits transmitted, log2 M , and thus is actually “slow.”

Exercise 7 (Orthogonal signal sets). An orthogonal signal set is a set A = {aj , 1 ≤ j ≤ M }of M orthogonal vectors in RM with equal energy E (A); i.e., 〈aj , aj′ 〉 = E(A)δjj′ (Kronecker delta).

(a) Compute the nominal spectral efficiency ρ of A in bits per two dimensions. Compute the average energy Eb per information bit.

(b) Compute the minimum squared distance d2 min(A). Show that every signal has Kmin(A) =

M − 1 nearest neighbors.

(c) Let the noise variance be σ2 = N0/2 per dimension. Show that the probability of error of an optimum detector is bounded by the UBE

√ Pr(E) ≤ (M − 1)Q (E(A)/N0).

(d) Let M → ∞ with Eb held constant. Using an asymptotically accurate upper bound for √ the Q (·) function (see Appendix), show that Pr(E) → 0 provided that Eb/N0 > 2 ln 2 (1.42 dB). How close is this to the ultimate Shannon limit on Eb/N0? What is the nominal spectral efficiency ρ in the limit?

1Actually, it can be shown that with optimum detection orthogonal signal sets can approach the ultimate Shannon limit on Eb/N0 as M → ∞; however, the union bound is too weak to prove this.

Page 51: MIT Principal of Digital Communication

53 5.4. ORTHOGONAL AND RELATED SIGNAL SETS

Exercise 8 (Simplex signal sets). Let A be an orthogonal signal set as above.

(a) Denote the mean of A by m(A). Show that m(A) = 0, and compute ||m(A)||2 .

The zero-mean set A′ = A − m(A) (as in Exercise 2) is called a simplex signal set. It is universally believed to be the optimum set of M signals in AWGN in the absence of bandwidth constraints, except at ridiculously low SNRs.

(b) For M = 2, 3, 4, sketch A and A′ .

(c) Show that all signals in A′ have the same energy E(A′). Compute E(A′). Compute the inner products 〈aj , aj′ 〉 for all aj , aj′ ∈ A′ .

(d) [Optional]. Show that for ridiculously low SNRs, a signal set consisting of M − 2 zero signals and two antipodal signals {±a} has a lower Pr(E) than a simplex signal set. [Hint: see M. Steiner, “The strong simplex conjecture is false,” IEEE Transactions on Information Theory, pp. 721-731, May 1994.]

Exercise 9 (Biorthogonal signal sets). The set A′′ = ±A of size 2M consisting of the M signals in an orthogonal signal set A with symbol energy E(A) and their negatives is called a biorthogonal signal set.

(a) Show that the mean of A′′ is m(A′′) = 0, and that the average energy per symbol is E(A).

(b) How much greater is the nominal spectral efficiency ρ of A′′ than that of A, in bits per two dimensions?

(c) Show that the probability of error of A′′ is approximately the same as that of an orthogonal signal set with the same size and average energy, for M large.

(d) Let the number of signals be a power of 2: 2M = 2k . Show that the nominal spectral efficiency is ρ(A′′) = 4k2−k b/2D, and that the nominal coding gain is γc(A′′) = k/2. Show that the number of nearest neighbors is Kmin(A′′) = 2k − 2.

Example 2 (Biorthogonal signal sets). Using Exercise 9, we can estimate the effective coding gain of a biorthogonal signal set using our rule of thumb (5.11), and check its accuracy against a plot of the UBE (5.10).

The 2k = 16 biorthogonal signal set A has dimension N = 2k−1 = 8, rate k = 4 b/sym, and nominal spectral efficiency ρ(A) = 1 b/2D. With energy E(A) per symbol, it has Eb = E(A)/4 and d2

min(A) = 2E(A), so its nominal coding gain is

γc(A) = d2 min(A)/4Eb = 2 (3.01 dB),

The number of nearest neighbors is Kmin(A) = 2k − 2 = 14, so Kb(A) = 14/4 = 3.5, and the estimate of its effective coding gain at Pb(E) ≈ 10−5 by our rule of thumb (5.11) is thus

γeff (A) ≈ 3 − 2(0.2) = 2.6 dB.

A more accurate plot of the UBE (5.10) may be obtained by shifting the baseline curve (Figure √ 1 of Chapter 4) left by 3 dB and up by half a vertical unit (since 3.5 ≈ 10), as shown in Figure 3. This plot shows that the rough estimate γeff (A) ≈ 2.6 dB is quite accurate at Pb(E) ≈ 10−5 .

Similarly, the 64-biorthogonal signal set A′ has nominal coding gain γc(A′) = 3 (4.77 dB), Kb(A′) = 62/6 ≈ 10, and effective coding gain γeff (A′) ≈ 4.8 - 3.5(0.2) = 4.1 dB by our rule of thumb. The 256-biorthogonal signal set A′′ has nominal coding gain γc(A′′) = 4 (6.02 dB), Kb(A′′) = 254/8 ≈ 32, and effective coding gain γeff (A′′) ≈ 6 - 5(0.2) = 5.0 dB by our rule of thumb. Figure 3 also shows plots of the UBE (5.10) for these two signal constellations, which show that our rule of thumb continues to be fairly accurate.

Page 52: MIT Principal of Digital Communication

54 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

Biorthogonal signal sets 100

P b (E)

10−1

10−2

10−3

10−4

10−5

10−6

−2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12

Uncoded 2−PAM biorthogonal M=16 biorthogonal M=64 biorthogonal M=256

Eb/N0 [dB]

Figure 3. Pb(E) vs. Eb/N0 for biorthogonal signal sets with 2k = 16, 64 and 256.

5.5 Performance in the bandwidth-limited regime

Recall that the bandwidth-limited regime is defined as the domain in which the nominal spectral efficiency ρ is greater than 2 b/2D; i.e., the domain of nonbinary signaling. In this regime we normalize all quantities “per two dimensions,” and use SNRnorm as our normalized measure of signal-to-noise ratio.

The baseline uncoded signal set in this regime is the M -PAM signal set A = α{±1,±3, . . . ,±(M − 1)}, or equivalently the (M × M)-QAM constellation A2. Typically M is a power of 2. Such a constellation has bit rate (nominal spectral efficiency) ρ = 2 log2 M b/2D and minimum squared distance d2

min(A2) = 4α2. As shown in Chapter 4, its average energy per two dimensions is

2α2(M2 − 1) =

d2

Es = min(A)(2ρ − 1) . (5.12)

3 6 The average number of nearest neighbors per two dimensions is twice that of M -PAM, namely Ks(A) = 4(M − 1)/M , which rapidly approaches Ks(A) ≈ 4 as M becomes large. By the UBE (5.7), the error probability per two dimensions is given by

√ Ps(E) ≈ 4Q (3SNRnorm). (5.13)

This baseline curve of Ps(E) vs. SNRnorm was plotted in Figure 2 of Chapter 4.

Page 53: MIT Principal of Digital Communication

5.6. DESIGN OF SMALL SIGNAL CONSTELLATIONS 55

In the bandwidth-limited regime, the effective coding gain γeff (A) of a signal set A at a given target error rate Ps(E) will be defined as the difference in dB between the SNRnorm required to achieve the target Ps(E) with A and the SNRnorm required to achieve the target Ps(E) with M -PAM or (M × M )-QAM (no coding).

For example, we saw from Figure 2 of Chapter 4 that the maximum possible effective coding gain at Ps(E) ≈ 10−5 is approximately 8.4 dB, which is about 3 dB less than in the power-limited regime (due solely to the fact that the bandwidth is fixed).

The effective coding gain is again estimated by the UBE, as follows. The probability of error per two dimensions is

Ps(E) = 2 Pr(E) 2Kmin(A) √

� d2

min(A) �

≈ Q . N N 2N0

In the bandwidth-limited regime, we define the nominal coding gain γc(A) as

γc(A) = (2ρ − 1)d2

6Es

min(A) . (5.14)

This definition is normalized so that for M -PAM or (M × M )-QAM, γc(A) = 1. Again, γc(A) is often measured in dB. The UBE (5.10) then becomes

√ Ps(E) ≈ Ks(A)Q (3γc(A)SNRnorm), (5.15)

where Ks(A) = 2Kmin(A)/N is the average number of nearest neighbors per two dimensions. Note that for M -PAM or (M × M )-QAM, this expression reduces to (5.13).

Given γc(A) and Ks(A), we may obtain a plot of (5.15) by moving the baseline curve (Figure 2 of Chapter 4) to the left by γc(A) (in dB), and up by a factor of Ks(A)/4. The rule of thumb that an increase of a factor of two in Ks(A) over the baseline Ks(A) = 4 costs about 0.2 dB in effective coding gain at Ps(E) ≈ 10−5 may still be used if Ks(A) is not too large.

Exercise 6 (invariance of coding gain, cont.) Show that in the bandwidth-limited regime the nominal coding gain γc(A) of (5.14), the UBE (5.15) of Ps(E), and the effective coding gain γeff (A) are invariant to scaling, orthogonal transformations and Cartesian products.

5.6 Design of small signal constellations

The reader may now like to try to find the best constellations of small size M in N dimensions, using coding gain γc(A) as the primary figure of merit, and Kmin(A) as a secondary criterion.

Exercise 10 (small nonbinary constellations).

(a) For M = 4, the (2 × 2)-QAM signal set is known to be optimal in N = 2 dimensions. Show however that there exists at least one other inequivalent two-dimensional signal set A′ with the same coding gain. Which signal set has the lower “error coefficient” Kmin(A)?

(b) Show that the coding gain of (a) can be improved in N = 3 dimensions. [Hint: consider the signal set A′′ = {(1, 1, 1), (1, −1, −1), (−1, 1, −1), (−1, −1, 1)}.] Sketch A′′ . What is the geometric name of the polytope whose vertex set is A′′?

(c) For M = 8 and N = 2, propose at least two good signal sets, and determine which one is better. [Open research problem: Find the optimal such signal set, and prove that it is optimal.]

(d) [Open research problem.] For M = 16 and N = 2, the hexagonal signal set of Figure 1(e), Chapter 4, is thought to be near-optimal. Prove that it is optimal, or find a better one.

Page 54: MIT Principal of Digital Communication

56 CHAPTER 5. PERFORMANCE OF SMALL SIGNAL SETS

5.7 Summary: Performance analysis and coding gain

The results of this chapter may be summarized very simply.

In the power-limited regime, the nominal coding gain is γc(A) = d2 min(A)/4Eb. To the accuracy √

of the UBE, Pb(E) ≈ Kb(A)Q (2γc(A)Eb/N0). This curve may be plotted by moving the √ power-limited baseline curve Pb(E) ≈ Q (2Eb/N0) to the left by γc(A) in dB and up by a factor of Kb(A). An estimate of the effective coding gain at Pb(E) ≈ 10−5 is γeff (A) ≈ γc(A) − (0.2)(log2 Kb(A)) dB.

In the bandwidth-limited regime, the nominal coding gain is γc(A) = (2ρ − 1)d2 √ min(A)/6Es.

To the accuracy of the UBE, Ps(E) ≈ Ks(A)Q (3γc(A)SNRnorm). This curve may be plotted √ by moving the bandwidth-limited baseline curve Ps(E) ≈ 4Q (3SNRnorm) to the left by γc(A) in dB and up by a factor of Ks(A)/4. An estimate of the effective coding gain at Ps(E) ≈ 10−5

is γeff (A) ≈ γc(A) − (0.2)(log2 Ks(A)/4) dB.

Appendix: The Q function

The Gaussian probability of error (or Q) function, defined by � ∞

Q(x) = √ 1

e −y2/2 dy, x 2π

arises frequently in error probability calculations on Gaussian channels. In this appendix we discuss some of its properties.

As we have seen, there is very often a square root in the argument of the Q function. This suggests that it might have been more useful to define a “Q-of-the-square-root-of” function √ √ Q (x) such that Q (x2) = Q(x); i.e.,

√ 1 Q (x) = Q(

√ x) =

√∞

√ e −y2/2 dy. x 2π

√ From now on we will use this Q function instead of the Q function. For example, our baseline curves for 2-PAM and (M × M )-QAM will be

√ Pb(E) = Q (2Eb/N0); √ Ps(E) ≈ 4Q (3SNRnorm).

√ The Q or Q functions do not have a closed-form expression, but must be looked up in tables.

Non-communications texts usually tabulate the complementary error function, namely � ∞

erfc(x) = √ 1

e −y2 dy.

πx

√ √ � Evidently Q(x) = erfc(x/ 2), and Q (x) = erfc( x/2).

√ The main property of the Q or Q function is that it decays exponentially with x2 according

to √ −x2/2Q (x 2) = Q(x) ≈ e .

Page 55: MIT Principal of Digital Communication

� �

57 5.7. SUMMARY: PERFORMANCE ANALYSIS AND CODING GAIN

The following exercise gives several ways to prove this, including upper bounds, a lower bound, and an estimate.

√ Exercise A (Bounds on the Q function).

(a) As discussed in Chapter 3, the Chernoff bound on the probability that a real random variable Z exceeds b is given by

Pr{Z ≥ b} ≤ es(Z−b), s ≥ 0

(since es(z−b) ≥ 1 when z ≥ b, and es(z−b) ≥ 0 otherwise). When optimized over s ≥ 0, the Chernoff exponent is asymptotically correct.

Use the Chernoff bound to show that √ −x2/2Q (x 2) ≤ e . (5.16)

(b) Integrate by parts to derive the upper and lower bounds

√ Q (x 2) < √

1 e −x2/2; (5.17)

2πx2

√ �

1 �

Q (x 2) > 1 − 2

√ 1

e −x2/2 . (5.18) x 2πx2

(c) Here is another way to establish these tight upper and lower bounds. By using a simple change of variables, show that

√ 1 −x 2 � ∞ � �

Q (x 2) = √ 2π

e 2

0 exp

−2 y2

− xy dy.

Then show that 2

1 − y ≤ exp −y2

≤ 1.2 2

Putting these together, derive the bounds of part (b).

For (d)-(f), consider a circle of radius x inscribed in a square of side 2x as shown below. '$

x-

&%

(d) Show that the probability that a two-dimensional iid real Gaussian random variable X √ with variance σ2 = 1 per dimension falls inside the square is equal to (1 − 2Q (x2))2 .

(e) Show that the probability that X falls inside the circle is 1 − e−x2/2. [Hint: write 1 pX (x) in polar coordinates: i.e., pRΘ(r, θ) = 2π re

−r2/2 . You can then compute the integral � 2π dθ x

dr pRΘ(r, θ) in closed form.] 0 0

(f) Show that (d) and (e) imply that when x is large,

√ Q (x 2) ≤

1 e −x2/2 .

4

Page 56: MIT Principal of Digital Communication

Chapter 6

Introduction to binary block codes

In this chapter we begin to study binary signal constellations, which are the Euclidean-space images of binary block codes. Such constellations have bit rate (nominal spectral efficiency) ρ ≤ 2 b/2D, and are thus suitable only for the power-limited regime.

We will focus mainly on binary linear block codes, which have a certain useful algebraic structure. Specifically, they are vector spaces over the binary field F2. A useful infinite family of such codes is the set of Reed-Muller codes.

We discuss the penalty incurred by making hard decisions and then performing classical error-correction, and show how the penalty may be partially mitigated by using erasures, or rather completely by using generalized minimum distance (GMD) decoding.

6.1 Binary signal constellations

In this chapter we will consider constellations that are the Euclidean-space images of binary codes via a coordinatewise 2-PAM map. Such constellations will be called binary signal constellations.

A binary block code of length n is any subset C ⊆ {0, 1}n of the set of all binary n-tuples of length n. We will usually identify the binary alphabet {0, 1} with the finite field F2 with two elements, whose arithmetic rules are those of mod-2 arithmetic. Moreover, we will usually impose the requirement that C be linear ; i.e., that C be a subspace of the n-dimensional vector space (F2)n of all binary n-tuples. We will shortly begin to discuss such algebraic properties.

Each component xk ∈ {0, 1} of a codeword x ∈ C will be mapped to one of the two points ±α of a 2-PAM signal set A = {±α} ⊂ R according to a 2-PAM map s: {0, 1} → A. Explicitly, two standard ways of specifying such a 2-PAM map are

s(x) = α(−1)x; s(x) = α(1 − 2x).

The first map is more algebraic in that, ignoring scaling, it is an isomorphism from the additive binary group Z2 = {0, 1} to the multiplicative binary group {±1}, since s(x)·s(x′) = (−1)x+x′

= s(x + x′). The second map is more geometric, in that it is the composition of a map from {0, 1} ∈ F2 to {0, 1} ∈ R, followed by a linear transformation and a translation. However, ultimately both formulas specify the same map:

{s(0) = α, s(1) = −α}.

59

Page 57: MIT Principal of Digital Communication

� � �

� �

60 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

Under the 2-PAM map, the set (F2)n of all binary n-tuples maps to the set of all real n-tuples of the form (±α, ±α, . . . , ±α). Geometrically, this is the set of all 2n vertices of an n-cube of side 2α centered on the origin. It follows that a binary signal constellation A′ = s(C) based on a binary code C ⊆ (F2)n maps to a subset of the vertices of this n-cube.

The size of an N -dimensional binary constellation A′ is thus bounded by |A′| ≤ 2n , and its bit rate ρ = (2/n) log2 |A′| is bounded by ρ ≤ 2 b/2D. Thus binary constellations can be used only in the power-limited regime.

Since the n-cube constellation An = s((F2)n) = (s(F2))n is simply the n-fold Cartesian product An of the 2-PAM constellation A = s(F2) = {±α}, its normalized parameters are the same as those of 2-PAM, and it achieves no coding gain. Our hope is that by restricting to a subset A′ ⊂ An , a distance gain can be achieved that will more than offset the rate loss, thus yielding a coding gain.

Example 1. Consider the binary code C = {000, 011, 110, 101}, whose four codewords are binary 3-tuples. The bit rate of C is thus ρ = 4/3 b/2D. Its Euclidean-space image s(C) is a set of four vertices of a 3-cube that form a regular tetrahedron, as shown in Figure 1. The minimum squared Euclidean distance of s(C) is d2 = 8α2 , and every signal point in s(C) has 3min(s(C)) nearest neighbors. The average energy of s(C) is E(s(C)) = 3α2 , so its average energy per bit is Eb = (3/2)α2 , and its nominal coding gain is

d2 4 γc(s(C)) = min(s(C))

= (1.25 dB).4Eb 3

t000� �� ���((((((((((((

�� ��t � � �110 JJ@ J@

J@ � J @ � �

J @� � 101J�@t �� �� HHHH

@ � �� �� @��t011

Figure 1. The Euclidean image of the binary code C = {000, 011, 110, 101}is a regular tetrahedron in R3 .

It might at first appear that the restriction of constellation points to vertices of an n-cube might force binary signal constellations to be seriously suboptimal. However, it turns out that when ρ is small, this apparently drastic restriction does not hurt potential performance very much. A capacity calculation using a random code ensemble with binary alphabet A = {±α}rather than R shows that the Shannon limit on Eb/N0 at ρ = 1 b/2D is 0.2 dB rather than 0 dB; i.e., the loss is only 0.2 dB. As ρ → 0, the loss becomes negligible. Therefore at spectral efficiencies ρ ≤ 1 b/2D, binary signal constellations are good enough.

Page 58: MIT Principal of Digital Communication

6.2. BINARY LINEAR BLOCK CODES AS BINARY VECTOR SPACES 61

6.2 Binary linear block codes as binary vector spaces

Practically all of the binary block codes that we consider will be linear. A binary linear block code is a set of n-tuples of elements of the binary finite field F2 = {0, 1} that form a vector space over the field F2. As we will see in a moment, this means simply that C must have the group property under n-tuple addition.

We therefore begin by studying the algebraic structure of the binary finite field F2 = {0, 1}and of vector spaces over F2. In later chapters we will study codes over general finite fields.

In general, a field F is a set of elements with two operations, addition and multiplication, which satisfy the usual rules of ordinary arithmetic (i.e., commutativity, associativity, distributivity). A field contains an additive identity 0 such that a + 0 = a for all field elements a ∈ F, and every field element a has an additive inverse −a such that a + (−a) = 0. A field contains a multiplicative identity 1 such that a · 1 = a for all field elements a ∈ F, and every nonzero field element a has a multiplicative inverse a−1 such that a · a−1 = 1.

The binary field F2 (sometimes called a Galois field, and denoted by GF(2)) is the finite field with only two elements, namely 0 and 1, which may be thought of as representatives of the even and odd integers, modulo 2. Its addition and multiplication tables are given by the rules of mod 2 (even/odd) arithmetic, with 0 acting as the additive identity and 1 as the multiplicative identity:

0 + 0 = 0 0 · 0 = 0 0 + 1 = 1 0 · 1 = 0 1 + 0 = 1 1 · 0 = 0 1 + 1 = 0 1 · 1 = 1

In fact these rules are determined by the general properties of 0 and 1 in any field. Notice that the additive inverse of 1 is 1, so −a = a for both field elements.

In general, a vector space V over a field F is a set of vectors v including 0 such that addition of vectors and multiplication by scalars in F is well defined, and such that various other vector space axioms are satisfied.

For a vector space over F2, multiplication by scalars is trivially well defined, since 0v = 0 and 1v = v are automatically in V . Therefore all that really needs to be checked is additive closure, or the group property of V under vector addition; i.e., for all v, v′ ∈ V , v + v′ is in V . Finally, every vector is its own additive inverse, −v = v, since

v + v = 1v + 1v = (1 + 1)v = 0v = 0.

In summary, over a binary field, subtraction is the same as addition.

A vector space over F2 is called a binary vector space. The set (F2)n of all binary n-tuples v = (v1, . . . , vn) under componentwise binary addition is an elementary example of a binary vector space. Here we consider only binary vector spaces which are subspaces C ⊆ (F2)n, which are called binary linear block codes of length n.

If G = {g1, . . . ,gk } is a set of vectors in a binary vector space V , then the set C(G) of all binary linear combinations

C(G) = { aj gj , aj ∈ F2, 1 ≤ j ≤ k}j

Page 59: MIT Principal of Digital Communication

62 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

is a subspace of V , since C(G) evidently has the group property. The set G is called linearly independent if these 2k binary linear combinations are all distinct, so that the size of C(G) is |C(G)| = 2k . A set G of linearly independent vectors such that C(G) = V is called a basis for V , and the elements {gj , 1 ≤ j ≤ k} of the basis are called generators. The set G = {g1, . . . ,gk}may be arranged as a k × n matrix over F2, called a generator matrix for C(G).

The dimension of a binary vector space V is the number k of generators in any basis for V . As with any vector space, the dimension k and a basis G for V may be found by the following greedy algorithm:

Initialization: set k = 0 and G = ∅ (the empty set); Do loop: if C(G) = V we are done, and dim V = k;

otherwise, increase k by 1 and take any v ∈ V − C(G) as gk.

Thus the size of V is always |V | = 2k for some integer k = dim V ; conversely, dim V = log2 |V |. An (n, k) binary linear code C is any subspace of the vector space (F2)n with dimension k, or

equivalently size 2k . In other words, an (n, k) binary linear code is any set of 2k binary n-tuples including 0 that has the group property under componentwise binary addition.

Example 2 (simple binary linear codes). The (n, n) binary linear code is the set (F2)n of all binary n-tuples, sometimes called the universe code of length n. The (n, 0) binary linear code is {0}, the set containing only the all-zero n-tuple, sometimes called the trivial code of length n. The code consisting of 0 and the all-one n-tuple 1 is an (n, 1) binary linear code, called the repetition code of length n. The code consisting of all n-tuples with an even number of ones is an (n, n − 1) binary linear code, called the even-weight or single-parity-check (SPC) code of length n.

6.2.1 The Hamming metric

The geometry of (F2)n is defined by the Hamming metric:

wH (x) = number of ones in x.

The Hamming metric satisfies the axioms of a metric:

(a) Strict positivity: wH (x) ≥ 0, with equality if and only if x = 0;

(b) Symmetry: wH (−x) = wH (x) (since −x = x);

(c) Triangle inequality: wH (x + y) ≤ wH (x) + wH (y).

Therefore the Hamming distance,

dH (x,y) = wH (x − y) = wH (x + y),

may be used to define (F2)n as a metric space, called a Hamming space.

We now show that the group property of a binary linear block code C leads to a remarkable symmetry in the distance distributions from each of the codewords of C to all other codewords.

Let x ∈ C be a given codeword of C, and consider the set {x + y | y ∈ C} = x + C as y runs through the codewords in C. By the group property of C, x + y must be a codeword in C.

Page 60: MIT Principal of Digital Communication

6.2. BINARY LINEAR BLOCK CODES AS BINARY VECTOR SPACES 63

Moreover, since x + y = x + y′ if and only if y = y′, all of these codewords must be distinct. But since the size of the set x + C is |C|, this implies that x + C = C; i.e., x + y runs through all codewords in C as y runs through C. Since dH (x, y) = wH (x + y), this implies the following symmetry:

Theorem 6.1 (Distance invariance) The set of Hamming distances dH (x, y) from any code-word x ∈ C to all codewords y ∈ C is independent of x, and is equal to the set of distances from 0 ∈ C, namely the set of Hamming weights wH (y) of all codewords y ∈ C.

An (n, k) binary linear block code C is said to have minimum Hamming distance d, and is denoted as an (n, k, d) code, if

d = min dH (x, y). x�=y∈C

Theorem 6.1 then has the immediate corollary:

Corollary 6.2 (Minimum distance = minimum nonzero weight) The minimum Ham-ming distance of C is equal to the minimum Hamming weight of any nonzero codeword of C. More generally, the number of codewords y ∈ C at distance d from any codeword x ∈ C is equal to the number Nd of weight-d codewords in C, independent of x.

Example 2 (cont.) The (n, n) universe code has minimum Hamming distance d = 1, and the number of words at distance 1 from any codeword is N1 = n. The (n, n − 1) SPC code has minimum weight and distance d = 2, and N2 = n(n −1)/2. The (n, 1) repetition code has d = n and Nn = 1. By convention, the trivial (n, 0) code {0} is said to have d = ∞.

6.2.2 Inner products and orthogonality

A symmetric, bilinear inner product on the vector space (F2)n is defined by the F2-valued dot product

〈x, y〉 = x · y = xyT = xiyi, i

where n-tuples are regarded as row vectors and “T ” denotes “transpose.” Two vectors are said to be orthogonal if 〈x, y〉 = 0.

However, this F2 inner product does not have a property analogous to strict positivity: 〈x, x〉 = 0 does not imply that x = 0, but only that x has an even number of ones. Thus it is perfectly possible for a nonzero vector to be orthogonal to itself. Hence 〈x, x〉 does not have a key property of the Euclidean squared norm and cannot be used to define a metric space analogous to Euclidean space. The Hamming geometry of (F2)n is very different from Euclidean geometry.

In particular, the projection theorem does not hold, and it is therefore not possible in general to find an orthogonal basis G for a binary vector space C.

Example 3. The (3, 2) SPC code consists of the four 3-tuples C = {000, 011, 101, 110}. Any two nonzero codewords form a basis for C, but no two such codewords are orthogonal.

The orthogonal code (dual code) C⊥ to an (n, k) code C is defined as the set of all n-tuples that are orthogonal to all elements of C:

C⊥ = {y ∈ (F2)n | 〈x, y〉 = 0 for all x ∈ C}.

Page 61: MIT Principal of Digital Communication

64 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

Here are some elementary facts about C⊥: 1(a) C⊥ is an (n, n − k) binary linear code, and thus has a basis H of size n − k.

(b) If G is a basis for C, then a set H of n − k linearly independent n-tuples in C⊥ is a basis for C⊥ if and only if every vector in H is orthogonal to every vector in G.

(c) (C⊥)⊥ = C.

A basis G for C consists of k linearly independent n-tuples in C, and is usually written as a k × n generator matrix G of rank k. The code C then consists of all binary linear combinations

⊥C = {aG, a ∈ (F2)k}. A basis H for C⊥ consists of n − k linearly independent n-tuples in C , and is usually written as an (n − k) × n matrix H; then C⊥ = {bH, b ∈ (F2)n−k }. According to property (b) above, C and C⊥ are dual codes if and only if their generator matrices satisfy GHT = 0. The transpose HT of a generator matrix H for C⊥ is called a parity-check matrix for C; it has the property that a vector x ∈ (F2)n is in C if and only if xHT = 0, since x is in the

⊥dual code to C⊥ if and only if it is orthogonal to all generators of C .

Example 2 (cont.; duals of simple codes). In general, the (n, n) universe code and the (n, 0) trivial code are dual codes. The (n, 1) repetition code and the (n, n − 1) SPC code are dual codes. Note that the (2, 1) code {00, 11} is both a repetition code and an SPC code, and is its own dual; such a code is called self-dual. (Self-duality cannot occur in real or complex vector spaces.)

6.3 Euclidean-space images of binary linear block codes

In this section we derive the principal parameters of a binary signal constellation s(C) from the parameters of the binary linear block code C on which it is based, namely the parameters (n, k, d) and the number Nd of weight-d codewords in C.

The dimension of s(C) is N = n, and its size is M = 2k . It thus supports k bits per block. The bit rate (nominal spectral efficiency) is ρ = 2k/n b/2D. Since k ≤ n, ρ ≤ 2 b/2D, and we are in the power-limited regime.

Every point in s(C) is of the form (±α, ±α, . . . , ±α), and therefore every point has energy nα2; i.e., the signal points all lie on an n-sphere of squared radius nα2 . The average energy per block is thus E(s(C)) = nα2, and the average energy per bit is Eb = nα2/k.

If two codewords x, y ∈ C have Hamming distance dH (x, y), then their Euclidean images s(x), s(y) will be the same in n − dH (x, y) places, and will differ by 2α in dH (x, y) places, so

1The standard proof of this fact involves finding a systematic generator matrix G = [Ik | P ] for C, where Ik

is the k × k identity matrix and P is a k × (n − k) check matrix. Then C = {(u, uP ), u ∈ (F2)k }, where u is a

free information k-tuple and uP is a check (n − k)-tuple. The dual code C⊥ is then evidently the code generated by H = [−P T | In−k ], where P T is the transpose of P ; i.e., C⊥ = {(−vP T , v), v ∈ (F2)

n−k }, whose dimension is n − k.

A more elegant proof based on the fundamental theorem of group homomorphisms (which the reader is not expected to know at this point) is as follows. Let M be the |C⊥| ×n matrix whose rows are the codewords of C⊥ .

→ (F2)|C⊥ |Consider the homomorphism M T : (F2)

n defined by y �→ yM T ; i.e., yM T is the set of inner products of an n-tuple y ∈ (F2)

n with all codewords x ∈ C⊥ . The kernel of this homomorphism is evidently C. By the fundamental theorem of homomorphisms, the image of M T (the row space of M T ) is isomorphic to the quotient space (F2)

n/C, which is isomorphic to (F2)n−k . Thus the column rank of M is n − k. But the column rank is

equal to the row rank, which is the dimension of the row space C⊥ of M .

Page 62: MIT Principal of Digital Communication

� �

6.4. REED-MULLER CODES 65

their squared Euclidean distance will be2

‖s(x) − s(y)‖2 = 4α2dH (x, y).

Therefore d2

min(s(C)) = 4α2dH (C) = 4α2d,

where d = dH (C) is the minimum Hamming distance of C.

It follows that the nominal coding gain of s(C) is

d2 kd γc(s(C)) = min(s(C))

= . (6.1)4Eb n

Thus the parameters (n, k, d) directly determine γc(s(C)) in this very simple way. (This gives another reason to prefer Eb/N0 to SNRnorm in the power-limited regime.)

Moreover, every vector s(x) ∈ s(C) has the same number of nearest neighbors Kmin(s(x)), namely the number Nd of nearest neighbors to x ∈ C. Thus Kmin(s(C)) = Nd, and Kb(s(C)) = Nd/k.

Consequently the union bound estimate of Pb(E) is √

Pb(E) ≈ Kb(s(C))Q (γc(s(C))(2Eb/N0)) Nd √ dk

= Q 2Eb/N0 . (6.2)k n

In summary, the parameters and performance of the binary signal constellation s(C) may be simply determined from the parameters (n, k, d) and Nd of C.

Exercise 1. Let C be an (n, k, d) binary linear code with d odd. Show that if we append an overall parity check p = i xi to each codeword x, then we obtain an (n + 1, k, d + 1) binary linear code C with d even. Show that the nominal coding gain γc(C′) is always greater than γc(C) if k > 1. Conclude that we can focus primarily on linear codes with d even.

Exercise 2. Show that if C is a binary linear block code, then in every coordinate position either all codeword components are 0 or half are 0 and half are 1. Show that a coordinate in which all codeword components are 0 may be deleted (“punctured”) without any loss in performance, but with savings in energy and in dimension. Show that if C has no such all-zero coordinates, then s(C) has zero mean: m(s(C)) = 0.

6.4 Reed-Muller codes

The Reed-Muller (RM) codes are an infinite family of binary linear codes that were among the first to be discovered (1954). For block lengths n ≤ 32, they are the best codes known with minimum distances d equal to powers of 2. For greater block lengths, they are not in general the best codes known, but in terms of performance vs. decoding complexity they are still quite good, since they admit relatively simple ML decoding algorithms.

2Moreover, the Eudlidean-space inner product of s(x) and s(y) is

2 2〈s(x), s(y)〉 = (n − dH (x, y))α2 + dH (x, y)(−α ) = (n − 2dH (x, y))α .

Therefore s(x) and s(y) are orthogonal if and only if dH (x, y) = n/2. Also, s(x) and s(y) are antipodal (s(x) = −s(y)) if and only if dH (x, y) = n.

Page 63: MIT Principal of Digital Communication

� �

� �

66 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

For any integers m ≥ 0 and 0 ≤ r ≤ m, there exists an RM code, denoted by RM(r,m), that has length n = 2m and minimum Hamming distance d = 2m−r , 0 ≤ r ≤ m.

For r = m, RM(m, m) is defined as the universe (2m , 2m , 1) code. It is helpful also to define RM codes for r = −1 by RM(−1, m) = (2m , 0,∞), the trivial code of length 2m. Thus for m = 0, the two RM codes of length 1 are the (1, 1, 1) universe code RM(0, 0) and the (1, 0,∞) trivial code RM(−1, 0).

The remaining RM codes for m ≥ 1 and 0 ≤ r < m may be constructed from these elementary codes by the following length-doubling construction, called the |u|u+ v| construction (originally due to Plotkin). RM(r,m) is constructed from RM(r − 1, m − 1) and RM(r,m − 1) as

RM(r,m) = {(u,u + v) | u ∈ RM(r,m − 1),v ∈ RM(r − 1, m − 1)}. (6.3)

From this construction, it is easy to prove the following facts by recursion:

(a) RM(r,m) is a binary linear block code with length n = 2m and dimension

k(r,m) = k(r,m − 1) + k(r − 1, m − 1).

(b) The codes are nested, in the sense that RM(r − 1, m) ⊆ RM(r,m).

(c) The minimum distance of RM(r,m) is d = 2m−r if r ≥ 0 (if r = −1, then d = ∞).

We verify that these assertions hold for RM(0, 0) and RM(−1, 0).

For m ≥ 1, the linearity and length of RM(r,m) are obvious from the construction. The dimension (size) follows from the fact that (u,u + v) = 0 if and only if u = v = 0.

Exercise 5 below shows that the recursion for k(r,m) leads to the explicit formula

� m k(r,m) = , (6.4)

j0≤j≤r

m m!where denotes the combinatorial coefficient j!(m−j)! .j

The nesting property for m follows from the nesting property for m − 1.

Finally, we verify that the minimum nonzero weight of RM(r,m) is 2m−r as follows:

(a) if u = 0, then wH ((0,v)) = wH (v) ≥ 2m−r if v = 0, since v ∈ RM(r − 1, m − 1).

(b) if u + v = 0, then u = v ∈ RM(r − 1, m − 1) and wH ((v,0)) ≥ 2m−r if v = 0.

= 0 and u + v (c) if u = 0, then both u and u + v are in RM(r,m− 1) (since RM(r− 1, m− 1) is a subcode of RM(r,m − 1)), so

wH ((u,u + v)) = wH (u) + wH (u + v) ≥ 2 · 2m−r−1 = 2m−r .

Equality clearly holds for (0,v), (v,0) or (u,u) if we choose v or u as a minimum-weight codeword from their respective codes.

Page 64: MIT Principal of Digital Communication

67 6.4. REED-MULLER CODES

The |u|u + v| construction suggests the following tableau of RM codes:

r = m, d = 1; *� universe codes ���(32, 32, 1)����

(16, 16, 1) r = m − 1, d = 2; ��� *� SPC codes � �� �� �(8, 8, 1) (32, 31, 2)� �� �� ��� �� r = m − 2, d = 4;

� � *�(4, 4, 1) �(16, 15, 2) � ext. Hamming codes � � �� � �� � �(2, 2, 1) (8, 7, 2) (32, 26, 4)� � �� � �� � �� � �� � �(1, 1, 1) (4, 3, 2) (16, 11, 4)� � �� �� �� �� �� � -(2, 1, 2) (8, 4, 4) (32, 16, 8) k = n/2; �� self-dual codes

HHHHHHHHHHHHHHHHHHHHHHHHH

�(1, 0,∞) (4, 1, 4) (16, 5, 8)�

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

(2, 0,∞) (8, 1, 8) (32, 6, 16)

(4, 0,∞) (16, 1, 16) j r = 1, d = n/2; biorthogonal codes

(8, 0,∞) (32, 1, 32)

(16, 0,∞) j r = 0, d = n; repetition codes

(32, 0,∞)

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHj r = −1, d = ∞; trivial codes

Figure 2. Tableau of Reed-Muller codes.

In this tableau each RM code lies halfway between the two codes of half the length that are used to construct it in the |u|u + v| construction, from which we can immediately deduce its dimension k.

Exercise 3. Compute the parameters (k, d) of the RM codes of lengths n = 64 and 128.

There is a known closed-form formula for the number Nd of codewords of minimum weight d = 2m−r in RM(r,m): � 2m−i − 1

Nd = 2r

2m−r−i − 1 . (6.5)

0≤i≤m−r−1

Example 4. The number of weight-8 words in the (32, 16, 8) code RM(2, 5) is

31 · 15 · 7 N8 = 4 = 620.

7 · 3 · 1

The nominal coding gain of RM(2, 5) is γc(C) = 4 (6.02 dB); however, since Kb = N8/k = 38.75, the effective coding gain by our rule of thumb is only about γeff (C) ≈ 5.0 dB.

Page 65: MIT Principal of Digital Communication

68 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

The codes with r = m − 1 are single-parity-check (SPC) codes with d = 2. These codes have nominal coding gain 2(k/n), which goes to 2 (3.01 dB) as n → ∞; however, since Nd = 2m(2m − 1)/2, we have Kb = 2m−1 → ∞, which ultimately limits the effective coding gain.

The codes with r = m − 2 are extended Hamming (EH) codes with d = 4. These codes have nominal coding gain 4(k/n), which goes to 4 (6.02 dB) as n → ∞; however, since Nd = 2m(2m − 1)(2m − 2)/24, we again have Kb → ∞.

Exercise 4 (optimizing SPC and EH codes). Using the rule of thumb that a factor of two increase in Kb costs 0.2 dB in effective coding gain, find the value of n for which an (n, n − 1, 2) SPC code has maximum effective coding gain, and compute this maximum in dB. Similarly, find m such that a (2m , 2m −m − 1, 4) extended Hamming code has maximum effective coding gain, using Nd = 2m(2m − 1)(2m − 2)/24, and compute this maximum in dB.

The codes with r = 1 (first-order Reed-Muller codes) are interesting, because as shown in Exercise 5 they generate biorthogonal signal sets of dimension n = 2m and size 2m+1, with nominal coding gain (m + 1)/2 → ∞. It is known that as n → ∞ this sequence of codes can achieve arbitrarily small Pr(E) for any Eb/N0 greater than the ultimate Shannon limit, namely Eb/N0 > ln 2 (-1.59 dB).

Exercise 5 (biorthogonal codes). We have shown that the first-order Reed-Muller codes RM(1, m) have parameters (2m, m+1, 2m−1), and that the (2m , 1, 2m) repetition code RM(0, m) is a subcode.

(a) Show that RM(1, m) has one word of weight 0, one word of weight 2m, and 2m+1 − 2 words of weight 2m−1 . [Hint: first show that the RM(1, m) code consists of 2m complementary codeword pairs {x, x + 1}.]

(b) Show that the Euclidean image of an RM(1, m) code is an M = 2m+1 biorthogonal signal set. [Hint: compute all inner products between code vectors.]

(c) Show that the code C′ consisting of all words in RM(1, m) with a 0 in any given coordinate position is a (2m, m, 2m−1) binary linear code, and that its Euclidean image is an M = 2m

orthogonal signal set. [Same hint as in part (a).]

(d) Show that the code C′′ consisting of the code words of C′ with the given coordinate deleted (“punctured”) is a binary linear (2m − 1, m, 2m−1) code, and that its Euclidean image is an M = 2m simplex signal set. [Hint: use Exercise 7 of Chapter 5.]

In Exercise 2 of Chapter 1, it was shown how a 2m-orthogonal signal set A can be constructed as the image of a 2m × 2m binary Hadamard matrix. The corresponding 2m+1-biorthogonal signal set ±A is identical to that constructed above from the (2m, m + 1, 2m−1) first-order RM code.

The code dual to RM(r, m) is RM(m − r − 1, m); this can be shown by recursion from the facts that the (1, 1) and (1, 0) codes are duals and that by bilinearity

〈(u, u + v), (u , u′ + v′)〉 = 〈u, u′〉 + 〈u + v, u′ + v′〉 = 〈u, v′〉 + 〈v, u′〉 + 〈v, v′〉, since 〈u, u′〉 + 〈u, u′〉 = 0. In particular, this confirms that the repetition and SPC codes are duals, and shows that the biorthogonal and extended Hamming codes are duals.

This also shows that RM codes with k/n = 1/2 are self-dual. The nominal coding gain of a rate-1/2 RM code of length 2m (m odd) is 2(m−1)/2, which goes to infinity as m → ∞. It seems likely that as n → ∞ this sequence of codes can achieve arbitrarily small Pr(E) for any Eb/N0

greater than the Shannon limit for ρ = 1 b/2D, namely Eb/N0 > 1 (0 dB).

Page 66: MIT Principal of Digital Communication

� �

� �

� � � �

� � �

6.4. REED-MULLER CODES 69

Exercise 6 (generator matrices for RM codes). Let square 2m × 2m matrices Um, m ≥ 1, be specified recursively as follows. The matrix U1 is the 2 × 2 matrix

1 0 U1 = 1

.1

The matrix Um is the 2m × 2m matrix

Um−1 0 Um = .

Um−1 Um−1

(In other words, Um is the m-fold tensor product of U1 with itself.)

(a) Show that RM(r, m) is generated by the rows of Um of Hamming weight 2m−r or greater. [Hint: observe that this holds for m = 1, and prove by recursion using the |u|u+ v| construction.] For example, give a generator matrix for the (8, 4, 4) RM code.

m m(b) Show that the number of rows of Um of weight 2m−r is r . [Hint: use the fact that r is the coefficient of zm−r in the integer polynomial (1 + z)m.]

m(c) Conclude that the dimension of RM(r, m) is k(r, m) = 0≤j≤r j .

6.4.1 Effective coding gains of RM codes

We provide below a table of the nominal spectral efficiency ρ, nominal coding gain γc, number of nearest neighbors Nd, error coefficient per bit Kb, and estimated effective coding gain γeff at Pb(E) ≈ 10−5 for various Reed-Muller codes, so that the student can consider these codes as components in system design exercises.

In later lectures, we will consider trellis representations and trellis decoding of RM codes. We give here two complexity parameters of the minimal trellises for these codes: the state complexity s (the binary logarithm of the maximum number of states in a minimal trellis), and the branch complexity t (the binary logarithm of the maximum number of branches per section in a minimal trellis). The latter parameter gives a more accurate estimate of decoding complexity.

code ρ γc (dB) Nd Kb γeff (dB) s t (8,7,2) 1.75 7/4 2.43 28 4 2.0 1 2 (8,4,4) 1.00 2 3.01 14 4 2.6 2 3

(16,15,2) 1.88 15/8 2.73 120 8 2.1 1 2 (16,11,4) 1.38 11/4 4.39 140 13 3.7 3 5 (16, 5,8) 0.63 5/2 3.98 30 6 3.5 3 4 (32,31, 2) 1.94 31/16 2.87 496 16 2.1 1 2 (32,26, 4) 1.63 13/4 5.12 1240 48 4.0 4 7 (32,16, 8) 1.00 4 6.02 620 39 4.9 6 9 (32, 6,16) 0.37 3 4.77 62 10 4.2 4 5 (64,63, 2) 1.97 63/32 2.94 2016 32 1.9 1 2 (64,57, 4) 1.78 57/16 5.52 10416 183 4.0 5 9 (64,42, 8) 1.31 21/4 7.20 11160 266 5.6 10 16 (64,22,16) 0.69 11/2 7.40 2604 118 6.0 10 14 (64, 7,32) 0.22 7/2 5.44 126 18 4.6 5 6

Table 1. Parameters of RM codes with lengths n ≤ 64.

Page 67: MIT Principal of Digital Communication

� �

70 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

6.5 Decoding of binary block codes

In this section we will first show that with binary codes MD decoding reduces to “maximum-reliability decoding.” We will then discuss the penalty incurred by making hard decisions and then performing classical error-correction. We show how the penalty may be partially mitigated by using erasures, or rather completely by using generalized minimum distance (GMD) decoding.

6.5.1 Maximum-reliability decoding

All of our performance estimates assume minimum-distance (MD) decoding. In other words, given a received sequence r ∈ R

n, the receiver must find the signal s(x) for x ∈ C such that the squared distance ‖r − s(x)‖2 is minimum. We will show that in the case of binary codes, MD decoding reduces to maximum-reliability (MR) decoding.

Since ‖s(x)‖2 = nα2 is independent of x with binary constellations s(C), MD decoding is equivalent to maximum-inner-product decoding : find the signal s(x) for x ∈ C such that the inner product

〈r, s(x)〉 = rk s(xk ) k

is maximum. Since s(xk ) = (−1)xk α, the inner product may be expressed as

〈r, s(x)〉 = α rk (−1)xk = α |rk| sgn(rk )(−1)xk

k k

The sign sgn(rk ) ∈ {±1} is often regarded as a “hard decision” based on rk , indicating which of the two possible signals {±α} is more likely in that coordinate without taking into account the remaining coordinates. The magnitude |rk | may be viewed as the reliability of the hard decision. This rule may thus be expressed as: find the codeword x ∈ C that maximizes the reliability

r(x | r) = |rk |(−1)e(xk ,rk ), k

where the “error” e(xk , rk ) is 0 if the signs of s(xk ) and rk agree, or 1 if they disagree. We call this rule maximum-reliability decoding.

Any of these optimum decision rules is easy to implement for small constellations s(C). How-ever, without special tricks they require at least one computation for every codeword x ∈ C, and therefore become impractical when the number 2k of codewords becomes large. Finding simpler decoding algorithms that give a good tradeoff of performance vs. complexity, perhaps only for special classes of codes, has therefore been the major theme of practical coding research.

For example, the Wagner decoding rule, the earliest “soft-decision” decoding algorithm (circa 1955), is an optimum decoding rule for the special class of (n, n− 1, 2) SPC codes that requires many fewer than 2n−1 computations.

Exercise 7 (“Wagner decoding”). Let C be an (n, n − 1, 2) SPC code. The Wagner decoding rule is as follows. Make hard decisions on every symbol rk , and check whether the resulting binary word is in C. If so, accept it. If not, change the hard decision in the symbol rk for which the reliability metric |rk | is minimum. Show that the Wagner decoding rule is an optimum decoding rule for SPC codes. [Hint: show that the Wagner rule finds the codeword x ∈ C that maximizes r(x | r).]

Page 68: MIT Principal of Digital Communication

6.5. DECODING OF BINARY BLOCK CODES 71

6.5.2 Hard decisions and error-correction

Early work on decoding of binary block codes assumed hard decisions on every symbol, yielding a hard-decision n-tuple y ∈ (F2)n . The main decoding step is then to find the codeword x ∈ C that is closest to y in Hamming space. This is called error-correction.

If C is a linear (n, k, d) code, then, since the Hamming metric is a true metric, no error can occur when a codeword x is sent unless the number of hard decision errors t = dH (x,y) is at least as great as half the minimum Hamming distance, t ≥ d/2. For many classes of binary block codes, efficient algebraic error-correction algorithms exist that are guaranteed to decode correctly provided that 2t < d. This is called bounded-distance error-correction.

Example 5 (Hamming codes). The first binary error-correction codes were the Hamming codes (mentioned in Shannon’s original paper). A Hamming code C is a (2m − 1, 2m −m− 1, 3) code that may be found by puncturing a (2m , 2m −m− 1, 4) extended Hamming RM(m− 2, m) code in any coordinate. Its dual C⊥ is a (2m − 1, m, 2m−1) code whose Euclidean image is a 2m-simplex constellation. For example, the simplest Hamming code is the (3, 1, 3) repetition code; its dual is the (3, 2, 2) SPC code, whose image is the 4-simplex constellation of Figure 1.

The generator matrix of C⊥ is an m × (2m − 1) matrix H whose 2m − 1 columns must run through the set of all nonzero binary m-tuples in some order (else C would not be guaranteed to correct any single error; see next paragraph).

Since d = 3, a Hamming code should be able to correct any single error. A simple method for doing so is to compute the “syndrome”

yHT = (x + e)HT = eHT ,

where e = x + y. If yHT = 0, then y ∈ C and y is assumed to be correct. If yHT = 0, then the syndrome yHT is equal to one of the rows in HT , and a single error is assumed to have occurred in the corresponding position. Thus it is always possible to change any y ∈ (F2)n into a codeword by changing at most one bit.

This implies that the 2n−m “Hamming spheres” of radius 1 and size 2m centered on the 2n−m

codewords x, which consist of x and the n = 2m − 1 n-tuples y within Hamming distance 1 of x, form an exhaustive partition of the set of 2n n-tuples that comprise Hamming n-space (F2)n .

In summary, Hamming codes form a “perfect” Hamming sphere-packing of (F2)n, and have a simple single-error-correction algorithm.

We now show that even if an error-correcting decoder does optimal MD decoding in Hamming space, there is a loss in coding gain of the order of 3 dB relative to MD Euclidean-space decoding.

Assume an (n, k, d) binary linear code C with d odd (the situation is worse when d is even). Let x be the transmitted codeword; then there is at least one codeword at Hamming distance d from x, and thus at least one real n-tuple in s(C) at Euclidean distance 4α2d from s(x). For any ε > 0, a hard-decision decoding error will occur if the noise exceeds α + ε in any (d + 1)/2 of the places in which that word differs from x. Thus with hard decisions the minimum squared distance to the decision boundary in Euclidean space is α2(d + 1)/2. (For d even, it is α2d/2.)

On the other hand, with “soft decisions” (reliability weights) and MD decoding, the minimum squared distance to any decision boundary in Euclidean space is α2d. To the accuracy of √ the union bound estimate, the argument of the Q function thus decreases with hard-decision decoding by a factor of (d + 1)/2d, or approximately 1/2 (−3 dB) when d is large. (When d is even, this factor is exactly 1/2.)

Page 69: MIT Principal of Digital Communication

� -�

72 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

Example 6 (Hard and soft decoding of antipodal codes). Let C be the (2, 1, 2) binary code; then the two signal points in s(C) are antipodal, as shown in Figure 3(a) below. With hard decisions, real 2-space R2 is partitioned into four quadrants, which must then be assigned to one or the other of the two signal points. Of course, two of the quadrants are assigned to the signal points that they contain. However, no matter how the other two quadrants are assigned, there will be at least one decision boundary at squared distance α2 from a signal point, whereas with MD decoding the decision boundary is at distance 2α2 from both signal points. The loss in the error exponent of Pb(E) is therefore a factor of 2 (3 dB).

� �� R0 ���R0 �� �� � �� �� R1 ���R0 �� �� � � R0� α t ���R0α ��? �R0 R1 R0 R0�? �

6 6 �� R1 �? �R1 √ R1 R1α α �2α ��t - t ��α α �

(a) (b)

Figure 3. Decision regions in Rn with hard decisions. (a) (2, 1, 2) code; (b) (3, 1, 3) code.

Similarly, if C is the (3, 1, 3) code, then R3 is partitioned by hard decisions into 8 octants, as shown in Figure 3(b). In this case (the simplest example of a Hamming code), it is clear how best to assign four octants to each signal point. The squared distance from each signal point to the nearest decision boundary is now 2α2, compared to 3α2 with “soft decisions” and MD decoding in Euclidean space, for a loss of 2/3 (1.76 dB) in the error exponent.

6.5.3 Erasure-and-error-correction

A decoding method halfway between hard-decision and “soft-decision” (reliability-based) tech-niques involves the use of “erasures.” With this method, the first step of the receiver is to map each received signal rk into one of three values, say {0, 1, ?}, where for some threshold T ,

rk → 0 if rk > T ; rk → 1 if rk < −T ; rk → ? if −T ≤ rk ≤ T.

The decoder subsequently tries to map the ternary-valued n-tuple into the closest codeword x ∈ C in Hamming space, where the erased positions are ignored in measuring Hamming distance.

If there are s erased positions, then the minimum distance between codewords is at least d−s in the unerased positions, so correct decoding is guaranteed if the number t of errors in the unerased positions satisfies t < (d−s)/2, or equivalently if 2t+ s < d. For many classes of binary block codes, efficient algebraic erasure-and-error-correcting algorithms exist that are guaranteed to decode correctly if 2t + s < d. This is called bounded-distance erasure-and-error-correction.

Page 70: MIT Principal of Digital Communication

73 6.5. DECODING OF BINARY BLOCK CODES

Erasure-and-error-correction may be viewed as a form of MR decoding in which all reliabilities |rk | are made equal in the unerased positions, and are set to 0 in the erased positions.

The ternary-valued output allows a closer approximation to the optimum decision regions in Euclidean space than with hard decisions, and therefore reduces the loss. With an optimized threshold T , the loss is typically only about half as much (in dB).

� b t �

? �a b �

6 ? ?

b � �� a ?

t -b

Figure 4. Decision regions with hard decisions and erasures for the (2, 1, 2) code.

Example 6 (cont.). Figure 4 shows the 9 decision regions for the (2, 1, 2) code that result from hard decisions and/or erasures on each symbol. Three of the resulting regions are ambiguous. The minimum squared distances to these regions are

2 a = 2(α − T )2

b2 = (α + T )2 .

√ To maximize the minimum of a2 and b2, we make a2 = b2 by choosing T = √2−1 α, which yields

2+1

8 a 2 = b2 √ α2 = 1.372α2 .

( 2 + 1)2

This is about 1.38 dB better than the squared Euclidean distance α2 achieved with hard decisions only, but is still 1.63 dB worse than the 2α2 achieved with MD decoding.

Exercise 8 (Optimum threshold T ). Let C be a binary code with minimum distance d, and let received symbols be mapped into hard decisions or erasures as above. Show that:

(a) For any integers t and s such that 2t + s ≥ d and for any decoding rule, there exists some pattern of t errors and s erasures that will cause a decoding error;

(b) The minimum squared distance from any signal point to its decoding decision boundary is equal to at least min2t+s≥d {s(α − T )2 + t(α + T )2};

√ (c) The value of T that maximizes this minimum squared distance is T = √2−1 α, in which

2+1

case the minimum squared distance is equal to ( √ 4 α2d = 0.686 α2d. Again, this is a loss of

2+1)2

1.63 dB relative to the squared distance α2d that is achieved with MD decoding.

Page 71: MIT Principal of Digital Communication

74 CHAPTER 6. INTRODUCTION TO BINARY BLOCK CODES

6.5.4 Generalized minimum distance decoding

A further step in this direction that achieves almost the same performance as MD decoding, to the accuracy of the union bound estimate, yet still permits algebraic decoding algorithms, is generalized minimum distance (GMD) decoding.

In GMD decoding, the decoder keeps both the hard decision sgn(rk ) and the reliability |rk | of each received symbol, and orders them in order of their reliability.

The GMD decoder then performs a series of erasure-and-error decoding trials in which the s = d− 1, d− 3, . . . least reliable symbols are erased. (The intermediate trials are not necessary because if d− s is even and 2t < d− s, then also 2t < d− s− 1, so the trial with one additional erasure will find the same codeword.) The number of such trials is d/2 if d is even, or (d + 1)/2 if d is odd; i.e., the number of trials needed is �d/2�.

Each trial may produce a candidate codeword. The set of �d/2� trials may thus produce up to �d/2� distinct candidate codewords. These words may finally be compared according to their reliability r(x | r) (or any equivalent optimum metric), and the best candidate chosen.

Example 7. For an (n, n − 1, 2) SPC code, GMD decoding performs just one trial with the least reliable symbol erased; the resulting candidate codeword is the unique codeword that agrees with all unerased symbols. Therefore in this case the GMD decoding rule is equivalent to the Wagner decoding rule (Exercise 7), which implies that it is optimum.

It can be shown that no error can occur with a GMD decoder provided that the squared norm ||n||2 of the noise vector is less than α2d; i.e., the squared distance from any signal point to its decision boundary is α2d, just as for MD decoding. Thus there is no loss in coding gain or error exponent compared to MD decoding.

It has been shown that for the most important classes of algebraic block codes, GMD decoding can be performed with little more complexity than ordinary hard-decision or erasures-and-errors decoding. Furthermore, it has been shown that not only is the error exponent of GMD decod-ing equal to that of optimum MD decoding, but also the error coefficient and thus the union bound estimate are the same, provided that GMD decoding is augmented to include a d-erasure-correction trial (a purely algebraic solution of the n − k linear parity-check equations for the d unknown erased symbols).

However, GMD decoding is a bounded-distance decoding algorithm, so its decision regions are like spheres of squared radius α2d that lie within the MD decision regions Rj . For this reason GMD decoding is inferior to MD decoding, typically improving over erasure-and-error-correction by 1 dB or less. GMD decoding has rarely been used in practice.

6.5.5 Summary

In conclusion, hard decisions allow the use of efficient algebraic decoding algorithms, but incur a significant SNR penalty, of the order of 3 dB. By using erasures, about half of this penalty can be avoided. With GMD decoding, efficient algebraic decoding algorithms can in principle be used with no loss in performance, at least as estimated by the the union bound estimate.

Page 72: MIT Principal of Digital Communication

Chapter 7

Introduction to finite fields

This chapter provides an introduction to several kinds of abstract algebraic structures, partic-ularly groups, fields, and polynomials. Our primary interest is in finite fields, i.e., fields with a finite number of elements (also called Galois fields). In the next chapter, finite fields will be used to develop Reed-Solomon (RS) codes, the most useful class of algebraic codes. Groups and polynomials provide the requisite background to understand finite fields.

A field is more than just a set of elements: it is a set of elements under two operations, called addition and multiplication, along with a set of properties governing these operations. The addition and multiplication operations also imply inverse operations called subtraction and division. The reader is presumably familiar with several examples of fields, such as the real field R, the complex field C, the field of rational numbers Q, and the binary field F2.

7.1 Summary

In this section we briefly summarize the results of this chapter. The main body of the chapter will be devoted to defining and explaining these concepts, and to proofs of these results.

For each prime p and positive integer m ≥ 1, there exists a finite field Fpm with pm elements, mand there exists no finite field with q elements if q is not a prime power. Any two fields with p

elements are isomorphic.

The integers modulo p form a prime field Fp under mod-p addition and multiplication. The polynomials Fp[x] over Fp modulo an irreducible polynomial g(x) ∈ Fp[x] of degree m form a finite field with pm elements under mod-g(x) addition and multiplication. For every prime p, there exists at least one irreducible polynomial g(x) ∈ Fp[x] of each positive degree m ≥ 1, so all finite fields may be constructed in this way.

Under addition, Fpm is isomorphic to the vector space (Fp)m. Under multiplication, the nonzero m−2elements of Fpm form a cyclic group {1, α, . . . , αp } generated by a primitive element α ∈ Fpm .

The elements of Fpm are the pm roots of the polynomial xpm − x ∈ Fp[x]. The polynomial m

xp − x is the product of all monic irreducible polynomials g(x) ∈ Fp[x] such that deg g(x) divides m. The roots of a monic irreducible polynomial g(x) ∈ Fp[x] form a cyclotomic coset of deg g(x) elements of Fpm which is closed under the operation of raising to the pth power.

For every n that divides m, Fpm contains a subfield with pn elements.

75

Page 73: MIT Principal of Digital Communication

76 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

For further reading on this beautiful subject, see [E. R. Berlekamp, Algebraic Coding The-ory, Aegean Press, 1984], [R. Lidl and H. Niederreiter, Introduction to Finite Fields and their Applications, Cambridge University Press, 1986] or [R. J. McEliece, Finite Fields for Com-puter Scientists and Engineers, Kluwer, 1987], [M. R. Schroeder, Number Theory in Science and Communication, Springer, 1986], or indeed any book on finite fields or algebraic coding theory.

7.2 The integers

We begin with a brief review of the familiar factorization properties of the set Z of integers. We will use these properties immediately in our discussion of cyclic groups and their subgroups and of prime fields. Moreover, we will model our later discussion of the factorization properties of polynomials on the discussion here.

7.2.1 Definitions

An integer n is said to be a divisor of an integer i if i is an integer multiple of n; i.e., i = qn for some integer q. Thus all integers are trivially divisors of 0.

The integers that have integer inverses, namely ±1, are called the units of Z. If u is a unit and n is a divisor of i, then un is a divisor of i and n is a divisor of ui. Thus the factorization of an integer can only be unique up to a unit u, and ui has the same divisors as i. We therefore consider only factorizations of positive integers into products of positive integers.

Every nonzero integer i is divisible by 1 and i; these divisors are called trivial. An integer n is said to be a factor of an integer i if n is positive and a nontrivial divisor of i. For example, 1 has no nontrivial divisors and thus no factors.

A positive integer that has no nontrivial divisors is called a prime integer.

7.2.2 Mod-n arithmetic

Given a positive integer n, every integer i may be uniquely expressed as i = qn + r for some integer remainder r in the interval 0 ≤ r ≤ n − 1 and some integer quotient q. This may be proved by the Euclidean division algorithm, which if i ≥ n just subtracts n from i repeatedly until the remainder lies in the desired interval.

The remainder r, denoted by r = i mod n, is the more important part of this expression. The set of possible mod-n remainders is the set of n integers Rn = {0, 1, . . . , n − 1}. Evidently n is a divisor of i if and only if i mod n = 0.

Remainder arithmetic using the mod-n remainder set Rn is called “mod-n arithmetic.” The rules for mod-n arithmetic follow from the rules for integer arithmetic as follows. Let r = i mod n and s = j mod n; then, as integers, r = i − qn and s = j − tn for some quotients q and t. Then

r + s = i + j − (q + t)n; 2 rs = ij − (qj + ti)n + qtn .

Hence (r + s) mod n = (i + j) mod n and rs mod n = ij mod n; i.e., the mod-n remainder of the sum or product of two integers is equal to the mod-n remainder of the sum or product of their mod-n remainders, as integers.

Page 74: MIT Principal of Digital Communication

7.3. GROUPS 77

The mod-n addition and multiplication rules are therefore defined as follows:

r ⊕ s = (r + s) mod n; r ∗ s = (rs) mod n,

where “r” and “s” denote elements of the remainder set Rn on the left and the corresponding ordinary integers on the right. This makes mod-n arithmetic consistent with ordinary integer arithmetic in the sense expressed in the previous paragraph.

7.2.3 Unique factorization

Given a positive integer i, we may factor i into a unique product of prime factors by simply factoring out primes no greater than i until we arrive at the quotient 1, as the reader has known since grade school. For the time being, we will take this unique factorization property as given. A proof will be given as an exercise after we prove the corresponding property for polynomials.

7.3 Groups

We now introduce groups.

Definition 7.1 A group is a set of elements G = {a, b, c, . . .} and an operation ⊕ for which the following axioms hold:

• Closure: for any a ∈ G, b ∈ G, the element a ⊕ b is in G.

• Associative law: for any a, b, c ∈ G, (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c).

• Identity: There is an identity element 0 in G for which a ⊕ 0 = 0 ⊕ a = a for all a ∈ G.

• Inverse: For each a ∈ G, there is an inverse (−a) such that a ⊕ (−a) = 0.

In general it is not necessary that a ⊕ b = b ⊕ a. A group G for which a ⊕ b = b ⊕ a for all a, b ∈ G is called abelian or commutative. In these notes all groups will be abelian.

In view of the associative law, we may write (a⊕b)⊕c as a⊕b⊕c without ambiguity. Moreover, in an abelian group the elements a, b, c may be written in any order.

Frequently, the operation in a group is called multiplication, usually represented either by ∗ or juxtaposition. The identity is then denoted by 1 (or e) and the inverse of a by a−1 . Additive notation is generally used only for abelian groups, whereas multiplicative notation is used for both abelian and nonabelian groups. Since we consider only abelian groups, we will use additive notation when the nature of the group is unspecified.

As an example, the set of integers Z with the usual addition operation + forms an abelian group. Also, the real field R forms an additive abelian group under ordinary addition in which the identity is 0 and the inverse of a is −a. More interestingly, as the reader should verify, the nonzero elements of R form a multiplicative abelian group under ordinary multiplication, in which the identity is 1 and the inverse of a is a−1 = 1/a. We will see that every field has similar additive and multiplicative group properties.

Page 75: MIT Principal of Digital Communication

78 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

This example illustrates that the group structure (i.e., the properties stemming from the group operation ⊕) may reflect only part of the structure of the given set of elements; e.g., the additive group structure of R takes no account of the fact that real numbers may also be multiplied, and the multiplicative group structure of R −{0} takes no account of the fact that real numbers may also be added.

We abbreviate b ⊕ (−a) for any a, b ∈ G by b − a and regard “−” as an additional opera-tion implicitly defined by the axioms. In an additive group, “−” is called subtraction; in a multiplicative group, “−” is called division and denoted by / or ÷.

Because of the inverse operation, cancellation is always permissible; i.e., if x ⊕ a = y ⊕ a, we can add −a to both sides, showing that x = y. Similarly, one can move terms from one side of an equation to the other; i.e., x ⊕ a = y implies x = y − a.

Exercise 1 (Inverses and cancellation)

(a) Verify the following set of implications for arbitrary elements a, b of a group G which is not necessarily abelian:

b ⊕ a = 0 ⇒ b = −a ⇒ a ⊕ b = 0 ⇒ a = −b ⇒ b ⊕ a = 0.

(b) Use this result to show that the inverse is unique, i.e., that a ⊕ b = 0 ⇒ b = −a, and that the inverse also works on the left, i.e., b ⊕ a = 0 ⇒ b = −a. Note that this shows that cancellation is permitted on either the right or the left.

(c) Show that the identity element is unique, i.e., that for a, b ∈ G, a ⊕ b = a ⇒ b = 0 and b ⊕ a = a ⇒ b = 0.

= ak , then ai ⊕aj �

If G has a finite number of elements, G = {a1, a2, . . . , an}, then G is said to be finite and |G| = n is said to be the order of G. The group operation ⊕ may then be specified by an n× n “addition table” whose entry at row i, column j is ai ⊕ aj . The cancellation property implies that if aj � = ai ⊕ak . This means that all elements in any row i of the addition table are distinct; i.e., each row contains each element of G exactly once. Similarly, each column contains each element of G exactly once. Thus the group axioms restrict the group operation ⊕ more than might be immediately evident.

7.3.1 Alternative group axioms

The property that a “row of the addition table,” namely a ⊕ G = {a ⊕ b | b ∈ G} is just the set of elements of G in a different order (i.e., a permutation of G) is a fundamental property of any group G. We will now show that this permutation property may be taken as one of the group axioms. Subsequently we will use this property to prove that certain sets are groups.

Theorem 7.1 (Alternative group axioms) Let G = {a, b, c, . . .} be a set of elements on which an operation ⊕ is defined. Then G is a group under the operation ⊕ if and only if the following axioms hold:

• Associative law: for any a, b, c ∈ G, (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c).

• Identity: There is an identity element 0 in G for which a ⊕ 0 = 0 ⊕ a = a for all a ∈ G.

• Permutation property: For each a ∈ G, a ⊕ G = {a ⊕ b | b ∈ G} is a permutation of G.

Page 76: MIT Principal of Digital Communication

� �� �

7.3. GROUPS 79

Proof. (⇒) If G is a group under ⊕, then by the closure property every element a ⊕ b is in G. Moreover, the fact that a ∈ G has an inverse −a ∈ G implies that every element b ∈ G may be written as a⊕ (−a⊕ b) ∈ a⊕G, so every element of G is in a⊕G. Finally, from the cancellation property, a⊕ b = a⊕ c implies b = c. Thus the correspondence between G and a⊕G defined by b ↔ a ⊕ b is one-to-one; i.e., a permutation.

(⇐) Conversely, if a⊕G is a permutation of G for every a ∈ G, then (a) the closure property holds; i.e., a ⊕ b ∈ G for all a, b ∈ G; (b) since 0 ∈ a ⊕ G, there must exist a unique b ∈ G such that a⊕ b = 0, so a has a unique inverse −a = b under ⊕. Thus G is a group under ⊕.

The properties of “rows” a⊕G hold equally for “columns” G⊕ a, even when G is nonabelian.

For example, the set R ∗ of nonzero elements of the real field R form an abelian group under real multiplication, because real multiplication is associative and commutative with identity 1, and αR ∗ is a permutation of R ∗ for any α ∈ R ∗ .

Exercise 2 (Invertible subsets).

(a) Let H be a set of elements on which an associative operation ⊕ is defined with identity 0, and let G be the subset of elements h ∈ H which have unique inverses −h such that h⊕−h = 0. Show that G is a group under ⊕.

(b) Show that the nonzero elements of the complex field form a group under complex multi-plication.

(c) Show that the set of invertible n × n real matrices forms a (nonabelian) group under real matrix multiplication.

(d) What are the invertible elements of Z under multiplication? Do they form a group?

7.3.2 Cyclic groups

An important example of a finite abelian group is the set of remainders Rn = {0, 1, . . . , n − 1}under mod-n addition, where n is a given positive integer. This group is called “the integers mod n” and is denoted by Zn. Note that Z1 is the trivial group {0}.

A finite cyclic group is a finite group G with a particular element g ∈ G, called the generator, such that each element of G can be expressed as the sum, g⊕· · ·⊕g, of some number of repetitions

1of g. Thus each element of G appears in the sequence of elements {g, g⊕ g, g⊕ g⊕ g, . . .}. We denote such an i-fold sum by ig, where i is a positive integer and g is a group element; i.e.,

1g = g, 2g = g ⊕ g, . . . , ig = g ⊕ · · · ⊕ g, . . .

i terms

Since g generates G and G includes the identity element 0, we must have ig = 0 for some positive integer i. Let n be the smallest such integer; thus ng = 0 and ig �= 0 for 1 ≤ i ≤ n − 1. Adding

= 0 results in (i + j)g �the sum of j g’s for any j > 0 to each side of ig � = jg. Thus the elements {1g, 2g, . . . , ng = 0} must all be different.

1Mathematicians say also that an infinite group G = {. . . ,−1g, 0g, 1g, 2g, . . .} generated by a single element g is cyclic; e.g., the group of integers Z is an infinite cyclic group with generator 1. Although such infinite cyclic groups have the single-generator property of finite cyclic groups, they do not “cycle.” Hereafter, “cyclic group” will mean “finite cyclic group.”

Page 77: MIT Principal of Digital Communication

80 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

We can also add jg to both sides of the equality ng = 0, yielding (j + n)g = jg for any j > 0. Thus for each i > n, ig is equal to some earlier element in the sequence, namely (i − n)g. The elements {1g, 2g, . . . , ng = 0} therefore constitute all of the distinct elements in G, and the order of G is |G| = n. If we define 0g to be the identity 0, then the elements of G may be conveniently represented as G = {0g = 0, 1g, . . . , (n − 1)g}.

Figure 1 illustrates the cyclic structure of G that arises from the relation (j + n)g = jg.

0 = ng = 2ng = · · · r

g = (n + 1)g = · · · rr(n − 1)g =

(2n − 1)g = · · ·

r r 2g = (n + 2)g = · · ·

r r 3g = (n + 3)g = · · · r 4g = (n + 4)g = · · ·

Figure 1. The cyclic structure of a cyclic group: the sequence {1g, 2g, . . .} goes from the group element g up to ng = 0, then returns to g and continues to cycle.

Addition in a cyclic group of order n can be understood in terms of mod-n addition. In particular, since ng = 0, we also have 2ng = 0, 3ng = 0, etc. Since any integer i may be uniquely written as i = qn + r where the remainder r = i mod n is in the set Rn = {0, 1, . . . , n − 1}, we have ig = (qn)g + rg = rg, where rg = (i mod n)g is one of the elements of G. The addition rule of G is thus as follows: for each 0 ≤ i, j < n,

ig ⊕ jg = (i + j mod n)g.

Evidently 0g is the identity, and the inverse of a nonzero element ig is (n − i)g.

We thus see that any cyclic group G of order n is essentially identical to Zn. More precisely, the correspondence ig ∈ G ↔ i ∈ Zn is preserved under addition; i.e., ig ⊕ jg ↔ i ⊕ j for each i, j ∈ Zn. This type of correspondence is called an isomorphism. Specifically, two finite groups G and H are isomorphic if there exists an invertible2 function h : G → H mapping each α ∈ G into a β = h(α) ∈ H such that h(α ⊕ α′) = h(α) ⊕ h(α′), where ⊕ denotes the group operation of G on the left and that of H on the right. In summary:

Theorem 7.2 (Cyclic groups) The elements of a cyclic group G of order n with generator g are {0g, 1g, 2g, . . . , (n − 1)g}. The addition rule is ig ⊕ jg = (i + j mod n)g, the identity is 0g, and the inverse of ig �= 0g is (n− i)g. Finally, G is isomorphic to Zn under the one-to-one correspondence ig ↔ i.

Since Zn is abelian, it follows that all cyclic groups are abelian.

In multiplicative notation, the elements of a cyclic group G of order n with generator g are 1 2denoted by {g0 = 1, g , g , . . . , gn−1}, the multiplication rule is gi ∗gj = g(i+j mod n), the identity

is g0 = 1, and the inverse of g �i = 1 is gn−i. For example, if ω = e2πi/n , the set {1, ω, ω2, . . . , ωn−1}of complex nth roots of unity is a cyclic group under complex multiplication, isomorphic to Zn.

2A function h : G → H is called invertible if for each β ∈ H there is a unique α ∈ G such that β = h(α). An invertible function is also called a one-to-one correspondence, denoted by G ↔ H.

Page 78: MIT Principal of Digital Communication

7.3. GROUPS 81

7.3.3 Subgroups

A subgroup S of a group G is a subset of the elements of the group such that if a, b ∈ S, then a ⊕ b ∈ S and −a ∈ S. A subgroup S therefore includes the identity element of G and the inverse of each element in S. The associative law holds for S since it holds for G. Therefore a subgroup S ⊆ G is itself a group under the group operation of G.

For example, the set of integers Z is a subgroup of the additive group of R.

If G is abelian, then S must be abelian; however, S may be abelian even if G is nonabelian.

For any g ∈ G, we define the coset (translate) S ⊕ g = {s ⊕ g | s ∈ S}. The zero coset S ⊕ 0 is thus equal to S itself; moreover, by Theorem 7.1, S ⊕ g = S whenever g ∈ S.

The following theorem states a more general result:

Lemma 7.3 (Cosets) Two cosets S ⊕ g and S ⊕ h are the same if g − h ∈ S, but are disjoint if g − h /∈ S.

Proof. If g − h ∈ S, then the elements of S ⊕ h include (g − h) ⊕ h = g and therefore all elements of S ⊕ g, so S ⊕ g ⊆ S ⊕ h; similarly S ⊕ h ⊆ S ⊕ g.

On the other hand, if S ⊕ g and S ⊕ h have any element in common, say s ⊕ g = s′ ⊕ h, then g − h = s′ − s ∈ S; thus, g − h /∈ S implies that S ⊕ g and S ⊕ h are disjoint.

It follows that the distinct cosets S ⊕ g of a subgroup S ⊆ G form a disjoint partition of G, since every element g ∈ G lies in some coset, namely S ⊕ g.

The elements s⊕g of a coset S ⊕g are all distinct, since s⊕g = s′ ⊕g implies s = s′. Therefore if S is finite, then all cosets of S have the same size, namely the size |S| of S = S ⊕ 0. If G is finite, G is therefore the disjoint union of a finite number |C| of cosets of S ⊆ G, each of size |S|, so |G| = |C||S|. This proves Lagrange’s theorem:

Theorem 7.4 (Lagrange) If S is a subgroup of a finite group G, then |S| divides |G|.

7.3.4 Cyclic subgroups

Given any finite group G and any element g ∈ G, the set of elements generated by g, namely S(g) = {g, g ⊕ g, . . .}, is a cyclic subgroup of G. The order of g is defined as the order |S(g)|of S(g). By Lagrange’s theorem, |S(g)| divides |G|, and by the cyclic groups theorem, S(g) is isomorphic to Z|S(g)|. (If g = 0, then S(g) = {0} and |S(g)| = 1. We will assume g �= 0.)

As a fundamental example, let G be the cyclic group Zn = {0, 1, . . . , n − 1}, and let S(m) be the cyclic subgroup {m, 2m, . . .} generated by m ∈ Zn. Here im = m⊕· · ·⊕m is simply the sum of m with itself i times; i.e., im ∈ G is the ordinary product im mod n. The order |S(m)| of S(m) is the least positive integer k such that km = 0 mod n; i.e., such that the integer product km is divisible by n. Thus km is the least common multiple of m and n, denoted lcm(m, n), and |S(m)| = k = lcm(m, n)/m. By elementary number theory, lcm(m, n) = mn/ gcd(m, n) for any positive integers m, n, so we may alternatively write |S(m)| = n/ gcd(m, n), where gcd(m, n) denotes the greatest common divisor of m and n. This shows explicitly that |S(m)| divides n.

For example, suppose n = 10 and m = 4. Then S(4) = {4, 8, 2, 6, 0}. Thus |S(4)| = 5, consistent with |S(4)| = lcm(4, 10)/4 = 20/4 or |S(4)| = 10/ gcd(4, 10)/4 = 10/2.

Page 79: MIT Principal of Digital Communication

82 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Now when does S(m) = Zn? This occurs if and only if gcd(m, n) = 1; i.e., if and only if m is relatively prime to n. In short, m generates Zn and has order |S(m)| = n if and only if m and n are relatively prime. The number of integers in the set {0, 1, . . . , n − 1} that have order n is called the Euler number φ(n).

For example, in Z10 the integers that are relatively prime to 10 are {1, 3, 7, 9}, so φ(10) = 4. The order of the other elements of Z10 are as follows:

• 0 is the only element of order 1, and S(0) = {0}. • 5 is the only element of order 2, and S(5) = {0, 5}. • {2, 4, 6, 8} have order 5, and S(2) = S(4) = S(6) = S(8) = {0, 2, 4, 6, 8}.

In general, Zn has a cyclic subgroup Sd of order d for each positive integer d that divides n, including 1 and n. Sd consists of {0, n/d, 2n/d, . . . , (d−1)n/d}, and is isomorphic to Zd. Sd thus contains φ(d) elements that are relatively prime to d, each of which has order d and generates Sd. The remaining elements of Sd belong also to smaller cyclic subgroups.

For example, Z10 has a subgroup S5 = {0, 2, 4, 6, 8} with 5 elements. Four of these elements, namely {2, 4, 6, 8}, are relatively prime to 5 and generate S5. The remaining element of S5, namely 0, has order 1.

Since every element of Zn has some definite order d that divides n, we have

n = φ(d). (7.1) d: d|n

The notation d : d|n means the set of positive integers d, including 1 and n, that divide n. All Euler numbers may be determined recursively from this expression. For example, φ(1) = 1, φ(2) = 2 − φ(1) = 1, φ(3) = 3 − φ(1) = 2, φ(4) = 4 − φ(1) − φ(2) = 2, . . ..

Exercise 3. Show that φ(n) ≥ 1 for all n ≥ 1. [Hint: Find the order of 1 in Zn.]

Since every cyclic group G of size n is isomorphic to Zn, these results apply to every cyclic group. In particular, every cyclic group G of size n has φ(n) generators that generate G, which are called the primitive elements of G. G also contains one cyclic subgroup of size d for each d that divides n.

Exercise 4. Show that every subgroup of Zn is cyclic. [Hint: Let s be the smallest nonzero element in a subgroup S ⊆ Zn, and compare S to the subgroup generated by s.]

Page 80: MIT Principal of Digital Communication

7.4. FIELDS 83

7.4 Fields

Definition 7.2 A field is a set F of at least two elements, with two operations ⊕ and ∗, for which the following axioms are satisfied:

• The set F forms an abelian group (whose identity is called 0) under the operation ⊕.

• The set F ∗ = F − {0} = {a ∈ F, a �= 0} forms an abelian group (whose identity is called 1) under the operation ∗.

• Distributive law: For all a, b, c ∈ F, (a ⊕ b) ∗ c = (a ∗ c) ⊕ (b ∗ c).

The operation ⊕ is called addition (and often denoted by +), and the operation ∗ is called multiplication (and often denoted by juxtaposition). As in ordinary arithmetic, we often omit the parentheses around a product of elements, using the convention “multiplication before addition;” e.g., we interpret a ⊕ b ∗ c as a ⊕ (b ∗ c).

The reader may verify that R, C, Q and F2 each form a field according to this definition under conventional addition and multiplication.

Exercise 5. Show that for any element a ∈ F, a ∗ 0 = 0.

7.4.1 Prime fields

A fundamental example of a finite (Galois) field is the set Fp of mod-p remainders, where p is a given prime number. Here, as in Zp, the set of elements is Rp = {0, 1, · · · , p − 1}, and the operation ⊕ is mod-p addition. The multiplicative operation ∗ is mod-p multiplication; i.e., multiply integers as usual and then take the remainder after division by p.

Theorem 7.5 (Prime fields) For every prime p, the set Rp = {0, 1, · · · , p − 1} forms a field (denoted by Fp) under mod-p addition and multiplication.

Proof. We have already seen that the elements of Fp form an abelian group under addition modulo p, namely the cyclic group Zp.

The associative and commutative properties of multiplication mod p follow from the corre-sponding properties of ordinary multiplication; the distributive law follows from the correspond-ing property for ordinary addition and multiplication. The multiplicative identity is 1.

To see that the nonzero elements F ∗ = Fp − {0} form a group under multiplication, we use p Theorem 7.1. By unique factorization, the product of two nonzero integers a, b < p cannot

∗equal 0 mod p. Therefore the nonzero elements Fp are closed under multiplication mod p. Also, ∗for a, b, c ∈ Fp and b � = 0. Thus ab �= c we have a(b − c) mod p � = ac mod p, which implies

a ∗ b �= a ∗ c. Consequently there are no zeroes or repetitions in the set of p − 1 elements {a ∗ 1, a ∗ 2, . . . , a ∗ (p − 1)}, which means they must be a permutation of F ∗ .p

We next show that Fp is essentially the only field with p elements. More precisely, we show that all fields with p elements are isomorphic. Two fields F and G are isomorphic if there is an invertible function h : F → G mapping each α ∈ F into a β = h(α) ∈ G such that h(α ⊕ α′) = h(α) ⊕ h(α′) and h(α ∗ α′) = h(α) ∗ h(α′). Less formally, F and G are isomorphic if there is a one-to-one correspondence F ↔ G that translates the addition and multiplication tables of F to those of G and vice versa.

Page 81: MIT Principal of Digital Communication

� �� �

84 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Let F be any field with a prime p number of elements. By the field axioms, F has an additive identity 0 and multiplicative identity 1. Consider the additive cyclic subgroup generated by 1, namely S(1) = {1, 1 ⊕ 1, . . .}. By Lagrange’s theorem, the order of S(1) divides |F| = p, and therefore must be equal to 1 or p. But 1 ⊕ 1 �= 1, else 1 = 0, so 1 must have order p. In other words, S(1) = F, and the additive group of F is isomorphic to that of Zp. We may therefore denote the elements of F by {0, 1, 2, . . . , p − 1}, and use mod-p addition as the addition rule.

The only remaining question is whether this correspondence F ↔ Zp under addition extends to multiplication. The distributive law shows that it does: j ∗ i is the sum of j terms each equal to i, so j ∗ i = (ji mod p). Therefore, in summary:

Theorem 7.6 (Prime field uniqueness) Every field F with a prime number p of elements is isomorphic to Fp via the correspondence 1 ⊕ · · · ⊕ 1 ∈ F ↔ i ∈ Fp.

i terms

In view of this elementary isomorphism, we will denote any field with a prime number p of elements by Fp.

It is important to note that the set Zn of integers mod n does not form a field if n is not prime. The reason is that n = ab for some positive integers a, b < n ∈ Zn; thus ab = 0 mod n, so the set of nonzero elements of Zn is not closed under multiplication mod n.

However, we will see shortly that there do exist finite fields with non-prime numbers of elements that use other rules for addition and multiplication.

7.4.2 The prime subfield of a finite field

A subfield G of a field F is a subset of the field that is itself a field under the operations of F. For example, the real field R is a subfield of the complex field C. We now show that every finite field Fq has a subfield that is isomorphic to a prime field Fp.

Let Fq be a finite field with q elements. By the field axioms, Fq has an additive identity 0 and a multiplicative identity 1.

Consider the cyclic subgroup of the additive group of Fq that is generated by 1, namely S(1) = {1, 1 ⊕ 1, . . .}. Let n = |S(1)|. By the cyclic group theorem, S(1) is isomorphic to Zn, and its elements may be denoted by {0, 1, 2, . . . , n − 1}, with mod-n addition.

By the distributive law in Fq , the product i∗j (in Fq ) of two nonzero elements in S(1) is simply the sum of ij ones, which is an element of S(1), namely ij mod n. Since this is a product of nonzero elements of Fq , by the field axioms ij mod n must be nonzero for all nonzero i, j. This will be true if and only if n is a prime number p.

Thus S(1) forms a subfield of Fq with a prime number p of elements. By the prime field theorem of the previous subsection, S(1) is isomorphic to Fp. Thus the elements of S(1), which are called the integers of Fq , may be denoted by Fp = {0, 1, . . . , p − 1}, and the addition and multiplication rules of Fq reduce to mod-p addition and multiplication in Fp.

The prime p is called the characteristic of Fq . Since the p-fold sum of the identity 1 with itself is 0, the p-fold sum of every field element β ∈ Fq with itself is 0: pβ = 0.

In summary:

Theorem 7.7 (Prime subfields) The integers {1, 1 ⊕ 1, . . .} of any finite field Fq form a sub-field Fp ⊆ Fq with a prime number p of elements, where p is the characteristic of Fq .

Page 82: MIT Principal of Digital Communication

7.5. POLYNOMIALS 85

7.5 Polynomials

We now consider polynomials over Fp, namely polynomials whose coefficients lie in Fp and for which polynomial addition and multiplication is performed in Fp. We will see that the factorization properties of polynomials are similar to those of the integers, and that the analogue to mod-n arithmetic is arithmetic modulo a polynomial f (x).

A nonzero polynomial f (x) of degree m over a field F is an expression of the form

mf (x) = f0 + f1x + f2x 2 + · · · + fmx ,

where fi ∈ F, 0 ≤ i ≤ m, and fm �= 0. We say that deg f (x) = m. The symbol x represents an indeterminate (or “placeholder”), not an element of F; i.e., two polynomials are different if and only if their coefficients are different3 . The nonzero polynomials of degree 0 are simply the nonzero field elements f0 ∈ F. There is also a special zero polynomial f (x) = 0 whose degree is defined by convention as deg 0 = −∞; we will explain the reason for this convention shortly. The set of all polynomials over F in an indeterminate x is denoted by F[x].

The rules for adding, subtracting or multiplying polynomials are the same over a general field F as over the real field R, except that coefficient operations are in F. In particular, addition and subtraction are performed componentwise. For multiplication, the coefficients of a polynomial product f (x) = h(x)g(x) are determined by convolution:

i

fi = hj gi−j . j=0

If two nonzero polynomials are multiplied, then their degrees add; i.e., deg(h(x)g(x)) = deg h(x) + deg g(x). The convention deg 0 = −∞ ensures that this formula continues to hold when h(x) or g(x) is the zero polynomial.

The set F[x] has many of the properties of a field. It is evidently an abelian group under addition whose identity is the zero polynomial 0 ∈ F[x]. It is closed under multiplication, which is both associative and commutative and which distributes over addition. It has a multiplicative identity 1 ∈ F[x], and the cancellation law holds.

However, in general we cannot divide evenly by a nonzero polynomial, since a polynomial f (x) with deg f (x) > 0 has no multiplicative inverse. Therefore F[x] is a ring, 4 not a field, like the ring of integers Z. We now develop a series of properties of F[x] that resemble those of Z.

3Over the real field R, a polynomial f (x) is sometimes regarded as a function f : R → R. This alternative viewpoint makes little difference in the real case, since two polynomials over R are different if and only if the corresponding polynomial functions are different. However, over finite fields it is important to maintain the distinction. For example, over F2 the polynomial functions x and x 2 both map 0 → 0, 1 → 1, yet the polynomials x and x 2 are different.

4The axioms of a ring are similar to those for a field, except that there is no multiplicative inverse. For example, Z and Zn (for n not a prime) are rings. In fact, Z and F[x] are integer domains, which are the nicest kind of rings. An integer domain is a ring with commutative multiplication and a multiplicative identity 1 such that the nonzero elements are closed under multiplication.

Exercise 6. Show that an integer domain with a finite number of elements must be a finite field. [Hint: consider its cyclic multiplicative subgroups.]

Page 83: MIT Principal of Digital Communication

86 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

7.5.1 Definitions

A polynomial g(x) is said to be a divisor of an polynomial f(x) if f(x) is a polynomial multiple of g(x); i.e., f(x) = q(x)g(x) for some polynomial q(x). Thus all polynomials are trivially divisors of the zero polynomial 0.

The polynomials that have polynomial inverses are the nonzero degree-0 polynomials β ∈ F ∗ = F − {0}. These are called the units of F[x]. If u(x) is a unit polynomial and g(x) is a divisor of f(x), then u(x)g(x) is a divisor of f(x) and g(x) is a divisor of u(x)f(x). Thus the factorization of a polynomial can be unique only up to a unit polynomial u(x), and u(x)f(x) has the same divisors as f(x).

A monic polynomial is a nonzero polynomial f(x) of degree m with high-order coefficient fm

equal to 1; i.e., f(x) = f0 + f1x + f2x2 + · · · + xm . Every nonzero polynomial g(x) may be

written as the product g(x) = gmf(x) of a monic polynomial f(x) of the same degree with a unit polynomial u(x) = gm, and the product of two monic polynomials is monic. We may therefore consider only factorizations of monic polynomials into products of monic polynomials.

Every nonzero polynomial f(x) is divisible by 1 and f(x); these divisors are called trivial. A polynomial g(x) is said to be a factor of a polynomial f(x) if g(x) is monic and a nontrivial divisor of f(x). Thus the degree of any factor g(x) of f(x) satisfies 1 ≤ deg g(x) < deg f(x).

A polynomial g(x) of degree 1 or more that has no factors is called an irreducible polynomial, and a monic irreducible polynomial is called a prime polynomial. Our goal now is to show that every monic polynomial has a unique factorization into prime polynomial factors.

7.5.2 Mod-g(x) arithmetic

Given a monic polynomial g(x) of degree m, every polynomial f(x) may be expressed as f(x) = q(x)g(x)+r(x) for some polynomial remainder r(x) such that deg r(x) < m and some polynomial quotient q(x). This may be proved by the Euclidean long division algorithm of high school, with component operations in F; i.e., divide g(x) into f(x) by long division, high-degree terms first, stopping when the degree of the remainder is less than that of g(x). The following exercise shows that the resulting quotient q(x) and remainder r(x) are unique.

Exercise 7 (Euclidean division algorithm).

(a) For the set F[x] of polynomials over any field F, show that the distributive law holds: (f1(x) + f2(x))h(x) = f1(x)h(x) + f2(x)h(x).

(b) Use the distributive law to show that for any given f(x) and g(x) in F[x], there is a unique q(x) and r(x) with deg r(x) < deg g(x) such that f(x) = q(x)g(x) + r(x).

The remainder polynomial r(x), denoted by r(x) = f(x) mod g(x), is the more important part of this decomposition. The set of all possible remainder polynomials is the set RF,m = {r0 + r1x + · · · + rm−1x

m−1 | rj ∈ F, 0 ≤ j ≤ m − 1}, whose size is |RF,m| = |F|m . Evidently g(x) is a divisor of f(x) if and only if f(x) mod g(x) = 0.

Remainder arithmetic using the remainder set RF,m is called “mod-g(x) arithmetic.” The rules for mod-g(x) arithmetic follow from the rules for polynomial arithmetic as follows. Let r(x) = f(x) mod g(x) and s(x) = h(x) mod g(x); then, as polynomials, r(x) = f(x) − q(x)g(x) and s(x) = h(x) − t(x)g(x) for some quotient polynomials q(x) and t(x). Then

Page 84: MIT Principal of Digital Communication

7.5. POLYNOMIALS 87

f(x) + h(x) = r(x) + s(x) − (q(x) + t(x))g(x); f(x)h(x) = r(x)s(x) − (q(x)s(x) + t(x)r(x))g(x) + q(x)t(x)g 2(x).

Hence (f(x) + h(x)) mod g(x) = (r(x) + s(x)) mod g(x) and f(x)h(x) mod g(x) = r(x)s(x) mod g(x). In other words, the mod-g(x) remainder of the sum or product of two polynomials is equal to the mod-g(x) remainder of the sum or product of their mod-g(x) remainders.

The mod-g(x) addition and multiplication rules are therefore defined as follows:

r(x) ⊕ s(x) = (r(x) + s(x)) mod g(x); r(x) ∗ s(x) = (r(x)s(x)) mod g(x),

where “r(x)” and “s(x)” denote elements of the remainder set RF,m on the left and the corre-sponding ordinary polynomials on the right. This makes mod-g(x) arithmetic consistent with ordinary polynomial arithmetic in the sense of the previous paragraph.

Note that the mod-g(x) addition rule is just componentwise addition of coefficients in F. In this sense the additive groups of RF,m and of the vector space Fm of m-tuples over F are isomorphic.

7.5.3 Unique factorization

By definition, every monic polynomial f(x) is either irreducible or can be factored into a product of monic polynomial factors, each of lower degree. In turn, if a factor is not irreducible, it can be factored further. Since factor degrees are decreasing but bounded below by 1, we must eventually arrive at a product of monic irreducible (prime) polynomials. The following theorem shows that there is only one such set of prime polynomial factors, regardless of the order in which the polynomial is factored.

Theorem 7.8 (Unique factorization of polynomials) Over any field F, every monic poly-nomial f(x) ∈ F[x] of degree m ≥ 1 may be written in the form

k

f(x) = ai(x), i=1

where each ai(x), 1 ≤ i ≤ k, is a prime polynomial in F[x]. This factorization is unique, up to the order of the factors.

Proof. We have already shown that f(x) may be factored in this way, so we need only prove uniqueness. Thus assume hypothetically that the theorem is false and let m be the smallest degree such that there exists a degree-m monic polynomial f(x) with more than one such factorization,

f(x) = a1(x) · · · ak (x) = b1(x) · · · bj (x); j, k ≥ 1, (7.2)

where a1(x), . . . , ak (x) and b1(x), . . . , bj (x) are prime polynomials. We will show that this implies a polynomial f ′(x) with degree less than m with non-unique factorization, and this contradiction will prove the theorem. Now a1(x) cannot appear on the right side of (7.2), else it could be factored out for an immediate contradiction. Similarly, b1(x) cannot appear on the left. Without loss of generality, assume deg b1(x) ≤ deg a1(x). By the Euclidean division algorithm, a1(x) = q(x)b1(x) + r(x). Since a1(x) is irreducible, r(x) �= 0 and 0 ≤ deg r(x) < deg b1(x) ≤ deg a1(x).

Page 85: MIT Principal of Digital Communication

88 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Thus r(x) has a prime factorization r(x) = βr1(x) · · · rn(x), where β is the high-order coefficient of r(x), and b1(x) is not a divisor of any of the ri(x), since it has greater degree. Substituting into (7.2), we have

(q(x)b1(x) + βr1(x) · · · rn(x))a2(x) · · · ak(x) = b1(x) · · · bj (x),

or, defining f ′(x) = r1(x) · · · rn(x)a2(x) · · · ak (x) and rearranging terms,

f ′(x) = r1(x) · · · rn(x)a2(x) · · · ak (x) = β−1b1(x)(b2(x) · · · bj (x) − q(x)a2(x) · · · ak (x)).

Now f ′(x) is monic, because it is a product of monic polynomials; it has degree less than f(x), since deg r(x) < deg a1(x); and it has two different factorizations, with b1(x) a factor in one but not a divisor of any of the factors in the other; contradiction.

Exercise 8. Following this proof, prove unique factorization for the integers Z.

7.5.4 Enumerating prime polynomials

The prime polynomials in F[x] are analogous to the prime numbers in Z. One way to enumerate the prime polynomials is to use an analogue of the sieve of Eratosthenes. For integers, this method goes as follows: Start with a list of all integers greater than 1. The first integer on the list is 2, which is prime. Erase all multiples of 2 (even integers). The next remaining integer is 3, which must be the next prime. Erase all multiples of 3. The next remaining integer is 5, which must be the next prime. Erase all multiples of 5. And so forth.

Similarly, to find the prime polynomials in F2[x], for example, first list all polynomials of degree 1 or more in F2[x] in order of degree. (Note that all nonzero polynomials in F2[x] are monic.) No degree-1 polynomial can have a factor, so the two degree-1 polynomials, x and x + 1, are both prime. Next, erase all degree-2 multiples of x and x + 1, namely

x 2 = x ∗ x; x 2 + x = x ∗ (x + 1);

x 2 + 1 = (x + 1) ∗ (x + 1)

from the list of four degree-2 polynomials. This leaves one prime degree-2 polynomial, namely x2 + x + 1. Next, erase all degree-3 multiples of x, x + 1, and x2 + x + 1 from the list of eight degree-3 polynomials, namely the six polynomials

x 3 = x ∗ x ∗ x; 2 x 3 + x = (x + 1) ∗ x ∗ x;

x 3 + x = (x + 1) ∗ (x + 1) ∗ x; x 3 + x 2 + x = x ∗ (x 2 + x + 1);

x 3 + 1 = (x + 1) ∗ (x 2 + x + 1);

x 3 + x 2 + x + 1 = (x + 1) ∗ (x + 1) ∗ (x + 1).

The remaining two polynomials, namely x3 + x2 + 1 and x3 + x + 1, must therefore be prime.

Exercise 9. Find all prime polynomials in F2[x] of degrees 4 and 5. [Hint: There are three prime polynomials in F2[x] of degree 4 and six of degree 5.]

Continuing in this way, we may list all prime polynomials in F2[x] up to any desired degree.

Page 86: MIT Principal of Digital Communication

7.6. A CONSTRUCTION OF A FIELD WITH PM ELEMENTS 89

It turns out that the number N(m) of prime polynomials of F2[x] of degree m is N(m) = 2, 1, 2, 3, 6, 9, 18, 30, 56, 99, . . . for m = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, . . .. (In Section 7.9 we will give a simpler method to compute N(m), and will show that N(m) > 0 for all m.)

A similar sieve algorithm may be used to find the prime polynomials in F[x] over any finite field F. The algorithm starts with a listing of the monic polynomials ordered by degree, and successively erases the multiples of lower-degree prime polynomials.

7.6 A construction of a field with pm elements

We now show how to construct a field with pm elements for any prime integer p and positive integer m ≥ 1. Its elements will be the set RF,m of remainder polynomials of degree less than m, and multiplication will be defined modulo an irreducible polynomial g(x) of degree m. We will subsequently show that that every finite field is isomorphic to a finite field that is constructed in this way.

The construction assumes the existence of a prime polynomial g(x) ∈ Fp[x] of degree m. The proof that such a polynomial exists for all prime p and m ≥ 1 will be deferred until later. The field that we construct will be denoted by Fg(x).

The set of elements of Fg(x) will be taken to be the mod-g(x) remainder set RFp,m = {r0 + mr1x + · · · + rm−1x

m−1 | rj ∈ Fp, 0 ≤ j ≤ m − 1}, whose size is |RFp,m| = p .

The addition and multiplication rules will be taken to be those of mod-g(x) arithmetic. We must show that the axioms of a field are satisfied with these definitions.

The associative, commutative and distributive laws for mod-g(x) arithmetic follow from the corresponding laws for ordinary polynomial arithmetic.

Mod-g(x) addition of two remainder polynomials in Fg(x) yields a remainder polynomial of degree < m in Fg(x). Fg(x) evidently forms an abelian group under mod-g(x) addition. (As already mentioned, this group is isomorphic to the additive group of (Fp)m.)

Mod-g(x) multiplication of two remainder polynomials r(x), s(x) yields the remainder polyno-mial t(x) = r(x)s(x) mod g(x). The following exercise shows that the nonzero elements of Fg(x)

form an abelian group under mod-g(x) multiplication:

Exercise 10. Let g(x) be a prime polynomial of degree m, and let r(x), s(x), t(x) be polyno-mials in Fg(x).

(a) Prove the distributive law, i.e., (r(x)+ s(x)) ∗t(x) = r(x) ∗t(x)+ s(x) ∗t(x). [Hint: Express each product as a remainder using the Euclidean division algorithm.]

= 0, show that r(x) ∗ s(x) � = t(x).(b) For r(x) � = r(x) ∗ t(x) if s(x) �(c) For r(x) �= 0, show that as s(x) runs through all nonzero polynomials in Fg(x), the product

r(x) ∗ s(x) also runs through all nonzero polynomials in Fg(x).

(d) Using part (c) and Theorem 7.1, show that the nonzero elements of Fg(x) form an abelian group under mod-g(x) multiplication.

Since we have verified the three field axioms, we have proved:

Theorem 7.9 (Construction of Fg(x)) If g(x) is an prime polynomial of degree m over a prime field Fp, then the set of remainder polynomials RFp,m with mod-g(x) arithmetic forms a finite field Fg(x) with pm elements.

Page 87: MIT Principal of Digital Communication

90 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Example 1. Let us construct a finite field with 22 = 4 elements using the prime degree-2 polynomial g(x) = x2 + x + 1 ∈ F2[x].

There are four remainder polynomials mod x2 + x + 1, namely {0, 1, x, x + 1}. Addition is componentwise mod 2. For multiplication, note that x∗x = x+1 since x2 mod (x2 +x+1) = x+1. Also x ∗ x ∗ x = x ∗ (x + 1) = 1 since x3 mod (x2 + x + 1) = 1. The three nonzero elements {1, x, x + 1} thus form a cyclic group under mod-g(x) multiplication, which verifies the second field axiom for this example.

The complete mod-g(x) addition and multiplication tables are as follows:

⊕ 0 1 x x + 1 ∗ 0 1 x x + 1 0 0 1 x x + 1 0 0 0 0 0 1 1 0 x + 1 x 1 0 1 x x + 1 x x x + 1 0 1 x 0 x x + 1 1

x + 1 x + 1 x 1 0 1 + x 0 x + 1 1 x

∗7.7 The multiplicative group of Fq is cyclic

In this section we consider an arbitrary finite field Fq with q elements. By the second field axiom, the set F ∗ of all q − 1 nonzero elements must form a finite abelian group under multiplication. q In this section we will show that this group is actually cyclic.

∗We start by showing that every element of Fq is a root of the polynomial xq−1 − 1 ∈ Fq [x]. Thus we first need to discuss roots of polynomials over arbitrary fields.

7.7.1 Roots of polynomials

Let F[x] be the set of polynomials over an arbitrary field F. If f(x) ∈ F[x] has a degree-1 factor x − α for some α ∈ F, then α is called a root of f(x).

Since any f(x) may be uniquely expressed as f(x) = q(x)(x−α)+β for some quotient q(x) and some β ∈ F (i.e., for some remainder r(x) = β of degree less than 1), it follows that f(α) = β. Therefore α is a root of f(x) if and only if f(α) = 0 — i.e., if and only if α is a root of the polynomial equation f(x) = 0.

By degree additivity, the degree of a polynomial f(x) is equal to the sum of the degrees of its prime factors, which are unique by unique factorization. Therefore a polynomial of degree m can have at most m degree-1 factors. This yields what is sometimes called the fundamental theorem of algebra:

Theorem 7.10 (Fundamental theorem of algebra) Over any field F, a monic polynomial f(x) ∈ F[x] of degree m can have no more than m roots in F. If it does have m roots {β1, . . . , βm}, then the unique factorization of f(x) is f(x) = (x − β1) · · · (x − βm).

Since the polynomial xn − 1 can have at most n roots in F, we have an important corollary:

Theorem 7.11 (Cyclic multiplicative subgroups) In any field F, the multiplicative group ∗ F of nonzero elements has at most one cyclic subgroup of any given order n. If such a subgroup

exists, then its elements {1, β, . . . , βn−1} satisfy

x n − 1 = (x − 1)(x − β) · · · (x − βn−1).

Page 88: MIT Principal of Digital Communication

� �

91 ∗7.7. THE MULTIPLICATIVE GROUP OF FQ IS CYCLIC

For example, the complex multiplicative group C ∗ has precisely one cyclic subgroup of each finite size n, consisting of the n complex nth roots of unity. The real multiplicative group R ∗

has cyclic subgroups of size 1 ({1}) and 2 ({±1}), but none of any larger size.

Exercise 11. For 1 ≤ j ≤ n, the jth elementary symmetric function σj (S) of a set S of n nelements of a field F is the sum of all products of j distinct elements of S. In particular, j

σ1(S) is the sum of all elements of S, and σn(S) is the product of all elements of S. ∗(a) Show that if S = {1, β, . . . , βn−1} is a cyclic subgroup of F , then σj (S) = 0 for 1 ≤ j ≤ n−1

and σn(S) = (−1)n+1. In particular,

n−1 n−1 � � βj = 0, if n > 1; βj = (−1)n+1 .

j=0 j=0

Verify for S = {±1,±i} (the four complex 4th roots of unity).

(b) Prove that for any odd prime integer p,

(p − 1)! = 1 · 2 · 3 · · · (p − 1) = −1 mod p.

Verify for p = 3, 5 and 7.

7.7.2 Factoring xq − x over Fq

∗ ∗For any β ∈ Fq , consider the cyclic subgroup S(β) = {1, β, β2, β3 , . . .} of F generated by β.q The size |S(β)| of this subgroup is called the multiplicative order of β.

By the cyclic group theorem, β|S(β)| = 1, and by Lagrange’s theorem, |S(β)| must divide ∗ ∗|F | = q − 1. It follows that βq−1 = 1 for all β ∈ Fq .q

∗In other words, every β ∈ Fq is a root of the polynomial equation xq−1 = 1, or equivalently of the polynomial xq−1 − 1 ∈ Fq [x]. By the polynomial roots theorem, xq−1 − 1 can have at most q − 1 roots in Fq , so these are all the roots of xq−1 − 1. Thus xq−1 − 1 factors into the

∗product of the degree-1 polynomials x− β for all β ∈ Fq . Moreover, since 0 ∈ Fq is a root of the polynomial x and x(xq−1 − 1) = xq − x, the polynomial xq − x factors into the product of the degree-1 polynomials x − β for all β ∈ Fq .

To summarize:

Theorem 7.12 In a finite field Fq with q elements, every nonzero field element β ∈ Fq satisfies βq−1 = 1 and has a multiplicative order |S(β)| that divides q − 1. The nonzero elements of Fq

are the q − 1 distinct roots of the polynomial xq−1 − 1 ∈ Fq [x]; i.e.,

xq−1 − 1 = (x − β). (7.3) β∈F∗

q

The elements of Fq are the q distinct roots of the polynomial xq − x ∈ Fq [x]; i.e.,

xq − x = (x − β). (7.4) β∈Fq

Exercise 12.

(a) Verify (7.3) for the prime field F5.

(b) Verify (7.3) for the field F4 that was constructed in Example 1. [Hint: use a symbol other than x for the indeterminate in (7.3).]

Page 89: MIT Principal of Digital Communication

92 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

7.7.3 Every finite field has a primitive element

A primitive element of a finite field Fq is an element α whose multiplicative order |S(α)| equals −2q − 1. If α is a primitive element, then the cyclic group {1, α, α2, . . . , αq } is a set of q − 1

distinct nonzero elements of Fq, which therefore must be all the nonzero elements. Thus if we can show that Fq has at least one primitive element, we will have shown that its nonzero elements ∗ Fq form a cyclic group under multiplication of size q − 1.

By Lagrange’s theorem, the multiplicative order |S(β)| of each nonzero element β ∈ F ∗ dividesq ∗ q − 1. Therefore the size d of each cyclic subgroup of Fq divides q − 1. As we have seen, the number of elements in a cyclic group or subgroup of size d that have order d is the Euler number

∗φ(d). Since by the cyclic subgroups theorem Fq has at most one cyclic subgroup of each size d, the number of elements in F ∗ with order less than q − 1 is at most q

φ(d). d: d|(q−1), d�=q−1

But since the Euler numbers satisfy the relationship (7.1), which in this case is

q − 1 = φ(d), d: d|(q−1)

∗we conclude that there must be at least φ(q − 1) elements of Fq with order q − 1. Indeed, since ∗ F has at most φ(q − 1) elements of order q − 1, all inequalities must be satisfied with equality; q ∗i.e., Fq has precisely φ(d) elements of order d for each divisor d of q − 1.

We saw in Exercise 3 that φ(q − 1) ≥ 1, so a primitive element α of order q − 1 exists. Thus ∗ Fq is cyclic and has one cyclic subgroup of each order d that divides q − 1. This proves the

following theorem:

Theorem 7.13 (Primitive elements) Given any field Fq with q elements, the nonzero ele-−2 ∗ments of Fq form a multiplicative cyclic group F ∗ = {1, α, α2, . . . , αq }. Consequently Fq hasq

φ(d) ≥ 1 elements of multiplicative order d for every d that divides q − 1, and no elements of ∗any other order. In particular, Fq has φ(q − 1) ≥ 1 primitive elements.

−2Henceforth we will usually write the elements of a finite field Fq as {0, 1, α, α2, . . . , αq }, where α denotes a primitive element. For Fg(x), denoting a field element β as a power of α rather than as a remainder polynomial helps to avoid confusion when we consider polynomials in β.

Example 2. The prime field F5 has φ(1) = 1 element of order 1 (the element 1), φ(2) = 1 element of order 2 (namely 4 = -1), and φ(4) = 2 primitive elements of order 4 (namely, 2 and 3). We can therefore write F5 = {0, 1, 2, 22 , 23}, since 22 = 4 and 23 = 3 mod 5.

Example 3. A field F16 = {0, 1, α, . . . , α14} with 16 elements has

• φ(1) = 1 element of order 1 (the element 1);

• φ(3) = 2 elements of order 3 (α5 and α10);

• φ(5) = 4 elements of order 5 (α3, α6, α9, α12), and

• φ(15) = 8 primitive elements of order 15 (α, α2, α4, α7, α8, α11, α13, α14).

Page 90: MIT Principal of Digital Communication

� �

7.8. EVERY FINITE FIELD IS ISOMORPHIC TO A FIELD FG(X) 93

The “logarithmic” representation of the nonzero elements of Fq as distinct powers of a primitive element α is obviously highly convenient for multiplication and division. Multiplication in Fq is often carried out by using such a “log table” to convert a polynomial f(x) ∈ Fq to the exponent i such that f(x) = αi, and then using an inverse “antilog table” to convert back after adding or subtracting exponents. (Note that the zero element can be included in this scheme if we define 0 = α−∞.)

7.8 Every finite field is isomorphic to a field Fg(x)

We now wish to show that every finite field Fq is isomorphic to a field Fg(x) of the type that we have previously constructed. In particular, this will show that the number of elements of a finite field must be q = pm, a prime power.

The development relies on the properties of minimal polynomials, which are the factors that appear in the unique factorization of xq − x over the prime subfield Fp of Fq .

7.8.1 Factoring xq − x into minimal polynomials over Fp

Again, consider any field Fq with q elements. We have seen in Theorem 7.12 that the polynomial xq − x ∈ Fq [x] factors completely into q deqree-1 factors x − β ∈ Fq [x], β ∈ Fq .

We have also seen that if Fq has characteristic p, then Fq has a prime subfield Fp with p elements. The prime subfield Fp contains the integers of Fq , which include {0,±1}. Therefore we may regard xq − x alternatively as a polynomial in Fp[x].

By unique factorization, xq − x factors over Fp into a unique product of prime polynomials gi(x) ∈ Fp[x]:

xq − x = gi(x). (7.5) i

Since each coefficient of gi(x) is an element of Fp ⊆ Fq , it is also an element of Fq , so gi(x) is also a monic polynomial in Fq [x]. We therefore have the following two factorizations of xq − x in Fq [x]:

xq − x = (x − β) = gi(x). (7.6) β∈Fq i

Since the first factorization is the unique prime factorization, it follows that each monic polyno-mial gi(x) of degree greater than 1 must be reducible over Fq , and must factor into a product of degree-1 monic polynomials; i.e.,

deg gi(x)

gi(x) = (x − βij ). (7.7) j=1

The prime polynomials gi(x) are called the minimal polynomials of Fq . Since each β ∈ Fq

appears exactly once on the left side of (7.6), it also appears as a factor in exactly one minimal polynomial in (7.7). Thus the elements of Fq are partitioned into disjoint sets {βi1, . . . , βik}where k = deg gi(x), and each β ∈ Fq is a root of exactly one minimal polynomial of Fq , called the minimal polynomial of β.

The key property of the minimal polynomial of β is the following:

Page 91: MIT Principal of Digital Communication

94 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Lemma 7.14 Let g(x) be the minimal polynomial of any given β ∈ Fq . Then g(x) is the monic polynomial of least degree in Fp[x] such that g(β) = 0. Moreover, for any f(x) ∈ Fp[x], f(β) = 0 if and only if g(x) divides f(x).

Proof: Let h(x) ∈ Fp[x] be a monic polynomial of least degree such that h(β) = 0. Using the Euclidean division algorithm, g(x) = q(x)h(x) + r(x) where deg r(x) < deg h(x). Since h(β) = g(β) = 0, we must have r(β) = 0. By the smallest degree property of h(x), this implies that r(x) = 0, so h(x) divides g(x). But since g(x) is irreducible, h(x) cannot have degree less than g(x); i.e., deg h(x) = deg g(x). Moreover, since both h(x) and g(x) are monic, this implies that h(x) = g(x). Thus g(x) is the monic polynomial of least degree in Fp[x] such that g(β) = 0.

Now let f(x) be any polynomial in Fp[x] that satisfies f(β) = 0. By Euclidean division, f(x) = q(x)g(x) + r(x) with deg r(x) < deg g(x). Thus r(β) = f(β) = 0. Since deg r(x) < deg g(x), r(β) = 0 if and only if r(x) = 0; i.e., if and only if g(x) divides f(x).

Example 1 (cont.). Again consider the field F4 of Example 1, whose elements we now write as {0, 1, α, α2}, where α may be taken as x or x + 1. This field has characteristic 2. The prime factorization of the binary polynomial x4 − x = x4 + x ∈ F2[x] is

x 4 + x = x(x + 1)(x 2 + x + 1),

so the minimal polynomials of F4 are x, x + 1 and x2 + x + 1. The elements 0 and 1 ∈ F4 are the roots of x and x + 1, respectively. From (7.7), the other two elements of F4, namely α and α2, must be roots of x2 + x + 1 ∈ F2[x]. We verify that

x 2 + x + 1 = (x + α)(x + α2)

since α + α2 = 1 and α ∗ α2 = α3 = 1.

7.8.2 Valuation maps, minimal polynomials and subfields

Given a field Fq with prime subfield Fp, we now consider evaluating a nonzero polynomial f(x) = fix

i ∈ Fp[x] at an element β ∈ Fq to give a value i

deg f (x)

f(β) = fiβi

i=0

in Fq , where fi is taken as an element of Fq for the purposes of this evaluation. The value of the zero polynomial at any β is 0.

The value f(β) depends on both the polynomial f(x) and the field element β ∈ Fq . Rather than regarding f(β) as a function of β, as the notation suggests, we will regard f(β) as a function of the polynomial f(x) ∈ Fp[x] for a fixed β. In other words, we consider the map mβ : Fp[x] → Fq

that is defined by mβ (f(x)) = f(β).

The set of values mβ (Fp[x]) of this map as f(x) ranges over polynomials in Fp[x] is by definition the subset of elements Gβ ⊆ Fq that can be expressed as linear combinations over Fp of powers of β. We will show that Gβ forms a subfield of Fq that is isomorphic to the polynomial remainder field Fg(x), where g(x) is the minimal polynomial of β, namely the monic polynomial of least degree such that g(β) = 0.

Page 92: MIT Principal of Digital Communication

7.8. EVERY FINITE FIELD IS ISOMORPHIC TO A FIELD FG(X) 95

We observe that the map mβ : Fp[x] → Fq preserves addition and multiplication; i.e., mβ (f1(x) + f2(x)) = mβ (f1(x)) + mβ (f2(x)) since both sides equal f1(β) + f2(β), and mβ (f1(x)f2(x)) = mβ (f1(x))mβ (f2(x)) since both sides equal f1(β)f2(β).

We can now prove the desired isomorphism between the fields Fg(x) and Gβ :

Theorem 7.15 (Subfields generated by β ∈ Fq ) For any β ∈ Fq , let g(x) be the minimal polynomial of β. Then the set of all linear combinations Gβ = {f(β) = fiβ

i, f(x) ∈ Fp[x]}i over Fp of powers of β is equal to the set {r(β), r(x) ∈ RFp,m} of values of remainder polynomials r(x) ∈ RFp,m, and Gβ is a field which is isomorphic to the field Fg(x) under the correspondence r(β) ∈ Gβ ↔ r(x) ∈ RFp,m.

Proof. We first verify that the correspondence mβ : RFp,m → Gβ is one-to-one (invertible). First, if f(β) is any element of Gβ , then by Euclidean division we can write f(x) = q(x)g(x)+r(x) where r(x) ∈ RFp,m, and then f(β) = q(β)g(β)+r(β) = r(β), so f(β) = r(β) for some remainder polynomial r(x). Thus mβ (RFp,m) = mβ (Fp[x]) = Gβ . On the other hand, no two remainder polynomials r(x), s(x) with degrees less than m can evaluate to the same element of Gβ , because if r(β) = s(β), then r(x) − s(x) is a nonzero polynomial of degree less than g(x) that evaluates to 0, contradiction.

Now, as we have already seen, mβ (r(x) + s(x)) = mβ (r(x)) + mβ (s(x)) and mβ (r(x)s(x)) = mβ (r(x))mβ (s(x)), which verifies that this correspondence is an isomorphism.

We remark that Gβ may be viewed as the smallest subfield of Fq containing the element β, because any subfield containing β must also contain all powers of β and all linear combinations of powers over Fp.

7.8.3 Isomorphism theorems

We have shown that every finite field Fq contains a primitive element α. In this case, the subfield Gα consisting of all linear combinations over Fp of powers of α must evidently be the whole field Fq . Thus we obtain our main theorem:

Theorem 7.16 (Every finite field is isomorphic to a field Fg(x)) Every finite field Fq of characteristic p with q elements is isomorphic to a polynomial remainder field Fg(x), where g(x) is a prime polynomial in Fp[x] of degree m. Hence q = pm for some positive integer m.

Exercise 13. For which integers q, 1 ≤ q ≤ 12, does a finite field Fq exist?

Finally, we wish to show that all fields with pm elements are isomorphic. The following lemma shows that every prime polynomial g(x) of degree m (we are still assuming that there exists at least one) is a minimal polynomial of every field with pm elements:

Lemma 7.17 Every prime polynomial g(x) ∈ Fp[x] of degree m divides xpm − x.

Proof. If g(x) is a prime polynomial in Fp[x] of degree m, then the set RFp,m with mod-g(x) arithmetic forms a field Fg(x) with pm elements. The remainder polynomial x ∈ RFp,m is a field element β ∈ Fg(x). Evidently g(β) = 0, but r(β) �= 0 if deg r(x) < m; therefore g(x) is the

m−1minimal polynomial of β. Since βp = 1, β is a root of xpm−1 − 1. This implies that g(x) m

divides xpm−1 − 1, and thus also xp − x.

Page 93: MIT Principal of Digital Communication

� � � �

� �

96 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Consequently every field of size pm includes m elements whose minimal polynomial is g(x). Therefore by the same construction as above, we can prove:

Theorem 7.18 (All finite fields of the same size are isomorphic) For any prime poly-nomial g(x) ∈ Fp[x] of degree m, every field of pm elements is isomorphic to the polynomial remainder field Fg(x).

m 7.8.4 More on the factorization of xp − x

We can now obtain further information on the factorization of xq −x. In view of Theorem 7.16, mwe now set q = p .

We first show that the set of roots of a minimal polynomial gi(x) ∈ Fp[x] is closed under the operation of taking the pth power. This follows from the curious but important fact that over a field F of characteristic p, taking the pth power is a linear operation. For example, when p = 2, squaring is linear because

(α + β)2 = α2 + αβ + αβ + β2 = α2 + β2 .

More generally, over any field F,

p � �

(α + β)p = p

αj βp−j ,j

j=0

p pwhere αj βp−j denotes the sum of terms equal to αj βp−j . If F has characteristic p, then jj � � pthe integer j = p!/(j!)((n − j)!) may be reduced mod p. Now p! contains a factor of p, but

pfor 1 ≤ j ≤ p − 1, j! and (n − j)! do not contain a factor of p. Therefore j = 0 mod p for 1 ≤ j ≤ p − 1, and

(α + β)p = αp + βp.

By taking the pth power n times, we may extend this result as follows:

Lemma 7.19 (Linearity of taking the pnth power) Over any field F of characteristic p, for any n ≥ 1, taking the pnth power is linear; i.e.,

(α + β)pn n n = αp + βp .

Note that if F has q = pm elements, then βpm = β for all β ∈ F, so this lemma becomes

repetitive for n ≥ m. mExercise 14. Using this lemma, prove that if f (x) = fix

i, then i=0

n m)pn n + f p

n xpn

+ f pn n n

xmpn f p (x) = (f0 + f1x + f2x 2 + · · · + fmx = f p 2 x 2p + · · · + f p .0 1 m

This result yields a useful test for whether a polynomial f (x) ∈ F[x] is in Fp[x] or not, and a useful formula in case it is:

Page 94: MIT Principal of Digital Communication

� � �

7.8. EVERY FINITE FIELD IS ISOMORPHIC TO A FIELD FG(X) 97

Lemma 7.20 (Prime subfield polynomials) For any field F of characteristic p and any f(x) ∈ F[x], fp(x) = f(xp) if and only if f(x) ∈ Fp[x]; i.e., if and only if all coefficients fi

are in the prime subfield Fp ⊆ F.

Proof. By Exercise 14, we have

xnpfp(x) = (f0 + f1x + f2x 2 + · · · + fnx n)p = fp + f1 pxp + f2

px 2p + · · · + fp .0 n

Now the elements of F that are in Fp are precisely the p roots of the polynomial xp − x; thus βp = β if and only if β ∈ Fp. Thus the right side of this equation simplifies to f(xp) if and only if fi ∈ Fp for all i.

Exercise 15. Prove that a positive integer n is prime if and only if (x − a)n = xn − a mod n 5for every integer a that is relatively prime to n.

Using Lemma 7.20, we now show that the roots of a minimal polynomial are a cyclotomic coset of the form {β, βp, βp2

, . . .}:

Theorem 7.21 (Roots of minimal polynomials) Let g(x) be a minimal polynomial of a fi-n−1

nite field F with pm elements. Then the roots of g(x) are a set of the form {β, βp, βp2 , . . . , βp },

where n is a divisor of m. Moreover, g(x) divides xpn − x.

Proof. Let β be any root of g(x). Since g(x) ∈ Fp[x], Lemma 7.20 shows that g(xp) = gp(x). 3 i

Therefore g(βp) = gp(β) = 0. Thus βp is also a root of g(x). Iterating, βp2 , βp , . . . , βp , . . . are

all roots of g(x). Because F is finite, these roots cannot all be distinct. Therefore let n be the = βpj+k

smallest integer such that βpn = β. Thus βpj �= β for 1 ≤ j < n. This implies that βpj �

n−1for 0 ≤ j < n, 1 ≤ k < n; i.e., all elements of the set {β, βp, βp2

, . . . , βp } are distinct. Thus 2 m

β, βp, βp , . . . is a cyclic sequence and βpj = β if and only if n is a divisor of j. Since βp = β,

we see that n must divide m.

Finally, we show that these roots are all of the roots of g(x); i.e., deg g(x) = n and

n−1

g(x) = (x − βpi ).

i=0

The right side of this equation is a monic polynomial h(x) ∈ F[x] of degree n. Since the roots of h(x) are roots of g(x), h(x) must divide g(x) in F[x]. Now, using Lemma 7.20, we can prove that h(x) is actually a polynomial in Fp[x], because

n−1 n−1 n−1

(x − βpi )php(x) = = (xp − βpi+1

) = (xp − βpi ) = h(xp),

i=0 i=0 i=0

where we use the linearity of taking the pth power and the fact that βpn = β. Therefore, since

g(x) has no factors in Fp[x], g(x) must actually be equal to h(x). n

Finally, since the roots of g(x) all satisfy βpn = β, they are all roots of the polynomial xp −x,

which implies that g(x) divides xpn − x. 5This is the basis of the polynomial-time primality test of [Agrawal, Kayal and Saxena, 2002].

Page 95: MIT Principal of Digital Communication

98 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

This theorem has some important implications. First, the degree n of a minimal polynomial g(x) of a finite field F with pm elements must be a divisor of m. Second, the subfield Gβ of F

mgenerated by a root β of g(x) must have pn elements. Third, xpn − x divides xp − x, since the

melements of Gβ are all the roots of xpn − x and are also roots of xp − x.

Conversely, let g(x) be any prime polynomial in Fp[x] of degree n. Then there is a finite field generated by g(x) with pn elements. This proves that g(x) divides xpn − x, and thus g(x) divides

m xp − x for every multiple m of n. Thus the divisors of xpm − x include every prime polynomial in Fp[x] whose degree n divides m.

Moreover, xpm − x has no repeated factors. We proved this earlier assuming the existence of a field F with pm elements; however, we desire a proof that does not make this assumption. The following exercise yields such a proof.

Exercise 16 (xpm −x has no repeated factors). The formal derivative of a degree-n polynomial f (x) ∈ Fp[x] is defined as

n j−1f ′(x) = (j mod p)fj x

j=1

(a) Show that if f (x) = g(x)h(x), then f ′(x) = g′(x)h(x) + g(x)h′(x).

(b) Show that an prime polynomial g(x) is a repeated divisor of f (x) if and only if g(x) is a divisor of both f (x) and f ′(x).

(c) Show that xpm − x has no repeated prime factors over Fp.

Now we can conclude our discussion of the factorization of xpm − x as follows:

mTheorem 7.22 (Factors of xpm − x) The polynomial xp − x factors over Fp into the product of the prime polynomials in Fp[x] whose degrees divide m, with no repetitions.

For example, over F2, we have

x 2 + x = x(x + 1);

x 4 + x = x(x + 1)(x 2 + x + 1);

x 8 + x = x(x + 1)(x 3 + x 2 + 1)(x 3 + x + 1); 16 + xx = x(x + 1)(x 2 + x + 1)(x 4 + x 3 + 1)(x 4 + x 3 + x 2 + x + 1)(x 4 + x + 1).

Exercise 17. Find all prime polynomials g(x) ∈ F3[x] of degree 1 and 2 over the ternary field F3. Show that the product of these polynomials is x9 − x = x9 + 2x. Explain, with reference to F9.

Page 96: MIT Principal of Digital Communication

7.9. FINITE FIELDS FP M EXIST FOR ALL PRIME P AND M ≥ 1 99

7.9 Finite fields Fpm exist for all prime p and m ≥ 1

At last we can prove that for every prime p and positive integer m there exists a prime polynomial g(x) ∈ Fp[x] of degree m. This will prove the existence of a finite field Fg(x) with pm elements.

Using the factorization of Theorem 7.22, we will show that there do not exist enough prime mpolynomials of degree less than m that their product could have degree p .

Let N (n) denote the number of prime polynomials over Fp of degree n. The product of these polynomials has degree nN (n). Since xpm − x is the product of these polynomials for all divisors n of m, and there are no repeated factors, its degree pm is equal to

m p = nN (n) (7.8) n: n|m

This formula may be solved recursively for each N (m), starting with N (1) = p.

Exercise 18. Calculate N (m) for p = 2 for m = 1 to 10. Check your results against those stated in Section 7.5.4.

Now we are in a position to prove the desired theorem:

Theorem 7.23 (Existence of prime polynomials) Let N (m) be the number of prime poly-nomials in Fp[x] of degree m, which is given recursively by (7.8). For every prime p and positive integer m, N (m) > 0.

Proof. Note first that nN (n) ≤ pn. Thus

m n p ≤ mN (m) + p ≤ mN (m) + (m/2)pm/2 , n<m: n|m

where we have upperbounded the number of terms in the sum by m/2 and upperbounded each term by pm/2, since the largest divisor of m other than m is at most m/2. Thus

mN (m) ≥ p m − (m/2)pm/2 = pm/2(pm/2 − m/2).

The quantity pm/2 − m/2 is positive for p = 2, m = 2, and is increasing in both p and m. Thus mN (m) is positive for all prime p and all m ≥ 2. Moreover N (1) = p.

Since a finite field Fg(x) with pm elements can be constructed from any prime polynomial g(x) ∈ Fp[x] of degree m, this implies:

Theorem 7.24 (Existence of finite fields) For every prime p and positive integer m, there exists a finite field with pm elements.

Moreover, for each n that divides m, there exists a unique subfield G with pn elements, namely the roots of the polynomial xpn − x:

Theorem 7.25 (Existence of finite subfields) Every finite field with pm elements has a sub-field with pn elements for each positive integer n that divides m.

In summary, the factorization of xpm − x into minimal polynomials partitions the elements of Fpm into cyclotomic cosets whose properties are determined by their minimal polynomials. The roots of g(x) have multiplicative order k if g(x) divides xk − 1 and does not divide xj − 1 for j < k. Moreover, the roots of g(x) are elements of the subfield with pn elements if and only if g(x) divides xpn − x, or equivalently if their order k divides pn − 1.

Page 97: MIT Principal of Digital Communication

100 CHAPTER 7. INTRODUCTION TO FINITE FIELDS

Example 3 (cont.) Over F2, the polynomial x16 + x factors as follows:

16 + xx = x(x + 1)(x 2 + x + 1)(x 4 + x 3 + 1)(x 4 + x 3 + x 2 + x + 1)(x 4 + x + 1).

Moreover, x3 +1 = (x+1)(x2 + x+1) and x5 +1 = (x+1)(x4 + x3 + x2 + x+ 1). The primitive elements are thus the roots of x4 + x + 1 and x4 + x3 + 1. If we choose a root of x4 + x + 1 as α, then F16 = {0, 1, α, . . . , α14} partitions into cyclotomic cosets as follows:

• One zero element (0), minimal polynomial x;

• One element of order 1 (1), minimal polynomial x + 1;

• Two elements of order 3 (α5 , α10), minimal polynomial x2 + x + 1;

• Four elements of order 5 (α3, α6, α9, α12), minimal polynomial x4 + x3 + x2 + x + 1;

• Four elements of order 15 (α, α2, α4, α8), minimal polynomial x4 + x + 1;

• Four elements of order 15 (α7, α14, α13, α11), minimal polynomial x4 + x3 + 1.

F16 has a prime subfield F2 consisting of the elements whose minimal polynomials divide x2 + x, namely 0 and 1. It also has a subfield F4 consisting of the elements whose minimal polynomials

∗divide x4 + x, namely {0, 1, α5, α10}. Alternatively, F ∗ consists of the three elements of F164 whose multiplicative orders divide 3.

Exercise 19 (construction of F32).

(a) Find the prime polynomials in F2[x] of degree 5, and determine which have primitive roots.

(b) For some minimal polynomial g(x) with a primitive root α, construct a field Fg(x) with 32 elements. Give a table with the elements partitioned into cyclotomic cosets as above. Specify the minimal polynomial and the multiplicative order of each nonzero element. Identify the subfields of Fg(x).

(c) Show how to do multiplication and division in Fg(x) using this “log table.” Discuss the rules for multiplication and division in Fg(x) when one of the field elements involved is the zero element 0 ∈ Fg(x).

(d) [Optional] If you know something about maximum-length shift-register (MLSR) sequences, show that there exists a correspondence between the “log table” given above and a certain MLSR sequence of length 31.

Page 98: MIT Principal of Digital Communication

������� �

������������ ���

�� ��� ������ �� ���� �� �������� ��� ��������� � ����� ������ �� ����� �� � ����� ������

� ������� ��� ���� ����� ���� � �

���� � � �

� �������� �� �� ����� � �� ������� � � ��

�� � � ������� ��� �� �� ���� � ���� ��� ����� ���� ��

� ��� ��� ���� ��� ���� �� ���

���!"��� � "� ���� ��#$%�� ���� ������ �� ������� � � � �� &� ����� � �� �&��� ��

�������� �� � � � � �� �� ����� � �� ������ ���� ��� � � � � � � ' � � ���� �����

���� �� ��� ���� � &�� � ���� ��� "������� &��� " � � � � � � � ���� ������� �� � ��

���� � ��� � ����

�� �� &���(� ������ &�� �� )��!*� ����!+�������� �)*+� ���� ��#,#�� ����� ��

&�� �� ����� ����� � " ����� ��� � � ������ ��� �� �� � )*+ ���� �� �������� ��������

&����� �� � ���� � ���!-���� � -� �����

��� ������ ��� �� ����� �����

�.� ��� �� ���� � ��� � ��� ����� ���� � �

�� �!�������� � �&�� �� � ��� ����� �� �� � �

� �� �!����� ��� � �

� /� � � 0� ���� ������ � � ������ �������� � &�� �� ���� � �����

. �&��� � � �

� �� �&�� �� �� �� �� ����� ���� ����������� ������ �� � ��� ��� �

�������� � ���� � ���� �������� ��� &� �� � �� ��������� � � �

�� . ���� � ��� � ���

������ ���� ��� ��� ��� ��!1�� �!���� ��

.�� � ���� ��� ����������� � � � � ��� ���

� � � � � ��

� ����� �� �� �� ��� ����� �� �

� �

� � � ��

��

� � �

� � �

� � � � ���

���

��� � � � �

� �������� ��������

������� � ��� ������� ���� 2!����� ��� � �

��� �2� 0� 3� ���� � ��� ��� ��� ���� ��

���� � �

� �%� �� 0�� ���� ����� ��� ��

� ����%� �� ��

� �%�0��4

� � �%%%%� ���%� 000%� %� 0� � �0%�� 0%��� %0�0 � �% 00 � 0�%0��

)� ��� ��� �������� � � � � �� �� ������ � � � � ��� ��� � + ����� ���� ����

& � � ���� �� ������ � � �� �� ���� ������� �� ����������� � � ��� ������ + �!

���� ���� ��� � & � � ���� ������� �� ���� � ��� � �� ��� �� � � ��� ������ + �����

�%�

Page 99: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

������ �� ����� ������ ���� ������� �������� � � � ���� � ��� �� ���� ��������

�� ��� �� ������ ��� ���� ������� ������� �������� � �� ������ �� ��� �� �� ������ ����

��� �������� � ��� ���� ������ � � �� ���� ��� ���� � � � � � � ��� �� ������� ��������

� �� �� ������ � � � �� ��� ���� �� ��

������� ������� ������ � �� ��

���� ��������� ��������� ����� ���� ��� � � � � ������ � ��������� ��� ����������

��� �� �� ����� ��!������� ��� ���� �� ��� ��� � � ����� ������ �� ������� �������� � ���

"��� � �

� � ��!������� � � � ����� �� � ��� �� #�� ��������� �������� � ���� �������� � � �

���� � ��!����� ��� ���������� ����$�������� ���� ��� ���� %������ ������� ��������

�� � ������ ����� ��� ��� �������� ���&����� � � ��� ���� ������� �������� � �� ���������� �

������ � � ��� ����� �������� �� � � � � �� ��� � ������ � ����� ��� �������� ��������

�� ' � �� #��� ��������� ������ �� �� ��� ���� ��� ���� ������ � ��������� � ��

�()* �������� �� ��� �� ��+� ��� ������ ������� �����!�� ������� �� �� � �� "���

������� ��� �����

��� ��� ������� � � � � ��� ��� �����

#�� ,������� ���� �� ��� ��� ���������� ���� � ��� ���������� ��� �� �� ��� �� "���-

� ' � � � ' � � � ��� ���� ����� ���� � � � � ���� �&����� �� ������ .��!���� ��������

���������/ ��0,��

#�� �� ����� ���� ���� ��� �0, ��� ��� ������� ��� �� �� �������� ����� ��� ��� � � �� ��

������$����� $����+ �,12� ����� ��� ��� ��� �� � � ��������� ����� ������� ��� �������

"����� ����� �!��� ���� ���� ������� �0, ����� ����� ��� 3���$,��� ���� ��� ����� ����

���������

�4�� � � � � � � � ��� ��� �$������ ��� �� � � �� �������� � ���� � 5 ���� ��� ��� ���

������� ������� �������� � � � ���� ������� �� � �� �� #��� � ����� � � ���� � ������

�� ��� 5 � � � �������� ����� ���� ���������� 5 � � � ��� ���������� ��� �������

���� ����� ��� ��6�� �� ��� ��������� � � 5 � � � ' � ���������� #������ ����� ��� � � � �

��� ������ ������� �� �-

������� � �� ������� ������ � ���� � �� ��� � ��� ������ ������ ������� �

���� � �� ���� �� ���� � 5 ��� �� ��� �� ���� ��� � ������ ���������� ������� ��� �� ��

�� �� � � ��������� �� � ���� � �� ������� ������� � ����� ��� �� � 5 �� �'� �����������

*�� ���� ��� ,������� ���� ���� ��� � �������� ����� �� ��� ���� ����� ���

,������� ���� ���� �&����� �� ������ �� �0, ����

)���� � ������� ��������� ��� � ���� �� ������� ��� �� �������� ���� �� � ��� �

��������� �� ������ �� ��������� ��� � � ��� ������� ��� ������ ��� �� ������� �$������

�� ���� ��� ��������� ����� � ����� �� � ���&�� ������ ��������� ���� ���� ������� ���

� �� � � ����� �� ���� ��� ���������� 7� ���� ����� �� �� ���� ����� ��� � �� � �

�� ����� ���������� ��� ���� ��� ��������� ��� ������ �� ���&��� �����"��� #�� ����

�&����� � � ������� �� �������� �� ����-

��������� �� ��������� �� ���� �� ��� ������ � �� � ��� ���� �� �� �� �� �����

������ �� � 5 � � � ' � ���������� �� � ��������� ��� �� ��

7 � �� � ������ ��� �� �� ��� ��� � "���� "��� � �

� �� �� ��� ���� �� ��� 5 �� � #������-

Page 100: MIT Principal of Digital Communication

���� ���������� ��� ����� ���

��������� ��� �� ����� � � � � � ��� ������ ������ � ������ ��� �� �� ��� � ��� ��� ��� �

��� � ��� � � ����� � ������ � ���� �� �� ���� �� ���� �� �� � ������� �� �� �� ������� ���

�� �� ��

����� ����� � � � � � � �� �� � � � � � � ��

�� �������� �� ���� ��� ��� � �� �� ����� �� ���� �� � ��� ��������� � � �� ��

��� �� �� ��� ��� � � ��

� ��!"� � �� � � �!� � �� �� "���! � �� �� �� � ��� �� # ���

���� ��� �� � � ��

��� ����

$ �� ��!� � � ��� ����� ��

� ��� � � ���� � !�� �

� � � �!������

������� ��� ��

��� �� ������ �� ��� �� �� ��� ��� ��� ��

��� � � � ������� ��

��� ����� � �� ���� ����� �� � ������� ��� ��� � �� ������ �� ������� �� ����� � ��

��� � �

��

% �� � ���

������ & � � ���� � � � % � � � � � �������� �� ����� � �� � ��!���� � � �������� �

�� ��!"� ! ����� � � � % � � � �������� � "��� ��� �� � �� � � �������� �� '( ��

��!� � � ��� � � �� � � � ��!"� ! ����� �������� � �� �� ��� � � �� ��!� � � ��� � � ��

� !���� � ��!���� �������� ��� ������� ��� � ��!� ��� � � �

� ��� !��� � �� � �) � ��

��� ����� ��� ��� * �� � � �� �� � ��!"� ! ����� �������� �� +� � �� � ��� ����� !���

� �� ���,* �� ��� ���� �� �� � !���� � � � ��� ����� �� � ��� �� !��� �$ ��� ���

�� !�!�! ���* �� � ��� � �� � �� ! ��� �� � ��� �� �� ��!��� �� ��

�� � ������ ��! � �

�� ��� ���� �� � ��

� �) � �� ���� �� � � �������� ��

�������� � ���� ���� �� ��!� � � ��� ����� � � ��� � � � � �� ��� �� �� �� �� ���

��� � � �� � � �

� � � �

����

% ��� � �� � �� � �� �

� � � �

�� � �� -��� � �! � "�� ��� � � � "� � ��� �� ��!� � � ��� ����� ��� � ��� � � � ���

���� � � ��� �������� �� ��� �� � ���� � �! � "� � ��� �� ��!� � � ��� ����� ��� � ���

���� �� ��

�������� !� .�!"�� �� ��!� � � ��� ����� � � ���� / ��� � � �� ��� � � �� /� �0.

��� � � � �

� .�!"�� �� ��!� � � ��� ����� � � ���� / ��� � � �� ��� � � �� /� �� ��

��� � � � �

� .�!"�� �� ��!� � � ��� ����� � � ���� � ��� 1 � � �1� /� �� �� �� ���

� � ��

��� ���������� ��� �����

'�� ��� ��� "���! � �� �� �� � % � � � � � �� � � � �� ��� -�� - �� � �

� �� � (��� � �� ��

��� �� �� 2� ��� � � � �

� �� ���� �� � � � � � � ���� 2� ��� � ��! � �� ���� ����� � ���

��� �� 3� ���� �� ��� �� � � � � � � �� ��� � �� ���� �� ��� ��� � 4���� �� (��� �� �

���� (��� �� 2� ��� ��� ������� �� ��"��� (� �� � 2� ��� � ��� �� ��! "���! � ���

5���� 2� ��� � �� � ���� �� !��� � � � � � % �� ��� �� � �� �� ��� �� �� � �����

#� � � �" �4 � 2� ��� �� � �� ������� ���4�� � �������� 2� ��� � � � � �

� �� � �

!�� � � ��� �� ���� �

Page 101: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

����� �� ��� � �� ������ ���

��� ��� �� �� ������ �� �� ����� �� �� ���� � � �� ��� ������ �� � � �� �� �

�� �� �������� ��� � �� �� �� �� �� �� ��� ������� ��� ��

� �� �� �� �� �� �������

��� ��

� �

�� �� � ��� ���� ��� ��� � ����� � � ��

� � �

� � � � � � ���

�! "�� � ��

� ��

� � � � � � � ��

�� ��� ���� � ��

#���#� � � #������

� �

$�% � �� �� ������� ��������� � �� ���� ����

�� �&� � �� � �� �� ���� ���� �� � � ����� ������� "�� �� ���� ���� � ���� � ��

���������� �� ����� �� ������ �� � �

�� ���� ���� �� �� �� �� �� ���������� ��� ��

��

��� �� ���� �� ��

�� �

� �

� � � � � �� � ��'� � ������ �� � �

� ���� � ���� � � � � � �� � ��� ���

�� ��

������ � ����� � � �

� � � �

� � � �

� � � � � � �

� � � � � � � �

� �� � �� ! "�� �

�� � � ������ ����� � � ��

��� ��� ���� ��������� ���� �� �� ������ �� �� ������ ����

�� � ��

�� � � � � � ��

��

��� � �

! "���� ������� ���

� � � �(��� � �� ��������� �� �� ��������� ���� � ����

���� ����� �

� ��

)

��� �

����

� � � ��

� � � � � ����

� ��

"�� � "� ��� �� ������ �� � �� *�� �� � �� �� ��������� ���� �� �� ��� � ��

����"� � � ����"� �+ �� ,��� �� ����� �- �� �� �

� � � � � � �

� �� � � �.��� ��� ����

��� �� � ��� � �� � �/� �� �� ���������� ��

��� � �� � � � � � � � �! � �� �� �������

��

� ��� �� �� � � � � ��

��

� ��� �� � � � � �

�� �

�� ���

� ��� ��

� � � � � �

� � �

������ �����

� ��� ��

��� � � � � �

������� �� �� ����� ��� �� �������� ������ �� ��� ����� ���� �� � ���

�� �

� � �

�� ��� ��������� ���� ���� ���� ��� �� ���������� ���� � �

�� ���� ���� ��� � ���� � �����

�� � � � � � � � � � # �� ��� �� � ���� � �

������ ��� ���� �� ���� ������ �� ��� �� �� ����"� �� �� ������� � "� ����������

��

��� �� ����� �� �� ����"� � �� ������� � �� ��������� ��

���# ��

���! �� �� ������� ��

�� ����"� � �� ������� � ���� � � � �

�� �� ����"� � �� ������� � �� ���������

� ����

0 ����"� � ��� � 1� � ��� �� � �� ��� ���� �� ������� � �

�� �� ��� �� ���

� � �+

����� �� �� ��� �� �

�� � �� �� �� �(���� ���� � � � 2� �� �������� ��� �� �� ���� �

����� �� 3�4�! �� ���� �� � ! �� ���� ��� ���� � � � �! ��� �(���� �� ���� � ��� � � �

��� � ��

� ��� ��� � � �1� � ����"� � �� ���� � ��� � � � � � � ��� �(��� � 1� �! �� ��

"���� �� � ���� � � � # � � ���� �� ���� �� ���� ! ��� ������� �� �� ������ ������ ��

� ���� �� � # � � 2� � �� ������ ���! � �� � # �+ ��� � �� � # ��

Page 102: MIT Principal of Digital Communication

���� ���������� ��� ����� ���

������� �� ������ �� ������ ��� ��

�� ��������� �� ����� �� ����� �� ��

������ ���������� ���� � �� � � � � �� ��

!� ��

� � � � �

� � � � �

� �� ��

� �� � � � � �"���

�� �� ��� ����� �# �� ������� �� �� �� ����� �# ����� � � "� $% ��� &��� � � � � '

��� � � ( �� ��� ���� �� �� �������

� ��� � ��

� ��� �� �� ����� � ���

�� � ���

�� � ���

��

)� *��������� �� ������� ��

���

� � �� �� ����

� ����

�� ���

� ����

�� ���

� ����

�� ���

� ����

��

%��� ��

��� ��

��� ��� ��+ �� ������ ����� #�� ��

� �� ��� ��� �, ���&��� "�

�&� ������ �# �� ��� ������� �� �� �&� ����������� ����� � � ��� ����� � �� �

��������� �� '������ ��� �� �� �� ��� ��� �� � � �

� �� �������� "� #��� ������ ��� ��

�� � �� �� �� �� �

�� � �� �� �� �� ��

�� � �� �� �� ��� �

�� �� �� �� ��� �� �

�� � �� �� �� �� �

�� � �� �� �� ��� �

�� � �� �� ��� �� �

�� �� �� �� �� �� �� �

�� � �� �� �� �� �

�� � �� �� �� � �� �

�� � �� �� �� �� ��

�� �� �� �� �� �� � �

� � � �� ��� �� � �� � ��

� � � �� ��� �� �� �

� � � �� ��� �� �� �

� � �� �� ��� �� �� �

- � �� ��������� ���� �� ������� ���.� &���� �# ���� �'� (� ���� ��� �� � /

)���� �� � ��

� �( ���&��� �# &���� / ��� ��

� / ���&��� �# &���� '� ��

����� &��� �� &���� # � � ���� �# �� ������ ������

"� $% ���� � �������� ����0 ����� �� �� � �� � � � ��� �� � ������ �# �� �� �

�� � �� � � �� ���0 ���� �� ����������� �# �� ��� ���� � � � ����� �# �� �����������

�# �� ��� ���� � � � "� �� � �� � � �� $% ��� �� �� ����� ��� ���������� �# ��� ��

������� �� ��

� ��� �� �� � �� �� � � ��� �� �� ������� ��� �� ��

� ���������� �# ��� �

���&��� �# �� #�� �� � � � � � � #� � � ��

1� �� � �� � � � � � � � � � $% ��� ��� � ������� �� ��� � � � � � � � � ����� ��

���� �� �� � � � �� �� � � � � � � � �� )2% ��� "� ������� ������� ��� � ���� ��

�� ���� � �� � � � � ���������� �� � � � � � � � �� ��� �� ��� ����� ��� �� �������� ���&���3

��� ��� �� �� %������� ������ � � � � � � � � "��� �� ��������� �� $% ���� & ���

��� �� ��� �� � � � � � �� )2% ��� #� ��� � � � ��� �� � � � � �

4� ��������� ����� �� #����&��� ������������ �� $% ��� �# ����� � � � �� ����� ��

5*���� $% ��� 6 7 �� ��& �� �������� � 5������ *���� $% ��� 6

���� ������ ������� *���� $% ����� ������ �� #����&��� ��� #�� �� �� �� ��

!� ���� � �

� � � ���� � ��� ������ �� ��

� ��� ��� �� ���������� � ��� � ��

� ��� �

� � � � ��

���� �# �� ��� ���� � )�� ���� � �� � � ���� �� �� �� � ������� �� � ���

�� � �

� �

� �

� � � ����0 ����� �� �� $% ���&�� ���������� �� � ���� ���� �� ���������� �������� ���

�� ���� %��& ���� �� �� �� ��������� ����� �� ���� ������� �� �� ���������� � ��� ����

�� ��� �� ����������� �� ��

�# �� ��� ���� � #�� � ���� �� � � � � � � � � � � � � ��

)2% ��� �� ��

87���9 � ��� ��� �� ��� ���� � � � �# ��� ���� �# ����

� � :

2�� � �'� (� /� ���� ��� �� � �

;�#� ���� ��� ���.� &��� ��� & ���� /

Page 103: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

����� ������� � ���� �� ������� ����

��� �� � �� � � � � � � � � � � � �� ������ �� �� ��� ������� �� ��

� ����� ����� � ���

� ��� ����� ��

�� � �� � � � � � � � �� ��������� �� ���� � ��� �������� � � �

!� ���� ����� � "� "��� � ������ ��� ��������� �� � � � �� � � � � � � � � � � � �� �������

�� ���������� ��� �� �� � �� �� ��� ���� ���� � � ���� �� "� �� � ��� � �� ��

� � #� "���

��� ���� ���� � � �� ��� � � �������� �� � � � � � ��������� �� � ������ �� ������� � � $ �����

������ �� #� "��� ��� ��� ���� �� ��� �� ����������%�� �� ��� ��� � ��� � ��� ���� ��������� �

� ������� ������� � � ��� ���� ��� ��� ���� �� ��� � ������ �� �����

& ����� ������� ����� �� ��� � � � � � �� �� � �� "�'

����� ��� ��� � �� � ���� �� ���� ������ ������ �� ��� ��� �� ��� �� ���� �� � � �

���� ��� �� ���� ��� ��� � � � � �� � � ���

��� �

� � � �

� ��

������ ����� � � � � � � " � ����

��� � ��� � � �

� � � � � (

� �� � �� � ��

���� ��� ��� � �

��� � �������� � � � !� �� �� ���� ���� ������� � � � � ��

� ��!� �� �� ��� � � � ������ ���� � �� � � � ��� ������� � ����� �� � � �� � � �

������ �� "� � � �� ��� ��������� � � �����'

����� �� ��� � �� � ���� �� ���� ������ ������ �� ��� �� � ����� �� ���� �� �

� � ����� � � � ��� � �� � ��� � � � � �� ��� ��� �� ��� ������� ���

���� �

��

�� �� � � � � �(

�� ����"����

���

������ !� � � � � �� ���� � � � ��� ��� ��� �� ������ � � � � � � � � � � � ������ �� �������

� � "���� " � ��� �� �� � !� �� � � � � ��� �� � ��������� ��� � � � �� ���� � �� �� ���

� � � � ���� ���� �� � )���� * � ������� ��� ��� ��� �� �

+ �� ���� �� � �� � ����� ���� � �

��� � � � � �� ���� � � �� �� � �

� ��� �� � ������� � ��� ����

� � � �� ��

,���� ���� � � ������ " � ��� ���� ����� � -����� $ ����� ������ ��. �$$� ��� -������� �����

�$ ����� ������ ��. �!$$� ��� � �� � �� "� )�� � � � ��

� � �

� � � � � � ���

� � �� ��� �/����� �

��������� � � ���� ��� $$� � � �� ������ �� ��� �/����� � � � ��

� � �

� � � � � � ���

� � � " ����

��� �

��

����

� �

� ��

Page 104: MIT Principal of Digital Communication

���� ���������� ��� ����� ���

��� ���� � � � �� ��� �� � � � ��

� � �

� � � � � � ���

� � �

� � �����

��� �

��

�����

� �

�� �

���

���� ��� ������� ��� ����������� � ����� � � � ��

� � � �� � � ������ ������ ����� � �� � � � �

!��" #�������$ % �� �� ���� ���$ ���� ��� ���� � ��� ��� � � � � &

��� ��� ��� ��� ��� � � � � �

�� ��� �� �� �� ��

� ���

� � � ��� ����

� ��

� Æ � ��

���

��� �� �� �

� ��

��� �

� ��

� ������� #�������$ % � ����� ���� ���

����

�� � � �'��� �� � ���� � � �� ���� �� ��� � ��������

(�����$ ��� ��� � ��� ���� � � � � �� ����� ������ � � � � � �������� ��� ���� ��

�����"��� �� � ��� ������ �������� ��� ���� ��� ������� ��� �

)�� � ����� ��� � � � � ���� � ���� � � � � � ���� �� � � ��������� �� � � � �� � � � � * �� +(

���� ���� ��

� �,����� ��� �� �������� -����� ���

� � �

� � � � � � ���� �� ������&

��� �

��

��� �� �

� ��

����� � � � ������ ��� ���� � ���$ � ��

���� � ��$ , � ��"����� �� ��� ��� � ���

�-����� � � ���

� � �

� � � � � � ���

� �� � � � � �� ����� ���� � � �������� ��� .������ ����� ��� ��� �

�� ��� ���" � ������ ��� ���� � ���$ � � ��

!��" ��� ���� ��� ��� ��� ���� ��� � � ����� � ��� ��� �������� ������ � � ��������

����$ ��������� ��� � �������� � �� ������&

��� �

��

���� ���

� �

���

)��� ���� ��� ���� ���� �'��� � �� ��� ���� � � �$�,��� ��

� � � � � � �&

��� �

��

���� � � � � � � � � ��

���

����� �� ���� �� �� ��������

/�� �� �� �� � ���$����� � ��� � ��

* ��

� * � � � * �������� � ��"��� � � � �� ���� �����������"

�� � �������� � ��� ���� �'����� ���� ����� ���� ���� � ���� � � � �� � � � � � � ��

����� ������ �� � ��

� � ���� � � ��� �� � � � � � �

�� ������ ���� ��� ���$����� � ��� ��� � � ������ � ��� ��� � � �� � � � � � � � ��

����� ������ � ��� � ���,�� ,$ � � � �������� ��� ���

��� � � �

���� � � � �� �

� ��

0������$ ��" ���� � � �

Page 105: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

�� ���� �� � ���� ��� ��� � � ������������ �� �� ��� �� ��� ����������� � ��� �� ������

���� ��� � ��� ��� ��������� �� �� ��������� � �� ��������� ���������� ����� � � !� �������

�����!�� ��� ���� ��!���� �!��� �������� ���������� � ���� "�� ����� � ��� # �������� ��

������ ���� ��� � �� ��� ���� �� ���� �� ������ ���� ��� � ���� ��� ��������� �

� ��������

��������� �������� �� ���� ��� ��� ��� � ��� � � � $�� �������� ��� ��� ���������� $�� ��

� ���� ��� � � � ����������� �� �������%

������� ��� � ���� � �� �� ���������� � ��� �� # ���� � � # ���&�� ��������

� ��� � �� ��

���������� �� ��� ��� �� �

� �����������

�� ��� # ��������� ��� ���� � � ��

� � � �������� ���� # � ��

� � � �

������� � ������� '�� �� �(� )� *� � ���� �!�� � �

�� +,����� ) �� �� �������� ��

-��� ���� � � ��� �� ��� � �*� )� )� � ���� ��� ���������� ��

# �� � �� �� ��� ��

# ��� �

� �

����� �� � �������!� -��� ��������� $�� ���� ����������� �� �� ��� �� �. �����������

�� ��� # ��������� ��� ���� � )� �� ������ ���� ��� * ��� ��� ��������� �� �� �������� ���������

���������� ���� # � & �� ��� �� !���-�� �� �����������

����� ������ �� � �� ��� ��� �� �����

'������ � � ��� ��� ��������� � ����� ��� ������/ ����� �� ���������� ������ �������� �� #

�����

� � �

� � �

� � � � � � ���

� �� ��� �������� � # � ��

� � �

� � � � � � ���

� �� � ��������� �� ����������

����� ��� �� �0��!����� �� �� ��������� � � � �

� ��� # �� ��� � ����

��� � �� �� � ���������

� � � � � � !� ���� ��� �� ���������� �� � � ������� ���������� �� �������% �� � � # � ��

� � � �

� � � ���1����0������ ���� # � ��

� � � ��!���� �� � �� ���� ���� ���� ��!���� � ��� �� ������� ���

���� ��!���� �

� ��� # �� ��� � ����

��� � �� �� �

� ��� �� � ���������

������� � ������� $� ��������� �*� )� )� � ���� ��������� ���!� �� �� ������ ��������

�� ��� �� !���-�� �� �����������

2����������� � ����� ���� ���������� �� ���� ��� ������ ��3.�� �� !�������� ������ ��

�� �3.�� ��� �34�� � ��� "12 ����� ���� ��������� ������� �� ������ ������ $� ���������

������� � �� ����������� �� "���� �� �� ����� �3���� �� �� ���� ������ � ����� �!� �����

���� �� �� �������� �� !�������� ����� ��� �� ���� �� �� ���5 �� ���� �� ��� �� �������� ��

�������������� $�� ���� �� ��� ��,� ������

��� ���������� �� � �������

6� ��������� �������� �� � ����� �� ��� �� �������� ��� ��� �� ������� ����� ������ � � � � �

-�����-��� ���������� '�� �,����� �������� �� �� 76 6��������� �)88� )**� **� �.�������

���������� ���� �!�� ����

�� ����� ��������� ����������� �� ����� �� 9�:��

6 ������ �� �������� ��������� ������� ����� ��� �� ;������� "����5����<����� +�����

��� ����"����5��� �!� ���� ��!������ �!�� �� ����� ��� ���������������� ��� ������������

����� ����������� <��� �������� ���� ��� ����� �!� ��!���� ���� ��� ������������� ������

���������� ��������� ��� ��� ������ �����-������ ������ �� ���������� ���������������� ���

�������� � � � � � � � � � 6�� �� ���� ��������� ��� ��������������� ��� �� ���� ������ ��0������

� � ����� �� -�����-��� ���������� �� �� ����� �� �

��

Page 106: MIT Principal of Digital Communication

���� ���������� �� �� ������ ���

�� ���� ����� ���� �� ����������� �������� ��� �� ������� ��� �������� �� ���

� �� ������������ �� ���� ������ �������� ��������� ��������� ��� ���������� ���������

������� �������� �� ��� ���� �� ��� ���������

�� ��� � � � �������� � ��� �������� �� ������� ��� � �� � � �� ����� �� ����� ���� �

�� ��� � � � ��������� � � ���!�� "��� ������� ��

� � �

� � � � � �� � ������� #��

� � �

� � � � � � $�

��� ���� � �������� � � �� �� ��� �#��

� � �

$� � � � � ��� %��� ��� #��

� � �

$ � #� $� �

������ � � ����� �� ��� �������������� ���� #� $� � � ������� � ��� ����"�� � � �� ��

� � � �� � �� #� $� ��

������� �� �� #� & �� � � � & � � � ' � $ �� ���� � ���� �� ������� ����"�� � � �� ��

� & � ����� #��

� � �

$ �������� ��� �!������ ��

& #��

$ �� � "��� ���������� #$ � � �

() ��

����� �� ���� �� *� ���� ���� ��� � ����� �� ��� ������� �� ��� � ��� #� � $ � #� $�

�� ��� ���� ��� �!������ � & #$� � � � #$ & ��

+��� ����"�� � ��� ���� ��� �!������ �� ������ ������� �� ��� ,�� � ����� �� ���

���� �� ��� �� ��� �� ��� ������� ���������� �#� � $ & � � #$- �� ��� ������� ����������

�#� � $ & � � #$ � ��� �� ���� ������ ��� ����� # �� �$ � #� �

$� �� �#�� �$ & ��

,�� �������� �� ��� ��� ���� � ������ � �� ������������ �� ���. ����� � �������

� � � � �� "�� ��� ������� ���������� �� ��� ��� �#� � $ & � � #$ ���� ��� #$ � ���� ���

������ � ���� �� ��� ������� ����� � ��� ���

,� � � / � ����� ����� �� ���� ��� ������� ������� � � ��� �� #��� ��

$ �� � �������

� ��� �� ��/���� �� ������� �� ,�� ����� ������� � � ��� ��� �� ����� ��� ����������

�� ������� � & � � � �� ���� 0������ ������� *� ��� ������� ������� �� ��� ���� � �

��� � � ������ ������� � �� 1 �� � ������� �� ���� ��� ������� �� ��� ���� ������� � ��

���� � � � � �� 1� � ��� ����� ������� � ���!���

� ��������� ���������� �������� ���� �� �� ������� � � ��� ���������� 2#$ ���

���� 2#��

$ & � ������� ��

�& �� *� ��� �� ����� �� ������ �� ���� ������ ��� �������

���������� �

2�

#$ & # � ��

$

� ���

���

���� � ��� �� ��� �� ������ ���

. ��

�& �� � �� ��������� ����������� 3������

���� ��������� ���������� 2#$ � �� � � ���������� �������� �� 2�

#$�

*� 2#$ � �� ��������� ���������� �� � ��� #$ � ��� ���������� ���� ��� �� ���

������� �� ���� ��� ������� ����������

�#� � $ & 2# $#� � #$$

�������� �� � �� ���� ������� ����� # ��

� � �

$- ����� �#� � $ ��� ������ ��� � ������� ������

,�� �������� ������������ �� ��� ��� ������� � ������ � ������. ����� � �������

� � � � �� "�� ��� ������� ���������� �� ��� ��� �#� � $ & 2# $#� � #$$ ���� ��� #$ � ���

��� 2#$ & � � ���� � ��� �� ���� ��� ������ ��� ������� ������

4�"�� �#$ & 2# $ #$- ����

�#� � $ & �2#$ � �#$�

*� ��� 2#$ & �� ���� ��� �#$ � ' �� ,��� ����� �� ��� �������� �� 2#$ ��� �#$ �� � ��

�� � ' � ' � ' � & � ' 1 � ' � ��/�����

Page 107: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

�������� � � ��� � � �� ������ �� �� ������ �� �� � ��� �� ������ � � ��������

� ���� ���

� � �

� �� � ������� ����� � ���� � �� �� � ��� � ����� �� � ���������� ������

��������� �� � � � � � �� �����! "� �������� ��� �������� ��� ��� �� �������� ���

��� � ���#$��� �������� �� ��� ��� � ������ ����� ����� �� ��������! "� � � � � � � ��

��� ��� ��� � � ����� �� �������� �� ��������� � ���� � � � � � � �! "� ���������� ��

��� � � � � � � � � �� �� ��� �� � ���� � ���#����������� ����� �� ��������!

%� �� �� ��� ��� �������� ��� � ����� � ������� �������� ��� ������� ������ �� ������

��������� ��� � � � � � � � � � � �� ������&�� �� � ����� �� �� ! '������ �� � ������� �������

�� ��� ��������� (���) �������� �� ������&�� �� � ����� �� �� ��� � ����! %��� ��

����� ������ ������� �� ��� ��� ������� ��������!

��� � � � ������� �����*�� �� �������� ����������� ���� ��� ����! "� ��� ��� � ������

������������ �� ����� ���� � �� �� ���� � ���������� ��� � � � � ����� ������ � ��������

���� � ����! �+�� � � ���� �� ���� ���� �� � ����� �&�������!� "� � ��������

����������� ��� ��������� �� ���� � � � �� � ������ �� � � � ��� �� ��� ���� �� ��������

���� ��� � ���������! "� ���� �� ������ �� � � � �� ��� � ����� ��� � ��������� �� � ����������

�� ������ ���� �� � ��� � � �������� ������������� � ��� �� ���� ������� �� �� �

�������� �#����� �� � �������� ��� � ������ �������� �� ��� �����!

,�� ������� ������#���� �����#���������� � ������� �� ����� � � ��� ��� �� ����� ��

��� � ��� � � � ! -� �� � ��� � ���������� ������ �������� �� � � � �� ������

�������� � ��� �&��� � ���� � ���#����������� ����� �� ��������! "� � ����� ��� � � � �

������ �� � � �� � �� ��� �� ��������� � � ��� ��� ���� ��� ����� �������� �������� �� ��

���� �� ��� � ���� ������� �� ������ � ��� � �������� � � � ������ ��������!

,�� �������#���#�����#���������� �� ��� �������� �� � �������� ����� � ������ ��� � � � ��

� �������� ��� ��� ��� � ������ �� ��������. ����� �� ����! %� � ��� �������� ����

�� ������ ������ � �� ����! -� �� ��� � ����� �� � � � ���������� ������ �������� ��

��� � � � � �� �����! "� � � �� ��� ��� �� �� ����� �� � ��� � � � � � � �� �� � ���

� � � �������� �� � � � � � � � � � � � � � � ���� �������� � ���� � ���#����������� ����� ��

��������! /�������� �� � ����� ��� �� �� ������ �� � � �� � �� ��� �� ��������� � � � � �

��� ���� ��� ����� �������� �������!

0���� ��� � 1���� �� ��� �� �&������ �������� � � ��� � ��������� �����#���������

���� ���� �� � ����! %� ���� ���� �� � ������� ���� � �� � � � �! %�� � ���������� �� � � �

��� ��� ���� �� ��� ����� �� ��� � � ���� ��� � ��� �� ��� ��� ������ �� �������� � �

������� ����! %� ��� � � � � � � � ������ �� ��� ��$� �� 1����#��� ��������� �� � �������

������ � � � � �

�� � � � � ��� �

��� � � � � � ! " ��� � ���� � ����� ������ ���������� �

�������� � ���� � �� � ���� ���� �� � ������� � ���� � ��� � �&����� ��! "� ��������

� ��� � ���� � � ��� ���� ������ ���� �� ��� �������� �� ������� ���� �����!

,������� � � � � � � ����� � ��� � ����� �� � ������ � ����� ���� � � � � �������� ��� ��� ����

� ����� ���� � � �� ������ �� � ��� �� ������ �� � ��� �� ���� ������! 2�� � ��� � �

�������� ��� ����� �� �� � ��� �� ���� �� ��� �������� ��� ��� ��� �� � ��3����

����� ����! "� ��� ����� � ������� ��� ������� � ��� �� �������� ���������� ���� ���

� ��� �� ������ ����� ���� ���� �� ������� ��� �� � �����! 1�� ����� ����# ����

�������� ������ ��� �� � �� ��� �� � ����������� ��3������ � ���� ���#�������� ���

��&����#�� ������ ��������!

Page 108: MIT Principal of Digital Communication

���� ���������� � � ���� ���

��� ���������� �� ����

�� ����� �� ���� �� � ����� �� �������������

��� �� �������� ���� ������� ������� ������� � ����� �������� �� ����� � � � �� ��

��� �� ������� ���� ����� ���� �����

��� � � ��������� �������� ��� � � � � � � !" �������� ��#��� ����� ��� �� ���������

�� �� ��������� �� �� $���� ����% ���������& �� � ' (

� ����#��� � ��&��� ������ ��&���� #���

�� $��� ����% � � � �

� # ��� ��

�� ������)�� #��� ��� ���� ����#���� ��� � ������������

���� ��� �� �������� ������� �� � � * � � ������������ ��������� �� ��� ���� ���� �����#�� ��

��&����� �������& �� ��� �� ��� ����� �������� ���& ���������� ���������� ��� ��� ����

������ �� ��� �� �������&�

��� �� ����� �� ���� ���� �� ����� ����� ���� ���� + �� ���� ����� ���� �� ����� ��������

#��� ������ ������ ������� ���

����� ���������� � ��� �� ���

� ����� ������������ ���� �� �� �� �#� ������ ������ ��� ���� ���� ��� ��� ����� �� ���#�

�� ��&� �� � ��� ����������� ���� � ������������� ������ �� ������ �*����� �� � ������

����������

����

���

-���

.������

���

-���

����

������ ����� ��,����

������

���� �� ��,����

������ ������

��&� �� .������������ �� �� ���� ���� ��� �� ��� �����

/�� ���� ���� �� ��������� � ����� ����� ����� ����� � ��� ��������� ��� � � � �����

�������� ��� �� � ������������ � !" ������� #��� � (�0�1 ��&��� ���� /�� ���� ������ ��

��������� � ��*�������������� ������� ��� �� � 2����� ������� #���� ��� ���� ������������

#��&����� ����� ��� ��� ��������

/�� ��� ���� �� ��������� � �� ���� � � � )���� )��� � �� �� ������������ (� 3��� )���

������� ��� ��� � � ��������� �� � ����� ������� /�� )��� � ���

�� �������� ���� ��

#���� ���� )��� �������� �� ��������� �� 4 � � � � � ����� �� �� ����#�� �� ���&�� � ���� � ��

��� ������� �� ��� ���� ���� �� �������� ��,���� �� �� ����� #���� �� ��� ���� ��,����

�� ��� ���� �������

/�� ���� ��,���� �� ��� ���� ������ �� ����� � � � ��� �� �� ������� � �� ���� ����

���� � � � �� � &� �� �� ����#�� �� ���������� ��� ������� �������������� � ������ �#�

Page 109: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

������ ���� � �� ����� �� � �� �������� ������� ���� ��� ��� ���� � � ��� � ���� ����

���� �� ������� � � �� � ���� �� ������ �� �������� �� � � ��� �������� �� �� � �� ������

�� � � ��������� � � � � �� � � ���� �������� �� ����� ������ ���� ������ �� ��� � ���

�������� �� � �������� � ���� �� ��� ���� ������ �� ����� �� ������ � � �� ��� �� ���

��� ���� �����

������ � � �� �� � ������ � � �� �� � � � � ���� �� � � �� �� �

������ � � �� �� � ������ � � �� �� � � � � ���� �� � � �� �� �

� � � � � � � � �

������ � � �� �� � ������ � � �� �� � � � � ������ � � �� �� �

!�� ���� �� ����� � ��� ��� ������ �� ������� ��� ��� ������ ������ � ������ �� ��

������ �� ���� ������� � ��� ���� �� � � �"������� ����������� ���� �� ��� ����� ����

� ������ ������ � � �� ��� �� ������ �� ��� � �����

!�� ������ �� ��� ��� ������ � �� ���������� ����� �� � �� ����� �� ���� ���� ����

!������� ��� ��� ������ ���� ��� � �� ����� �� �� � ������� �� ���� ���� � � ����� ���

�� �� � ������� �� �������� #� �� ���� ������ ��� ��� ������ ������ ��� � ��� ����

���� ������ ������� ��� ����� ������� ��� ���$���� � � � �� �� � �������� %����� �

�� ������� �� ��� ��� ��� �$������� !�� �� �� ����� �� ��� ��� ���� ��� ���� � �

��� ���� ��� �� ��� � ������� ��

&�' ���� �� ���� ������ ���� �� � � � � �

!�� ���� �� ������ ���� ��� �� ����� �� ���� � � �� � ������� ��� �� �� �� � � �

�� ������ ���� �� ����� �� ������� ���� ���� (� ��� �� ���� ��� ����� ������� ��

���� ��� ������ ��� ������ ��� ����� � �� � � � � �� ����� � ����� ���� �� � �) ����� � ��

���� ���� � � ����

� �&� � �'��� *��� �� � � ��� ���� � ��� �� � ��� � � �� ������ �

���� %����� ������� ����

�� ��� ������ �� ������ +�� ���� � ��������������� ������ �

��� ��� �� ��� � ������� �� ������ � �� ��� ������� �� ����� �

, &���' � , �����

- � � �� � ������ � � ��

(� � ����� �� ����� ���� ��������� �������� �� ��� � ������� � � ��� ������� �� �����

���� � � ��

&�' � �������� �� ��� ���� � ��� ��� ���� ���� �� ������������ ����� &��� ���

�.� ��� / �����'� ��� ������ ��� ���� ��� ���� , &���' � � � ��� � � ������ #� � ��� ������

��� � � � �� ������ ����� �������� � � �0�� 1�0��� ��� � , &���' �������� ��� ����� �� �� �

��� � ������ ����� , &���' � �0��� �

!�� ��2����� �� ��� ��� ���� � ��� ��� � �� ������ � �� � ���� ��� ���� � � � �������

�� � � ���� �� ��

&�' � �0�� 1�0�� �� �� ��� �� ��

��

�� ������� &�� �� #+34 �������'�

5� ��� �� ���� ��.����������� �������6 ����$������ ��� 7#6 � � ���� ������ !��

���� ������ ���� � � ���� ��� �� ���� ������ �� ��� 7# ��� ��������� ������� ��� ������

�� ��� ���� ���� ��� ���� ����� �� ������� ���� ������ ������ ����� � ������������ �����

# 8/������ ������������ ���� ��� ������ ���� � ��� �9:0;�� ��� � ���� �990 4#�# ���� �

�� ������ 7�� � ������ �

!�� ��2����� �� ��� ���� ���� � ���� �� � �� , &���' � � �� �� ��� �� ��� � � ��� ��� ��

����� ��������� �� �������� �� ����� ��� ������ � � � ���� �� ��� �� ����� # &�<<� ��=� =='

�� ���� ��� ���

��� ������ ���� � ��� �9:0;�� ��� � ���� � ������ ���� �������� �� ����

�� �� 3�>�� ?����������� ����� �� ��� ��� ����� ��� � � ���� ���� ����� �1= �@ �� ���

������� ��� �� � ���� ������ #+34 ��������

Page 110: MIT Principal of Digital Communication

���� ������ � �� � ���

�������� �� ���� ���� �� ��� ������ ����� ������������ ��� ��������� � � ������ ����

��� ��������� � ��� �� ������� ��� ������� ��������� �

� �� � �

������� � ���� � ������

������

��

���� ��� ������ ������ ���!� ��� �"�������� ����� �����

������� � �

����� �����

����� � � � ����

# �� � ��� �� ���� � ��� �!������� ������!� � � ������

� � � �

�� ���� � � �� # �� � � � ��

� � � �

� � � ���� ��� $������� ���������� ��� ���� ����� � ��� �� �������!����

��� ������ � �� ��

%� � &��� &��� ��� � ������������ '� ����� ������ �"��� � �� � ���&��� � �

�������� � ���

��� ��� ���� � �

� �(� ��� ��������������� � � � � �� �� � � � � � # �� � � ���� �!�� � �� � �����

������ �"��� � ������ � ��������� ����� �� ������� ��� ������� � ��� ���&��� ��

� )��

*���&��� �������+ � ������ � ����� $���,��������,-��.������ �$�-� ����� �-����������

����� $�- ����� ���� ��!������ ������������ � �� ������ ��� �� ����� ��� �� � � ��

�� ��� �/0/,1(��

����� � �������� )�� ����� $�- ���� ���!�� �� ��� �2� '� �� �� ���� �!�� �

3"� ��� ' � ��� ����� ���� �������� � ��� ��� ��������� (((( ��� ����4 ����� ��� �2� �� 2�

�������� ���� �!�� � �

5 ����� $�- ���� � ��!����� ������ ���� ��� �� � ��� ��� ����� �� ��������� �

������� ����� �� ��������� %�� ���� ����� ��� � �

� � �

� � ��� ������� �� ��� ���� ����� ��� �� ��

� ��� �� ���� �� ���� � � ���!�� �� ������� %�� ������ �� � �!������ ��� �� � �� ���

������ � � ��� �� ����� %�� � � -� �� ������� �� ��� � � �� ����� �� ����� �� ���

� � ������� � � ��� �� ����� ������� ��� ��� ����� ��� � �� � �� ����� � �������

������� �� � �� 6������ � � ��� �������� ������ �� � �� � �� # � � � � � # � � �� ������� �� �

����������� ���� ���� �� ��� ��� ����� $�- ���� ���� ����������� ����� � ���� 78��

8���� ��� �� �� � ����� $�- ���� ���!�� �� � �!�� ��� �� �� �� ���� �!�� �� �

�� �"����� � ������� ��� 9�� �� �������� � ������ �� ��� � ��� :�; ��� ���� ��������

� �

� �

� � � � � ���

� � ��� �� ���� �� � ������ <����� =� ������ � 9� � >��/ ���� ���

� �������� � ����� ������ �� ��� ��� �������� � ��� ����� ���&��� �(� �� ��� ����

��� ����� � ��� ��� ������� � ������4 ����� � � � �� � � ���� � ���� ���� �� ��� ��� � � � � � �

%� ��� ������ ����� � ������ <���� ���� ��� ��������� �� � � � �� � � � � � � � # �� ��

���� �!�� ��

�� � � � ��������?�� �� ��� ��� � �� ������ ��� ��� � ������ ���� ���� � ���� � ������ ������� � ��� ��������� ������ �� ���� � ���

�� � �� �� ����� ����� ��� ��� &��� � � �

� � ���� ��� �� � � � � � �

��� � � � �� �!� ��� ��� � � ��

� ���� �� � � � � �� ��� ������ � �����

������ ��� � ��� ��� ��� ���� �� ���������?�� �� ������@

Page 111: MIT Principal of Digital Communication

��� ������� �� ����� ���� ����

�������� ��� �� ����� ����� � ���� � �

��� ���� ����� �� ��� �� � � � �� � � � � ���

��� �� ��

� ������ � ��� ��� ���

���� � ���������

�� ��� � ��������� ��� ���� �

� ��

��� � ���� �� ��� � ���� ��� �������� ��������� �� ��� ��� �������� ��������� ���

�������� �� � � � � � �

��� � � �

� ��� �� � � � ��� �����

������� � �� � ��� ��� ��������� ��� � � � �� ��� ��� ���� �� ������ � � �� ���

���������� ���������� �� ��� ������� �� � ��

��� ��� ����� �������� �� ���������� !�� �

������ ��"��� �# ������ ���$��� �� � � ���� �� �� % � % ��&

���������� ����

� '

� % � �

���� % � % � � �

�� % � % � � � �

� �

��� % �� % �� % � % � � �

� �

�� �

���� % �� % � �

�� �

�� �

(�� ��� �� � ��� ����# !� ��$� ���� � �� % � % � # !���� �� ��� � � ���� ) ���������

��� ���� � ��� � ���� � ���� �� ��� ���� �*� *� +, ���� �"�� ���

-� �� � � * ��� �� �

� � ��� ���� � �� � � � ��) ����� �� � � ���� ��� *� ����

(�� ��� ����� ��� ����# !� ��$� ���� � ��� % � % ��� �� % �� % �� % � % � � # !���� ��

�� � �

� �

� � � ���� ) ��������� ��� ���� � ��� � ���� � ���� �� ��� ���� ��� �� +, ���� �"��

��

-� �� � � � ��� �� � � � ��� ���� � .) ����� �� � � ���� .� �� ����

(�� ��� ����� ��� ����# !� � � $ � ���� � � �� % � % ��� �� % �� % �� % � % ��� �� % � % ��# !����

�� �� � �

� �

� �

� �

� � � ���� ) ��������� ��� ���� � ��� � ���� � ���� �� ��� ���� /� .�

+, ���� �"�� � ��

-� �� � � . ��� �� � � � ��� ���� � �) ����� ��� �� �� � ���� �� .�

(������# ! � ��� � ���� �� ��� ��� ���� !��� � ������0�� ��������� ���������� ���� !���� ��

�� � � � � � �

�� � � ���� ) ����� ��� ����� ���������� ���� �� ������ ��

Page 112: MIT Principal of Digital Communication

���� ������ � �� � ���

� ������ � ���� ��� ��� ��������� �� � �� � � � ��� ��� ��� ������ ��� ���� �� ����� � � �

���� ���� ����� � �� ����� � � � ! �� � ��� ��� ��� �����" ��� ��� ������ � � � � � �� � � � �

������ ��� ���� ��� ��� ����� � �� ����� � �����# ��� � ��� ��� ������ ��� ���� ����

��� ���� ���� ��� �����! ��� ������ ���� ��� � � �������� ���� ��� ������ �� ����� ��

������� ������ � ���$ � �� ������� %" &'���� � �!

�� �� ��� � � � � � � � �

� � � �% ��

�% ��

�% *

( ) � �% �

( � ( �% �

)� )�

+ * � )� �%

+ ( ( )� ��

+ � + )� �%

)� ��

)� %

)� �

� � � � � � � � �

� %( %) �

( %( �* (

% %( �� %

+ %( (� +

�% %( ), �-

%( )% ��

� %( )- �(

( %( �( �%

% %( �+ ��

+ %( �% �(

�� %( �- �+

�% %( * )�

)� %( � %(

����� �! ������ ��� ���� �� ����� � � �

� ��� � � %!

.� �� ���� ������ ��� ���� ��� � � � ���� �� ���� �/ ������� �� 01� ���� " �'������

������ ���� " ����������� ���� " ��� ���������� ���� !

�� ������� �� �� ������ 23 ���� " ����� �'� � ���� ������ ��� ���� # �� ������ ���" ����

��� �� ����� ����� ���� ���� ! 4� �" ��� � � %(" � ���� �� �� ���� ��� ������ ������ �

��� � ���� � ��� �# ����� ��� �%(� (�� +� ������ ��� ���� �� ����� ���� ����������� ��� ����

��� ����� ������ 23 ����" ��� ��� �%(� �(� �%� ���� �� �� ���� ����������� ��� !

�� ���������" � ������ ��� ���� ��� �� ������� �� � � � ������� �������� ��� ��� 20 ����

���� ���� �� � �������! ��������� ������� 20 ������� ���� ��� ��� ������ ��� �� �� ������!

�� ��������" ������� �����5������ ��� �� ���� �� ��� ������ �� �!

6�� ��� � ��� �� " ������ ����� ��� ������������ �� �������� ������� �������� " ������ ���

���� ���� �� ��������� �������� ���� ��������� ���� ������ 23 ���� !

������" ��� ������ 7�� �� ��'�� �7��$� � � � � � � �8������� �������" ���� � ��� �� �

������" 23 ���� ���� ���� � ������ �����������7������'��� ������9! 6�� �'�����" ���

�%(� (�� +� ������ ��� ���� �� ���� ���� ��� ������ ������'��� �� ��� �%(� (�� +� 23 ����"

��� ��� �%(� �(� �%� ������ ��� ���� �� �� � ���� ��� ������ ������'��� �� ��� �%(� ��� �%� 23

����! ��� ����� ������ ������ � �� ������'��� �� ������ 7�� �� ������� �������� ��� ����

��� : ���� ��� ���� ������ � �� � ���� �� ����������� ��� !

Page 113: MIT Principal of Digital Communication

Chapter 9

Introduction to convolutional codes

We now introduce binary linear convolutional codes, which like binary linear block codes are useful in the power-limited (low-SNR, low-ρ) regime. In this chapter we will concentrate on rate-1/n binary linear time-invariant convolutional codes, which are the simplest to understand and also the most useful in the power-limited regime. Here is a canonical example:

Example 1. Figure 1 shows a simple rate-1/2 binary linear convolutional encoder. At each time k, one input bit uk comes in, and two output bits (y1k , y2k ) go out. The input bits enter a 2-bit shift register, which has 4 possible states (uk−1, uk−2). The output bits are binary linear combinations of the input bit and the stored bits.

- n - n y1k = uk + uk−1 + uk−2 -

6 6

input bits uk

-t D uk−1 -t D uk−2

t

- n ? y2k = uk + uk−2 -

Figure 1. Four-state rate-1/2 binary linear convolutional encoder.

The code C generated by this encoder is the set of all output sequences that can be produced in response to an input sequence u = (. . . , uk , uk+1, . . .). The code is linear because if (y1,y2) and (y′

2) are the code sequences produced by u and u′, respectively, then (y1 + y′ 2)1,y

′ 1,y2 + y′

is the code sequence produced by u + u′ .

As in the case of linear block codes, this implies that the minimum Hamming distance dfree

between code sequences is the minimum Hamming weight of any nonzero codeword. By inspec-tion, we can see that the Hamming weight of the output sequence when the input sequence is (. . . , 0, 0, 1, 0, 0, . . .) is 5, and that this is the only weight-5 sequence starting at a given time k. Of course, by time-invariance, there is such a weight-5 sequence starting at each time k.

We will see that maximum-likelihood sequence decoding of a convolutional code on an AWGN channel can be performed efficiently by the Viterbi algorithm (VA), with complexity proportional to the number of states (in this case 4). As with block codes, the probability of error per bit Pb(E) may be estimated by the union bound estimate (UBE) as

√ Pb(E) ≈ Kb(C)Q (γc(C)(2Eb/N0)) ,

117

Page 114: MIT Principal of Digital Communication

118 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

where the nominal coding gain is γc(C) = Rdfree, R is the code rate in input bits per output bit, and Kb(C) is the number of minimum-weight code sequences per input bit. For this code, dfree = 5, R = 1/2, and Kb(C) = 1, which means that the nominal coding gain is γc(C) = 5/2 (4 dB), and the effective coding gain is also 4 dB. There is no block code that can achieve an effective coding gain of 4 dB with so little decoding complexity.

As Example 1 shows, convolutional codes have two different kinds of structure: algebraic struc-ture, which arises from convolutional encoders being linear systems, and dynamical structure, which arises from convolutional encoders being finite-state systems. We will first study their linear system structure. Then we will consider their finite-state structure, which is the key to ML decoding via the VA. Finally, we will show how to estimate performance using the UBE, and will give tables of the complexity and performance of the best known rate-1/n codes.

9.1 Linear time-invariant systems over finite fields

We start with a little linear system theory, namely the theory of linear time-invariant (LTI) systems over finite fields. The reader is probably familiar with the theory of discrete-time LTI systems over the real or the complex field, which are sometimes called discrete-time real or complex filters. The theory of discrete-time LTI systems over an arbitrary field F is similar, except that over a finite field there is no notion of convergence of an infinite sum.

9.1.1 The input/output map of an LTI system

In general, a discrete-time system is characterized by an input alphabet U , an output alphabet Y, and an input/output map from bi-infinite discrete-time input sequences u = (. . . , uk , uk+1, . . .) to output sequences y = (. . . , yk, yk+1, . . .). Here we will take the input and output alphabets to be a common finite field, U = Y = Fq . The indices of the input and output sequences range over all integers in Z and are regarded as time indices, so that for example we may speak of uk

as the value of the input at time k.

Such a system is linear if whenever u maps to y and u′ maps to y′, then u + u′ maps to y + y′ and αu maps to αy for any α ∈ Fq . It is time-invariant if whenever u maps to y, then Du maps to Dy, where D represents the delay operator, namely the operator whose effect is to delay every element in a sequence by one time unit; i.e., u′ = Du means u′ = uk−1 for all k.k

It is well known that the input/output map of an LTI system is completely characterized by its impulse response g = (. . . , 0, 0, . . . , 0, g0, g1, g2, . . .) to an input sequence e0 which is equal to 1 at time zero and 0 otherwise. The expression for g assumes that the LTI system is causal, which implies that the impulse response g must be equal to 0 before time zero.

The proof of this result is as follows. If the input is a sequence ek which is equal to 1 at time k and zero otherwise, then since ek = Dke0, by time invariance the output must be Dk g. Then since an arbitrary input sequence u can be written as u =

�k ukek, by linearity the output

must be the linear combination y =

k

uk Dk g.

The output yk at time k is thus given by the convolution

yk =�

�≤k k

uk� gk−k� , (9.1)

Page 115: MIT Principal of Digital Communication

9.1. LINEAR TIME-INVARIANT SYSTEMS OVER FINITE FIELDS 119

where we use the fact that by causality gk−k� = 0 if k < k . In other words, y is the convolution of the input sequence u and the impulse response g:

y = u ∗ g.

It is important to note that the sum (??) that defines yk is well defined if and only if it is a sum of only a finite number of nonzero terms, since over finite fields there is no notion of convergence of an infinite sum. The sum (??) is finite if and only if one of the following two conditions holds:

(a) There are only a finite number of nonzero elements gk in the impulse response g;

(b) For every k, there are only a finite number of nonzero elements uk� with k′ ≤ k in the input sequence u. This occurs if and only if there are only a finite number of nonzero elements uk with negative time indices k. Such a sequence is called a Laurent sequence.

Since we do not in general want to restrict g to have a finite number of nonzero terms, we will henceforth impose the condition that the input sequence u must be Laurent, in order to guarantee that the sum (??) is well defined. With this condition, we have our desired result:

Theorem 9.1 (An LTI system is characterized by its impulse response) If an LTI system over Fq has impulse response g, then the output sequence in response to an arbitrary Laurent input sequence u is the convolution y = u ∗ g.

9.1.2 The field of Laurent sequences

A nonzero Laurent sequence u has a definite starting time or delay, namely the time index of the first nonzero element: del u = min{k : uk �= 0}. The zero sequence 0 is Laurent, but has no definite starting time; by convention we define del 0 = ∞. A causal sequence is a Laurent sequence with non-negative delay.

The (componentwise) sum of two Laurent sequences is Laurent, with delay not less than the minimum delay of the two sequences. The Laurent sequences form an abelian group under sequence addition, whose identity is the zero sequence 0. The additive inverse of a Laurent sequence x is −x.

The convolution of two Laurent sequences is a well-defined Laurent sequence, whose delay is equal to the sum of the delays of the two sequences. The nonzero Laurent sequences form an abelian group under convolution, whose identity is the unit impulse e0. The inverse under convolution of a nonzero Laurent sequence x is a Laurent sequence x−1 which may be determined by long division, and which has delay equal to del x−1 = −del x.

Thus the set of all Laurent sequences forms a field under sequence addition and convolution.

9.1.3 D-transforms

The fact that the input/output map in any LTI system may be written as a convolution y = u∗g suggests the use of polynomial-like notation, under which convolution becomes multiplication.

Page 116: MIT Principal of Digital Communication

= �

120 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

Therefore let us define the formal power series u(D) = �

k ukDk , g(D) =

�k gk D

k , and y(D) =

�k yk D

k . These are called “D-transforms,” although the term “transform” may be misleading because these are still time-domain representations of the corresponding sequences.

In these expressions D is algebraically just an indeterminate (place-holder). However, D may also be regarded as representing the delay operator, because if the D-transform of g is g(D), then the D-transform of Dg is Dg(D).

These expressions appear to be completely analogous to the “z-transforms” used in the theory of discrete-time real or complex LTI systems, with the substitution of D for z−1 . The subtle difference is that in the real or complex case z is often regarded as a complex number in the “frequency domain” and an expression such as g(z−1) as a set of values as z ranges over C; i.e., as a true frequency-domain “transform.”

It is easy to see that the convolution y = u ∗ g then translates to

y(D) = u(D)g(D),

if for multiplication of D-transforms we use the usual rule of polynomial multiplication,

yk uk� gk−k� , k�

since this expression is identical to (??). Briefly, convolution of sequences corresponds to mul-tiplication of D-transforms.

In general, if x(D) and y(D) are D-transforms, then the product x(D)y(D) is well defined when either x(D) or y(D) is finite, or when both x(D) and y(D) are Laurent. Since a causal impulse response g(D) is Laurent, the product u(D)g(D) is well defined whenever u(D) is Laurent.

Addition of sequences is defined by componentwise addition of their components, as with vector addition. Correspondingly, addition of D-transforms is defined by componentwise addition. In other words, D-transform addition and multiplication are defined in the same way as polynomial addition and multiplication, and are consistent with the addition and convolution operations for the corresponding sequences.

It follows that the set of all Laurent D-transforms x(D), which are called the Laurent power series in D over Fq and denoted by Fq ((D)), form a field under D-transform addition and multiplication, with additive identity 0 and multiplicative identity 1.

9.1.4 Categories of D-transforms

We pause to give a brief systematic exposition of various other categories of D-transforms.

Let f (D) = �

k∈Z fk Dk be the D-transform of a sequence f . We say that f or f(D) is “zero

on the past” (resp. “finite on the past”) if it has zero (resp. a finite number) of nonzero fk with negative time indices k, and “finite on the future” if it has a finite number of nonzero fk with non-negative time indices k. f(D) is finite if it is finite on both past and future.

(a) (Polynomials Fq [D].) If f(D) is zero on the past and finite on the future, then f(D) is a polynomial in D over Fq . The set of all polynomials in D over Fq is denoted by Fq [D]. D-transform addition and multiplication of polynomials is the same as polynomial addition and multiplication. Under these operations, Fq [D] is a ring, and in fact an integral domain (see Chapter 7).

Page 117: MIT Principal of Digital Communication

121 9.1. LINEAR TIME-INVARIANT SYSTEMS OVER FINITE FIELDS

(b) (Formal power series Fq [[D]].) If f (D) is zero on the past and unrestricted on the future, then f(D) is a formal power series in D over Fq . The set of all formal power series in D over Fq is denoted by Fq [[D]]. Under D-transform addition and multiplication, Fq [[D]] is a ring, and in fact an integral domain. However, Fq [[D]] is not a field, because D has no inverse in Fq [[D]]. A formal power series corresponds to a causal sequence.

(c) (Laurent polynomials Fq [D, D−1].) If f (D) is finite, then f(D) is a Laurent polynomial in D over Fq . The set of all Laurent polynomials in D over Fq is denoted by Fq [D, D−1]. Under D-transform addition and multiplication, Fq [D, D−1] is a ring, and in fact an integral domain. However, Fq [D, D−1] is not a field, because 1 + D has no inverse in Fq [D, D−1]. A Laurent polynomial corresponds to a finite sequence.

(d) (Laurent power series Fq ((D)).) If f (D) is finite on the past and unrestricted on the future, then f (D) is a Laurent power series in D over Fq . The set of all Laurent power series in D over Fq is denoted by Fq ((D)). As we have already seen, under D-transform addition and multiplication, Fq ((D)) is a field; i.e., every nonzero f(D) ∈ Fq ((D)) has an inverse f−1(D) ∈ Fq ((D)) such that f (D)f −1(D) = 1, which can be found by long division of D-transforms; e.g., over any field, the inverse of D is D−1, and the inverse of 1 + D is 1 − D + D2 − D3 + · · ·.

(e) (Bi-infinite power series Fq [[D, D−1]].) If f (D) is unrestricted on the past and future, then f(D) is a bi-infinite power series in D over Fq . The set of all bi-infinite power series in D over Fq is denoted by Fq [[D, D−1]]. As we have seen, D-transform multiplication is not well defined for all f (D), g(D) ∈ Fq [[D, D−1]], so Fq [[D, D−1]] is merely a group under D-transform addition.

(f) (Rational functions Fq (D).) A Laurent power series f(D) (or the corresponding sequence f ) is called rational if it can be written as f(D) = n(D)/d(D), where n(D) and d(D) �= 0 are polynomials in Fq [D], and n(D)/d(D) denotes the product of n(D) with d−1(D). The set of all rational power series in D over Fq is denoted by Fq (D). It is easy to verify that that Fq (D) is closed under D-transform addition and multiplication. Moreover, the multiplicative inverse of a nonzero rational D-transform f(D) = n(D)/d(D) is f −1(D) = d(D)/n(D), which is evidently rational. It follows that Fq (D) is a field.

It is easy to see that Fq [D] ⊂ Fq [D, D−1] ⊂ Fq (D) ⊂ Fq ((D)), since every polynomial is a Laurent polynomial, and every Laurent polynomial is rational (for example, D−1 + 1 = (1 + D)/D). The rational functions and the Laurent power series have the nicest algebraic properties, since both are fields. Indeed, the rational functions form a subfield of the Laurent power series, as the rational numbers Q form a subfield of the real numbers R. The polynomials form a subring of the rational functions, as the integers Z form a subring of Q.

The following exercise shows that an infinite Laurent D-transform f (D) is rational if and only if the corresponding sequence f eventually becomes periodic. (This should remind the reader of the fact that a real number is rational if and only if its decimal expansion is eventually periodic.)

Exercise 1 (rational = eventually periodic). Show that a Laurent D-transform f (D) is rational if and only if the corresponding sequence f is finite or eventually becomes periodic. [Hints: (a) show that a sequence f is eventually periodic with period P if and only if its D-transform f(D) can be written as f(D) = g(D)/(1 − DP ), where g(D) is a Laurent polynomial; (b) using the results of Chapter 7, show that every nonzero polynomial d(D) ∈ Fq [D] divides 1 −DP for some integer P .]

Page 118: MIT Principal of Digital Communication

122 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

9.1.5 Realizations of LTI systems

So far we have characterized an LTI system over Fq by its input/output map, which we have shown is entirely determined by its impulse response g or the corresponding D-transform g(D). The only restriction that we have placed on the impulse response is that it be causal; i.e., that g(D) be a formal power series in Fq [[D]]. In order that the input/output map be well-defined, we have further required that the input u(D) be Laurent, u(D) ∈ Fq (D).

In this subsection we consider realizations of such an LTI system. A realization is a block diagram whose blocks represent Fq -adders, Fq -multipliers, and Fq -delay (memory) elements, which we take as our elementary LTI systems. An Fq -adder may have any number of inputs in Fq , and its output is their (instantaneous) sum. An Fq -multiplier may have any number of inputs in Fq , and its output is their (instantaneous) product. An Fq -delay element has a single input in Fq , and a single output which is equal to the input one time unit earlier.

For example, if an LTI system has impulse response g(D) = 1 + αD + βD3, then it can be realized by the realization shown in Figure 2. In this realization there are three delay (memory) elements, arranged as a shift register of length 3. It is easy to check that the input/output map is given by y(D) = u(D) + αDu(D) + βD3u(D) = u(D)g(D).

? n? n

-

-

u −k 2-u −k 1-uk

? n? n

uk−3 D D D

-

-

α × β ×

-

+ + - yk = uk + αuk−1 + βuk−3

Figure 2. Realization of an LTI system with impulse response g(D) = 1 + αD + βD3 .

More generally, it is easy to see that if g(D) is finite (polynomial) with degree deg g(D) = ν, then an LTI system with impulse response g(D) can be realized similarly, using a shift register of length ν.

The state of a realization at time k is the set of contents of its memory elements. For example, in Figure 2 the state at time k is the 3-tuple (uk−1, uk−2, uk−3). The state space is the set of all possible states. If a realization over Fq has only a finite number ν of memory elements, then the

3state space has size qν , which is finite. For example, the state space size in Figure 2 is q .

Now suppose that we consider only realizations with a finite number of blocks; in particular, with a finite number of memory elements, and thus a finite state space size. What is the most general impulse response that we can realize? If the input is the impulse e0(D) = 1, then the input is zero after time zero, so the impulse response is determined by the autonomous (zero-input) behavior after time zero. Since the state space size is finite, it is clear that the autonomous behavior must be periodic after time zero, and therefore the impulse response must be eventually periodic— i.e., rational. We conclude that finite realizations can realize only rational impulse responses.

Conversely, given a rational impulse response g(D) = n(D)/d(D), where n(D) and d(D) �= 0 are polynomial, it is straightforward to show that g(D) can be realized with a finite number of memory elements, and in fact with ν = max{deg n(D), deg d(D)} memory elements. For example, Figure 3 shows a realization of an LTI system with the impulse response g(D) =

Page 119: MIT Principal of Digital Communication

123 9.2. RATE-1/N BINARY LINEAR CONVOLUTIONAL CODES

(1 + αD + βD3)/(1 − D2 − D3) using ν = 3 memory elements. Because the impulse response is infinite, the realization necessarily involves feedback, in contrast to a feedbackfree realization of a finite impulse response as in Figure 2.

vk−2 + vk−3 + �

uk vk vk−1 vk−2 vk−3 D D D

α × β ×

-

? n? n+ +

-

-

-

n6

-

? n? n

-

-

-? n+-

yk = vk + αvk−1 + βvk−3

Figure 3. Realization of an LTI system with impulse response g(D) = (1 + αD + βD3)/(1 − D2 − D3).

Exercise 2 (rational realizations). Generalize Figure 2 to realize any rational impulse response g(D) = n(D)/d(D) with ν = max{deg n(D), deg d(D)} memory elements.

In summary:

Theorem 9.2 (finitely realizable = rational) An LTI system with causal (thus Laurent) impulse response g(D) has a finite realization if and only if g(D) is rational. If

νg(D) = n(D)/d(D), then there exists a realization with state space size q , where ν = max{deg n(D), deg d(D)}. The realization can be feedbackfree if and only if g(D) is polynomial.

9.2 Rate-1/n binary linear convolutional codes

A rate-1/n binary linear convolutional encoder is a single-input, n-output LTI system over the binary field F2. Such a system is characterized by the n impulse responses {gj (D), 1 ≤ j ≤ n}, which can be written as an n-tuple g(D) = (g1(D), . . . , gn(D)).

If the input sequence u(D) is Laurent, then the n output sequences {yj (D), 1 ≤ j ≤ n} are well defined and are given by yj (D) = u(D)gj (D) More briefly, the output n-tuple y(D) = (y1(D), . . . , yn(D)) is given by y(D) = u(D)g(D).

The encoder is polynomial (or “feedforward”) if all impulse responses gj (D) are polynomial. In that case there is a shift-register realization of g(D) as in Figure 1 involving a single shift register of length ν = deg g(D) = maxj deg gj (D). The encoder state space size is then 2ν .

Example 1 (Rate-1/2 convolutional encoder). A rate-1/2 polynomial binary convolutional encoder is defined by a polynomial 2-tuple g(D) = (g1(D), g2(D)). A shift-register realization of g(D) involves a single shift register of length ν = max {deg g1(D), deg g2(D)} and has a state space of size 2ν . For example, the impulse response 2-tuple g(D) = (1 + D2 , 1 + D + D2) is realized by the 4-state rate-1/2 encoder illustrated in Figure 1.

More generally, the encoder is realizable if all impulse responses gj (D) are causal and rational, since each response must be (finitely) realizable by itself, and we can obtain a finite realization of all of them by simply realizing each one separately.

Page 120: MIT Principal of Digital Communication

′ ′ ′

124 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

A more efficient (and in fact minimal, although we will not show this yet) realization may be obtained as follows. If each gj (D) is causal and rational, then gj (D) = nj (D)/dj (D) for polynomials nj (D) and dj (D) �= 0, where by reducing to lowest terms, we may assume that nj (D) and dj (D) have no common factors. Then we can write

1(D), n2(D), . . . , nn(D)) =

n′(D)g(D) =

(nd(D) d(D)

,

where the common denominator polynomial d(D) is the least common multiple of the denomi-nator polynomials dj (D), and n′(D) and d(D) have no common factors. In order that g(D) be causal, d(D) cannot be divisible by D; i.e., d0 = 1.

Now, as the reader may verify by extending Exercise 2, this set of n impulse responses may be realized by a single shift register of length ν = max{deg n′(D), deg d(D)} memory elements, with feedback coefficients determined by the common denominator polynomial d(D) as in Figure 3, and with the n outputs formed as n different linear combinations of the shift register contents, as in Figure 1. To summarize:

Theorem 9.3 (Rate-1/n convolutional encoders) If g(D) = (g1(D), g2(D), . . . , gn(D)) is the set of n impulse responses of a rate-1/n binary linear convolutional encoder, then there exists a unique denominator polynomial d(D) with d0 = 1 such that we can write each gj (D) as gj (D) = nj (D)/d(D), where the numerator polynomials nj (D) and d(D) have no common factor. There exists a (minimal) realization of g(D) with ν = max{deg n′(D), deg d(D)} memory elements and thus 2ν states, which is feedbackfree if and only if d(D) = 1.

9.2.1 Finite-state representations of convolutional codes

Because a convolutional encoder is a finite-state machine, it may be characterized by a finite state-transition diagram. For example, the encoder of Example 1 has the 4-state state-transition diagram shown in Figure 4(a). Each state is labelled by two bits representing the contents of the shift register, and each state transition is labelled by the two output bits associated with that transition.

Alternatively, a finite-state encoder may be characterized by a trellis diagram, which is simply a state-transition diagram with the states sk at each time k shown separately. Thus there are transitions only from states sk at time k to states sk+1 at time k + 1. Figure 4(b) shows a segment of a trellis diagram for the encoder of Example 1, with states labelled as in Figure 4(a).

n - n - n - n� HHH

0000 HHH00

� HHH00�� � � ��

�- ������ q � � n �j n �j n �j n111 10 PPPP�� 10 ��H 10 ��

�� 10 H 10 ��H 10* � HHH

* �� HHH*HHH01 · · · @� H @� H @� H · · · �� 1100 � n � 01 �@�

00 � 00 i1101 ?6������ 01 �@ � 01 �@�

� j � j � j )10�� � 01* n * n * n

�PPPP 01 �@R R ��@R�� n - n - n - n11 � @ 11 �

�@@ 11 @ 11

Figure 4. (a) Four-state state transition diagram; (b) Corresponding trellis diagram.

Page 121: MIT Principal of Digital Communication

9.2. RATE-1/N BINARY LINEAR CONVOLUTIONAL CODES 125

9.2.2 Rate-1/n binary linear convolutional codes

A rate-1/n binary linear convolutional code C is defined as the set of “all” output n-tuples y(D) that can be generated by a rate-1/n binary linear convolutional encoder. If the encoder is characterized by an impulse response n-tuple g(D), then C is the set of output n-tuples y(D) = u(D)g(D) as the input sequence u(D) ranges over “all” possible input sequences.

How to define the set of “all” input sequences is actually a subtle question. We have seen that if g(D) is not polynomial, then we must restrict the input sequences u(D) to be Laurent in order that the output y(D) be well-defined. On the other hand, u(D) should be permitted to be infinite, because it can happen that some finite code sequences are generated by infinite input sequences (this phenomenon is called catastrophicity; see below).

The following definitions of the set of “all” input sequences meet both these criteria and are therefore OK; all have been used in the literature.

• The set F2((D)) of all formal Laurent series;

• The set F2(D) of all rational functions;

• The set F2[[D]] of all formal power series.

Here we will use the set F2((D)) of formal Laurent series. As we have seen, F2((D)) is a field under D-transform addition and multiplication, and includes the field F2(D) of rational functions as a proper subfield. Since g(D) is rational, the set F2(D) would suffice to generate all finite code sequences; however, we prefer F2((D)) because there seems no reason to constrain input sequences to be rational. We prefer either of these to F2[[D]] because F2((D)) and F2(D) are time-invariant, whereas F2[[D]] is not; moreover, F2[[D]] is not a field, but only a ring.

The convolutional code generated by g(D) ∈ (F2(D))n will therefore be defined as

C = {y(D) = u(D)g(D), u(D) ∈ F2((D))}.

The rational subcode of C is the set of all its rational sequences,

Cr = {y(D) ∈ C : y(D) ∈ (F2(D))n},

and the finite subcode of C is the set of all its Laurent polynomial sequences,

Cf = {y(D) ∈ C : y(D) ∈ (F2[D, D−1])n}.

Since F2[D, D−1] ⊂ F2(D) ⊂ F2((D)), we have Cf ⊂ Cr ⊂ C.

Exercise 3 (input/output properties)

(a) Show that y(D) is an n-tuple of formal Laurent series, y(D) ∈ (F2((D)))n .

(b) Show that y(D) is rational if and only if u(D) is rational; i.e.,

Cr = {y(D) = u(D)g(D), u(D) ∈ F2(D)}.

(c) Show that y(D) is finite if and only if u(D) = a(D)lcm{dj (D)}/ gcd{nj (D)}, where a(D) is finite, lcm{dj (D)} is the least common multiple of the denominators dj (D) of the gj (D), and gcd{nj (D)} is the greatest common divisor of their numerators.

Page 122: MIT Principal of Digital Communication

′′

126 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

A convolutional code C has the group property under D-transform addition, since if y(D) = u(D)g(D) and y′(D) = u′(D)g(D) are any two convolutional code n-tuples generated by two input sequences and u(D) and u′(D), respectively, then the n-tuple y(D) + y′(D) is generated by the input sequence u(D) + u′(D). It follows that C is a vector space over the binary field F2, an infinite-dimensional subspace of the infinite-dimensional vector space (F2((D)))n of all Laurent n-tuples.

At a higher level, a rate-1/n convolutional code C is a one-dimensional subspace with generator g(D) of the n-dimensional vector space (F2((D)))n of all Laurent n-tuples over the Laurent field F2((D)). Similarly, the rational subcode Cr is a one-dimensional subspace with generator g(D) of the n-dimensional vector space (F2(D))n of all rational n-tuples over the rational field F2(D). In these respects rate-1/n convolutional codes are like (n, 1) linear block codes.

9.2.3 Encoder equivalence

Two generator n-tuples g(D) and g′(D) will now be defined to be equivalent if they generate the same code, C = C . We will shortly seek the best encoder to generate any given code C.

Theorem 9.4 (Rate-1/n encoder equivalence) Two generator n-tuples g(D), g′(D) are equivalent if and only if g(D) = u(D)g′(D) for some nonzero rational function u(D) ∈ F2(D).

Proof. If the two encoders generate the same code, then g(D) must be a sequence in the code generated by g′(D), so we have g(D) = u(D)g′(D) for some nonzero u(D) ∈ F2((D)). Moreover g(D) is rational, so from Exercise 3(b) u(D) must be rational. Conversely, if g(D) = u(D)g′(D) and y(D) ∈ C, then y(D) = v(D)g(D) for some v(D) ∈ F ((D)); thus y(D) = v(D)u(D)g′(D) and y(D) ∈ C , so C ⊆ C′. Since g′(D) = g′(D)/u(D), a similar argument can be used in the other direction to show C′ ⊆ C, so we can conclude C = C .

Thus let g(D) = (g1(D), g2(D), . . . , gn(D)) be an arbitrary rational generator n-tuple. We can obtain an equivalent polynomial generator n-tuple by multiplying g(D) by any polynomial which is a multiple of all denominator polynomials dj (D), and in particular by their least common multiple lcm{dj (D)}. Thus we have:

Corollary 9.5 Every generator n-tuple g(D) is equivalent to a polynomial n-tuple g′(D).

A generator n-tuple g(D) is called delay-free if at least one generator has a nonzero term at time index 0; i.e., if g �= 0. If g(D) is not delay-free, then we can eliminate the delay by using instead the equivalent generator n-tuple g′(D) = g(D)/Ddel g(D), where del g(D) is the smallest time index k such that gk �= 0. Thus:

Corollary 9.6 Every generator n-tuple g(D) is equivalent to a delay-free n-tuple g′(D), namely g′(D) = g(D)/Ddel g(D).

A generator n-tuple g(D) is called catastrophic if there exists an infinite input sequence u(D) that generates a finite output n-tuple y(D) = u(D)g(D). Any realization of g(D) must thus have a cycle in its state-transition diagram other than the zero-state self-loop such that the outputs are all zero during the cycle.

Page 123: MIT Principal of Digital Communication

127 9.2. RATE-1/N BINARY LINEAR CONVOLUTIONAL CODES

There is a one-to-one correspondence between the set of all paths through the trellis diagram of a convolutional encoder and the set {u(D)} of all input sequences. However, the correspondence to the set of all output sequences {u(D)g(D)}— i.e., to the convolutional code C generated by the encoder— could be many-to-one. For example, if the encoder is catastrophic, then there are at least two paths corresponding to the all-zero output sequence, and from the group property of the encoder there will be at least two paths corresponding to all output sequences. In fact, the correspondence between convolutional code sequences and trellis paths is one-to-one if and only if g(D) is noncatastrophic.

By Exercise 3(c), y(D) is finite if and only if u(D) = a(D)lcm{dj (D)}/ gcd{nj (D)} for some finite a(D). Since lcm{dj (D)} is also finite, u(D) can be infinite if and only if gcd{nj (D)} has an infinite inverse. This is true if and only gcd{nj (D)} �= Dd for some integer d. In summary:

Theorem 9.7 (Catastrophicity) A generator n-tuple g(D) is catastrophic if and only if all numerators nj (D) have a common factor other than D.

Example 2. The rate-1/2 encoder g(D) = (1 + D2 , 1 + D + D2) is noncatastrophic, since the polynomials 1 + D2 and 1 + D + D2 are relatively prime. However, the rate-1/2 encoder g(D) = (1 + D2 , 1+ D) is catastrophic, since 1 + D2 and 1 + D have the common divisor 1 + D; thus the infinite input 1/(1 + D) = 1 + D + D2 + . . . leads to the finite output y(D) = (1 + D, 1) (due to a self-loop from the 11 state to itself with output 00).

If g(D) is catastrophic with greatest common factor gcd{nj (D)}, then we can easily find an equivalent noncatastrophic generator n-tuple by dividing out the common factor: g′(D) = g(D)/ gcd{nj (D)}. For instance, in Example 2, we should replace (1 + D2 , 1+ D) by (1 + D, 1).

In summary, we can and should eliminate denominators and common numerator factors:

Corollary 9.8 Every generator n-tuple g(D) is equivalent to a unique (up to a scalar multiple) noncatastrophic delay-free polynomial n-tuple g′(D), namely

g′(D) = lcm{dj (D)}

g(D).gcd{nj (D)}

Thus every rate-1/n binary convolutional cade C has a unique noncatastrophic delay-free poly-nomial generator n-tuple g(D), which is called canonical. Canonical generators have many nice properties, including:

• The finite subcode Cf is the subcode generated by the finite input sequences.

• The feedbackfree shift-register realization of g(D) is minimal over all equivalent encoders.

In general, it has been shown that a convolutional encoder is minimal — that is, has the minimal number of states over all encoders for the same code— if and only if it is non-catastrophic and moreover there are no state transitions to or from the zero state with all-zero outputs, other than from the zero state to itself. For a rate-1/n encoder with generator g(D) = (n1(D), . . . , nn(D))/d(D), this means that the numerator polynomials nj (D) must have no common factor, and that the degree of the denominator polynomial d(D) must be no greater than the maximum degree of the numerators.

Page 124: MIT Principal of Digital Communication

128 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

A systematic encoder for a rate-1/n convolutional code is one in which the input sequence appears unchanged in one of the n output sequences. A systematic encoder for a code generated by polynomial encoder g(D) = (g1(D), . . . , gn(D)) may be obtained by multiplying all generators by 1/g1(D) (provided that g10 = 1). For example, g(D) = (1, (1 + D + D2)/(1 + D2)) is a systematic encoder for the code generated by (1 + D2 , 1 + D + D2).

A systematic encoder is always delay-free, noncatastrophic and minimal. Sometimes systematic encoders are taken as an alternative class of nonpolynomial canonical encoders.

9.2.4 Algebraic theory of rate-k/n convolutional codes

There is a more general theory of rate-k/n convolutional codes, the main result of which is as follows. Let C be any time-invariant subspace of the vector space of all y(D) ∈ (Fq ((D)))n. A canonical polynomial encoder for C may be constructed by the following greedy algorithm:

Initialization: set i = 0 and C0 = {0}; Do loop: if Ci = C, we are done, and k = i;

otherwise, increase i by 1 and take any polynomial y(D) of least degree in C \ Ci as gi(D).

The shift-register realization of the resulting k×n generator matrix G(D) = {gi(D), 1 ≤ i ≤ k}is then a minimal encoder for C, in the sense that no other encoder for C has fewer memory elements. The degrees νi = deg gi(D) = max1≤j≤n deg gij (D), 1 ≤ i ≤ k, are uniquely deter-mined by this construction, and are called the “constraint lengths” (or controllability indices) of C; their maximum νmax is the (controller) memory of C, and their sum ν =

�i νi (the “over-

all constraint length”) determines the size 2ν of the state space of any minimal encoder for C. Indeed, this encoder turns out to have every property one could desire, except for systematicity.

9.3 Terminated convolutional codes

A rate-1/n terminated convolutional code Cµ is the code generated by a polynomial convolutional encoder g(D) (possibly catastrophic) when the input sequence u(D) is constrained to be a polynomial of degree less than some nonnegative integer µ:

Cµ = {u(D)g(D) | deg ui(D) < µ}.

In this case the total number of possibly nonzero input bits is k = µ, and the total number of possibly nonzero output bits is n = n(µ + ν), where ν = max deg gj (D) is the shift-register length in a shift-register realization of g(D). Thus a terminated convolutional code may be regarded as an (n′, k) = (n(µ + ν), µ) binary linear block code.

The trellis diagram of a terminated convolutional code is finite. For example, Figure 5 shows the trellis diagram of the 4-state (ν = 2) rate-1/2 encoder of Example 1 when µ = 5, which yields a (14, 5, 5) binary linear block code.

Exercise 4. Show that if the (catastrophic) rate-1/1 binary linear convolutional code gener-ated by g(D) = 1 + D is terminated with deg u(D) < µ, then the resulting code is a (µ+1, µ, 2) SPC code. Conclude that any binary linear SPC code may be represented by a 2-state trellis diagram.

Page 125: MIT Principal of Digital Communication

129 9.4. THE VITERBI ALGORITHM

n - n - n - n - n - nn - 00 � HHH

0000 n - 00 HHH00

� HHH00 00 00HHH

HHH � � �� j n j n �j n �j n �j n �� �H 10 H 10 ��

H 10 @�

� HHH

H 10 ��H 10 �

� �� HHH

HHH* ��* HHH

* �@ @�� @�

� HHH� j � j � j � j �H n H n H n H n H n@ j 01 �@�R n �@

� 01 ��� 01 �@�� 01 �@� � 01

R n �@@* * * * R n �@@ R- n@@ 11 � - 11 � - 11 � @ 11 �

Figure 5. Trellis diagram of a terminated rate-1/2 convolutional encoder.

Exercise 5. Show that if the (catastrophic) rate-1/1 binary linear convolutional code gen-erated by g(D) = 1 + D + D3 is terminated with µ = 4, then the resulting code is a (7, 4, 3) Hamming code.

9.4 Maximum likelihood sequence detection: The VA

A convolutional code sequence y(D) = u(D)g(D) may be transmitted through an AWGN chan-nel in the usual fashion, by mapping each bit yjk ∈ {0, 1} to s(yjk) ∈ {±α} via the usual 2-PAM map. We denote the resulting sequence by s(y(D)). At the output of the channel, the received sequence is

r(D) = s(y(D)) + n(D),

where n(D) is an iid Gaussian noise sequence with variance N0/2 per dimension.

As usual, maximum-likelihood sequence detection is equivalent to minimum-distance (MD) detection; i.e., find the code sequence y(D) such that ‖r(D) − s(y(D))‖2 is minimum. In turn, since s(y(D)) is binary, this is equivalent to maximum-inner-product (MIP) detection: find the code sequence y(D) that maximizes

〈r(D), s(y(D))〉 =�

k

〈rk, s(yk)〉 =�

j

k

rkj s(ykj ).

It may not be immediately clear that this is a well-posed problem, since all sequences are bi-infinite. However, we will now develop a recursive algorithm that solves this problem for terminated convolutional codes; it will then be clear that the algorithm continues to specify a well-defined maximum-likelihood sequence detector as the length of the terminated convolutional code goes to infinity.

The algorithm is the celebrated Viterbi algorithm (VA), which some readers may recognize simply as “dynamic programming” applied to a trellis diagram.

The first observation is that if we assign to each branch in the trellis a “metric” equal to ‖rk − s(yk)‖2, or equivalently −〈rk, s(yk)〉, where yk is the output n-tuple associated with that branch, then since each path through the trellis corresponds to a unique code sequence, MD or MIP detection becomes equivalent to finding the least-metric (“shortest”) path through the trellis diagram.

The second observation is that the initial segment of the shortest path, say from time 0 through time k, must be the shortest path to whatever state sk it passes through at time k, since if there were any shorter path to sk, it could be substituted for that initial segment to create a shorter path overall, contradiction. Therefore it suffices at time k to determine and retain for each state

Page 126: MIT Principal of Digital Communication

130 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

sk at time k only the shortest path from the unique state at time 0 to that state, called the “survivor.”

The last observation is that the time-(k + 1) survivors may be determined from the time-k survivors by the following recursive “add-compare-select” operation:

(a) For each branch from a state at time k to a state at time k + 1, add the metric of that branch to the metric of the time-k survivor to get a candidate path metric at time k + 1;

(b) For each state at time k + 1, compare the candidate path metrics arriving at that state and select the path corresponding to the smallest as the survivor. Store the survivor path history from time 0 and its metric.

At the final time µ + ν, there is a unique state, whose survivor must be the (or at least a) shortest path through the trellis diagram of the terminated code.

The Viterbi algorithm has a regular recursive structure that is attractive for software or hard-ware implementation. Its complexity is clearly proportional to the number of trellis branches per unit of time (“branch complexity”), which in the case of a binary rate-k/n 2ν -state convolutional code is 2k+ν .

For infinite trellises, there are a few additional issues that must be addressed, but none lead to problems in practice.

First, there is the issue of how to get started. In practice, if the algorithm is simply initiated with arbitrary accumulated path metrics at each state, say all zero, then it will automatically synchronize in a few constraint lengths.

Second, path histories need to be truncated and decisions put out after some finite delay. In practice, it has been found empirically that with high probability all survivors will have the same history prior to about five constraint lengths in the past, so that a delay of this magnitude usually suffices to make the additional probability of error due to premature decisions negligible, for any reasonable method of making final decisions.

In some applications, it is important that the decoded path be a true path in the trellis; in this case, when decisions are made it is important to purge all paths that are inconsistent with those decisions.

Finally, the path metrics must be renormalized from time to time so that their magnitude does not become too great; this can be done by subtracting the minimum metric from all of them.

In summary, the VA works perfectly well on unterminated convolutional codes. Maximum-likelihood sequence detection (MLSD) of unterminated codes may be operationally defined by the VA.

More generally, the VA is a general method for maximum-likelihood detection of the state sequence of any finite-state Markov process observed in memoryless noise. For example, it can be used for maximum-likelihood sequence detection of digital sequences in the presence of intersymbol interference.

Page 127: MIT Principal of Digital Communication

9.5. PERFORMANCE ANALYSIS OF CONVOLUTIONAL CODES 131

9.5 Performance analysis of convolutional codes

The performance analysis of convolutional codes is based on the notion of an “error event.”

Suppose that the transmitted code sequence is y(D) and the detected code sequence is y′(D). Each of these sequences specifies a unique path through a minimal code trellis. Typically these paths will agree for long periods of time, but will disagree over certain finite intervals. An error event corresponds to one of these finite intervals. It begins when the path y′(D) first diverges from the path y(D), and ends when these two paths merge again. The error sequence is the difference e(D) = y′(D) − y(D) over this interval.

By the group property of a convolutional code C, such an error sequence e(D) is a finite code sequence in C. If the encoder g(D) is noncatastrophic (or if the code is a terminated code), then e(D) = ue(D)g(D) for some finite input sequence ue(D).

The probability of any such finite error event in AWGN is given as usual by √

Pr(y′(D) | y(D)) = Q (‖s(y′(D)) − s(y(D))‖2/2N0).

As in the block code case, we have

‖s(y′(D)) − s(y(D))‖2 = 4α2dH (y , y).

The minimum error event probability is therefore governed by the minimum Hamming distance between code sequences y(D). For convolutional codes, this is called the free distance dfree.

By the group property of a convolutional code, dfree is equal to the minimum Hamming weight of any finite code sequence y(D); i.e., a code sequence that starts and ends with semi-infinite all-zero sequences. In a minimal trellis, such a code sequence must start and end with semi-infinite all-zero state sequences. Thus dfree is simply the minimum weight of a trellis path that starts and ends in the zero state in a minimal trellis, which can easily be found by a search through the trellis using a version of the VA.

Example 1 (cont.) From the state-transition diagram of Figure 4(a) or the trellis diagram of Figure 4(b), it is clear that the the free distance of the example 4-state rate-1/2 code is dfree = 5, and that the only code sequences with this weight are the generator sequence g(D) = (1 + D2 , 1 + D + D2) and its time shifts Dk g(D).

For a rate-k/n binary convolutional code, it makes sense to normalize the error probability per unit time of the code— i.e., per k input or n output bits. The probability of an error event starting at a given time, assuming that no error event is already in progress at that time, may be estimated by the union bound estimate as

√ Pc(E) ≈ Kmin(C)Q (2α2dfree/N0) (9.2)

√ = Kmin(C)Q (γc(C)(2Eb/N0)), (9.3)

where Eb = nα2/k is the average energy per bit, and

γc(C) = dfree(k/n) (9.4)

is the nominal coding gain of the convolutional code C, while Kmin(C) is the number of error events of weight dfree in C per unit time. Note that the nominal coding gain γc(C) = dfree(k/n)

Page 128: MIT Principal of Digital Communication

132 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

is defined analogously to the block code case. Note also that for a time-invariant code C, the error event probability Pc(E) is independent of time.

For direct comparison to block codes, the error probability per bit may be estimated as: √

Pb(E) = Pc(E )/k ≈ Kb(C)Q (γc(C)(2Eb/N0)), (9.5)

where the error coefficient is Kb(C) = Kmin(C)/k.

Example 1 (cont.) The nominal coding gain of the Example 1 code is γc(C) = 5/2 (4 dB) and its error coefficient is Kb(C) = Kc(C) = 1, so the UBE is

√ Pb(E ) ≈ Q (5Eb/N0).

Compare the (8, 4, 4) RM block code, which has the same rate (and the same trellis complexity), but has nominal coding gain γc(C) = 2 (3 dB) and error coefficient Kb(C) = 14/4 = 3.5.

In general, for the same rate and “complexity” (measured by minimal trellis complexity), convolutional codes have better coding gains than block codes, and much lower error coefficients. They therefore usually yield a better performance vs. complexity tradeoff than block codes, when trellis-based ML decoding algorithms such as the VA are used for each. Convolutional codes are also more naturally suited to continuous sequential data transmission than block codes. Even when the application calls for block transmission, terminated convolutional codes usually outperform binary block codes. On the other hand, if there is a decoding delay constraint, then block codes will usually slightly outperform convolutional codes.

Tables 1-3 give the parameters of the best known convolutional codes of short to moderate constraint lengths for rates 1/2, 1/3 and 1/4, which are well suited to the power-limited regime.

We see that it is possible to achieve nominal coding gains of 6 dB with as few as 16 states with rate-1/3 or rate-1/4 codes, and effective coding gains of 6 dB with as few as 32 states, to the accuracy of the union bound estimate (which becomes somewhat optimistic as these codes become more complex). (There also exists a time-varying rate-1/2 16-state convolutional code with dfree = 8 and thus γc = 4 (6 dB).) With 128 or 256 states, one can achieve effective coding gains of the order of 7 dB. ML sequence detection using the Viterbi algorithm is not a big thing for any of these codes.

Page 129: MIT Principal of Digital Communication

133 9.5. PERFORMANCE ANALYSIS OF CONVOLUTIONAL CODES

Table 9.1: Rate-1/2 binary linear convolutional codes

ν dfree γc dB Kb γeff (dB) 1 3 1.5 1.8 1 1.8 2 5 2.5 4.0 1 4.0 3 6 3 4.8 2 4.6 4 7 3.5 5.2 4 4.8 5 8 4 6.0 5 5.6 6 10 5 7.0 46 5.9 6 9 4.5 6.5 4 6.1 7 10 5 7.0 6 6.7 8 12 6 7.8 10 7.1

Table 9.2: Rate-1/3 binary linear convolutional codes

ν dfree γc dB Kb γeff (dB) 1 5 1.67 2.2 1 2.2 2 8 2.67 4.3 3 4.0 3 10 3.33 5.2 6 4.7 4 12 4 6.0 12 5.3 5 13 4.33 6.4 1 6.4 6 15 5 7.0 11 6.3 7 16 5.33 7.3 1 7.3 8 18 6 7.8 5 7.4

Table 9.3: Rate-1/4 binary linear convolutional codes

ν dfree γc dB Kb γeff (dB) 1 7 1.75 2.4 1 2.4 2 10 2.5 4.0 2 3.8 3 13 3.25 5.1 4 4.7 4 16 4 6.0 8 5.6 5 18 4.5 6.5 6 6.0 6 20 5 7.0 37 6.0 7 22 5.5 7.4 2 7.2 8 24 6 7.8 2 7.6

Page 130: MIT Principal of Digital Communication

134 CHAPTER 9. INTRODUCTION TO CONVOLUTIONAL CODES

9.6 More powerful codes and decoding algorithms

We conclude that by use of the optimal VA with moderate-complexity convolutional codes like those in Tables 1-3, we can close about 7 dB of the 12 dB gap between the Shannon limit and uncoded performance at error rates of the order of Pb(E) ≈ 10−6 .

To get closer to the Shannon limit, one uses much longer and more powerful codes with suboptimal decoding algorithms. For instance:

1. Concatenation of an inner code with ML decoding with an outer Reed-Solomon (RS) code with algebraic decoding is a powerful approach. For the inner code, it is generally better to use a convolutional code with VA decoding than a block code.

2. A convolutional code with an arbitrarily long constraint length may be decoded by a recursive tree-search technique called sequential decoding. There exist various sequential de-coding algorithms, of which the fastest is probably the Fano algorithm. In general, sequential algorithms follow the best code path through the code trellis (which becomes a tree for long constraint lengths) as long as the path metric exceeds its expected value for the correct path. When a wrong branch is taken, the path begins to look bad; the algorithm then backtracks and tries alternative paths until it again finds a good one.

The amount of decoding computation is a random variable with a Pareto (power-law) dis-tribution; i.e., Pr(number of computations ≥ N ) N −α . A Pareto distribution has a finite mean when the Pareto exponent α is greater than 1. The rate at which α = 1 is called the computational cut-off rate R0. On the AWGN channel, at low code rates, the computational cut-off rate occurs when Eb/N0 is about 3 dB away from the Shannon limit; thus an effective coding gain of the order of 9 dB can be obtained at error rates of the order of Pb(E) ≈ 10−6 .

3. In the past decade, these techniques have been superseded by capacity-approaching codes such as turbo codes and low-density parity-check codes with iterative decoding. Such powerful coding schemes will be the principal topic of the latter part of this course.

Page 131: MIT Principal of Digital Communication

Chapter 10

Trellis representations of binary linear block codes

We now return to binary linear block codes and discuss trellis representations, particularly minimal trellis representations. The three main reasons for doing so are:

(a) Trellis-based (Viterbi algorithm) decoding is one of the most efficient methods known for maximum-likelihood (ML) decoding of general binary linear block codes;

(b) The complexity of a minimal trellis gives a good measure of the complexity of a code, whereas the parameters (n, k, d) do not;

(c) Trellis representations are the simplest class of graphical representations of codes, which will be a central concept in our later discussion of capacity-approaching codes.

The topic of trellis complexity of block codes was an active research area in the 1990s. We will summarize its main results. For an excellent general review, see [A. Vardy, “Trellis structure of codes,” in Handbook of Coding Theory, Elsevier, 1998.]

10.1 Definition

We saw in the previous chapter that certain binary linear block codes could be represented as terminated convolutional codes, and therefore have trellis representations.

Example 1. (SPC codes) Any (n, n− 1, 2) single-parity-check (SPC) code has a two-state trellisrepresentation like that shown in Figure 1 (see Exercise 9.4).

0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n* * * * � �1� � 1� � 1�� 1� � 1� * *HH1HHHH

HHHHHH

HHH ��1 H 1n�1�� �H 1n - � 1 H 1n

�- � 1 H 1n -j � 1 H 1n

�j � 1 H 1n

�j

HHH0 j 0 - 0 j 0 - 0 j

Figure 1. Two-state trellis for a binary (n, n − 1, 2) single-parity-check code (n = 7).

In this chapter, we will show that all binary linear block codes have trellis (finite-state) repre-sentations. Indeed, we will show how to find minimal trellis representations.

135

Page 132: MIT Principal of Digital Communication

��

136 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

In general, a trellis representation of a block code is a directed graph like that of Figure 1 in which there is one starting state (root) at time 0, one ending state (goal, “toor”) at time N , and state spaces Sk of size greater than one at all N − 1 intermediate times k, 1 ≤ k < N . All edges (branches, state transitions) go from a state at some time k to a state at the next time k + 1. Each edge is labelled by an n-tuple of output symbols. The set of all possible codewords is in one-to-one correspondence with the set of all possible paths through the trellis. The codeword associated with any particular path is the sequence of corresponding n-tuple labels.

Example 2. ((8, 4, 4) RM code.) Figure 2 shows a trellis representation of an (8, 4, 4) binary Reed-Muller code with generators {11110000, 10101010, 11001100, 11111111}. Here two output symbols (bits) are associated with each branch. It can be seen that each of the 16 codewords in this code corresponds to a unique path through this trellis.

*����

HH HHH HHH H-

00*��H

HHH-

j

*��Hj

00 1111 �

�n n 1111

01 01

--

**���H

�H

HHHHHH--jj

jj

**���H

�H

10 10 01 10��

10n n n

��

10

��

��

Figure 2. Four-state trellis for (8, 4, 4) Reed-Muller code.

Given a trellis representation of a block code and a sequence of received symbol log likelihoods, the Viterbi algorithm (VA) may be used to find the trellis path with greatest log likelihood— i.e., to perform ML decoding of the code.

There are various measures of the complexity of a trellis, which are all related to VA decoding complexity. The most common is perhaps the state complexity profile, which is just the sequence of state space sizes. For example, the state complexity profile of the trellis of Figure 1 is {1, 2, 2, 2, 2, 2, 2, 1}, and that of the trellis of Figure 2 is {1, 4, 4, 4, 1}. The state complexity of a trellis is often defined as the maximum state space size; e.g., 2 or 4, respectively, for these two trellises. The branch complexity profile is the sequence of numbers of branches in each section— e.g., {2, 4, 4, 4, 4, 4, 2} and {4, 8, 8, 4} for the trellises of Figures 1 and 2, respectively— and the branch complexity is the maximum number of branches in any section— e.g., 4 or 8, respectively. The complexity of VA decoding is more precisely measured by the branch complexity profile, but any of these measures gives a good idea of VA decoding complexity. 1

10.2 Minimal trellises and the state space theorem

A minimal trellis for a given linear block code will be defined as a trellis that has the minimum possible state space size at each time. It is not immediately clear that there exists a single trellis that minimizes every state space size, but for linear block codes, we will see that there exists a canonical minimal trellis with this property. It turns out that the canonical minimal trellis also minimizes every other trellis complexity measure, including VA decoding complexity, so that we need not worry whether we are minimizing the right quantity.

1The most precise measure of VA decoding complexity is 2|E|− |V |+ 1, where |E| and |V | denote the numbers of edges and vertices in the graph of the trellis, respectively.

-- -n n n @

00 �

R-Hj@@

@00nHHH1100 0011 n 01HHHHj

*������ - -- -n n n n

10 01 01

Page 133: MIT Principal of Digital Communication

10.2. MINIMAL TRELLISES AND THE STATE SPACE THEOREM 137

10.2.1 The state space theorem for linear block codes

The state space theorem is an easy but fundamental theorem that sets a lower bound on the state space size of a trellis for a linear block code at any time, and also indicates how to construct a canonical minimal trellis. For simplicity, we will prove it here only for binary linear block codes, but it should be clear how it generalizes to arbitrary linear codes. (In fact, it generalizes to arbitrary codes over groups.)

The reader should think of a trellis as defining a state-space realization of a time-varying finite-state discrete-time linear system, where these terms are used as in system theory. The time axis I of the system is some subinterval of the integers Z; e.g., a finite subinterval I = [0, N ] ⊆ Z.

In a state-space realization, a state space Sk is defined at each time k ∈ I. The defining property of a state space is the Markov property :

Markov property. The state space Sk of a system at time k has the Markov property if, given that the system is in a certain state sk ∈ Sk at time k, its possible future trajectories depend only on sk and not otherwise on the previous history of the system. In other words, the state sk ∈ Sk is a sufficient statistic for the past with respect to prediction of possible futures.

Let the past at time k be the set P = (−∞, k) ∩ I of time indices in I prior to time k, and the future at time k be the set F = [k,∞) ∩I of time indices at time k or later. Given a linear code C, the state space theorem may be expressed in terms of certain linear codes defined on the past P and future F , as follows.

Given any subset J ⊆ I, the subcode CJ is defined as the set of codewords whose components are equal to 0 on the complement of J in I. It is possible to think of CJ either as a code of length |J | or as a code of length |I| in which all symbols not in J equal 0. It should be clear from the context which of these two viewpoints is used.

The subcode CJ is evidently a subset of the codewords in C that has the group property, and therefore is a linear code. In coding theory, CJ is called a shortened code of C. Because CJ ⊆ C, the minimum Hamming distance of CJ is at least as great as that of C.

Similarly, given J ⊆ I, the projection C|J is defined as the set of all projections of codewords of C onto J . By projection, we mean either zeroing of all coordinates whose indices are not in J , or throwing away (puncturing) all such coordinates. Correspondingly, it is possible to think of C|J either as a code of length |J | or as a code of length |I| in which all symbols not in J equal 0. In coding theory, C|J is called a punctured code of C.

The projection C|J evidently inherits the group property from C, and therefore is also a linear code defined on J . Moreover, CJ is evidently a subcode of C|J .

Example 2 (cont.) For the (8, 4, 4) code illustrated in Figure 2, regarding the “past” as the first two time units or first four bits, the subcode CP consists of the two codewords CP = {00000000, 11110000}. This code may be regarded as effectively a (4, 1, 4) binary repetition code defined on the past subinterval P = [0, 1, 2, 3]. The projection on this subinterval is the set C|P = {0000, 0011, 1100, 1111, 0101, 0110, 1001, 1010}, which is a (4, 3, 2) binary linear SPC code that has the (4, 1, 4) code as a subcode.

Now for any time k ∈ I, let P and F denote the past and future subintervals with respect to k, and let CP , C|P , CF and C|F be the past and future subcodes and projections, respectively.

Page 134: MIT Principal of Digital Communication

138 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

Then C must have a generator matrix of the following form: ⎡ ⎤

G(CP ) 0 ⎣ 0 G(CF ) ,⎦

G(C|P /CP ) G(C|F /CF )

where [G(CP ), 0] is a generator matrix for the past subcode CP , [0, G(CF )] is a generator matrix for the future subcode CF , and [G(C|P /CP ), G(C|F /CF )] is an additional set of linearly indepen-dent generators that together with [G(CP ), 0] and [0, G(CF )] generate C. Moreover, it is clear from the form of this generator matrix that G(CP ) and G(C|P /CP ) together generate the past projection C|P , and that G(CF ) and G(C|F /CF ) generate the future projection C|F .

The state code S will be defined as the linear code generated by this last set of generators, [G(C|P /CP ), G(C|F /CF )]. The dimension of the state code is evidently

dim S = dim C − dim CP − dim CF .

Moreover, by the definitions of CP and CF , the state code cannot contain any codewords that are all-zero on the past or on the future. This implies that the projections S|P and S|F on the past and future are linear codes with the same dimension as S, so we also have

dim S = dim S|P = dim C|P − dim CP ; dim S = dim S|F = dim C|F − dim CF .

Example 2 (cont.) Taking P as the first four symbols and F as the last four, the (8, 4, 4) code has a generator matrix ⎡ ⎤

1111 0000 ⎥⎢ 0000 1111 ⎢ ⎥ ⎦⎣ 1010 1010

.

1100 1100

Here the state code S is generated by the last two generators and has dimension 2. The past and future projections of the state code evidently also have dimension 2.

In view of the generator matrix above, any codeword c ∈ C may be expressed uniquely as the sum of a past codeword cP ∈ CP , a future codeword cF ∈ CF , and a state codeword s ∈ S. We then say that the codeword c is associated with the state codeword s. This allows us to conclude that the state codewords have the Markov property, and thus may be taken as states:

Lemma 10.1 (Markov property) For all codewords c ∈ C that are associated with a given state codeword s ∈ S, the past projection c|P has the same set of possible future trajectories. On the other hand, if two codewords c and c′ are associated with different state codewords, then the sets of possible future trajectories of c|P and c′ |P are disjoint.

Proof. If c is associated with s, then c = cP + cF + s for some cP ∈ CP and cF ∈ CF . Hence c|P = (cP )|P + s|P and c|F = (cF )|F + s|F . Thus, for every such c|P , the set of possible future trajectories is the same, namely the coset CF + s|F = {(cF )|F + s|F | cF ∈ CF }.

If c and c′ are associated with different state codewords s and s′, then the sets of possible future trajectories are CF + s|F and CF + s′ |F , respectively; these cosets are disjoint because the difference s|F − s′ |F is not a codeword in CF .

In other words, a codeword c ∈ C is in the coset CP + CF + s if and only if c|P ∈ C|P is in the coset CP + s|P and c|F ∈ C|F is in the coset CF + s|F .

Page 135: MIT Principal of Digital Communication

⋃ ( ) ( )

139 10.2. MINIMAL TRELLISES AND THE STATE SPACE THEOREM

This yields the following picture. The set of past projections associated with a given state codeword s is CP + s|P = {(cP )|P + s|P | cP ∈ CP }. For any past projection in this set, we have the same set of possible future trajectories, namely CF + s|F . Moreover, these past and future subsets are disjoint. Therefore the entire code may be written as a disjoint union of Cartesian products of past and future subsets:

C = CP + s|P × CF + s|F . s∈S

n CP

n������ 0 CF (4, 1, 4) ���

(4, 1, 4)�PP PPPP������� n�

HHHHHHHH�nCP + s|P CF + s|F n � (4, 1, 4) + 1100(4, 1, 4) + 1100

XXXXXXX�· · · n n· · · �� ���� XXXXXXX ������� nPPPPPP

sn(4, 1, 4) + 1010 (4, 1, 4) + 1010 n (4, 1, 4) + 0110 n(4, 1, 4) + 0110

Figure 3. (a) Two-section trellis for generic code; (b) two-section trellis for (8, 4, 4) code.

Figure 3(a) is a two-section trellis that illustrates this Cartesian-product decomposition for a general code. The states are labelled by the state codewords s ∈ S to which they correspond. Each edge represents an entire set of parallel projections, namely CP +s|P for past edges and CF + s|F for future edges, and is therefore drawn as a thick line. The particular path corresponding to s = 0 is shown, representing the subcode CP + CF , as well as a generic path corresponding to a general state s, representing CP + CF + s.

Example 2 (cont.) Figure 3(b) is a similar illustration for our running example (8, 4, 4) code. Here CP = CF = (4, 1, 4) = {0000, 1111}, so each edge represents two paths that are binary complements of one another. The reader should compare Figure 3(b) to Figure 2 and verify that these two trellises represent the same code.

It should now be clear that the code C has a trellis representation with a state space Sk at time k that is in one-to-one correspondence with the state code S, and it has no trellis representation with fewer states at time k. Indeed, Figure 3(a) exhibits a two-section trellis with a state space Sk such that |Sk| = |S|. The converse is proved by noting that no two past projections c|P , c′

that do not go to the same state in Figure 3(a) can go to the same state in any trellis for |PC,

because by Lemma 10.1 they must have different sets of future continuations.

We summarize this development in the following theorem:

Theorem 10.2 (State space theorem for binary linear block codes) Let C be a binary linear block code defined on a time axis I = [0, N ], let k ∈ I, and let CP , C|P , CF and C|F be the past and future subcodes and projections relative to time k, respectively. Then there exists a trellis representation for C with |Sk | = 2(dim S) states at time k, and no trellis representation with fewer states, where dim S is given by any of the following three expressions:

dim S = dim C − dim CP − dim CF ; = dim C|P − dim CP ; = dim C|F − dim CF .

We note that if we subtract the first expression for dim S from the sum of the other two, then we obtain yet another expression:

dim S = dim C|P + dim C|F − dim C.

Page 136: MIT Principal of Digital Communication

140 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

Exercise 1. Recall the |u|u + v| construction of a Reed-Muller code RM(r,m) with length n = 2m and minimum distance d = 2m−r :

RM(r,m) = {(u,u + v) | u ∈ RM(r,m − 1),v ∈ RM(r − 1, m − 1)}. Show that if the past P is taken as the first half of the time axis and the future F as the second half, then the subcodes CP and CF are both effectively equal to RM(r − 1, m − 1) (which has the same minimum distance d = 2m−r as RM(r,m)), while the projections C|P and C|F are both equal to RM(r,m− 1). Conclude that the dimension of the minimal central state space of RM(r,m) is

dim S = dim RM(r,m − 1) − dim RM(r − 1, m − 1).

Evaluate dim S for all RM codes with length n ≤ 32.

Similarly, show that if the past P is taken as the first quarter of the time axis and the future F as the remaining three quarters, then the subcode CP is effectively equal to RM(r−2, m−2), while the projection C|P is equal to RM(r,m − 2). Conclude that the dimension of the corresponding minimal state space of RM(r,m) is

dim S = dim RM(r,m − 2) − dim RM(r − 2, m − 2).

Using the relation dim RM(r,m) = dim RM(r,m − 1) + dim RM(r − 1, m − 1), show that dim RM(r,m− 2) − dim RM(r − 2, m− 2) = dim RM(r,m− 1) − dim RM(r − 1, m− 1).

Exercise 2. Recall that the dual code to a binary linear (n, k, d) block code C is defined as the orthogonal subspace C⊥, namely the set of of all n-tuples that are orthogonal to all codewords in C, and that C⊥ is a binary linear block code whose dimension is dim C⊥ = n − k.

Show that for any partition of the time axis I of C into past P and future F , the subcode (C⊥)P is equal to the dual (C|P )⊥ of the projection C|P , and vice versa. [Hint: notice that (a,0) is orthogonal to (b, c) if and only if a is orthogonal to b.]

Conclude that the minimal state spaces of C and C⊥ at any time k have the same size.

10.2.2 Canonical minimal trellis representation

We now show that we can construct a single trellis for C such that the state space is minimal according to the state space theorem at each time k.

The construction is straightforwardly based on the development of the previous subsection. We define a state space Sk at each time k ∈ I = [0, N ] corresponding to the state code S at time k. Note that S0 is trivial, because C|F = CF = C, so dim S0 = 0; similarly dim SN = 0.

Every codeword c ∈ C passes through a definite state in Sk corresponding to the state codeword s ∈ S in the unique decomposition c = cP + cF + s. It thus goes through a well-defined sequence of states (s0, s1, . . . , sN ), which defines a certain path through the trellis. Each edge in each such path is added to the trellis. The result must be a trellis representation of C.

Example 1 (cont.) We can now see that the two-state trellis of Figure 1 is a canonical minimal trellis. For each time k, 0 < k < N , CP is the set of all even-weight codewords that are all-zero on F , which is effectively a (k, k−1, 2) SPC code, and C|P is the universe (k, k, 1) code consisting of all binary k-tuples. There are thus two states at each time k, 0 < k < N , one reached by all even-weight pasts, and the other by all odd-weight pasts. A given codeword passes through a well-defined sequence of states, and makes a transition from the zero (even) to the nonzero (odd) state or vice versa whenever it has a symbol equal to 1.

Page 137: MIT Principal of Digital Communication

141 10.2. MINIMAL TRELLISES AND THE STATE SPACE THEOREM

Example 2 (cont.) Similarly, the four-state trellis of Figure 2 is a canonical minimal trellis. For k = 1, CP is the trivial (2, 0,∞) code, so each of the four past projections at time k = 1 leads to a different state. The same is true at time k = 3 for future projections. Each of the 16 codewords goes through a well-defined state sequence (s0, s1, s2, s3, s4), and the set of all these sequences defines the trellis.

10.2.3 Trellis-oriented generator matrices

It is very convenient to have a generator matrix for C from which a minimal trellis for C and its parameters can be read directly. In this subsection we define such a generator matrix, show how to find it, and give some of its properties.

The span of a codeword will be defined as the interval from its first to last nonzero symbols. Its effective length will be defined as the length of this span.

A trellis-oriented (or minimum-span) generator matrix will be defined as a set of k = dim C linearly independent generators whose effective lengths are as short as possible.

Concretely, a trellis-oriented generator matrix may be found by first finding all codewords with effective length 1, then all codewords of effective length 2 that are not linearly dependent on codewords of effective length 1, . . . , all codewords of effective length i that are not linearly dependent on codewords of lower effective length, . . . , until we have k independent generators.

The following theorem shows how to check whether a given generator matrix is trellis-oriented, and also suggests how to reduce any given generator matrix to one that is trellis-oriented.

Theorem 10.3 (Trellis-oriented generator matrices) A set of k linearly independent gen-erators is a trellis-oriented generator matrix if and only if the starting times of all spans are distinct and the ending times of all spans are distinct.

Proof. If all starting times and ending times are distinct, then given a linear combination (with nonzero coefficients) of a certain subset of generators, the starting time and ending time of the combination are the least and greatest starting and ending times of the given subset of generators. It follows that the generators that combine to form any non-generator codeword have effective lengths no greater than the effective length of that codeword, so the given generators are indeed a set of generators whose effective lengths are as short as possible.

Conversely, if two starting or ending times are not distinct, then the sum of the two corre-sponding generators is a codeword whose effective length is shorter than that of at least one of the two generators. If this generator is replaced by this codeword, then we obtain a set of linearly independent generators of which one has a shorter effective length, so the original set was not trellis-oriented.

The second part of the proof suggests a simple greedy algorithm for finding a trellis-oriented generator matrix from a given generator matrix. If the starting or ending times of two generators in the given matrix are not distinct, then replace the generator with greater effective length by the sum of the two generators, which must necessarily have a shorter effective length. This algorithm reduces the aggregate effective length in each step, and therefore must terminate after a finite number of steps in a trellis-oriented generator matrix.

Page 138: MIT Principal of Digital Communication

142 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

Example 2 (cont.) The standard generator matrix for the (8, 4, 4) RM code is as follows: ⎡ ⎤

1111 0000 ⎥⎢ 1010 1010 ⎢ ⎥ ⎦⎣ 1100 1100

.

1111 1111

The ending times are all distinct, but the starting times are all the same. Adding the first generator to all others results in ⎡

1111 0000⎤

⎥⎢ 0101 1010 ⎢ ⎥ ⎦⎣ 0011 1100 .

0000 1111

All starting and ending times are now distinct, so this generator matrix is trellis-oriented.

Exercise 3. Consider the following generator matrix for the (16, 5, 8) RM code, which follows directly from the |u|u + v| construction:

⎡ 1111111100000000

⎢ 1111000011110000 ⎥ ⎢ ⎥ ⎥⎢ 1100110011001100 . ⎢ ⎥ ⎦⎣ 1010101010101010 1111111111111111

Convert this generator matrix to a trellis-oriented generator matrix.

Exercise 4 (minimum-span generators for convolutional codes).

(a) Let C be a rate-1/n binary linear convolutional code generated by a rational n-tuple g(D), and let g′(D) be the canonical polynomial n-tuple that generates C. Show that the generators {Dkg′(D), k ∈ Z} are a set of minimum-span generators for C.

(b) Show that the greedy algorithm of Section 9.2.4 chooses a set of minimum-span generators for a rate-k/n binary linear convolutional code.

The key property of a trellis-oriented generator matrix, used in the first part of the proof of Theorem 10.3, is that the starting and ending times of a linear combination (with nonzero coefficients) of a subset of generators are the earliest and latest starting times of the component generators, respectively. We state this important observation as a lemma:

Lemma 10.4 (Generators for subcodes) Given a trellis-oriented generator matrix for a linear code C, if [k, k′] ⊆ I is any subinterval of the time axis I, then the subcode C[k,k�] is the set of all linear combinations of generators whose spans are contained in [k, k′].

Thus the dimensions of each past and future subcode may be read directly from a trellis-oriented generator matrix. Moreover, for any partition into past and future, the state subcode S is generated by those generators which lie neither wholly in the past nor wholly in the future. The dimension of the minimal state space is the number of such active generators.

Page 139: MIT Principal of Digital Communication

143 10.2. MINIMAL TRELLISES AND THE STATE SPACE THEOREM

Example 1 (cont.) A trellis-oriented generator matrix for the (7, 6, 2) SPC code of Figure 1 is ⎡ ⎤

1100000 ⎢ 0110000 ⎥ ⎢ ⎥ ⎥⎢ 0011000 ⎢ ⎥ ⎥⎢ 0001100

. ⎢ ⎥ ⎦⎣ 0000110

0000011

At each cut time k, only one generator is active, so each state space Sk has dimension 1.

Example 2 (cont.) For the (8, 4, 4) code, we constructed the following trellis-oriented generator matrix: ⎡

1111 0000 ⎤

⎢ 0101 1010 ⎥ ⎢ ⎣ 0011 1100 ⎥ ⎦ .

0000 1111

There are two active generators at each of the three cut times corresponding to a nontrivial state space in the trellis of Figure 2, so the four-state trellis of Figure 2 is minimal.

Notice from this matrix that the complete state complexity profile of a minimal 8-section trellis for this code is as follows: {1, 2, 4, 8, 4, 8, 4, 2, 1}. The maximum state complexity is 8, so a 4-section trellis somewhat masks the state complexity of a full minimal trellis.

Exercise 3 (cont.). For the (16, 5, 8) code given earlier, determine the state complexity profileof a minimal trellis.

Exercise 5. (Trellis complexity of MDS codes, and the Wolf bound)

Let C be a linear (n, k, d = n − k + 1) MDS code over a finite field Fq. Using the property that in an MDS code there exist q − 1 weight-d codewords with support J for every subset J ⊆ I of size |J | = d, show that a trellis-oriented generator matrix for C must have the following form:

⎡ xxxx0000

⎢ 0xxxx000 ⎥ ⎢ ⎥ ⎥⎢ 00xxxx00 , ⎢ ⎥ ⎦⎣ 000xxxx0 0000xxxx

where xxxx denotes a span of length d = n − k + 1, which shifts right by one position for each of the k generators (i.e., from the interval [1, n − k + 1] to [k, n]).

For example, show that binary linear (n, n − 1, 2) and (n, 1, n) block codes have trellis-oriented generator matrices of this form.

Conclude that the state complexity profile of any (n, k, d = n − k + 1) MDS code is

2{1, q, q , . . . , |S|max, |S|max, . . . , q 2 , q, 1},

where |S|max = qmin(k, n−k).

Using the state space theorem and Exercise 2, show that this is the worst possible state complexity profile for a (n, k) linear code over Fq. This is called the Wolf bound.

Page 140: MIT Principal of Digital Communication

144 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

10.2.4 Branch complexity

Most of the work on trellis complexity has focussed on state complexity. However, branch complexity is in some respects more fundamental. It is a better measure of Viterbi algorithm decoding complexity. Also, as we shall see, it cannot be reduced by sectionalization.

The time axis for branches is not the same as the time axis I = [0, N ] for states. Branches occur at symbol times, whereas states occur between symbol times. Thus there are only N branch times, say [0, N), whereas there are N + 1 state times.

A branch at time k may be identified by a triple (sk , ck , sk+1), where (sk , sk+1) is a valid state transition, and ck is a valid code symbol that may be generated during that transition. Thus there may be more than one branch (parallel transition) associated with a given state transition, if there is more than one output possible during that transition. The branch space at time k is the set of all possible branches, Bk = {(sk , ck , sk+1)}.

Theorem 10.5 (Branch space theorem) Let C be a binary linear block code defined on a time axis I = [0, N ]. Then in any minimal trellis for C, for any k ∈ I, the branch space Bk = {(sk , ck , sk+1)} is a linear vector space with dimension

dim Bk = dim C − dim C[0,k) − dim C[k+1,N ).

where C|[0,k) and C|[k+1,N ) are the subcodes defined on [0, k) and [k + 1, N), respectively.

Proof In a minimal trellis, the state spaces Sk and Sk+1 are linear vector spaces of minimum dimension. The set of all codewords that pass through a given branch (sk , ck , sk+1) is the set that have a past projection c|P = (cP )|P + s|P consistent with the state sk associated with s|P , a projection c|{k} at time k equal to ck , and a future projection (with respect to time k + 1) c|F = (cF )|F + s|F consistent with the state sk+1 associated with s|P . Thus two codewords go through the same branch at time k if and only if they differ only by an element of the past subcode C[0,k) and/or an element of the future subcode C[k+1,N ). It follows that the branch space is a linear vector space with dimension dim Bk = dim C − dim C[0,k) − dim C[k+1,N ).

Since dim C[0,k) is equal to the number of generators in a trellis-oriented generator matrix whose span lies in [0, k), and dim C[k+1,N ) is the number that lie in [k + 1, N), we can read the branch complexity profile by inspection from a trellis-oriented generator matrix. In other words, dim Bk

is equal to the number of trellis-oriented generators that are active at symbol time k.

Example 2 (cont.) For the (8, 4, 4) code, the trellis-oriented generator matrix given above shows that the branch complexity profile of a minimal 8-section trellis is as follows: {2, 4, 8, 8, 8, 8, 4, 2}. The maximum branch complexity is 8, which here equals the maximum state complexity.

Exercise 3 (cont.) Find the branch complexity profile of a minimal trellis for the (16, 5, 8) code.

10.2.5 Average dimension bounds, and asymptotics

Each generator in a trellis-oriented generator matrix contributes one dimension to the state and branch spaces during the time that it is active; i.e., between its start and its end. More precisely, if its span has length L, then it contributes to L − 1 state spaces and L branch spaces.

The one-dimensional code generated by each generator may in fact be realized by a small time-varying state machine that has a state space of size 1 when it is inactive and of size 2 when it is active, illustrated for the generator 11110000 in Figure 4.

Page 141: MIT Principal of Digital Communication

10.3. THE PERMUTATION AND SECTIONALIZATION PROBLEMS 145

0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n 0 - 0n��HH1H �*

j � 1H 1n 1 - 1n 1 - 1n

Figure 4. Two-state trellis for the one-dimensional code generated by the generator 11110000.

A minimal trellis is in effect the “product” of component trellises of this type, with the minimal state space at each time being the Cartesian product of the state spaces of each of the component trellises, and the branch space the product of the component branch spaces.

It follows that the sum of the dimensions of all state spaces is equal to the sum of the effective lengths of all generators, and the sum of the dimensions of all branch spaces is equal to the sum of the span lengths. Since each of the k generators must have span length at least d and effective length at least d − 1, the sum of the branch space dimensions must be at least kd, and the sum of the state space dimensions must be at least k(d − 1).

Since there are n branch spaces and n − 1 nontrivial state spaces, the average branch space dimension must be at least kd/n, and the average nontrivial state space dimension must be at least k(d − 1)/(n − 1). Since the maximum dimension must be at least as large as the average dimension, this implies the following average dimension bounds:

|B|max ≥ 2kd/n; |S|max ≥ 2k(d−1)/(n−1).

Note that we may write the branch complexity bound as |B|max ≥ 2γc , where γc = kd/n is the nominal coding gain of a binary (n, k, d) code on an AWGN channel. Although rarely tight, this bound is reasonably indicative for small codes; e.g., a branch complexity of at least 4 is required to get a nominal coding gain of γc = 2 (3 dB), 16 to get γc = 4 (6 dB), and 256 to get γc = 8 (9 dB). This bound applies also to convolutional codes. The convolutional code tables show that it gives a good idea of how many states are needed to get how much nominal coding gain.

Asymptotically, this implies that, given any “good” sequence of codes such that n → ∞ with d/n and k/n both bounded above zero, both the branch and state complexity must increase exponentially with n. Thus if codes are “good” in this sense, then their “complexity” (in the sense of minimal VA decoding complexity) must increase exponentially with n.

However, note that to approach the Shannon limit, the nominal coding gain γc = kd/n needs only to be “good enough,” not necessarily to become infinite with increasing n. In more classical coding terms, we need the minimum distance d to be “large enough,” not arbitrarily large. Therefore capacity-approaching codes need not be “good” in this sense. Indeed, turbo codes have poor minimum distances and are not “good” in this sense.

10.3 The permutation and sectionalization problems

The astute reader will have observed that the minimal trellis for a linear code C that was found in the previous section assumes a given coordinate ordering for C. On a memoryless channel, the performance of a code C is independent of the coordinate ordering, so two codes that differ only by a coordinate permutation are often taken to be equivalent. This raises a new question: what is the minimal trellis for C over all permutations of its coordinates?

Another point that has not been explicitly addressed previously is whether to take code symbols (bits) one at a time, two at a time, or in some other manner; i.e., how to divide the code trellis into sections. This will affect the trellis appearance and (slightly) how the VA operates.

Page 142: MIT Principal of Digital Communication

146 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

In this section we address these two problems. Permutations can make a big difference in trellis complexity, but finding the optimum permutation is intractable (NP-hard). Nonetheless, a few results are known. Sectionalization typically makes little difference in trellis complexity, but optimum sectionalization is fairly easy.

10.3.1 The permutation problem

Finding the optimum coordinate permutation from the point of view of trellis complexity is the only substantive outstanding issue in the field of trellis complexity of linear codes. Since little is known theoretically about this problem, it has been called “the art of trellis decoding” [Massey].

To illustrate that coordinate permutations do make a difference, consider the (8, 4, 4) code that we have used as a running example. As an RM code with a standard coordinate ordering, we have seen that this code has state complexity profile {1, 2, 4, 8, 4, 8, 4, 2, 1}. On the other hand, consider the equivalent (8, 4, 4) code generated by the following trellis-oriented generator matrix: ⎡ ⎤

11101000 ⎥⎢ 01110100 ⎢ ⎥ ⎦⎣ 00111010

.

00010111

We see that the state complexity profile of this code is {1, 2, 4, 8, 16, 8, 4, 2, 1}, so its maximum state space size is 16.

In general, generator matrices that have a “cyclic” structure have poor state complexity pro-files. For example, Exercise 5 shows that a trellis-oriented generator matrix for an MDS code always has such a structure, so an MDS code has the worst possible state complexity profile.

Finding the coordinate permutation that minimizes trellis complexity has been shown to be an NP-hard problem. On the other hand, various fragmentary results are known, such as:

• The Muder bound (see next subsection) applies to any coordinate permutation.

• The optimum coordinate ordering for RM codes is the standard coordinate ordering that results from the |u|u + v| construction.

• A standard coordinate ordering for the (24, 12, 8) binary Golay code achieves the Muder bound on the state complexity profile (see Exercise 6, below) everywhere.

10.3.2 The Muder bound

The Muder bound is a simple lower bound which shows that certain trellises have the smallest possible state space sizes. We show how this bound works by example.

Example 2 (cont.) Consider the (8, 4, 4) code, with the first and last 4-tuples regarded as the past and future. The past subcode CP is then effectively a binary linear block code with length 4 and minimum distance at least 4. An upper bound on the largest possible dimension for such a code is dim CP ≤ 1, achieved by the (4, 1, 4) repetition code. A similar argument holds for the future subcode CF . Thus the dimension of the state code S is lowerbounded by

dim S = dim C − dim CP − dim CF ≥ 4 − 1 − 1 = 2.

Thus no (8, 4, 4) code can have a central state space with fewer than 4 states.

Page 143: MIT Principal of Digital Communication

147 10.3. THE PERMUTATION AND SECTIONALIZATION PROBLEMS

Example 3 Consider any (32, 16, 8) binary linear block code. If we partition the time axis into two halves of length 16, then the past subcode CP is effectively a binary linear block code with length 16 and minimum distance at least 8. An upper bound on the largest possible dimension for such a code is dim CP ≤ 5, achieved by the (16, 5, 8) biorthogonal code. A similar argument holds for the future subcode CF . Therefore dim S is lowerbounded by

dim S = dim C − dim CP − dim CF ≥ 16 − 5 − 5 = 6.

Thus no (32, 16, 8) code can have a central state space with fewer than 64 states. Exercise 1 showed that the (32, 16, 8) RM code has a trellis whose central state space has 64 states.

In general, define kmax(n, d) as the largest possible dimension of code of length n and minimum distance d. There exist tables of kmax(n, d) for large ranges of (n, d). The Muder bound is then (with k denoting the time index k and dim C denoting the dimension of C):

dim Sk ≥ dim C − kmax(k, d) − kmax(n − k, d).

Similarly, for branch complexity, we have the Muder bound

dim Bk ≥ dim C − kmax(k − 1, d) − kmax(n − k, d).

Exercise 6. The maximum possible dimension of a binary linear (n, k, d ≥ 8) block code is

kmax = {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12}

for n = {1, 2, . . . , 24}, respectively. [These bounds are achieved by (8, 1, 8), (12, 2, 8), (16, 5, 8) and (24, 12, 8) codes and shortened codes thereof.] Show that the best possible state complexity profile of any (24, 12, 8) code (known as a binary Golay code) is

{1, 2, 4, 8, 16, 32, 64, 128, 64, 128, 256, 512, 256, 512, 256, 128, 64, 128, 64, 32, 16, 8, 4, 2, 1}.

Show that the best possible branch complexity profile is

{2, 4, 8, 16, 32, 64, 128, 128, 128, 256, 512, 512, 512, 512, 256, 128, 128, 128, 64, 32, 16, 8, 4, 2}.

A standard coordinate ordering that achieves both these bounds exists.

10.3.3 The sectionalization problem

The sectionalization problem is the problem of how many symbols to take at a time in the construction of a trellis. For example, we have seen that if we take one symbol at a time with our example (8, 4, 4) code, then we obtain a state complexity profile of {1, 2, 4, 8, 4, 8, 4, 2, 1} and a branch complexity profile of {2, 4, 8, 8, 8, 8, 4, 2}, whereas if we take two symbols at a time we obtain a state complexity profile of {1, 4, 4, 4, 1} and a branch complexity profile of {4, 8, 8, 4}. The latter trellis has less apparent state complexity and a nicer-looking trellis, but its branch complexity is not significantly less.

Sectionalization affects to some degree the order of operations in VA decoding. For example, taking symbols two at a time means that the VA computes metrics of pairs of symbols before making comparisons. For the two trellises that we have considered for the (8, 4, 4) code, it is apparent that this makes no material difference in VA decoding complexity.

Page 144: MIT Principal of Digital Communication

148 CHAPTER 10. TRELLIS REPRESENTATIONS OF BLOCK CODES

Sectionalization may reduce the apparent state complexity, as we have seen. In fact, if the whole trellis is clustered into one section, then the state complexity profile becomes {1, 1}.

However, clustering cannot reduce and may increase branch complexity. For example, with a one-section trellis, there are 2k parallel transitions from the starting to the ending state.

To prove this, we generalize the branch space theorem from intervals {k} = [k, k + 1) of length 1 to general clustered intervals [k, k′). A branch is then identified by a triple (sk , c|[k,k�), sk� ), where sk ∈ Sk, sk� ∈ Sk� , and c|[k,k�) is the projection of a codeword onto the interval [k, k′). The branch space B[k,k�) is the set of all such branches such that there exists a codeword c that passes through states (sk , sk� ) and has the projection c|[k,k�).

By a similar argument to that in the proof of Theorem 10.5, we can conclude that in a minimal trellis two codewords go through the same branch in B[k,k�) if and only if they differ only by an element of the past subcode C[0,k) and/or an element of the future subcode C[k�,N ). This implies that the branch space B[k,k�) is a linear vector space with dimension

dim B[k,k�) = dim C − dim C[0,k) − dim C[k�,N ).

Since dim C[0,k) is nonincreasing with decreasing k, and dim C[k�,N ) is nonincreasing with increas-ing k′, this shows that dim B[k,k�) ≥ dim B[κ,κ�) for [κ, κ′) ⊆ [k, k′); in other words,

Theorem 10.6 Clustering cannot decrease branch complexity.

A good elementary rule for sectionalization is therefore to cluster as much as possible with-out increasing branch complexity. A heuristic rule for clustering as much as possible without increasing branch complexity is therefore as follows:

Heuristic clustering rule: Extend sections toward the past as long as dim C[0,k) does not decrease, and toward the future as long as dim C(k�)+ does not decrease; i.e., to the past up to the next trellis-oriented generator stop time, and to the future up to the next trellis-oriented generator start time.

Example 2 (cont.) For our example (8, 4, 4) code, the time-3 section may be extended back to the beginning and the time-4 section to the end without violating our rule, so the optimum sectionalization has just one boundary, at the center of the trellis— i.e., we take symbols four at a time, as in Figure 3(b). The state complexity profile with this sectionalization is {1, 4, 1}, and the branch complexity profile is {8, 8}, so this sectionalization simplifies the state complexity profile as much as possible without increasing the maximum branch complexity.

Exercise 6 (cont.). Assuming that an optimum coordinate ordering for the (24, 12, 8) binary Golay code exists such that the Muder bounds are met everywhere (it does), show that applica-tion of our heuristic clustering rule results in section boundaries at k = {0, 8, 12, 16, 24}, state complexity profile {0, 64, 256, 64, 0} and branch complexity profile {128, 512, 512, 128}.

Lafourcade and Vardy have shown that, for any reasonable definition of optimality, there exists a polynomial-time algorithm for optimal sectionalization. They further observe that the following simple rule appears always to yield the optimal sectionalization:

LV rule: Between any time when branches merge and the next subsequent time when branches diverge in an unclustered trellis, insert one and only one section boundary.

The LV rule and our rule give the same sectionalizations for the (8, 4, 4) and (24, 12, 8) codes.

Page 145: MIT Principal of Digital Communication

Chapter 11

Codes on graphs

In this chapter we will introduce the subject of codes on graphs. This subject forms an intellec-tual foundation for all known classes of capacity-approaching codes, including turbo codes and low-density parity-check (LDPC) codes.

There are many styles of graphical realizations of codes; e.g., parity-check realizations (Tanner graphs), generator realizations, and trellis (state) realizations. More generally, we consider “behavioral” realizations, in which the time axis of a trellis realization is replaced by a general unordered graph.

We will first consider elementary linear behavioral realizations, in which the constraints are given by sets of linear equations. We then generalize to cases in which the constraints are given by linear codes. We show how behavioral realizations may be naturally represented by graphical models of various types: in particular, Tanner graphs and normal (Forney) graphs. More general classes of graphical models (e.g., factor graphs, Maarkov graphs, block diagrams, and Bayesian networks) are discussed briefly in an Appendix.

Finally, we develop some elementary but important properties of graphical realizations, par-ticularly the cut-set bound, which builds on the state space theorem.

11.1 Elementary realizations of linear block codes

We continue to restrict attention to linear (n, k) block codes over a finite field Fq . So far we have seen several general methods of characterizing such codes:

• By a set of k generators {gj , 1 ≤ j ≤ k}. The code C is then the set of all linear combinations

i uigi of the generators over Fq .

• By a set of n − k generators {hj , 1 ≤ j ≤ n − k} for the dual code C⊥ . The code C is then the set of all n-tuples y ∈ (Fq )n such that 〈y, hj 〉 = 0 for all j.

• By a trellis (state-space) realization. The code is then the set of all n-tuples corresponding to paths through the trellis.

149

Page 146: MIT Principal of Digital Communication

150 CHAPTER 11. CODES ON GRAPHS

We will see that these realizations are all special cases of a general class of realizations called behavioral realizations (from the behavioral approach to system theory pioneered by Willems). In general, a behavioral realization defines a code by a set of constraints that the code symbols and other auxiliary state variables must satisfy.

For linear codes, we need consider only linear behavioral realizations, where the variables are over a field and the constraints are linear. In the simplest case, the variables are field elements and the constraints are linear equations involving the variables. In the general case, the variables can be vector spaces over the field, and the constraints are expressed in terms of linear codes.

11.1.1 Elementary linear behavioral realizations

The elements of an elementary linear behavioral realization of a linear (n, k, d) block code over Fq are as follows:

• The n code symbols y = {yi ∈ Fq , i ∈ I}, where I denotes the symbol index set.

• An additional set of s auxiliary variables s = {sj ∈ Fq , j ∈ J }, often called state (hidden, latent, unobserved) variables, where the state variable index set J may be unrelated to I.

• A set of e linear homogeneous equations over Fq involving the components of the symbol and state variables, called the constraint equations.

The full behavior B generated by the realization is the set of all combinations (y, s) (called trajectories ) of symbol and state variables that satisfy all constraint equations. The code C generated by the realization is the set of all symbol n-tuples y that appear in any trajectory (y, s) ∈ B; i.e., such that there exists some set s of state variables such that (y, s) ∈ B.

In general, the e linear homogeneous constraint equations may be written in matrix form as

yA + sB = 0,

where y is a row n-tuple of symbols, s is a row s-tuple of state variable components, and A and B are n × e and s × e Fq -matrices, respectively. The set B of all solutions (y, s) to such a set of equations is a subspace of the vector space (Fq )n+s of dimension dim B ≥ n + s − e, with equality if and only if all equations are linearly independent.

The code C is the projection of B onto its first n components. The dimension of C is equal to the dimension of B if and only if codewords corresponding to distinct trajectories are distinct.

We now show that generator matrices and parity-check matrices yield elementary behavioral realizations of this kind.

Page 147: MIT Principal of Digital Communication

151 11.1. ELEMENTARY REALIZATIONS OF LINEAR BLOCK CODES

Example 1 (generator realizations). Let G be a k × n generator matrix for C, whose k rows form a set of linearly independent generators for C. Then C is the set of all n-tuples of the form y = uG for some information k-tuple u ∈ (Fq )k. Thus C has an elementary linear behavioral realization with a state k-tuple u and n constraint equations, namely

y − uG = 0.

For example, in the previous chapter we found the following trellis-oriented generator matrix for the (8, 4, 4) RM code: ⎡

11110000⎤

⎥⎢ 01011010 ⎢ ⎥ ⎦⎣ 00111100 . (11.1)

00001111

This yields a linear behavioral realization with 4 state variables and 8 constraint equations, namely the following linear homogeneous equations over F2:

y0 = u1; y1 = u1 + u2; y2 = u1 + u3; y3 = u1 + u2 + u3; (11.2) y4 = u2 + u3 + u4; y5 = u3 + u4; y6 = u2 + u4; y7 = u4.

Example 2 (parity-check realizations). Let H be an (n − k) × n generator matrix for C⊥ . Then C is the set of all n-tuples that satisfy the n − k constraint equations

yH T = 0.

This corresponds to an elementary linear behavioral realization with no state variables.

For example, since the (8, 4, 4) code C is self-dual, the generator matrix (11.1) is also a generator matrix for C⊥ . This yields an elementary linear behavioral realization with no state variables and 4 constraint equations, namely the following linear homogeneous equations over F2:

y0 + y1 + y2 + y3 = 0;

y1 + y3 + y4 + y6 = 0; (11.3) y2 + y3 + y4 + y5 = 0;

y4 + y5 + y6 + y7 = 0.

This is evidently a more compact realization than the generator realization of Example 1— in fact, it can be found by eliminating the state variables from Eqs. (11.2)— and, because it has no state variables, it is better suited for checking whether a given 8-tuple y is in C. On the other hand, in the generator realization the state 4-tuple u may be freely chosen and determines the codeword— i.e., the generator realization is an input-output realization— so it is better for generating codewords, e.g., in encoding or in simulation.

Page 148: MIT Principal of Digital Communication

152 CHAPTER 11. CODES ON GRAPHS

11.1.2 Graphs of elementary linear behavioral realizations

We may draw a graph of an elementary linear behavioral realization as follows. In coding theory, such a graph is called a Tanner graph.

The graph has two types of vertices, namely n + s vertices corresponding to the n symbol and s state variables, and e vertices corresponding to the e constraint equations. An edge is drawn between a variable vertex and a constraint vertex if the corresponding variable is involved in the corresponding constraint. Thus the graph is bipartite; i.e., the vertices are partitioned into two sets such that every edge connects a vertex of one type to one of the other type.

A generic Tanner graph therefore has the form of Figure 1(a). Here symbol variables are represented by filled circles, state variables by open circles, and constraints by squares containing a “+” sign, since all constraint equations are zero-sum (parity-check) constraints. ~ =

\ \ \~\

=

HHHHHHHHHH

HHHHHHHHHH

\ \XXXXXXXXXX

XXXXXXXXXX \ \

\. . .

HHHHHHHHHH

+ . . .

HHHHHHHHHH

+\� �� �\ ���

\ ��\ ��

� \ ��~ � �= � \� � + � +� \� ��� �� � \��� � �� \��� � � \� � �� � . . . � � \ . . .=

HHHHHHHHHH

HHHHHHHHHH

n �� �\ �� �\��

��� � \\ +

XXXXXXXXXX �

�� \�n ��

��

\ +

XXXXXXXXXX�� � � �� = �

� ��

� �� � ��. . . � �� . . . � ��

��� ���n��� ��= �

(a) (b)

Figure 1. (a) Generic bipartite Tanner graph, with symbol variables (filled circles), state vari-ables (open circles), and zero-sum constraints (squares with “+”). (b) Equivalent normal graph, with equality constraints replacing variables, and observed variables indicated by “dongles.”

Figure 1(b) shows an equivalent normal graph (also called a Forney graph). Here the variables are replaced by equality constraints, so that all graph vertices represent constraints. Variables are represented by edges; an equality constraint ensures that all of its incident edges represent a common variable (as the edges in Tanner graphs do implicitly). Finally, a symbol variable is indicated by a special “half-edge” (“dongle”) symbol incident on the corresponding equality constraint. The dongle may be regarded as an input/output terminal that can connect the cor-responding symbol variable with the outside world, whereas state variables are hidden, internal variables that do not interact with the outside world.

The degree of a variable or equation will be defined as the degree (number of incident edges) of the corresponding graph vertex— i.e., the degree of a variable is the number of equations that it is involved in, and the degree of an equation is the number of variables that it involves. In a Tanner graph, the sum of the variable degrees is equal to the sum of the constraint degrees, since both are equal to the number of edges in the graph. In a normal graph, if we choose not to count half-edges in vertex degrees, then the vertex degrees are the same.

Page 149: MIT Principal of Digital Communication

153 11.1. ELEMENTARY REALIZATIONS OF LINEAR BLOCK CODES

Example 1 (generator realizations) (cont.) The Tanner graph corresponding to the generator realization of the (8, 4, 4) code defined by Eqs. (11.2) is shown in Figure 2(a). Since each symbol variable has degree 1 in this realization, the corresponding symbol vertex is located adjacent to the unique constraint vertex with which it is associated. The equivalent normal graph is shown in Figure 2(b); here symbol variables may simply be represented by dongles. ~

u4

u3

u2

u1

n

n

n

n

HHHHHHHHHH

XXXXXXXXXX

��������������������

XXXXXXXXXX

����������ZZ

ZZ

ZZ

ZZ

ZZ

XXXXXXXXXX

����������

XXXXXXXXXX

����������

����������

(a) +

+

+

+

+

+

+

+

~

~

~

~

~

~

~

y7

y6

y5

y4

y3

y2

y1

y0

u4

u3

u2

u1

=

=

=

=

HHHHHHHHHH

XXXXXXXXXX

��������������������

XXXXXXXXXX

����������ZZ

ZZ

ZZ

ZZ

ZZ

XXXXXXXXXX

����������

XXXXXXXXXX

����������

����������

(b) +

+

+

+

+

+

+

+

y7

y6

y5

y4

y3

y2

y1

y0

Figure 2. Generator realizations for (8, 4, 4) code. (a) Tanner graph. (b) Normal graph.

Example 2 (parity-check realizations) (cont.) The Tanner graph and normal graph of the parity-check realization of the (8, 4, 4) code defined by Eqs. (11.3) are shown in Figure 3.

y0 ~ y0 =

y1 ~ =

HHHHHHHHHH

HHHHHHHHHH

y1XXXXXXXXXX

XXXXXXXXXXy2 ~ y2

HHHHHHHHHH

+ =

HHHHHHHHHH

+

����������

����������

y3 ~ y3

HHHHHHHHHH

+ =

HHHHHHHHHH

+� �XXXXXXXXXX���������� XXXXXXXXXX����������� �

� �y4 ~ � y4 =+ +�� �

XXXXXXXXXX���������� XXXXXXXXXX����������

�y5 ~ ��

� + y5 = � � +� � � ��

����������

������������ �� �y6 ~

�� y6 = � �� �� �� �� �� y7y7 ~ = � (a) (b)

Figure 3. Parity-check realizations for (8, 4, 4) code. (a) Tanner graph. (b) Normal graph.

The normal graphs of Figures 2(b) and 3(b) are duals, in the sense that one is obtained from the other by replacing equality constraints by zero-sum constraints and vice versa. In general, the dual of a generator realization for C will be a parity-check realization for C⊥, and vice versa; here we have C = C⊥, since the (8, 4, 4) code is self-dual. This illustrates an important general duality property of normal graphs, which we will not prove here: the dual of a normal graph realization of a code is a realization of the dual code.

Page 150: MIT Principal of Digital Communication

154 CHAPTER 11. CODES ON GRAPHS

11.2 General linear behavioral realizations

We now generalize the elementary realizations above by letting symbol and state variables be vector spaces of dimension m over Fq , or more particularly m-tuples over Fq , where the dimension m may be different for each variable. Furthermore, we generalize to constraints that certain subsets of variables must lie in certain small linear block codes over Fq .

The elements of a general linear behavioral realization of a linear (n, k) block code over Fq are therefore as follows:

• A set of symbol mi-tuples {yi ∈ (Fq )mi , i ∈ I}, where I denotes the symbol variable index set. We define n = I mi.

• A state index set J , and a set of state spaces Σj , j ∈ J , where Σj is a vector space over Fq of dimension µj . Such a state space Σj may always be represented by a vector space of µj -tuples, {Σj = (Fq )µj , j ∈ J }. We define s = J µj .

• A set of linear constraint codes {Ck , k ∈ K} over Fq , where each code Ck involves a certain subset of the symbol and state variables, and K denotes the constraint index set.

Again, the full behavior B generated by the realization is the set of all trajectories (y, s) such that all constraints are satisfied— i.e., such that for each k the values taken by the subset of variables involved in the constraint code Ck forms a codeword in Ck— and the code C generated by the realization is the set of all symbol sequences y that appear in any trajectory (y, s) ∈ B.

Notice that the constraint imposed by a zero-sum constraint constrains the d variables incident on a zero-sum vertex of degree d to lie in the (d, d − 1, 2) zero-sum (SPC) code over Fq . Simi-larly, an equality constraint of degree d constrains the d incident variables to lie in the (d, 1, d) repetition code over Fq . Thus allowing each constraint code Ck to be an arbitrary linear code generalizes the elementary linear behavioral realizations discussed earlier.

The generalization to variables of dimension m allows us to consider state spaces of dimension larger than 1, which we need for general trellis (state-space) realizations. It also allows us to consider the clustered symbol variables that arise in sectionalized trellis realizations.

We now show how trellis (state-space) realizations may be expressed as general linear behav-ioral realizations.

Example 3 (trellis realizations). Let us consider an unsectionalized minimal trellis realization of an (n, k) binary linear block code C on the time axis I = [0, n).

As we saw in the previous chapter, a minimal trellis realization of C may be defined by a trellis-oriented generator matrix G for C comprising k minimal-span generators {gj , 1 ≤ j ≤ k}. We thus have a one-to-one correspondence C ↔ (F2)k defined by uG ↔ u.

We need to define an index set J for the state spaces Σj , j ∈ J . When the symbol time index set is I = [0, n), we define the state index set as J = [0, n], with the understanding that the kth symbol comes after the kth state and before the (k + 1)st state. The initial and final state spaces Σ0 and Σn have dimension 0; i.e., they are trivial.

We further need to define an explicit realization for the state spaces Σk . Let J (k) denote the set of indices of the trellis-oriented generators gj that are active at state time k. The state code Sk at state time k is then generated by the submatrix Gk = {gj , j ∈ J (k)}. We thus have a one-to-one correspondence Sk ↔ (F2)|J (k)| defined by u|J (k)Gk ↔ u|J (k), where u|J (k) = {uj , j ∈ J (k)}.

Page 151: MIT Principal of Digital Communication

155 11.2. GENERAL LINEAR BEHAVIORAL REALIZATIONS

Thus if we define a state space Σk whose alphabet is the set (F2)|J (k)| of |J (k)|-tuples u|J (k), then we obtain a state space Σk of minimal dimension |J (k)| such that any codeword associated with a state codeword u|J (k)Gk ∈ Sk passes through the state u|J (k) ∈ Σk , as desired.

The branch space Bk at symbol time k ∈ [0, n) is then the set of all (|J (k)|+|J (k+1)|+1)-tuples (σk , yk , σk+1) that can actually occur. If K(k) denotes the subset of trellis-oriented generators that are active at symbol time k, then by a similar development it can be seen that Bk is a one-to-one linear function of u|K(k), so dim Bk = |K(k)|. We may thus view Bk as a linear constraint code of length |J (k)| + |J (k + 1)| + 1 and dimension |K(k)|.

In summary, the elements of an unsectionalized minimal trellis realization of an (n, k) binary linear block code C are therefore as follows:

• A set of binary symbol variables {Yk , k ∈ [0, n)}; • A set of state spaces {Σk , k ∈ [0, n]} of dimension |J (k)|, represented by binary |J (k)|-

tuples, where {gj , j ∈ J (k)} is the subset of trellis-oriented generators that are active at state time k ∈ [0, n];

• A set of binary linear constraint codes {Bk , k ∈ [0, n)}, where Bk ⊆ Σk × Yk × Σk+1 and dim Bk = |K(k)|, where {gj , j ∈ J (k)} is the subset of trellis-oriented generators that are active at symbol time k ∈ [0, n).

The full behavior B of the trellis realization is then the set of all state/symbol sequences (s,y) such that (sk , yk , sk+1) ∈ Bk for k ∈ [0, n). For each state/symbol sequence (s,y) in B, the state sequence s represents a valid path through the code trellis, and the symbol sequence y represents the corresponding codeword. If the trellis is minimal, then each path (s,y) corresponds to a distinct codeword y, so |B| = |C|.

Continuing with our (8, 4, 4) example, its trellis-oriented generators (11.1) are active during [0, 3), [1, 6), [2, 5) and [4, 7), respectively. Therefore the state space dimension profile is |J (k)| = {0, 1, 2, 3, 2, 3, 2, 1, 0}, and the branch space dimension profile is |K(k)| = {1, 2, 3, 3, 3, 3, 2, 1}.

Figure 4(a) shows a Tanner graph of this minimal trellis realization, and Figure 4(b) is an equivalent normal graph. Each state space Σk is labelled by its dimension. The state spaces Σ0 and Σ8 do not need to be shown, because they are trivial and not actually involved in any constraints. Each constraint code (branch space) Bk is labelled by its length and dimension. Since the symbol variables Yk have degree 1, we use the special “dongle” symbol for them. Since the state spaces Σk have degree 2, they are naturally represented by edges in a normal graph.

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

n n n n n n nB0 Σ1 B1 Σ2 B2 Σ3 B3 Σ4 B4 Σ5 B5 Σ6 B6 Σ7 B7

(2, 1) 1 (4, 2) 2 (6, 3) 3 (6, 3) 2 (6, 3) 3 (6, 3) 2 (4, 2) 1 (2, 1)

Figure 4(a). Tanner graph for minimal trellis realization of (8, 4, 4) code.

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

Σ1 Σ2 Σ3 Σ4 Σ5 Σ6 Σ7B0 B1 B2 B3 B4 B5 B6 B7

(2, 1) 1 (4, 2) 2 (6, 3) 3 (6, 3) 2 (6, 3) 3 (6, 3) 2 (4, 2) 1 (2, 1)

Figure 4(b). Equivalent normal graph for minimal trellis realization of (8, 4, 4) code.

Page 152: MIT Principal of Digital Communication

∏ ∏

156 CHAPTER 11. CODES ON GRAPHS

Every trellis (state-space) realization has a similar chain graph, with constraint codes Bk

constraining one symbol variable Yk and two state variables, Σk and Σk+1. More generally, the symbol variables Yk may have arbitrary dimension; i.e., symbols may be clustered. Note that in any trellis realization all symbol variables have degree 1, and all nontrivial state variables have degree 2. Note also that a trellis graph has no cycles (loops).

11.3 Graph-theoretic properties of graphical realizations

A graph illustrates dependency relationships. We now develop some elementary but important connections between graph properties and dependencies.

11.3.1 Connectedness and independence

Suppose that a code C is the Cartesian product of two codes, C = C1 × C2. In other words, C consists of the pairs of codewords (c1, c2) such that c1 ∈ C1, c2 ∈ C2. Then a realization of C may be constructed from independent realizations of C1 and C2. A graph of such a realization is a disconnected graph, with two component subgraphs representing C1 and C2, respectively.

Conversely, if a graph of a realization of C is disconnected, then C is evidently the Cartesian product of the codes realized by the component subgraphs. In short, a code C has a realization whose graph is disconnected if and only if C is the Cartesian product of shorter codes. Thus disconnectedness is a graph-theoretic expression of independence.

11.3.2 Cut sets and conditional independence

A cut set of a connected graph is a minimal set of edges such that removal of the set partitions the graph into two disconnected subgraphs.

Notice that a connected graph is cycle-free if and only if every edge is by itself a cut set.

In a normal graph, a cut set consists of a set of ordinary (state) edges, and may be specified by the corresponding subset χ ⊆ J of the state index set J . If the cut set consists of a single edge, then the cut set may be identified with the corresponding state variable Σj . If the cut set consists of several edges, then it may be identified with the set of all corresponding state spaces Σj , j ∈ χ. We will regard the Cartesian product of all these state spaces as a superstate variable Σχ = j∈χ Σj . Note that the size of the alphabet of Σχ is |Σχ| = |Σj |, the product of the j∈χ sizes of its component state spaces.

Figure 5 gives a high-level view of a realization with a cut set χ. Since removal of a cut set partitions a graph into two disconnected subgraphs, it follows that the symbol variables, the constraint codes, and the states not in χ are partitioned by the cut set into two disjoint subsets connected only by the states in χ. We label these two components arbitrarily as the “past” P and the “future” F relative to the cut set χ. The two subsets of symbol variables associated with the past and future components are denoted by Y|P and Y|F , respectively. The states in the cut set are regarded as a single superstate variable Σχ = {Σj , j ∈ χ}, with values sχ = {sj , j ∈ χ}. The constraints and internal variables in the past and future components are agglomerated into aggregate constraints CP and CF that jointly constrain the aggregate superstate variable Σχ and the aggregate symbol variables Y|P and Y|F , respectively.

Page 153: MIT Principal of Digital Communication

157 11.3. GRAPH-THEORETIC PROPERTIES OF GRAPHICAL REALIZATIONS Y Y|P |F

ΣχCP CF

Figure 5. High-level view of a realization with a cut set χ.

Figure 5 makes it clear that a cut set in the graph corresponds to a certain conditional inde-pendence (Markov) property: given that the state variables in the cut set have a certain set of values sχ = {sj , j ∈ χ}, the possible values of Y|F depend only on sχ and not otherwise on the “past” P, and vice versa. In other words, the superstate variable value sχ is a sufficient statistic for the past with respect to the set of possible futures, and vice versa.

More concretely, let Y|P (sχ) and Y|F (sχ) denote the sets of possible past and future symbol values that are consistent with a given superstate value sχ, in view of the constraints CP and CF . Then the set of possible codewords consistent with sχ is the Cartesian product Y|P (sχ)×Y|F (sχ). (In effect, fixing the value of the superstate removes the corresponding edge and disconnects the graph.) The set C of all possible codewords is then the union of such Cartesian products over all superstates: ⋃

C = Y|P (sχ) × Y|F (sχ). (11.4) sχ∈Σχ

11.3.3 The cut-set bound

Observe that (11.4) is a generic expression for a code C generated by a two-section trellis with central state space Σχ, and that Figure 5 is a generic normal graph for such a two-section trellis. This observation leads directly to a lower bound on the size of Σχ:

Theorem 11.1 (Cut-set bound) Given a graphical realization of a code C and a cut set χ, the size |Σχ| = |Σj | of the alphabet of the superstate variable Σχ = {Σj , j ∈ χ} is lowerbounded j∈χ by the minimal state space size in a conventional trellis in which the symbol variables are divided into “past” and “future” in the same way.

If C is linear, then minimal state space size is given by the state space theorem for linear codes.

For example, by the cut-set bound and the Muder bound, given any graphical realization of the (8, 4, 4) binary code and any cut set that partitions the code symbols into two subsets of size 4, the size of the alphabet of the superstate variable Σχ must be at least 4.

We can draw some important general conclusions from the cut-set bound.

First, consider cycle-free graphical realizations. In a cycle-free realization, every edge (state variable) is a cut set, and therefore the size of every state space is lowerbounded by the minimal size of a state space in some conventional trellis in which the symbol variables are partitioned into “past” and “future” in the same way. Therefore we cannot expect any great reduction in state space sizes from using general cycle-free graphs rather than conventional trellis realizations.

On the other hand, significant reductions in state space size are possible if we use graphs with cycles. Then cut sets will generally correspond to multiple state variables, and the complexity mandated by the cut-set lower bound may be spread out across these multiple state spaces.

We now illustrate these general conclusions by considering two particular styles of realizations: tail-biting trellis realizations, and Hadamard-transform-based realizations of Reed-Muller codes.

Page 154: MIT Principal of Digital Communication

158 CHAPTER 11. CODES ON GRAPHS

11.3.4 Tail-biting trellis realizations

A tail-biting trellis, illustrated in Figure 6, is a trellis in which the topology of the time axis is that of a circle rather than an interval. In other words, the ending state variable is also the starting state variable, and its alphabet may be of any size.

Figure 6. Normal graph of a tail-biting trellis realization.

In a tail-biting trellis realizations, all cut sets involve two state variables. Therefore the minimum complexity mandated by the cut-set bound may be spread out over two state spaces, each of which may be as small as the square root of the cut-set lower bound.

For a simple but not very impressive example, consider the (8, 4, 4) code. Figure 7(a) shows a two-section, four-state conventional trellis realization which clusters four symbol bits at a time, which as we saw in Chapter 10 is an optimal sectionalization. Figure 7(b) shows a two-section tail-biting trellis realization with two 2-state state spaces, which in this case may be obtained merely by splitting the central state space of Figure 7(a). Thus the square root lower bound is achieved. Note however that while Figure 7(b) has smaller state spaces, it is no longer cycle-free.

1' $

4 42 4 4

(6, 3) (6, 3) (6, 3) (6, 3) 1& %

(a) (b)

Figure 7. (a) Two-section, four-state trellis for (8, 4, 4) code; (b) Two-section, two-state tail-biting trellis realization.

More impressively, it has been shown that the state complexity of a 12-section realization of the (24, 12, 8) Golay code may similarly be reduced from 256 (the minimum permitted by the Muder bound; see Exercise 10.6) to 16 by using a tail-biting realization. A “tail-biting trellis-oriented” generator matrix that yields this 16-state tail-biting realization is as follows:

11 01 11 01 11 00 00 00 00 00 00 00 00 11 11 10 01 11 00 00 00 00 00 00 00 00 11 01 10 11 11 00 00 00 00 00 00 00 00 11 01 11 01 11 00 00 00 00 00 00 00 00 11 01 11 01 11 00 00 00 00 00 00 00 00 11 11 10 01 11 00 00 00 00 00 00 00 00 11 01 10 11 11 00 00 00 00 00 00 00 00 11 01 11 01 11 11 00 00 00 00 00 00 00 11 01 11 01 01 11 00 00 00 00 00 00 00 11 11 10 10 11 11 00 00 00 00 00 00 00 11 01 01 11 01 11 00 00 00 00 00 00 00 11

Page 155: MIT Principal of Digital Communication

[ ]

159 11.3. GRAPH-THEORETIC PROPERTIES OF GRAPHICAL REALIZATIONS

Note that there are 4 “active” generators at each of the 12 state times, if we take the time axis to be circular (“end-around”). On the other hand, if we were to assume a conventional time axis, then at least 8 generators would have to be active at the central state time.

Note also that if we “unwrap” these generators onto an infinite conventional time axis, then we get generators for a rate-1/2 16-state period-4 time-varying (or rate-4/8 16-state time-invariant) binary linear convolutional code, as follows:

· · · . . . 00 11 01 11 01 11 00 00 00 00 . . . . . . 00 00 11 11 10 01 11 00 00 00 . . . . . . 00 00 00 11 01 10 11 11 00 00 . . . . . . 00 00 00 00 11 01 11 01 11 00 . . .

· · ·

This “Golay convolutional code” has a minimum Hamming distance of 8 and an average of Kb = 12.25 weight-8 codewords per information bit, so its nominal coding gain is γc = 4 (6 dB) and its effective coding gain is γeff = 5.3 dB, which are remarkable for a 16-state rate-1/2 code.

In summary, by considering a state realization with a single cycle rather than a conventional trellis realization, we may be able to obtain a state complexity as small as the square root of the minimum state complexity of a conventional trellis.

11.3.5 Hadamard-transform-based realizations of RM codes

In Exercise 6 of Chapter 6, it was shown that all Reed-Muller codes RM(r,m) of length 2m could be generated by a single “universal” 2m × 2m generator matrix Um = (U1)⊗m, the m-fold tensor product of the 2 × 2 matrix U1 = 1 0 with itself. The matrix Um is called the Hadamard

1 1

transform matrix over F2. For any binary 2m-tuple u ∈ (F2)2m

, the binary 2m-tuple y = uUm

is called the Hadamard transform of u. Since (Um)2 = I2m , the identity matrix, it follows that the Hadamard transform of y is u; i.e., u = yUm

More particularly, RM(r,m) = {y = uUm}, where the coordinates of the binary 2m-tuple u are free in the k(r,m) positions corresponding to the k(r,m) rows of Um of weight 2m−r or greater, and fixed to 0 in the remaining coordinates. In other words, RM(r,m) is the set of Hadamard transforms of all 2k(r,m) binary 2m-tuples that are all-zero in a certain 2m − k(r,m) coordinates. (Compare the Fourier transform characterization of Reed-Solomon codes in Chapter 8.)

We can construct a graphical realization of a Hadamard transform as follows. The 2 × 2 Hadamard transform y = uU1 is explicitly given by the two equations

y0 = u0 + u1; y1 = u1,

which are realized by the normal graph of Figure 8. (This is sometimes called a controlled-not gate, where y1 = u1 is regarded as a control variable.)

+y0 u0

=y1 u1

Figure 8. Normal graph of a 2 × 2 Hadamard transform.

Page 156: MIT Principal of Digital Communication

� @

@ �

� @

@ �

160 CHAPTER 11. CODES ON GRAPHS

Note that there are no arrows (directed edges) in this behavioral realization. Either u or y may be taken as input, and correspondingly y or u as output; i.e., the graph is a realization of either the Hadamard transform y = uU1 or the inverse Hadamard transform u = yU1.

A 2m × 2m Hadamard transform y = uUm may then be realized by connecting these 2 × 2 transforms in tensor product fashion. For example, the 8 × 8 Hadamard transform is given explicitly by the eight equations

y0 = u0 + u1 + u2 + u3 + u4 + u5 + u6 + u7; y1 = u1 + u3 + u5 + u7; y2 = u2 + u3 + u6 + u7; y3 = u3 + u7; y4 = u4 + u5 + u6 + u7; y5 = u5 + u7; y6 = u6 + u7; y7 = u7.

These equations are realized by the tensor product graph of Figure 9. (Compare the “butterflies” in the graph of an 8 × 8 fast Fourier transform.)

+ + +y0 u0

= = =y1 u4@ ��

@� @ � �@+ + +y2 u2

A � A � �A= = =y3 u6

B � A � � �B A

� B � A+ + +y4 u1 �B

� B � B= = =y5 u5

B @� � B

� BB+ + +y6 u3

= = =y7 u7

Figure 9. Normal graph of an 8 × 8 Hadamard transform.

A Reed-Muller code of length 8 may then be realized by fixing certain of the uk to zero while letting the others range freely. For example, the (8, 4, 4) code is obtained by fixing u0 = u1 = u2 = u4 = 0, which yields the equations

y0 = u3 + u5 + u6 + u7; y1 = u3 + u5 + u7; y2 = u3 + u6 + u7; y3 = u3 + u7;

Page 157: MIT Principal of Digital Communication

161 11.3. GRAPH-THEORETIC PROPERTIES OF GRAPHICAL REALIZATIONS

y4 = u5 + u6 + u7; y5 = u5 + u7; y6 = u6 + u7; y7 = u7.

These equations are realized by the graph of Figure 10(a), which may be simplified to that of Figure 10(b). Here we regard the “inputs” uj as internal variables, and the “outputs” yk as external variables.

y0 + + + 0 y0 + u6

y1 = @ �

= @ � �

= 0 y1 = �@

u3 + u5 +u7

= @

u6

�@ @ � �@ @ y2 + � @ +

A � � @ + 0 y2 + �u6 @ +

A u5 @

A � A y3 = =

B � � A A �

= u6 y3 = u3 + u7 A A �

� B �A �A y4 + + �

� �B

B A + 0 y4 + u6

� � A

� B � y5 =

@ � = �

� B B

= u5 y5 = �@

u5 + u7 = � �

�@ � B �@ � y6 + � @ + � B B + u3 y6 + � @u6 + �

y7 = = = u7 y7 = u7

Figure 10. (a) Normal graph of (8, 4, 4) RM code. (b) Equivalent realization.

In Figure 10(b), all state variables are binary and all constraint codes are simple (3, 2, 2) parity-check constraints or (3, 1, 3) repetition constraints. It is believed (but not proved) that this realization is the most efficient possible realization for the (8, 4, 4) code in this sense. However, Figure 10(b) has cycles.

It is easy to see how the cycle-free graph of Figures 7(a) (as well as 7(b), or a minimal four-section, four-state trellis) may be obtained by agglomerating subgraphs of Figure 10(b). Such a graph is depicted in Figure 11. The code symbols are partitioned into four 2-tuples. A state space of dimension 2 connects the two halves of a codeword (meeting the cut-set bound). Two constraint codes of length 6 and dimension 3 determine the possible combinations of symbol 4-tuples and state 2-tuples in each half of the code.

y4y5y2y� 3�2@ �

@2@2(6, 3) (6, 3)

@�2�y0y

@ 1@2�

y6y7

Figure 11. Tree-structured realization of (8, 4, 4) RM code.

Page 158: MIT Principal of Digital Communication

162 CHAPTER 11. CODES ON GRAPHS

Similarly, we may realize any Reed-Muller code RM(r,m) in any of these styles. By starting with a Hadamard transform realization as in Figure 10(a) and reducing it as in Figure 10(b), we can obtain a realization in which all state variables are binary and all constraint codes are simple (3, 2, 2) parity-check constraints or (3, 1, 3) repetition constraints; however, such a realization will generally have cycles. By agglomerating variables, we can obtain a tree-structured, cycle-free realization as in Figure 11 which reflects the |u|u + v| iterative RM code construction.

Exercise 1. (Realizations of repetition and SPC codes)

Show that a reduced Hadamard transform realization of a repetition code RM(0, m) or a single-parity-check code RM(m−1, m) is a cycle-free tree-structured realization with a minimum number of (3, 1, 3) repetition constraints or (3, 2, 2) parity-check constraints, respectively, and furthermore with minimum diameter (distance between any two code symbols in the tree). Show that these two realizations are duals; i.e., one is obtained from the other via interchangeof (3, 2, 2) constraints and (3, 1, 3) constraints.

Exercise 2. (Dual realizations of RM codes)

Show that in general a Hadamard transform (HT) realization of any Reed-Muller code RM(r,m) is the dual of the HT realization of the dual code RM(m − r − 1, m); i.e., one is obtained from the other via interchange of (3, 2, 2) constraints and (3, 1, 3) constraints.

Exercise 3. (General tree-structured realizations of RM codes)

Show that there exists a tree-structured realization of RM(r,m) of the following form:

2m−2 2m−2 C2 C2 s(r,m) s(r,m)�HHH ��s(r,m)C1 C1

�� HHH�s(r,m) s(r,m)2m−2 2m−2 C2 C2

Figure 12. Tree-structured realization of RM(r,m).

Show that s(r,m) = dim RM(r,m − 1) − dim RM(r − 1, m − 1) (see Exercise 1 of Chapter 10). Show that the cut-set bound is met everywhere. Finally, show that

dim C2 = dim RM(r,m − 2); dim C1 = dim RM(r,m − 1) − 2 dim RM(r − 2, m − 2) = t(r,m),

where t(r,m) is the branch complexity of RM(r,m) (compare Table 1 of Chapter 6). For example, there exists a tree-structured realization of the (32, 16, 8) RM code as follows:

6 6HHH

(14, 7)8

� (14, 7) 8

��6(18, 9) (18, 9)

�� 68 (14, 7)

6�8(14, 7)

HHH

Figure 13. Tree-structured realization of (32, 16, 8) RM ocde.

Page 159: MIT Principal of Digital Communication

11.4. APPENDIX. CLASSES OF GRAPHICAL REALIZATIONS 163

11.4 Appendix. Classes of graphical realizations

There are various classes of graphical realizations that can be used for general linear behavioral realizations. Here we will briefly discuss factor graphs, Markov graphs,, and block diagrams.

11.4.1 Factor graphs

A factor graph represents a global function of a set of variables (both internal and external) that factors into a product of local functions defined on subsets of the variables.

The indicator function ΦB(y, s) of a behavior B is a {0, 1}-valued function of external variables y and internal variables s that equals 1 for valid trajectories (y, s) and equals 0 otherwise. If a trajectory (y, s) is valid whenever its components lie in a set of local constraint codes {Ck , k ∈ K}, then the global indicator function ΦB is the product of local indicator functions {ΦCk , k ∈ K}. Thus a behavioral realization may be represented by a factor graph.

A Tanner-type factor graph is an undirected bipartite graph in which variables are represented by one type of vertex (with internal and external variables denoted differently), and functions are represented by a different type of vertex. A Tanner graph of a behavioral realization may be interpreted as a Tanner-type factor graph simply by regarding the constraint vertices as representatives of constraint indicator functions. Similarly, a normal (Forney-type) factor graph is an undirected graph in which internal variables are represented by edges, external variables are represented by dongles, and functions are represented by vertices; in the same way a normal graph of a behavioral realization may be interpreted as a normal factor graph.

In the following chapters, we will be interested in global probability functions that factor into a product of local probability functions; then factor graphs become very useful.

11.4.2 Markov graphs

Markov graphs are often used in statistical physics and statistical inference to represent global probability distributions that factor into a product of local distributions.

A Markov graph (Markov random field) is an undirected graph in which variables are repre-sented by vertices, and a constraint or function is represented by an edge (if it has degree 2), or by a hyperedge (if it has degree greater than 2). Moreover, a hyperedge is usually represented by a clique, i.e., a set of ordinary edges between every pair of variables incident on the hyperedge. (This style of graph representation sometimes generates inadvertent cliques.)

Markov graphs are particularly nice when the degrees of all constraints are 2 or less. Such a representation is called a pairwise Markov graph. We may then represent constraints by ordinary edges. Pairwise constraints often arise naturally in physical models.

Figure 14 shows how any Tanner graph (or Tanner-type factor graph) may be transformed into a pairwise Markov realization by a simple conversion. Here each constraint code has been replaced by a state “supervariable” whose alphabet is the set of all codewords in the constraint code. Each edge then represents the constraint that the associated ordinary variable must be equal to the corresponding component of the supervariable.

Page 160: MIT Principal of Digital Communication

� � �

� �

� �

� �

164 CHAPTER 11. CODES ON GRAPHS

\ \ \ \HHHHHH

HHHHHH XXXXXX

XXXXXX. . . HH\HHHH

+ . . . HH\HHHH

�� �� \ �� ��� � \� ��\

HHHHHH

HHHHHH XXXXXX

XXXXXX�����

��\\+ � \\ h��

x x

xhh

x x

xhhhh��\ \�� ���\�+ � �� ����. . . . . .

���� �� �. . . . . .

� �

Figure 14. (a) Tanner graph. (b) Equivalent pairwise Markov graph.

For example, suppose the constraint code has degree 3 and constrains three incident variables (y1, y2, y3) to satisfy the parity check y1 + y2 + y3 = 0; i.e., the constraint code is a (3, 2, 2) code

h

with four codewords, namely {000, 110, 101, 011}. We then define a supervariable y123 to have these codewords as its alphabet, and constrain y1 to equal the first component of y123, etc.

11.4.3 Block diagrams and directed normal graphs

Conventional block diagrams may often be regarded as normal graphs, with the vertices (“blocks”) representing constraints, and the edges labeled by internal or external variables.

However, one difference is that the blocks usually represent input-output (causal) relationships,

h

so a block diagram is usually a directed graph in which the edges are also labelled with arrows, indicating the direction of causality. In this respect block diagrams resemble Bayesian networks, which are directed acyclic graphs representing probabilistic cause-and-effect models.

This style of graphical model can sometimes be superimposed on a normal graph, as follows. If a constraint code is a linear (n, k) code and has an information set of size k, then the corresponding k symbols may be regarded as “inputs” to the constraint, and the remaining n − k symbols as “outputs” determined by the inputs. Arrows may be drawn on the edges to represent such input-output relationships. If arrows can be drawn consistently on all edges in this way, then a normal graph may be converted to a directed normal graph (block diagram).

For example, Figure 15 shows how a parity-check realization for the (8, 4, 4) code (Figure 3(b)) may be converted to directed normal graph form. This could be useful if, for example, we wanted to use such a graph to implement an encoder. However, this example is a bit misleading, as parity-check realizations cannot always be converted to encoders in this way.

-= -=

HHHHHHXXXXXXjz--= HHHHHH

+ ������9 j�= HHHHHH

+-:�XXXXXXXXXXXX������������- �j-= z+�XXXXXXXXXXXX�������=9 � z-

� �:+�

������=�=� ���� �=�

Figure 15. Conversion of parity-check realization of (8, 4, 4) code to directed normal graph representing an encoder.

� �� �

(a) (b)

Page 161: MIT Principal of Digital Communication

Chapter 12

The sum-product algorithm

The sum-product algorithm is the basic “decoding” algorithm for codes on graphs. For finite cycle-free graphs, it is finite and exact. However, because all its operations are local, it may also be applied to graphs with cycles; then it becomes iterative and approximate, but in cod-ing applications it often works very well. It has become the standard decoding algorithm for capacity-approaching codes (e.g., turbo codes, LDPC codes).

There are many variants and applications of the sum-product algorithm. The most straight-forward application is to a posteriori probability (APP) decoding. When applied to a trellis, it becomes the celebrated BCJR decoding algorithm. In the field of statistical inference, it becomes the even more widely known “belief propagation” (BP) algorithm. For Gaussian state-space models, it becomes the Kalman smoother.

There is also a “min-sum” or maximum-likelihood sequence detection (MLSD) version of the sum-product algorithm. When applied to a trellis, the min-sum algorithm gives the same result as the Viterbi algorithm.

12.1 The sum-product algorithm on cycle-free graphs

We will develop the sum-product algorithm as an APP decoding algorithm for a code C that has a cycle-free normal graph realization. We then discuss generalizations.

The code C is therefore described by a realization involving a certain set of symbol variables {Yi, i ∈ I} represented by half-edges (dongles), a certain set of state variables {Σj , j ∈ J }represented by edges, and a certain set of constraint codes {Ck , k ∈ K} of arbitrary degree, such that the graph of the realization is cycle-free; i.e., every edge (and obviously every half-edge) is by itself a cut set.

APP decoding is defined in general as follows. We assume that a set of independent observa-tions are made on all symbol variables {Yi, i ∈ I}, resulting in a set of observations r = {ri, i ∈ I}and likelihood vectors {{p(ri | yi), yi ∈ Yi}, i ∈ I}, where Yi is the alphabet of Yi. The likelihood of a codeword y = {yi, i ∈ I} ∈ C is then defined as the componentwise product p(r | y) = i∈I p(ri | yi).

165

Page 162: MIT Principal of Digital Communication

∑ ∑ ∑ ∏

( ) ∑ ∑ ∑

166 CHAPTER 12. THE SUM-PRODUCT ALGORITHM

Assuming equiprobable codewords, the a posteriori probabilities {p(y | r),y ∈ C} (APPs) are proportional to the likelihoods {p(r | y),y ∈ C}, since by Bayes’ law,

| y)p(y) p(y | r) =

p(r p(r)

∝ p(r | y), y ∈ C.

Let Ci(yi) denote the subset of codewords in which the symbol variable Yi has the value yi ∈ Yi. Then, up to a scale factor, the symbol APP vector {p(Yi = yi | r), yi ∈ Yi} is given by

p(Yi = yi | r) = p(y | r) ∝ p(r | y) = p(ri′ | yi′ ), yi ∈ Yi. (12.1) y∈Ci(yi) y∈Ci(yi) y∈Ci(yi) i′∈I

Similarly, if Cj (sj ) denotes the subset of codewords that are consistent with the state variable Σj having the value sj in the state alphabet Sj , then, up to a scale factor, the state APP vector {p(Σj = sj | r), sj ∈ Sj } is given by ∑ ∏

p(Σj = sj | r) ∝ y∈Cj (sj ) i∈I

p(ri | yi), sj ∈ Sj . (12.2)

We see that the components of APP vectors are naturally expressed as sums of products. The sum-product algorithm aims to compute these APP vectors for every state and symbol variable.

12.1.1 Past-future decomposition rule

The sum-product algorithm is based on two fundamental principles, which we shall call here the past/future decomposition rule and the sum-product update rule. Both of these rules are based on set-theoretic decompositions that are derived from the code graph.

The past/future decomposition rule is based on the Cartesian-product decomposition of the cut-set bound (Chapter 11). In this case every edge Σj is a cut set, so the subset of codewords that are consistent with the state variable Σj having the value sj is the Cartesian product

Cj (sj ) = Y|P (sj ) × Y|F (sj ), (12.3)

where P and F denote the two components of the disconnected graph which results from deleting the edge representing Σj , and Y|P (sj ) and Y|F (sj ) are the sets of symbol values in each component that are consistent with Σj taking the value sj .

We now apply an elementary Cartesian-product lemma:

Lemma 12.1 (Cartesian-product distributive law) If X and Y are disjoint discrete sets and f(x) and g(y) are any two functions defined on X and Y, then ⎛ ⎞

⎠f(x)g(y) = f(x) ⎝ g(y) . (12.4) (x,y)∈X ×Y x∈X y∈Y

This lemma may be proved simply by writing the terms on the right in a rectangular array and then identifying them with the terms on the left. It says that rather than computing the sum of |X ||Y| products, we can just compute a single product of independent sums over X and Y. This simple lemma lies at the heart of many “fast” algorithms.

Page 163: MIT Principal of Digital Communication

∑ ∏ ∑ ∏

∑ ∏

⊕ ⊗

167 12.1. THE SUM-PRODUCT ALGORITHM ON CYCLE-FREE GRAPHS

Using (12.3) and applying this lemma in (12.2), we obtain the past/future decomposition rule ⎛ ⎞ ⎛ ⎞

⎠p(Σj = sj | r) ∝ ⎝ p(ri | yi)⎠ ⎝ p(ri | yi) y|P ∈Y|P (sj) i∈IP y|F ∈Y|F (sj) i∈IF

∝ p(Σj = sj | r|P )p(Σj = sj | r|F ), (12.5)

in which the two terms p(Σj = sj | r|P ) and p(Σj = sj | r|F ) depend only on the likelihoods of the past symbols y|P = {Yi, i ∈ IP } and future symbols y|F = {Yi, i ∈ IF }, respectively.

The sum-product algorithm therefore computes the APP vectors {p(Σj = sj | r|P )} and {p(Σj = sj | r|F )} separately, and multiplies them componentwise to obtain {p(Σj = sj | r)}. This is the past/future decomposition rule for state variables.

APP vectors for symbol variables are computed similarly. In this case, since symbol variables have degree 1, one of the two components of the graph induced by a cut is just the symbol variable itself, while the other component is the rest of the graph. The past/future decomposition rule thus reduces to the following simple factorization of (12.1): ⎛ ⎞

p(Yi = yi | r) ∝ p(ri | yi) ⎝ p(ri′ | yi′ )⎠ ∝ p(yi | ri)p(yi | r|i′=� i). (12.6) =iy∈Ci(yi) i′ �

In the turbo code literature, the first term, p(yi | ri), is called the intrinsic information, while the second term, p(yi | r|i′ �=i), is called the extrinsic information.

12.1.2 Sum-product update rule

The second fundamental principle of the sum-product algorithm is the sum-product update rule. This is a local rule for the calculation of an APP vector, e.g., {p(Σj = sj | r|P ), sj ∈ Sj}, from APP vectors that lie one step further upstream.

The local configuration with respect to the edge corresponding to the state variable Σj is illustrated in Figure 1. The edge must be incident on a unique past vertex corresponding to a constraint code Ck. If the degree of Ck is δk, then there are δk − 1 edges further upstream of Ck, corresponding to further past state or symbol variables. For simplicity, we suppose that these are all state variables {Σj′ , j

′ ∈ Kjk}, where we denote their index set by Kjk ⊆ K|P . {Σj′ , j

′ ∈ Kjk}�@@Y|Pj′ @HHH Σj . . . Ck

��� �

Figure 1. Local configuration for sum-product update rule.

Since the graph is cycle-free, each of these past edges has its own independent past Pj′ . The corresponding sets Y|Pj′ of input symbols must be disjoint, and their union must be Y|P . Thus if Ck(sj) is the set of codewords in the local constraint code Ck that are consistent with Σj = sj , and Y|Pj′ (sj′ ) is the set of y|Pj′ ∈ Y|Pj′ that are consistent with Σj′ = sj′ , then we have

Y|P (sj) = Y|Pj′ (sj′ ), (12.7) Ck(sj) j′∈Kjk

Page 164: MIT Principal of Digital Communication

∑ ∏

168 CHAPTER 12. THE SUM-PRODUCT ALGORITHM

where the plus sign indicates a disjoint union, and the product sign indicates a Cartesian product. In other words, for each codeword in Ck for which Σj = sj , the set of possible pasts is the Cartesian product of possible pasts of the other state values {sj′ , j

′ ∈ Kjk}, and the total set of possible pasts is the disjoint union of these Cartesian products.

Now, again using the Cartesian-product distributive law, it follows from (12.7) that

p(Σj = sj | r|P ) = p(Σj′ = sj′ | r|Pj′ ). (12.8) Ck(sj) j′∈Kjk

Thus if we know all the upstream APP vectors {p(Σj′ = sj′ | r|Pj′ ), sj′ ∈ Sj′ }, then we can compute the APP vector {p(Σj = sj | r|P ), sj ∈ Sj}.

Equation (12.8) is the sum-product update rule. We can see that for each sj ∈ Sj it involves a sum of |Ck| products of δk − 1 terms. Its complexity is thus proportional to the size |Ck| of the constraint code Ck. In a trellis, this is what we call the branch complexity.

In the special case where Ck is a repetition code, there is only one codeword corresponding to each sj ∈ Sj , so (12.8) becomes simply the following product update rule:

p(Σj = sj | r|P ) = p(Σj′ = sj | r|Pj′ ); (12.9) j′∈Kjk

i.e., the components of the upstream APP vectors are simply multiplied componentwise. When the sum-product algorithm is described for Tanner graphs, the product update rule is often stated as a separate rule for variable nodes, because variable nodes in Tanner graphs correspond to repetition codes in normal graphs.

Note that for a repetition code of degree 2, the product update rule of (12.9) simply becomes a pass-through of the APP vector; no computation is required. This seems like a good reason to suppress state nodes of degree 2, as we do in normal graphs.

12.1.3 The sum-product algorithm

Now we describe the complete sum-product algorithm for a finite cycle-free normal graph, using the past/future decomposition rule (12.5) and the sum-product update rule (12.8).

Because the graph is cycle-free, it is a tree. Symbol variables have degree 1 and correspond to leaves of the tree. State variables have degree 2 and correspond to branches.

For each edge, we wish to compute two APP vectors, corresponding to past and future. These two vectors can be thought of as two messages going in opposite directions.

Using the sum-product update rule, each message may be computed after all upstream mes-sages have been received at the upstream vertex (see Figure 1). Therefore we can think of each vertex as a processor that computes an outgoing message on each edge after it has received incoming messages on all other edges.

Because each edge is the root of a finite past tree and a finite future tree, there is a maximum number d of edges to get from any given edge to the furthest leaf node in either direction, which is called its depth d. If a message has depth d, then the depth of any upstream message can be no greater than d − 1. All symbol half-edges have depth d = 0, and all state edges have depth d ≥ 1. The diameter dmax of the tree is the maximum depth of any message.

Page 165: MIT Principal of Digital Communication

12.2. THE BCJR ALGORITHM 169

Initially, incoming messages (intrinsic information) are available at all leaves of the tree. All depth-1 messages can then be computed from these depth-0 messages; all depth-2 messages can then be computed from depth-1 and depth-0 messages; etc. In a synchronous (clocked) system, all messages can therefore be computed in dmax clock cycles.

Finally, given the two messages on each edge in both directions, all a posteriori probabilities (APPs) can be computed using the past/future decomposition rule (12.5).

In summary, given a finite cycle-free normal graph of diameter dmax and intrinsic information for each symbol variable, the sum-product algorithm computes the APPs of all symbol and state variables in dmax clock cycles. One message (APP vector) of size |Sj | is computed for each state variable Σj in each direction. The computational complexity at a vertex corresponding to a constraint code Ck is of the order of |Ck |. (More precisely, the number of pairwise multiplications required is δk (δk − 2)|Ck |.)

The sum-product algorithm does not actually require a clock. In an asynchronous implemen-tation, each vertex processor can continuously generate outgoing messages on all incident edges, using whatever incoming messages are available. Eventually all messages must be correct. An analog asynchronous implementation can be extremely fast.

We see that there is a clean separation of functions when the sum-product algorithm is im-plemented on a normal graph. All computations take place at vertices, and the computational complexity at a vertex is proportional to the vertex (constraint code) complexity. The function of ordinary edges (state variables) is purely message-passing (communications), and the com-munications complexity (bandwidth) is proportional to the edge complexity (state space size). The function of half-edges (symbol variables) is purely input/output; the inputs are the intrinsic APPs, and the ultimate outputs are the extrinsic APP vectors, which combine with the inputs to form the symbol APPs. In integrated-circuit terminology, the constraint codes, state variables and symbol variables correspond to logic, interconnect, and I/O, respectively.

12.2 The BCJR algorithm

The chain graph of a trellis (state-space) representation is the archetype of a cycle-free graph. The sum-product algorithm therefore may be used for exact APP decoding on any trellis (state-space) graph. In coding, the resulting algorithm is known as the Bahl-Cocke-Jelinek-Raviv (BCJR) algorithm. (In statistical inference, it is known as the forward-backward algorithm. If all probability distributions are Gaussian, then it becomes the Kalman smoother.)

Figure 2 shows the flow of messages and computations when the sum-product algorithm is applied to a trellis.

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 ε0 ε1 ε2 ε3 ε4 ε5 ε6 ε7ι0 ?6 α1

ι1 ?6 α2 ι2 ?6 α3

ι3 ?6 α4 ι4 ?6 α5

ι5 ?6 α6 ι6 ?6 α7

ι7 ?6- - - - - - -C0 C1 C2 C3 C4 C5 C6 C7� � � � � � � β1 β2 β3 β4 β5 β6 β7

Figure 2. Flow of messages and computations in the sum-product algorithm on a trellis.

Page 166: MIT Principal of Digital Communication

170 CHAPTER 12. THE SUM-PRODUCT ALGORITHM

The input messages are the intrinsic APP vectors ιi = {p(ri | yi), yi ∈ Yi}, derived from the observations ri; the output messages are the extrinsic APP vectors εi = {p(yi | r|i′ �=i), yi ∈ Yi}. The intermediate messages are the forward state APP vectors αj = p(sj | r|Pj

), sj ∈ Sj } and the backward state APP vectors βj = p(sj | r|Fj

), sj ∈ Sj }, where r|Pj and r|Fj

denote the observations before and after sj , respectively.

The algorithm proceeds independently in the forward and backward directions. In the forward direction, the messages αj are computed from left to right; αj may be computed by the sum-product rule from the previous message αj−1 and the most recent input message ιj−1. In the backward direction, the messages βj are computed from right to left; βj may be computed by the sum-product rule from βj+1 and ιj .

Finally, each output message εi may be computed by the sum-product update rule from the messages αi and βi+1, giving the extrinsic information for each symbol. To find the APP vector of an input symbol Yi, the intrinsic and extrinsic messages ιi and εi are multiplied componentwise, according to the past/future decomposition rule. (In turbo decoding, the desired output is actually the extrinsic likelihood vector, not the APP vector.) Similarly, to find the APP vector of a state variable Σj , the forward and backward messages αj and βj are multiplied componentwise.

Exercise 1. Consider the two-state trellis diagram for the binary (7, 6, 2) SPC code shown in Figure 3 of Chapter 10. Suppose that a codeword is chosen equiprobably at random, that the transmitter maps {0, 1} to {±1} as usual, that the resulting real numbers are sent through a discrete-time AWGN channel with noise variance σ2 = 1 per symbol, and that the received sequence is r = (0.4,−1.0,−0.1, 0.6, 0.7,−0.5, 0.2). Use the sum-product algorithm to determine the APP that each input bit Yi is a 0 or a 1.

12.3 The min-sum algorithm and ML decoding

We now show that with minor modifications the sum-product algorithm may be used to perform a variant of maximum-likelihood (ML) sequence decoding rather than APP decoding. On a trellis, the resulting “min-sum” algorithm becomes a variant of the Viterbi algorithm.

With the same notation as in the previous section, the min-sum algorithm is defined as follows. Again, let Ci(yi) denote the subset of codewords in which the symbol variable Yi has the value yi ∈ Yi. Then the metric mi(yi) of yi is defined as the maximum likelihood of any codeword y ∈ Ci(Yi); i.e.,

mi(yi) = max p(r | y) = max p(ri′ | yi′ ), yi ∈ Yi. (12.10) y∈Ci(Yi) y∈Ci(Yi)

i′∈I

It is clear that the symbol value yi with the maximum metric mi(yi) will be the value of yi in the codeword y ∈ C that has the maximum global likelihood.

Similarly, if Cj (sj ) denotes the subset of codewords that are consistent with the state variable Σj having the value sj in the state alphabet Sj , then the metric mj (sj ) of sj will be defined as the maximum likelihood of any codeword y ∈ Cj (sj ):

mj (sj ) = max p(ri | yi), sj ∈ Sj . (12.11) y∈Cj (sj )

i∈I

Page 167: MIT Principal of Digital Communication

( ) ( )

∏ ∏

171 12.3. THE MIN-SUM ALGORITHM AND ML DECODING

We recognize that (12.10) and (12.11) are almost identical to (12.1) and (12.2), with the exception that the sum operator is replaced by a max operator. This suggests that these metrics could be computed by a version of the sum-product algorithm in which “sum” is replaced by “max” everywhere, giving what is called the “max-product algorithm.”

In fact this works. The reason is that the operators “max” and “product” operate on proba-bility vectors defined on sets according to the same rules as “sum” and “product.” In particular, assuming that all quantities are non-negative, we have

(a) the distributive law: a max{b, c} = max{ab, ac}; (b) the Cartesian-product distributive law:

max f (x)g(y) = max f (x) max g(y) . (12.12) (x,y)∈X ×Y x∈X y∈Y

Consequently, the derivation of the previous section goes through with just this one change. From (12.3), we now obtain the past/future decomposition rule ⎛ ⎞ ⎛ ⎞

mj (sj ) = ⎝ max p(ri | yi)⎠ ⎝ max p(ri | yi)⎠ = mj (sj | r|P )mj (sj | r|F ), y|P ∈Y|P (sj) y|F ∈Y|F (sj)

i∈IP i∈IF

in which the partial metrics mj (sj | r|P ) and mj (sj | r|F ) are the maximum likelihoods over the past symbols y|P = {yi, i ∈ IP } and future symbols y|F = {yi, i ∈ IF }, respectively. Similarly, we obtain the max-product update rule

mj (sj | r|P ) = max mj′ (sj′ | r|Pj′ ), (12.13) Ck(sj)

j′∈Kjk

where the notation is as in the sum-product update rule (12.8).

In practice, likelihoods are usually converted to log likelihoods, which converts products to sums and yields the max-sum algorithm. Or, log likelihoods may be converted to negative log likelihoods, which converts max to min and yields the min-sum algorithm. These variations are all trivially equivalent.

On a trellis, the forward part of any of these algorithms is equivalent to the Viterbi algorithm (VA). The update rule (12.13) becomes the add-compare-select operation, which is carried out at each state to determine the new metric mj (sj | r|P ) of each state. The VA avoids the backward part of the algorithm by also remembering the survivor history at each state, and then doing a traceback when it gets to the end of the trellis; this traceback corresponds in some sense to the backward part of the sum-product algorithm.

Exercise 2. Repeat Exercise 1, using the min-sum algorithm instead of the sum-product algorithm. Decode the same sequence using the Viterbi algorithm, and show how the two computations correspond. Decode the same sequence using Wagner decoding, and show how Wagner decoding relates to the other two methods.

Page 168: MIT Principal of Digital Communication

172 CHAPTER 12. THE SUM-PRODUCT ALGORITHM

12.4 The sum-product algorithm on graphs with cycles

On a graph with cycles, there are several basic approaches to decoding.

One approach is to agglomerate the graph enough to eliminate the cycles, and then apply the sum-product algorithm, which will now be exact. The problem is that the complexity of decoding of a cycle-free graph of C cannot be significantly less than the complexity of decoding some trellis for C, as we saw in Chapter 11. Moreover, as we saw in Chapter 10, the complexity of a minimal trellis for a sequence of codes with positive rates and coding gains must increase exponentially with code length.

A second approach is simply to apply the sum-product algorithm to the graph with cycles and hope for the best.

Because the sum-product rule is local, it may be implemented at any vertex of the graph, using whatever incoming messages are currently available. In a parallel or “flooding” schedule, the sum-product rule is computed at each vertex at all possible times, converting the incoming messages to a set of outgoing messages on all edges. Other schedules are possible, as we will discuss in the next chapter.

There is now no guarantee that the sum-product algorithm will converge. In practice, the sum-product algorithm converges with probability near 1 when the code rate is below some threshold which is below but near the Shannon limit. Convergence is slow when the code rate is near the threshold, but rapid when the code rate is somewhat lower. The identification of fixed points of the sum-product algorithm is a topic of current research.

Even if the sum-product algorithm converges, there is no guarantee that it will converge to the correct likelihoods or APPs. In general, the converged APPs will be too optimistic (overconfident), because they assume that all messages are from independent inputs, whereas in fact messages enter repeatedly into sum-product updates because of graph cycles. Consequently, decoding performance is suboptimal. In general, the suboptimality is great when the graph has many short cycles, and becomes negligible as cycles get long and sparse (the graph becomes “locally tree-like”). This is why belief propagation has long been considered to be inapplicable to most graphical models with cycles, which typically are based on physical models with inherently short cycles; in coding, by contrast, cycles can be designed to be very long with high probability.

A third approach is to beef up the sum-product algorithm so that it still performs well on certain classes of graphs with cycles. Because the sum-product algorithm already works so well in coding applications, this approach is not really needed for coding. However, this is a current topic of research for more general applications in artificial intelligence, optimization and physics.

Page 169: MIT Principal of Digital Communication

Chapter 13

Capacity-approaching codes

We have previously discussed codes on graphs and the sum-product decoding algorithm in general terms. In this chapter we will give a brief overview of some particular classes of codes that can approach the Shannon limit quite closely: low-density parity-check (LDPC) codes, turbo codes, and repeat-accumulate (RA) codes. We will analyze long LDPC codes on the binary erasure channel (BEC), where exact results can be obtained. We will also sketch how to analyze any of these codes on symmetric binary-input channels.

13.1 LDPC codes

The oldest of these classes of codes is LDPC codes, invented by Gallager in his doctoral thesis (1961). These codes were introduced long before their time (“a bit of 21st-century coding that happened to fall in the 20th century”), and were almost forgotten until the mid-1990s, after the introduction of turbo codes, when they were independently rediscovered. Because of their simple structure, they have been the focus of much analysis. They have also proved to be capable of approaching the Shannon limit more closely than any other class of codes.

An LDPC code is based on the parity-check representation of a binary linear (n, k) block code C; i.e., C is the set of all binary n-tuples that satisfy the n − k parity-check equations

xHT = 0,

where H is a given (n − k) × n parity-check matrix. The basic idea of an LDPC code is that n should be large and H should be sparse; i.e., the density of ones in H should be of the order of a small constant times n rather than n2 . As we will see, this sparseness makes it feasible to decode C by iterative sum-product decoding in linear time. Moreover, H should be pseudo-random, so that C will be a “random-like” code.

In Chapter 11, we saw that a parity-check representation of an (n, k) linear code leads to a Tanner graph with n variable nodes, n − k constraint (zero-sum) nodes, and no state nodes. The number of edges is equal to the number of ones in the parity-check matrix H . This was illustrated by the Tanner graph of a parity-check representation for an (8, 4, 4) code, shown again here as Figure 1.

173

Page 170: MIT Principal of Digital Communication

174 CHAPTER 13. CAPACITY-APPROACHING CODES

x0 ~

x1

HHHHHHHHHH

XXXXXXXXXXx2 ~

x3

~HHHHHHHHHH

+

����������

~

HHHHHHHHHH

+�XXXXXXXXXX����������

��

x4 ~ +�XXXXXXXXXX�

����������

�x5 ~ � � +� �

������������ �� �x6 ~ �����x7 ~

Figure 1. Tanner graph of parity-check representation for (8, 4, 4) code.

Gallager’s original LDPC codes were regular, meaning that every variable is involved in the same number dλ of constraints, whereas every constraint checks the same number dρ of variables, where dρ and dλ are small integers. The number of edges is thus ndλ = (n − k)dρ, so the nominal rate R = k/n of the code satisfies1

n − k dλ1 − R = = . n dρ

Subject to this constraint, the connections between the ndλ variable “sockets” and the (n − k)dρ

constraint sockets are made pseudo-randomly. 1For example, the normal graph of a Gallager code with dλ = 3, dρ = 6 and R = 2 is shown in

Figure 2. The large box labelled Π represents a pseudo-random permutation (“interleaver”).

= �P�P HPh(� ��

HPh(� = �P�

P

= �P�P HPh(� ��

HPh(� = �P�

P Π

. . . . . .

= �P�P HPh(� ��

HPh(� = �P�

P

Figure 2. Normal graph of a regular dλ = 3, dρ = 6 LDPC code.

The actual rate of the code will be greater than R if the checks are not linearly independent. However, this fine point may be safely ignored.

+

+

+

1

Page 171: MIT Principal of Digital Communication

13.2. TURBO CODES 175

Decoding an LDPC code is done by an iterative version of the sum-product algorithm, with a schedule that alternates between left nodes (repetition constraints) and right nodes (zero-sum constraints). The sparseness of the graph tends to insure that its girth (minimum cycle length) is reasonably large, so that the graph is locally tree-like. In decoding, this implies that the independence assumption holds for quite a few iterations. However, typically the number of iterations is large, so the independence assumption eventually becomes invalid.

The minimum distance of an LDPC code is typically large, so that actual decoding errors are hardly ever made. Rather, the typical decoding failure mode is a failure of the decoding algorithm to converge, which is of course a detectable failure.

The main improvement in recent years to Gallager’s LDPC codes has been the use of irreg-ular codes— i.e., LDPC codes in which the left (variable) vertices and right (check) vertices have arbitrary degree distributions. The behavior of the decoding algorithm can be analyzed rather precisely using a technique called “density evolution,” and the degree distributions can consequently be optimized, as we will discuss later in this chapter.

13.2 Turbo codes

The invention of turbo codes by Berrou et al. (1993) ignited great excitement about capacity-approaching codes. Initially, turbo codes were the class of capacity-approaching codes that were most widely used in practice, although LDPC codes may now be superseding turbo codes. Turbo codes achieve fairly low error rates within 1–2 dB of the Shannon limit at moderate block lengths (n = 103 to 104).

The original turbo codes of Berrou et al. are still some of the best that are known. Figure 3 shows a typical Berrou-type turbo code. An information bit sequence is encoded twice: first by an ordinary rate-1

2 systematic recursive (with feedback) convolutional encoder, and then, after a large pseudo-random permutation Π, by a second such encoder. The information sequence and

1the two parity sequences are transmitted, so the overall rate is R = 3 .

information bits -

?

-rate-1

2 , 4–16-state systematic recursive convolutional encoder

first parity bits -

Π

-rate-1

2 , 4–16-state systematic recursive convolutional encoder

-second parity bits

Figure 3. Rate-1 Berrou-type turbo code. 3

The two convolutional encoders are not very complicated, typically 4–16 states, and are often chosen to be identical. The convolutional codes are usually terminated to a finite block length. In practice the rate is often increased by puncturing.

Page 172: MIT Principal of Digital Communication

176 CHAPTER 13. CAPACITY-APPROACHING CODES

info bits

first = second parity

= parity

bits bits

=

= Π

. . . . . . . . .

=

=

trellis 1 trellis 2

Figure 4. Normal graph of a Berrou-type turbo code.

Figure 4 is a normal graph of such a code. On both sides of the permutation Π are normal graphs representing the trellises of the two constituent convolutional codes, as in Figure 4(b) of Chapter 11. The information and parity bits are shown separately. The information bit sequences for the two trellises are identical, apart from the permutation Π.

Decoding a turbo code is done by an iterative version of the sum-product algorithm, with a schedule that alternates between the left trellis and the right trellis. On each trellis the sum-product algorithm reduces to the BCJR (APP) algorithm, so the decoder can efficiently decode the entire trellis before exchanging the resulting “extrinsic information” with the other trellis.

Again, the large permutation Π, combined with the recursive property of the encoders, tends to ensure that the girth of the graph is reasonably large, so the independence assumption holds for quite a few iterations. In turbo decoding the number of iterations is typically only 10–20, since much computation can be done along a trellis in each iteration.

The minimum distance of a Berrou-type turbo code is typically not very large. Although at low SNRs the decoding error probability tends to drop off rapidly above a threshold SNR (the “waterfall region”) down to 10−4 , 10−5 or lower, for higher SNRs the error probability falls off more slowly due to low-weight error events (the “noise floor” region), and the decoder actually makes undetectable errors.

For applications in which these effects are undesirable, a different arrangement of two con-stituent codes is used, namely one after the other as in classical concatenated coding. Such codes are called “serial concatenated codes,” whereas the Berrou-type codes are called “parallel concatenated codes.” Serial concatenated codes usually still have an error floor, but typically at a considerably lower error rate than parallel concatenated codes. On the other hand, their threshold in the waterfall region tends to be worse than that of parallel concatenated codes. The “repeat-accumulate” codes of the next section are simple serial concatenated codes.

Analysis of turbo codes tends to be more ad hoc than that of LDPC codes. However, good ad hoc techniques for estimating decoder performance are now known (e.g., the “extrinsic informa-tion transfer (EXIT) chart;” see below), which allow optimization of the component codes.

Page 173: MIT Principal of Digital Communication

13.3. REPEAT-ACCUMULATE CODES 177

13.3 Repeat-accumulate codes

Repeat-accumulate (RA) codes were introduced by Divsalar, McEliece et al. (1998) as extremely simple “turbo-like” codes for which there was some hope of proving theorems. Surprisingly, even such simple codes proved to work quite well, within about 1.5 dB of the Shannon limit— i.e., better than the best schemes known prior to turbo codes.

RA codes are a very simple class of serial concatenated codes. The outer code is a simple (n, 1, n) repetition code, which simply repeats the information bits n times. The resulting sequence is then permuted by a large pseudo-random permutation Π. The inner code is a rate-1 2-state convolutional code with generator g(D) = 1/(1 + D); i.e., the input/output equation is yk = xk + yk−1, so the output bit is simply the “accumulation” of all previous input bits (mod 2). The complete RA encoder is shown in Figure 5.

- 1- - -(n, 1, n) Π 1+D

Figure 5. Rate- 1 RA encoder. n

The normal graph of a rate-1 RA code is shown in Figure 6. Since the original information 3 bits are not transmitted, they are regarded as hidden state variables, repeated three times. On the right side, the states of the 2-state trellis are the output bits yk , and the trellis constraints are represented explicitly by zero-sum nodes that enforce the constraints yk + xk + yk−1 = 0.

. . . . . . =

+

=� �

@ @

@ =

+

=

Π =

+

+

=� �

@ @

@ =

+

=

+ . . . . . .

Figure 6. Normal graph of rate-1 RA code. 3

Decoding an RA code is again done by an iterative version of the sum-product algorithm, with a schedule that alternates between the left constraints and the right constraints, which in this case form a 2-state trellis. For the latter, the sum-product algorithm again reduces to the BCJR (APP) algorithm, so the decoder can efficiently decode the entire trellis in one iteration. A left-side iteration does not accomplish as much, but on the other hand it is extremely simple. As with LDPC codes, performance may be improved by making the left degrees irregular.

Page 174: MIT Principal of Digital Communication

178 CHAPTER 13. CAPACITY-APPROACHING CODES

13.4 Analysis of LDPC codes on the binary erasure channel

In this section we will analyze the performance of iterative decoding of long LDPC codes on a binary erasure channel. This is one of the few scenarios in which exact analysis is possible. However, the results are qualitatively (and to a considerable extent quantitatively) indicative of what happens in more general scenarios.

13.4.1 The binary erasure channel

The binary erasure channel (BEC) models a memoryless channel with two inputs {0, 1} and three outputs, {0, 1, ?}, where “?” is an “erasure symbol.” The probability that any transmitted bit will be received correctly is 1 − p, that it will be erased is p, and that it will be received incorrectly is zero. These transition probabilities are summarized in Figure 7 below.

0 1 − p 0 p XXXXXX

������ ? p1 1 − p 1

Figure 7. Transition probabilities of the binary erasure channel.

The binary erasure channel is an exceptional channel, in that a received symbol either specifies the transmitted symbol completely, or else gives no information about it. There are few physical examples of such binary-input channels. However, a Q-ary erasure channel (QEC) is a good model of packet transmission on the Internet, where (because of internal parity checks on packets) a packet is either received perfectly or not at all.

If a code sequence c from a binary code C is transmitted over a BEC, then the received sequence r will agree with c in all unerased symbols. If there is no other code sequence c′ ∈ C that agrees with r in all unerased symbols, then c is the only possible transmitted sequence, so a maximum-likelihood (ML) decoder can decide that c was sent with complete confidence. On the other hand, if there is another code sequence c′ ∈ C that agrees with r in all unerased symbols, then there is no way to decide between c and c′, so a detectable decoding failure must occur. (We consider a random choice between c and c′ to be a decoding failure.)

The channel capacity of a BEC with erasure probability p is 1 − p, the fraction of unerased symbols, as would be expected intuitively. If feedback is available, then the channel capacity may be achieved simply by requesting retransmission of each erased symbol (the method used on the Internet Q-ary erasure channel).

Even without feedback, if we choose the 2nR code sequences in a block code C of length n and rate R independently at random with each bit having probability 1 of being 0 or 1, then as 2 n → ∞ the probability of a code sequence c′ ∈ C agreeing with the transmitted sequence c in all ≈ n(1 − p) unerased symbols is about 2−n(1−p), so by the union bound estimate the probability of decoding failure is about

· 2−n(1−p),Pr(E) ≈ 2nR

which decreases exponentially with n as long as R < 1 − p. Thus capacity can be approached arbitrarily closely without feedback. On the other hand, if R > 1 −p, then with high probability there will be only ≈ n(1 − p) < nR unerased symbols, which can distinguish between at most 2n(1−p) < 2nR code sequences, so decoding must fail with high probability.

Page 175: MIT Principal of Digital Communication

179 13.4. ANALYSIS OF LDPC CODES ON THE BINARY ERASURE CHANNEL

13.4.2 Iterative decoding of LDPC codes on the BEC

On the binary erasure channel, the sum-product algorithm is greatly simplified, because at any time every variable corresponding to every edge in the code graph is either known perfectly (unerased) or not known at all (erased). Iterative decoding using the sum-product algorithm therefore reduces simply to the propagation of unerased variables through the code graph.

There are only two types of nodes in a normal graph of an LDPC code (e.g., Figure 2): repetition nodes and zero-sum nodes. If all variables are either correct or erased, then the sum-product update rule for a repetition node reduces simply to:

If any incident variable is unerased, then all other incident variables may be set equal to that variable, with complete confidence; otherwise, all incident variables remain erased.

For a zero-sum node, the sum-product update rule reduces to:

If all but one incident variable is unerased, then the remaining incident variable may be set equal to the mod-2 sum of those inputs, with complete confidence; otherwise, variable assignments remain unchanged.

Since all unerased variables are correct, there is no chance that these rules could produce a variable assignment that conflicts with another assignment.

Exercise 1. Using a graph of the (8, 4, 4) code like that of Figure 1 for iterative decoding, decode the received sequence (1, 0, 0, ?, 0, ?, ?, ?). Then try to decode the received sequence (1, 1, 1, 1, ?, ?, ?, ?). Why does decoding fail in the latter case? Give both a local answer (based on the graph) and a global answer (based on the code). For the received sequence (1, 1, 1, 1, ?, ?, ?, 0), show that iterative decoding fails but that global (i.e., ML) decoding succeeds.

13.4.3 Performance of large random LDPC codes

We now analyze the performance of iterative decoding for asymptotically large random LDPC codes on the BEC. Our method is a special case of a general method called density evolution, and is illustrated by a special case of the EXtrinsic Information Transfer (EXIT) chart technique.

We first analyze a random ensemble of regular (dρ, dλ) LDPC codes of length n and rate R = 1 − dλ/dρ. In this case all left nodes are repetition nodes of degree dλ + 1, with one external (input) incident variable and dλ internal (state) incident variables, and all right nodes are zero-sum nodes of degree dρ, with all incident variables being internal (state) variables. The random element is the permutation Π, which is chosen equiprobably from the set of all (ndλ)! permutations of ndλ = (n − k)dρ variables. We let n → ∞ with (dρ, dλ) fixed.

We use the standard sum-product algorithm, which alternates between sum-product updates of all left nodes and all right nodes. We track the progress of the algorithm by the expected fraction q of internal (state) variables that are still erased at each iteration. We will assume that at each node, the incident variables are independent of each other and of everything else; as n → ∞, this “locally tree-like” assumption is justified by the large random interleaver.

At a repetition node, if the current probability of internal variable erasure is qin, then the probability that a given internal incident variable will be erased as a result of its sum-product update is the probability that both the external incident variable and all dλ − 1 other internal incident variables are erased, namely qout = p(qin)dλ−1 .

Page 176: MIT Principal of Digital Communication

180 CHAPTER 13. CAPACITY-APPROACHING CODES

On the other hand, at a zero-sum node, the probability that a given incident variable will not be erased is the probability that all dρ − 1 other internal incident variables are not erased, namely (1 − qin)dρ−1, so the probability that it is erased is qout = 1 − (1 − qin)dρ−1 .

These two functions are plotted in the “EXIT chart” of Figure 8 in the following manner. The two variable axes are denoted by qr→� and q�→r , where the subscripts denote respectively left-going and right-going erasure probabilities. The range of both axes is from 1 (the initial value) to 0 (hopefully the final value). The two curves represent the sum-product update relationships derived above:

q�→r = p(qr→�)dλ −1; qr→� = 1 − (1 − q�→r )dρ−1 . 1These curves are plotted for a regular (dλ = 3, dρ = 6) (R = 2 ) LDPC code on a BEC with

p = 0.4.

0

0.4

q�→r

p = 0.4

1 1 qr→� 0

Figure 8. EXIT chart for iterative decoding of a regular (dλ = 3, dρ = 6) LDPC code on a BEC with p = 0.4.

A “simulation” of iterative decoding may then be performed as follows (also plotted in Figure 8). Initially, the left-going erasure probability is qr→� = 1. After a sum-product update in the left (repetition) nodes, the right-going erasure probability becomes q�→r = p = 0.4. After a sum-product update in the right (zero-sum) nodes, the left-going erasure probability becomes qr→� = 1 − (0.6)5 = 0.922. Continuing, the erasure probability evolves as follows:

qr→� : 1 0.922 0.875 0.839 0.809 0.780 0.752 0.723 0.690 0.653 0.607 0.550 0.475 0.377 . . .

q�→r :

We see that iterative decoding must eventually drive the erasure probabilities to the top right corner of Figure 8, q�→r = qr→� = 0, because the two curves do not cross. It takes quite a few iterations, about 15 in this case, to get through the narrow “tunnel” where the two curves

�R 0.

�057

@�R 0.

�090

@�R 0.

�121

@�R 0.

�147

@�R 0.

�170

@�R 0.

�191

@�R 0.

�209

@�R 0.

�227

@�R 0.

�244

@�R 0.

�262

@�R 0.

�282

@�R 0.

�306

@�R 0.

�340

@�R 0.

�400

@

Page 177: MIT Principal of Digital Communication

181 13.4. ANALYSIS OF LDPC CODES ON THE BINARY ERASURE CHANNEL

approach each other closely. However, once past the “tunnel,” convergence is rapid. Indeed, when both erasure probabilities are small, the result of one complete (left and right) iteration is

new old qr→� ≈ 5q�→r = 5p(qr→�)2 .

Thus both probabilities decrease rapidly (doubly exponentially) with the number of iterations.

The iterative decoder will fail if and only if the two curves touch; i.e., if and only if there exists a pair (q�→r , qr→�) such that q�→r = p(qr→�)dλ−1 and qr→� = 1 − (1 − q�→r )dρ−1, or equivalently the single-iteration update equation

new old q = 1 − (1 − p(qr→�)dλ−1)dρ−1

r→�

new = qoldhas a fixed point with q r→�. For example, if p = 0.45 and dλ = 3, dρ = 6, then this r→� equation has a (first) fixed point at about (q�→r ≈ 0.35, qr→� ≈ 0.89), as shown in Figure 9.

1

q�→r

0.45

0 p = 0.45

1 qr→� 0

Figure 9. EXIT chart for iterative decoding of a regular (dλ = 3, dρ = 6) LDPC code on a BEC with p = 0.45.

Exercise 2. Perform a simulation of iterative decoding of a regular (dλ = 3, dρ = 6) LDPC code on a BEC with p = 0.45 (i.e., on Figure 9), and show how decoding gets stuck at the first fixed point (q�→r ≈ 0.35, qr→� ≈ 0.89). About how many iterations does it take to get stuck? By simulation of iterative decoding, compute the coordinates of the fixed point to six significant digits.

We conclude that iterative decoding of a large regular (dλ = 3, dρ = 6) LDPC code, which has 1nominal rate R = 2 , will succeed on a BEC when the channel erasure probability is less than

∗some threshold p ∗, where 0.4 < p < 0.45. The threshold p ∗ is the smallest p such that the equation x = 1 − (1 − px2)5 has a solution in the interval 0 < x < 1.

Exercise 3. By analysis or simulation, show that p ∗ = 0.429....

Page 178: MIT Principal of Digital Communication

� �

� �

� �

182 CHAPTER 13. CAPACITY-APPROACHING CODES

13.4.4 Analysis of irregular LDPC codes

Now let us apply a similar analysis to large irregular LDPC codes, where the left nodes and/or right nodes do not necessarily all have the same degree. We characterize ensembles of such codes by the following parameters.

The number of external variables and left (repetition) nodes is the code length n; again we let n → ∞. The number of internal variables (edges) will be denoted by E, which we will allow to grow linearly with n. The number of right (zero-sum) nodes will be n − k = n(1 − R), yielding a nominal code rate of R.

A left node will be said to have degree d if it has d incident internal edges (i.e., the external variable is not counted in its degree). The number of left nodes of degree d will be denoted by Ld. Thus n = d Ld. Similarly, the number of right nodes of degree d will be denoted by Rd, and n(1 − R) = Rd. Thus the nominal rate R is given by d

RddR = 1 − � . Ldd

An edge will be said to have left degree d if it is incident on a left node of degree d. The number of edges of left degree d will be denoted by �d; thus �d = dLd. Similarly, the number of edges of right degree d is rd = dRd. The total number of edges is thus

E = �d = rd. d d

It is helpful to define generating functions of these degree distributions as follows:

L(x) = Ldx d; d

R(x) = Rdx d; d

�dx d−1;�(x) = d

r(x) = rdx d−1 . d

Note that L(1) = n, R(1) = n(1 −R), and �(1) = r(1) = E. Also, note that �(x) is the derivative of L(x),

�dx d−1L′(x) = Lddxd−1 = = �(x), d d

and similarly R′(x) = r(x). Conversely, we have the integrals � x dL(x) = (�d/d)x = �(y)dy;

0d � x dR(x) = (rd/d)x = r(y)dy.

0d

Finally, we have R(1)

� 1 r(x)dx0R = 1 − = 1 − � 1 .

L(1) �(x)dx0

Page 179: MIT Principal of Digital Communication

� �

183 13.4. ANALYSIS OF LDPC CODES ON THE BINARY ERASURE CHANNEL

In the literature, it is common to normalize all of these generating functions by the total number of edges E; i.e., we define λ(x) = �(x)/E = �(x)/�(1), ρ(x) = r(x)/E = r(x)/r(1),

x xΛ(x) = L(x)/E = 0 λ(y)dy, and P(x) = R(x)/E = ρ(y)dy. In these terms, we have 0

P(1) � 1

ρ(x)dx0R = 1 − Λ(1)

= 1 − � 1 . λ(x)dx0

The average left degree is defined as dλ = E/n, and the average right degree as dρ = E/n(1−R); therefore 1/dλ = Λ(1), 1/dρ = P(1), and

dλR = 1 − .

The analysis of iterative decoding of irregular LDPC codes may be carried out nicely in terms of these generating functions. At a left node, if the current left-going probability of variable erasure is qr→�, then the probability that a given internal variable of left degree d will be erased as a result of a sum-product update is p(qr→�)d−1 . The expected fraction of erased right-going variables is thus

q�→r = p λd(qr→�)d−1 , d

where λd = �d/E is the fraction of edges of left degree d. Thus

q�→r = pλ(qr→�),

λdxd−1where λ(x) = . Similarly, the expected fraction of erased left-going variables after a d

sum-product update at a right node is � � � =qr→� ρd 1 − (1 − q�→r )d−1 = 1 − ρ(1 − q�→r ),

d

d ρdxd−1 .where ρd = rd/E is the fraction of edges of right degree d, and ρ(x) =

These equations generalize the equations q�→r = p(qr→�)λ−1 and qr→� = 1 − (1 − q�→r )ρ−1 for the regular case. Again, these two curves may be plotted in an EXIT chart, and may be used for an exact calculation of the evolution of the erasure probabilities q�→r and qr→� under iterative decoding. And again, iterative decoding will be successful if and only if the two curves do not cross. The fixed-point equation now becomes

x = 1 − ρ(1 − pλ(x)).

Design of a capacity-approaching LDPC code therefore becomes a matter of choosing the left and right degree distributions λ(x) and ρ(x) so that the two curves come as close to each other as possible, without touching.

13.4.5 Area theorem

The following lemma and theorem show that in order to approach the capacity C = 1 − p of the BEC arbitrarily closely, the two EXIT curves must approach each other arbitrarily closely; moreover, if the rate R exceeds C, then the two curves must cross.

Page 180: MIT Principal of Digital Communication

184 CHAPTER 13. CAPACITY-APPROACHING CODES

Lemma 13.1 (Area theorem) The area under the curve q�→r = pλ(qr→�) is p/dλ, while the area under the curve qr→� = 1 − ρ(1 − q�→r ) is 1 − 1/dρ.

Proof. � 1

pλ(x)dx = pΛ(1) = p

; 0 dλ � 1 � 1 1

(1 − ρ(1 − x))dx = (1 − ρ(y))dy = 1 − P(1) = 1 − . 0 0 dρ

Theorem 13.2 (Converse capacity theorem) For successful iterative decoding of an irreg-ular LDPC code on a BEC with erasure probability p, the code rate R must be less than the capacity C = 1 − p. As R → C, the two EXIT curves must approach each other closely, but not cross.

Proof. For successful decoding, the two EXIT curves must not intersect, which implies that the regions below the two curves must be disjoint. This implies that the sum of the areas of these regions must be less than the area of the EXIT chart, which is 1:

pΛ(1) + 1 − P(1) < 1.

This implies that p < P(1)/Λ(1) = 1 − R, or equivalently R < 1 − p = C. If R ≈ C, then pΛ(1) + 1 − P(1) ≈ 1, which implies that the union of the two regions must nearly fill the whole EXIT chart, whereas for successful decoding the two regions must remain disjoint.

13.4.6 Stability condition

Another necessary condition for the two EXIT curves not to cross is obtained by considering the curves near the top right point (0, 0). For qr→� small, we have the linear approximation

q�→r = pλ(qr→�) ≈ pλ′(0)qr→�.

Similarly, for q�→r small, we have

qr→� = 1 − ρ(1 − q�→r ) ≈ 1 − ρ(1) + ρ′(1)q�→r = ρ′(1)q�→r ,

where we use ρ(1) = ρd = 1. After one complete iteration, we therefore have d

new old qr→� ≈ pλ′(0)ρ′(1)qr→�,

The erasure probability qr→� is thus reduced on a complete iteration if and only if

pλ′(0)ρ′(1) < 1.

This is known as the stability condition on the degree distributions λ(x) and ρ(x). Graphically, it ensures that the line q�→r ≈ pλ′(0)qr→� lies above the line qr→� ≈ ρ′(1)q�→r near the point (0, 0), which is a necessary condition for the two curves not to cross.

Page 181: MIT Principal of Digital Communication

13.5. LDPC CODE ANALYSIS ON SYMMETRIC BINARY-INPUT CHANNELS 185

Exercise 4. Show that if the minimum left degree is 3, then the stability condition necessarily holds. Argue that such a degree distribution λ(x) cannot be capacity-approaching, however, in view of Theorem 13.2.

Luby, Shokrollahi et al. have shown that for any R < C it is possible to design λ(x) and ρ(x) so that the nominal code rate is R and the two curves do not cross, so that iterative decoding will be successful. Thus iterative decoding of LDPC codes solves the longstanding problem of approaching capacity arbitrarily closely on the BEC with a linear-time decoding algorithm, at least for asymptotically long codes.

13.5 LDPC code analysis on symmetric binary-input channels

In this final section, we will sketch how to analyze a long LDPC code on a general symmetric binary-input channel (SBIC). Density evolution is exact, but is difficult to compute. EXIT charts give good approximate results.

13.5.1 Symmetric binary-input channels

The binary symmetric channel (BSC) models a memoryless channel with binary inputs {0, 1}and binary outputs {0, 1}. The probability that any transmitted bit will be received correctly is 1 − p, and that it will be received incorrectly is p. This model is depicted in Figure 10 below.

1 − p0 HHHHHH

0 p ����p��1 1 − p 1

Figure 10. Transition probabilities of the binary symmetric channel.

By symmetry, the capacity of a BSC is attained when the two input symbols are equiprobable. In this case, given a received symbol y, the a posteriori probabilities {p(0 | y), p(1 | y)} of the transmitted symbols are {1 − p, p} for y = 0 and {p, 1 − p} for y = 1. The conditional entropy H(X | y) is thus equal to the binary entropy function H(p) = −p log2 p − (1 − p) log2(1 − p), independent of y. The channel capacity is therefore equal to C = H(X) −H(X | Y ) = 1 −H(p).

A general symmetric binary-input channel (SBIC) is a channel with binary inputs {0, 1} that may be viewed as a mixture of binary symmetric channels, as well as possibly a binary erasure channel. In other words, the channel output alphabet may be partitioned into pairs {a, b} such that p(a | 0) = p(b | 1) and p(a | 1) = p(b | 0), as well as possibly a singleton {?} such that p(? | 0) = p(? | 1).

Again, by symmetry, the capacity of a SBIC is attained when the two input symbols are equiprobable. Then the a posteriori probabilities (APPs) are symmetric, in the sense that for any such pair {a, b}, {p(0 | y), p(1 | y)} equals {1 −p, p} for y = a and {p, 1 −p} for y = b, where

p(a | 1) p(b | 0) p = =

p(a | 0) + p(a | 1) p(b | 0) + p(b | 1) .

1 1Similarly, {p(0 |?), p(1 |?)} = {2 , 2 }.

Page 182: MIT Principal of Digital Communication

186 CHAPTER 13. CAPACITY-APPROACHING CODES

We may characterize a symmetric binary-input channel by the probability distribution of the APP parameter p = p(1 | y) under the conditional distribution p(y | 0), which is the same as the distribution of p = p(0 | y) under p(y | 1). This probability distribution is in general continuous if the output distribution is continuous, or discrete if it is discrete.2

Example 1. Consider a binary-input channel with five outputs {y1, y2, y3, y4, y5} such that {p(yj | 0)} = {p1, p2, p3, p4, p5} and {p(yj | 1)} = {p5, p4, p3, p2, p1}. This channel is a SBIC, because the outputs may be grouped into symmetric pairs {y1, y5} and {y2, y4} and a singleton {y3} satisfying the symmetry conditions given above. The values of the APP parameter p are

p5 p4 1 p2then { p1+p5 , p2+p4

, 2 , p2+p4 , p1 }; their probability distribution is {p1, p2, p3, p4, p5}. p1+p5

Example 2. Consider a binary-input Gaussian-noise channel with inputs {±1} and Gaussian conditional probability density p(y | x) = (2πσ)−1/2 exp −(y − x)2/2σ2 . This channel is a SBIC, because the outputs may be grouped into symmetric pairs {±y} and a singleton {0} satisfying the symmetry conditions given above. The APP parameter is then

p(y | −1) e−y/σ2

+ e−y/σ2 ,p = p(y | 1) + p(y | −1)

= ey/σ2

whose probability density is induced by the conditional density p(y | +1).

Given an output y, the conditional entropy H(X | y) is given by the binary entropy function, H(X | y) = H(p(0 | y)) = H(p(1 | y)). The average conditional entropy is thus

H(X | Y ) = EY |0[H(X | y)] = dy p(y | 0) H(p(0 | y)),

where we use notation that is appropriate for the continuous case. The channel capacity is then C = H(X) − H(X | Y ) = 1 − H(X | Y ) bits per symbol.

Example 1. For the five-output SBIC of Example 1, � � � �

H(X | Y ) = (p1 + p5)H p

p1

1 + p5 + (p2 + p4)H

p

p2

2 + p4 + p3.

Example 3. A binary erasure channel with erasure probability p is a SBIC with probabilities 1{1−p, p, 0} of the APP parameter being {0, 2 , 1}, and thus of H(X | y) being {0, 1, 0}. Therefore

H(X | Y ) = p and C = 1 − p.

13.5.2 Sum-product decoding of an LDPC code on a SBIC

For an LDPC code on a SBIC, the sum-product iterative decoding algorithm is still quite simple, because all variables are binary, and all constraint nodes are either repetition or zero-sum nodes.

For binary variables, APP vectors are always of the form {1 − p, p}, up to scale; i.e., they are specified by a single parameter. We will not worry about scale in implementing the sum-product algorithm, so in general we will simply have unnormalized APP weights {w0, w1}, from which can recover p using the equation p = w1/(w0 + w1). Some implementations use likelihood ratios λ = w0/w1, from which we can recover p using p = 1/(1 + λ). Some use log likelihood ratios Λ = ln λ, from which we can recover p using p = 1/(1 + eΛ).

Note that any outputs with the same APP parameter may be combined without loss of optimality, since the APPs form a set of sufficient statistics for estimation of the input from the output.

2

Page 183: MIT Principal of Digital Communication

� �

� �

� � � �

� �

� � �

13.5. LDPC CODE ANALYSIS ON SYMMETRIC BINARY-INPUT CHANNELS 187

For a repetition node, the sum-product update rule reduces simply to the product update rule, in which the components of the incoming APP vectors are multiplied componentwise: i.e.,

out = in,j out = in,jw0 w ; w1 ,0 w1 j j

in,jwhere {wxj | xj ∈ {0, 1}} is the jth incoming APP weight vector. Equivalently, the output likelihood ratio is the product of the incoming likelihood ratios; or, the output log likelihood ratio is the sum of the incoming log likelihood ratios.

For a zero-sum node, the sum-product update rule reduces to

out = in,j ; out = in,jw0 wxj w1 w .xj

xj =0 j xj =1 j

An efficient implementation of this rule is as follows:3

in,j(a) Transform each incoming APP weight vector {w in,j , w } by a 2 × 2 Hadamard transform 0 1 in,j in,jin,j in,j , W1

in,j = w0 − w1 }.to {W in,j = w0 + w10

(b) Form the componentwise product of the transformed vectors; i.e.,

W out = W0in,j W out = W1

in,j; 1 .0 j j

(c) Transform the outgoing APP weight vector {W out, W out} by a 2 × 2 Hadamard transform 0 1 out = W out − W out}.to {wout = W out + W out, w10 0 1 0 1

Exercise 5. (Sum-product update rule for zero-sum nodes)

(a) Prove that the above algorithm implements the sum-product update rule for a zero-sum

j (w in,jnode, up to scale. [Hint: observe that in the product − w1 in,j ), the terms with positive 0 out.]signs sum to wout, whereas the terms with negative signs sum to w0 1

in,j in an even number of incoming APP vectors, (b) Show that if we interchange w in,j and w10 out outthen the outgoing APP vector {w } is unchanged. On the other hand, show that if we 0 , w1

in,j in an odd number of incoming APP vectors, then the components interchange w in,j and w10 w0

out of the outgoing APP vector are interchanged. out and w1

(c) Show that if we replace APP weight vectors {w0, w1} by log likelihood ratios Λ = ln w0/w1, then the zero-sum sum-product update rule reduces to the “tanh rule”

1 + tanh Λin,j /2 Λout = ln � j

1 − tanh Λin,j /2 ,

j

where the hyperbolic tangent is defined by tanh x = (ex − e−x)/(ex + e−x).

(d) Show that the “tanh rule” may alternatively be written as

tanh Λout/2 = tanh Λin,j /2. j

3This implementation is an instance of a more general principle: the sum-product update rule for a constraint code C may be implemented by Fourier-transforming the incoming APP weight vectors, performing a sum-product update for the dual code C⊥, and then Fourier-transforming the resulting outgoing APP weight vectors. For a binary alphabet, the Fourier transform reduces to the 2 × 2 Hadamard transform.

Page 184: MIT Principal of Digital Communication

188 CHAPTER 13. CAPACITY-APPROACHING CODES

13.5.3 Density evolution

The performance of iterative decoding for asymptotically large random LDPC codes on a general SBIC may in principle be simulated exactly by tracking the probability distribution of the APP parameter p (or an equivalent parameter). This is called density evolution. However, whereas

1on the BEC there are only two possible values of p, 2 (complete ignorance) and 0 (complete certainty), so that we need to track only the probability q of the former, in density evolution we need to track a general probability distribution for p. In practice, this cannot be done with infinite precision, so density evolution becomes inexact to some extent.

On an SBIC, the channel symmetry leads to an important simplification of density evolution: we may always assume that the all-zero codeword was sent, which means that for each variable we need to track only the distribution of p given that the value of the variable is 0.

To justify this simplification, note that any other codeword imposes a configuration of variables on the code graph such that all local constraints are satisfied; i.e., all variables incident on a repetition node are equal to 0 or to 1, while the values of the set of variables incident on a zero-sum node include an even number of 1s. Now note that at a repetition node, if we interchange w in,j and w1

out of the outgoing in,j in all incoming APP vectors, then the components wout and w10 0 APP vector are interchanged. Exercise 5(b) proves a comparable result for zero-sum nodes. So if the actual codeword is not all-zero, but the channel is symmetric, so for every symbol variable which has a value 1 the initial APP vectors are simply interchanged, then the APP vectors will evolve during sum-product decoding in precisely the same way as they would have evolved if the all-zero codeword had been sent, except that wherever the underlying variable has value 1, the APP components are interchanged.

In practice, to carry out density evolution for a given SBIC with given degree distributions λ(x) and ρ(x), the probability density is quantized to a discrete probability distribution, using as many as 12–14 bits of accuracy. The repetition and check node distribution updates are performed in a computationally efficient manner, typically using fast Fourier transforms for the former and a table-driven recursive implementation of the “tanh rule” for the latter. For a given SBIC model, the simulation is run iteratively until either the distribution of p tends to a delta function at p = 0 (success), or else the distribution converges to a nonzero fixed point (failure). Repeated runs allow a success threshold to be determined. Finally, the degree distributions λ(x) and ρ(x) may be optimized by using hill-climbing techniques (iterative linear programming).

For example, in his thesis (2000), Chung designed rate-1 codes with asymptotic thresholds 2 within 0.0045 dB of the Shannon limit, and with performance within 0.040 dB of the Shannon limit at an error rate of 10−6 with a block length of n = 107; see Figure 11. The former code has left degrees {2, 3, 6, 7, 15, 20, 50, 70, 100, 150, 400, 900, 2000, 3000, 6000, 8000}, with average left degree dλ = 9.25, and right degrees {18, 19}, with average right degree dρ = 18.5. The latter code has left degrees {2, 3, 6, 7, 18, 19, 55, 56, 200}, with dλ = 6, and all right degrees equal to 12.

In current research, more structured constructions of the parity-check matrix H (or equiva-lently the permutation Π) are being sought for shorter block lengths, of the order of 1000.

Page 185: MIT Principal of Digital Communication

189

10

13.5. LDPC CODE ANALYSIS ON SYMMETRIC BINARY-INPUT CHANNELSB

ER

10−2

−3

−410

10−5

−610

Shannon limit

dl=100d

l=200

Threshold (dl=100)Threshold (d

l=200)

Threshold (dl=8000)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 E

b/N

0 [dB]

Figure 11. Asymptotic analysis with maximum left degree dl = 100, 200, 8000 and simulations with dl = 100, 200 and n = 107 of optimized rate-1 irregular LDPC codes [Chung et al., 2001]. 2

13.5.4 EXIT charts

For large LDPC codes, an efficient and quite accurate heuristic method of simulating sum-product decoding performance is to replace the probability distribution of the APP parameter p by a single summary statistic: most often, the conditional entropy H(X | Y ) = EY |0[H(X | y)], or equivalently the mutual information I(X; Y ) = 1 − H(X | Y ). We have seen that on the BEC, where H(X | Y ) = p, this approach yields an exact analysis.

Empirical evidence shows that the relations between H(X | Y )out and H(X | Y )in for repeti-tion and zero-sum nodes are very similar for all SBICs. This implies that degree distributions λ(z), ρ(z) designed for the BEC may be expected to continue to perform well for other SBICs.

Similar EXIT chart analyses may be performed for turbo codes, RA codes, or for any codes in which there are left codes and right codes whose variables are shared through a large pseudo-random interleaver. In these cases the two relations between H(X | Y )out and H(X | Y )in often cannot be determined by analysis, but rather are measured empirically during simulations. Again, design is done by finding distributions of left and right codes such that the two resulting curves approach each other closely, without crossing. All of these classes of codes have now been optimized to approach capacity closely.

Page 186: MIT Principal of Digital Communication

Chapter 14

Introduction to lattice and trellis codes

In this chapter we discuss coding techniques for bandwidth-limited (high-SNR) AWGN channels.

On bandwidth-limited channels, nonbinary signal alphabets such as M -PAM must be used to approach capacity. Furthermore, the signals should be used with a nonuniform, Gaussian-like probability distribution.

Using large-alphabet approximations, we show that the total coding gain of a coded modulation scheme for the bandwidth-limited AWGN channel is the sum of a coding gain due to a denser packing than the baseline M -PAM scheme, plus a shaping gain due to constellation shaping (or equivalently to use of a nonuniform distribution). At high SNRs, the coding and shaping problems are separable.

The maximum possible shaping gain is a factor of πe/6 (1.53 dB). Simple shaping methods such as shell mapping and trellis shaping can easily obtain of the order of 1 dB of shaping gain.

For moderate coding gains at moderate complexity, the two principal classes of packings are lattices and trellis codes, which are analogous to block and convolutional codes, respectively. By now the principles of construction of the best such codes are well understood, and it seems likely that the best codes have been found. We plot the effective coding gains of these known moderate-complexity lattices and trellis codes versus the branch complexity of their minimal trellises, assuming ML decoding. Trellis codes are somewhat superior, due mainly to their lower error coefficients.

We briefly mention higher-performance schemes, including multilevel schemes with multistage decoding and bit-interleaved coded modulation, which allow the use of high-performance binary codes such as those described in the previous chapter to approach capacity.

191

Page 187: MIT Principal of Digital Communication

192 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

14.1 Lattices

It is clear from Shannon’s capacity theorem that an optimal block code for a bandwidth-limited AWGN channel consists of a dense packing of code points within a sphere in a high-dimensional Euclidean space. Most of the densest known packings are lattices.

In this section we briefly describe lattice constellations, and analyze their performance using the union bound estimate and large-constellation approximations.

An n-dimensional (n-D) lattice Λ is a discrete subset of n-space Rn that has the group property. Without essential loss of generality, Λ may be assumed to span Rn . The points of the lattice then form a uniform infinite packing of Rn .

Example 1. The set of integers Z is a one-dimensional lattice, since Z is a discrete subgroup of R. Any 1-dimensional lattice is of the form Λ = αZ for some scalar α > 0.

Example 2. The integer lattice Zn (the set of integer n-tuples) is an n-dimensional lattice for any n ≥ 1.

√ 3Example 3. The hexagonal lattice A2 = {a(1, 0) + b( 1

2 , ) | (a, b) ∈ Z2} is illustrated in 2 Figure 1. This lattice is the densest packing of R2 .

Figure 1. The hexagonal lattice A2.

Exercise 1. Let C be an (n, k, d) binary linear block code. Show that

ΛC = {x ∈ Zn | x ≡ c mod 2 for some c ∈ C} (14.1)

is an n-dimensional sublattice of Zn (called a “Construction A” or “mod-2” lattice).

A general n-dimensional lattice Λ that spans Rn may be characterized by a set of linearly

independent generators G = {gj , 1 ≤ j ≤ n} such that Λ is the set of all integer linear combinations of the generators:

Λ = {aG = aj gj | a ∈ Zn}. (14.2)

j

Thus Λ may be viewed as the image of the integer lattice Zn under a linear transformation of n-space Rn by the linear operator G, as illustrated by Figure 1.

By the group property of Λ, any translate Λ + x by a lattice point x ∈ Λ is just Λ again. This implies that a lattice is “geometrically uniform;” every point of the lattice has the same number of neighbors at each distance, and all decision regions of a minimum-distance decoder (“Voronoi regions”) are congruent and form a tessellation of Rn . Indeed, any lattice translate Λ + t is geometrically uniform.

Page 188: MIT Principal of Digital Communication

193 14.1. LATTICES

The key geometrical parameters of a lattice are:

• the minimum squared distance d2 min(Λ) between lattice points;

• the kissing number Kmin(Λ) (the number of nearest neighbors to any lattice point);

• the volume V (Λ) of n-space per lattice point. As indicated in Figure 1, this volume is the volume of the fundamental parallelotope

[0, 1)nG = {aG | a ∈ [0, 1)n}.

Since the volume of the n-cube [0, 1)n is 1 and the Jacobian of the linear transformation G is its determinant |G|, it follows that V (Λ) = |G| for any generator matrix G of Λ.

The Hermite parameter of Λ is the normalized density parameter

d2 min(Λ)

γc(Λ) = V (Λ)2/n

, (14.3)

which we will shortly identify as its nominal coding gain. The quantity V (Λ)2/n may be thought of as the normalized volume of Λ per two dimensions.

Example 3 (cont.) For the hexagonal lattice A2, the minimum squared distance is d2 √ min(A2) = 1, the kissing number is Kmin(A2) = 6, the volume is V (A2) = 3/2, and the Hermite parameter √ is γc(A2) = 2/ 3 = 1.155 (0.62 dB). Therefore A2 is denser than the integer lattice Z2, for which d2

min(Z2) = V (Z2) = γc(Z2) = 1.

Exercise 1 (cont.) Show that if C is an (n, k, d) binary linear block code with Nd weight-d words, then the mod-2 lattice ΛC has the following geometrical parameters:

d2 min(ΛC ) = min{d, 4}; (14.4) ⎧ ⎨ 2dNd, if d < 4;

Kmin(ΛC ) = 2n, if d > 4; (14.5) ⎩ 2dNd + 2n, if d = 4;

V (ΛC ) = 2n−k ; (14.6) d2

min(ΛC )γc(ΛC ) =

2η(C) , (14.7)

where η(C) = 2(n − k)/n is the redundancy of C in bits per two dimensions.

Exercise 2. Show that γc(Λ) is invariant to scaling, orthogonal transformations, and Cartesian products; i.e., γc(αU Λm) = γc(Λ), where α > 0 is any scale factor, U is any orthogonal matrix, and m ≥ 1 is any positive integer. Show that γc(αU Zn) = 1 for any version αU Zn of any integer lattice Zn .

Page 189: MIT Principal of Digital Communication

194 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

14.2 Lattice constellations

A lattice constellation C(Λ, R) = (Λ + t) ∩R (14.8)

is the finite set of points in a lattice translate Λ + t that lie within a compact bounding region R of n-space.

Example 4. An M -PAM constellation α{±1, ±3, . . . , ±(M − 1)} is a one-dimensional lattice constellation C(2αZ, R) with Λ + t = 2α(Z + 1) and R = [−αM, αM ].

The key geometric properties of the region R are

• its volume V (R) = R dx;

• the average energy P (R) per dimension of a uniform probability density function over R:

‖x‖2 dx P (R) = . (14.9)

R n V (R)

The normalized second moment of R is defined as the dimensionless parameter

P (R)G(R) =

V (R)2/n . (14.10)

Example 4 (cont.). The key geometrical parameters of R = [−αM, αM ] are V (R) = 2αM , P (R) = α2M2/3, and G(R) = 1/12.

Exercise 3. Show that G(R) is invariant to scaling, orthogonal transformations, and Cartesian products; i.e., G(αURm) = G(R), where α > 0 is any scale factor, U is any orthogonal matrix, and m ≥ 1 is any positive integer. Show that G(αU [−1, 1)n) = 1/12 for any version αU [−1, 1)n

of any n-cube [−1, 1)n centered at the origin.

For performance analysis of large lattice constellations, one may use the following approxima-tions, the first two of which are together known as the continuous approximation:

• The size of the constellation is |C(Λ, R)| ≈

V (R) (14.11)

V (Λ);

• The average energy per dimension of a uniform discrete distribution over C(Λ, R) is

P (C(Λ, R)) ≈ P (R); (14.12)

• The average number of nearest neighbors to any point in C(Λ, R) is ≈ Kmin(Λ).

Page 190: MIT Principal of Digital Communication

195 14.2. LATTICE CONSTELLATIONS

Again, the union bound estimate (UBE) on probability of block decoding error is (

min(Λ) ) √ d2

Pr(E) ≈ Kmin(Λ)Q 4σ2 . (14.13)

Since

2 ρ = log2 |C(Λ, R)| ≈

2 V (R) n n

log2 V (Λ) ;

P (C(Λ, R)) P (R)SNR = ≈ ;

σ2 σ2

SNR V (Λ)2/n P (R)SNRnorm ≈

2ρ = V (R)2/n σ2 ,

we may write the UBE as √

Pr(E) ≈ Kmin(Λ)Q (γc(Λ)γs(R)(3 SNRnorm)) , (14.14)

where the nominal coding gain of Λ and the shaping gain of R are defined respectively as

d2

γc(Λ) = min(Λ) ; (14.15)

V (Λ)2/n

V (R)2/n 1/12 = (14.16)γs(R) =

12P (R) G(R) .

For a baseline M -PAM constellation with Λ = 2αZ and R = [−αM, αM ], we have γc(Λ) = γs(R) = 1 and Kmin(Λ) ≈ 2, so the UBE reduces to the baseline expression

√ Pr(E) ≈ 2Q (3 SNRnorm).

The nominal coding gain γc(Λ) measures the increase in density of Λ over the baseline integer lattice Z (or Zn). The shaping gain γs(R) measures the decrease in average energy of R relative to an interval [−α, α] (or an n-cube [−α, α]n). Both contribute a multiplicative factor of gain √ to the argument of the Q (·) function.

As before, the effective coding gain is reduced by the error coefficient Kmin(Λ). The probability of block decoding error per two dimensions is

√ Ps(E) ≈ Ks(Λ)Q (γc(Λ)γs(R)(3 SNRnorm)), (14.17)

in which the normalized error coefficient per two dimensions is Ks(Λ) = 2Kmin(Λ)/n. √

Graphically, a curve of the form Ps(E) ≈ Ks(Λ)Q (γc(Λ)γs(R)(3 SNRnorm)) may be obtained √ simply by moving the baseline curve Ps(E) = 4Q (3 SNRnorm) to the left by γc(Λ) and γs(R) (in dB), and upward by a factor of Ks(Λ)/4. Such simple manipulations of the baseline curve as a function of γc(Λ), γs(R) and Ks(Λ) again are an easy and useful design tool for lattice constellations of moderate complexity.

Page 191: MIT Principal of Digital Communication

196 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

14.3 Shaping gain and shaping techniques

Although shaping is a newer and less important topic than coding, we discuss it first because its story is quite simple.

The n-dimensional shaping region R that minimizes G(R) is obviously an n-sphere. The key geometrical parameters of an n-sphere of radius r (for n even) are:

(πr2)n/2

V⊗(n, r) = (n/2)!

;

2rP⊗(n, r) =

n + 2;

P⊗(n, r) =

((n/2)!)2/n

G⊗(n, r) = V⊗(n, r)2/n π(n + 2)

.

By Stirling’s approximation, m! → (m/e)m as m → ∞, which implies

1 G⊗(n, r) → ;

2πe 1/12 πe

γs⊗(n, r) = → (1.53 dB). G⊗(n, r) 6

Thus shaping gain is limited to a finite value as n → ∞, namely πe/6 (1.53 dB), which is called the ultimate shaping gain.

The shaping gain of an n-sphere is plotted for dimensions n ≤ 24 in Figure 2. Note that the shaping gain of a 16-sphere already exceeds 1 dB.

0.0

0.5

1.0

1.5

Sh

ap

in

g

ga

in

(d

B)

0 4 8 1 2 1 6 2 0 2 4

Dimension

Figure 2. Shaping gains of n-spheres for n ≤ 24.

The projection of a uniform probability distribution over an n-sphere onto one or two dimensions is a nonuniform probability distribution that approaches a Gaussian distribution

Page 192: MIT Principal of Digital Communication

14.4. CODING GAINS OF DENSE LATTICES 197

as n → ∞. The ultimate shaping gain of πe/6 (1.53 dB) may alternatively be derived as the difference between the average power of a uniform distribution over an interval and that of a Gaussian distribution with the same differential entropy.

Shaping thus induces a Gaussian-like probability distribution on a one-dimensional PAM or two-dimensional QAM constellation, rather than an equiprobable distribution. In principle, with spherical shaping, the lower-dimensional constellation will become arbitrarily large, even with fixed average power. In practice, the lower-dimensional constellation is constrained by design to a certain region R to limit “shaping constellation expansion.” The n-dimensional shape then only approximates spherical shaping subject to this constraint, and the lower-dimensional probability distribution approaches a truncated Gaussian distribution within the region R.

With large constellations, shaping can be implemented almost independently of coding by operations on the “most significant bits” of M -PAM or (M × M )-QAM constellation labels, which affect the gross shape of the n-dimensional constellation. In contrast, coding affects the “least significant bits” and determines fine structure.

Two practical schemes that can easily obtain shaping gains of 1 dB or more while limiting 2D shaping constellation expansion to a factor of 1.5 or less are “trellis shaping,” a kind of dual to trellis coding, and “shell mapping,” which uses generating-function techniques to enumerate the points in a Cartesian product constellation in approximate increasing order of energy.

14.4 Coding gains of dense lattices

Finding the densest lattice packings in a given number of dimensions is a mathematical problem of long standing. A summary of the densest known packings is given in [Conway and Sloane, Sphere Packings, Lattices and Groups ]. The nominal coding gains of these lattices in up to 24 dimensions is plotted in Figure 3.

0

3

6

No

min

al

co

din

g

ga

in

(d

B)

0 4 8 1 2 1 6 2 0 2 4

Dimension

Figure 3. Nominal coding gains of densest lattices in dimensions n ≤ 24.

Page 193: MIT Principal of Digital Communication

198 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

In contrast to shaping gain, the nominal coding gains of dense n-dimensional lattices become infinite as n → ∞.

Example 5 (Barnes-Wall lattices). For all integer m ≥ 0, there exists a 2m+1-dimensional Barnes-Wall lattice BW2m+1 whose nominal coding gain is 2m/2 (see next subsection). The two-dimensional BW lattice is Z2 . In 4, 8, and 16 dimensions the BW lattices (denoted by D4, E8

and Λ16, respectively) are the densest lattices known. For large m, considerably denser lattices are known.

Exercise 1 (cont.) Show that the mod-2 lattices corresponding to the (4, 3, 2) and (4, 1, 4) binary linear block codes have coding gain 21/2 (1.51 dB); these lattices are in fact versions of D4. Show that the mod-2 lattice corresponding to the (8, 4, 4) binary linear block code has coding gain 2 (3.01 dB); this lattice is in fact a version of E8. Show that no mod-2 lattice has a nominal coding gain more than 4 (6.02 dB).

However, effective coding gains cannot become infinite. Indeed, the Shannon limit shows that no lattice can have a combined effective coding gain and shaping gain greater than 9 dB at Ps(E) ≈ 10−6 . This limits the maximum possible effective coding gain to 7.5 dB, since shaping gain can contribute up to 1.53 dB.

What limits effective coding gain is the number of near neighbors, which becomes very large for high-dimensional dense lattices.

Example 5 (cont.) The kissing number of the 2m+1-dimensional Barnes-Wall lattice is

Kmin(BW2m+1 ) = (2i + 2). 1≤i≤m+1

For m = 0, 1, 2, 3, 4, . . . these numbers are 4, 24, 240, 4320, 146880, . . . . Thus while BW32 has a nominal coding gain of 4 (6.02 dB), its kissing number is 146880, so its effective coding gain by our rule of thumb is only about 3.8 dB. BW128 has a nominal coding gain of 8 (9.03 dB), but a kissing number of 1 260 230 400, so its effective coding gain by our rule of thumb is only about 4.6 dB. These calculations indicate how the effective coding gain of higher-dimensional lattices eventually saturates.

Example 6 (Leech Lattice). The Leech lattice L24, a remarkably dense lattice in 24 dimen-sions, has a nominal coding gain of 4 (6.02 dB), but it has a kissing number of 196560, so its effective coding gain by our rule of thumb is only about 3.6 dB.

14.4.1 Barnes-Wall lattices

The Barnes-Wall lattices (1959) are an infinite family of n-dimensional lattices that are analogous to the Reed-Muller binary block codes. For n ≤ 16, they are the best lattices known. For greater n, they are not in general the best lattices known, but in terms of performance vs. decoding complexity they are still quite good, since they admit relatively simple decoding algorithms.

For any integer m ≥ 0, there exists an (n = 2m+1)-dimensional BW lattice, denoted BW2m+1 , that has minimum squared Euclidean distance d2

min(BW2m+1 ) = 2m, normalized vol-ume V (BW2m+1 )2/n = 2m/2, and therefore nominal coding gain γc(BW2m+1 ) = 2m/2 .

In 2 dimensions, the Barnes-Wall lattice BW2 is the integer lattice Z2, which is the mod-2 lattice corresponding to the (2, 2, 1) code.

Page 194: MIT Principal of Digital Communication

[ ]

199 14.4. CODING GAINS OF DENSE LATTICES

The mod-2 lattice RZ2 corresponding to the (2, 1, 2) code is a sublattice of Z2; it is the set of

all integer 2-tuples in which both integers are even or both integers are odd. It can be obtained √ by rotating Z2 by 45◦ and scaling by 2; i.e., by transforming Z2 by the 2 × 2 Hadamard matrix

1 1 R =

1 −1 .

Consequently d2 min(RZ

2) = 2 and V (RZ2) = 2.

The lattice 2Z2 (the mod-2 lattice corresponding to the (2, 0, ∞) code) is a sublattice of RZ

2

with d2 min(2Z

2) = 4 and V (2Z2) = 4. Note that 2Z

2 = R(RZ2), since R2 = 2I.

In fact, we see that there is a lattice chain Z2/RZ2/2Z

2/2RZ2/4Z

2/ . . . with minimum squared distances 1/2/4/8/16/ . . ..

The remaining BW lattices may be constructed recursively from this chain by the |u|u + v|construction. BW2m+1 is constructed from BW2m and RBW2m as

BW2m+1 = {(u, u + v) | u ∈ BW2m , v ∈ RBW2m }.

More generally, for any j ≥ 0, Rj BW2m+1 = {(u, u + v) | u ∈ Rj BW2m , v ∈ Rj+1BW2m }. It is then easy to prove the following facts by recursion:

(a) The dimension of BW2m+1 is n = 2m+1 .

(b) The volume of BW2m+1 is

V (BW2m+1 ) = V (BW2m )V (R(BW2m )) = 22m−1 V (BW2m )2 .

This recursion yields V (BW2m+1 ) = 2m2m−1 , or V (BW2m+1 )2/n = 2m/2 .

(c) The minimum squared distance of BW2m+1 is d2 min(BW2m+1 ) = 2m .

(d) {Rj BW2m+1 , j ≥ 1} is a chain of sublattices with minimum squared distances and normal-ized volumes increasing by a factor of 2 for each increment of j.

We verify that these assertions hold for BW2 = Z2. For m ≥ 1, the dimension and volume follow from the construction. We verify the distance as follows:

(a) if u = 0, then ||(0, v)||2 = ||v||2 ≥ 2m if v �= 0, since v ∈ RBW2m .

(b) if u + v = 0, then u = −v ∈ RBW2m and ||(−v, 0)||2 ≥ 2m if v �= 0.

= 0 and u + v �(c) if u � = 0, then both u and u + v are in BW2m (since RBW2m is a sublattice of BW2m ), so

||(u, u + v)||2 = ||u||2 + ||u + v||2 ≥ 2 · 2m−1 = 2m .

Equality clearly holds for (0, v), (v, 0) or (u, u) if we choose v or u as a minimum-weight vector from their respective lattices.

Finally, the sublattice chain for m follows from the sublattice chain for m − 1 by construction.

Page 195: MIT Principal of Digital Communication

200 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

The |u|u + v| construction suggests the following tableau of BW lattices. Here D4 = BW4, E8 = BW8, and Λn = BWn for n = 2m+1 ≥ 16. Also, we use R2 = 2I2m .

Z2

D4

RZ2 E8

RD4 Λ16

2Z2 RE8 Λ32

2D4 RΛ16 Λ64

2RZ2 2E8 RΛ32 Λ128

2RD4 2Λ16 RΛ64 Λ256

4Z2 2RE8 2Λ32 RΛ128 Λ512

Figure 4. Tableau of Barnes-Wall lattices.

In this tableau each BW lattice lies halfway between the two lattices of half the dimension that are used to construct it in the |u|u + v| construction, from which we can immediately deduce its normalized volume.

For example, E8 has the same normalized volume as RZ2, namely V (E8)2/8 = 2. However,

d2 min(RZ

2) = 2. Therefore the nominal coding gain of E8 is twice that of min(E8) = 4, whereas d2

RZ2, namely γc(E8) = 2 (3.01 dB).

14.5 Trellis codes

Trellis codes are dense packings of Euclidean-space sequences in a sequence space which is in prin-ciple infinite-dimensional. Trellis codes are to lattices as convolutional codes are to block codes. We will see that, just as binary convolutional codes provide a better performance/complexity tradeoff than binary block codes in the power-limited regime, trellis codes provide a better performance/complexity tradeoff than lattices in the bandwidth-limited regime, although the difference is not as dramatic.

The key ideas in the invention of trellis codes were:

• use of minimum squared Euclidean distance as the design criterion;

• coding on subsets of signal sets using convolutional coding principles (e.g., trellises and the Viterbi algorithm).

A typical large-constellation trellis code is designed as follows. One starts with a large low-dimensional constellation, which in practice is almost always a lattice constellation C(Zn , R) based on a version of an n-dimensional integer lattice Zn, such as M -PAM or (M × M )-QAM. (M -PSK constellations are sometimes used in the intermediate (ρ ≈ 2 b/2D) regime because of their constant-energy property, but we will not discuss M -PSK trellis codes here.)

One can then form an m-fold Cartesian product constellation

= C(ZmnC(Zn , R)m , Rm),

which is still based on an mn-dimensional integer lattice Zmn .

Page 196: MIT Principal of Digital Communication

201 14.5. TRELLIS CODES

The constellation C(Zmn , Rm) is partitioned into subsets of equal size, where the number of subsets is typically a power of two, say 2b . Initially this was done by a sequence of two-way partitions in which the minimum squared distance within subsets was maximized at each level. Subsequently it was recognized that the resulting constellations were almost always lattice constellations C(Λ′ , Rm) based on a sublattice Λ′ of index |Zmn/Λ′| = 2b in Zmn. In other words, Z

mn is the union of 2b cosets of Λ′, and the 2b subsets are the points of C(Zmn , Rm) that lie in each such coset. The sublattice Λ′ is usually chosen to be as dense as possible.

Example 7 (1D partitions). In one dimension, there is a chain of sublattices of Z as follows:

Z ⊇ 2Z ⊇ 4Z ⊇ 8Z ⊇ · · · ,

which may alternatively be written as Z/2Z/4Z/8Z/ · · ·. Each partition is two-way; that is, each lattice is the union of two cosets of the next sublattice. The corresponding minimum squared distances are 1/4/16/64/ · · ·. Thus an M -PAM constellation C(Z, [−M/2, M/2]) with minimum squared distance 1 may be partitioned into 2 subsets of the form C(2Z, [−M/2, M/2]) with minimum squared distance 4 within subsets, or 4 subsets of the form C(4Z, [−M/2, M/2]) with minimum squared distance 16 within subsets, and so forth.

Example 8 (2D partitions). In two dimensions, there is a chain of sublattices of Z2 as follows:

Z2 ⊇ RZ

2 ⊇ 2Z2 ⊇ 2RZ

2 ⊇ · · · ,

where R is the 2 × 2 Hadamard matrix as above. This chain may alternatively be written as Z2/RZ

2/2Z2/2RZ

2/ · · ·. Each partition is two-way. The corresponding minimum squared distances are 1/2/4/8/· · ·. Thus a QAM constellation C(Z2 , R) with minimum squared distance 1 may be partitioned into 2 subsets of the form C(RZ

2 , R) with minimum squared distance 2 within subsets, or 4 subsets of the form C(2Z

2 , R) with minimum squared distance 4 within subsets, and so forth. The bounding region R should contain an equal number of points in each subset.

Example 9 (4D partitions). In four dimensions, there is a chain of sublattices of Z4 as follows:

Z4 ⊇ D4 ⊇ RZ

4 ⊇ RD4 ⊇ · · · ,

where D4 is the 4-dimensional Barnes-Wall lattice and R is the 4 × 4 matrix ⎡ ⎤

1 1 0 0 ⎢ 1 ⎥−1 0 0 ⎢ ⎥R = ⎦⎣ 0 0 1 1 .

0 0 1 −1

(Alternatively, this is the chain of mod-2 lattices corresponding to the (4, 4, 1), (4, 3, 2), (4, 2, 2) and (4, 1, 4) binary linear block codes.) This chain may alternatively be written as Z

4/D4/RZ4/RD4/ · · ·. Each partition is two-way. The corresponding minimum squared dis-

tances are 1/2/2/4/· · ·. Thus a 4D constellation C(Z4 , R) with minimum squared distance 1 may be partitioned into 2 subsets of the form C(D4, R) with minimum squared distance 2 within subsets, 8 subsets of the form C(2D4, R) with minimum squared distance 4 within subsets, etc. Again, the bounding region R should contain an equal number of points in each subset.

Page 197: MIT Principal of Digital Communication

202 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

A trellis code encoder then operates as shown in Figure 5. Some of the input data bits are encoded in a rate-k/b 2ν -state binary convolutional encoder. Almost always k is chosen to equal b−1, so the code redundancy is 1 bit per mn dimensions. The encoder output sequence of b-tuples selects a corresponding sequence of subsets of C(Zmn , Rm) (cosets of Λ′). The convolutional code and the labeling of the subsets are chosen primarily to maximize the minimum squared distance d2

min(C) between signal point sequences in any possible encoded subset sequence, and secondarily to minimize the maximum possible number Kmin(C) of nearest-neighbor sequences. Finally, other input data bits select the actual signal points to be transmitted from the selected subsets. If there is any shaping, it is done at this level.

input Encoder for convolutional code C �

' )

Map fromlabels to subsets(cosets of

coded data

data (label sequence)

subset sequence

Select signal points from subsets

other input data (uncoded) signal point

sequence in C

Figure 5. Trellis code encoder.

The nominal coding gain of such a trellis code is

γc(C) = d2 , (14.18)min(C)2−η(C)

where η(C) = 2/mn is the redundancy of the convolutional code in bits per two dimensions. The factor 2η(C) may be thought of as the normalized volume of the trellis code per two dimensions, if the signal constellation is a lattice constellation based on an integer lattice Zmn . The effective coding gain is reduced by the amount that the error coefficient 2Kmin(C)/mn per two dimensions exceeds the baseline M -PAM error coefficient of 4 per two dimensions, again according to the rule of thumb that a factor of 2 increase costs 0.2 dB.

Exercise 1 (cont.) Let C be a rate-k/n binary linear convolutional code with free distance d and Nd minimum-weight code sequences per n dimensions. Define the corresponding mod-2 trellis code ΛC to be the set of all integer sequences x with D-transform x(D) such that x(D) ≡ c(D) mod 2 for some code sequence c(D) in C.

(a) Show that an encoder as in Figure 5 based on the convolutional code C and the lattice partition Zn/2Z

n is an encoder for this mod-2 trellis code.

(b) Show that ΛC has the group property.

(c) Show that ΛC has the following parameters:

d2 min(ΛC ) = min{d, 4}; (14.19) ⎧ ⎨ 2dNd, if d < 4;

Kmin(ΛC ) = 2n, if d > 4; (14.20) ⎩ 2dNd + 2n, if d = 4;

γc(ΛC ) = d2 , (14.21)min(ΛC )2−η(C)

Page 198: MIT Principal of Digital Communication

203 14.5. TRELLIS CODES

where η(C) = 2(n − k)/n is the redundancy of C in bits per two dimensions.

The encoder redundancy η(C) also leads to a “coding constellation expansion ratio” which √ is a factor of 2η(C) per two dimensions—i.e., a factor of 4, 2, 2, . . . for 1D, 2D, 4D,. . . codes, respectively. Minimization of coding constellation expansion has motivated the increasing use of higher-dimensional trellis codes.

A trellis code may be decoded by a Viterbi algorithm (VA) decoder, as follows. Given a received point r in Rmn, the received first finds the closest signal point to r in each subset. A VA decoder then finds the closest code sequence to the entire received sequence. The decoding complexity is usually dominated by the complexity of the VA decoder, which to first order is dominated by the branch complexity 2ν+k of the convolutional code, normalized by the dimension mn.

3

4

5

6

Wei 4D

Wei 8D

Wei 8D

8-state, 2D (V.32)

16-state,

Wei 4D

64-state, 4D

32-state, 2D

32-state, 4D

64-state, 8D

Effe

ctiv

e

co

din

g

ga

in

(d

B)

Ung 1D

Ung 2D

Ung 1D

Ung 2D

1 0 1 0 0 1000 10000

Normalized complexity

Figure 6. Effective coding gain vs. complexity for Ungerboeck and Wei codes.

Figure 6 shows the effective coding gains of certain important families of trellis codes versus their decoding complexity, measured by a detailed operation count. The codes considered are:

(a) The original 1D (PAM) trellis codes of Ungerboeck (1982), which are based on rate-1/2 convolutional codes (η(C) = 2) with 2 ≤ ν ≤ 9 and the 4-way partition Z/4Z.

(b) The 2D (QAM) trellis codes of Ungerboeck, which (apart from the simplest 4-state code) are based on rate-2/3 convolutional codes (η(C) = 1) with 3 ≤ ν ≤ 9 and the 8-way partition Z

2/2RZ2 .

(c) The 4D trellis codes of Wei (1987), all with η(C) = 1/2, based on

(a) rate-2/3 8- and 16-state convolutional codes and the 8-way partition Z4/RD4; (b) a rate-3/4 32-state convolutional code and the 16-way partition Z4/2Z

4; (c) a rate-4/5 64-state convolutional code and the 32-way partition Z4/2D4.

(d) Two families of 8D trellis codes of Wei (η(C) = 1/4).

Page 199: MIT Principal of Digital Communication

204 CHAPTER 14. INTRODUCTION TO LATTICE AND TRELLIS CODES

The V.32 modem (1984) uses an 8-state 2D trellis code, also due to Wei (1984), whose per-formance/complexity tradeoff is the same as that as that of the original 8-state 2D Ungerboeck code, but which uses a nonlinear convolutional encoder to achieve 90◦ rotational invariance. This code has an effective coding gain of about 3.6 dB, a branch complexity of 25 (per two dimensions), and a coding constellation expansion ratio of 2.

The V.34 modem (1994) specifies three 4D trellis codes, with performance and complexity equivalent to the 4D Wei codes circled on Figure 6. All have a coding constellation expansion √ ratio of 2. The 16-state code is the original 16-state 4D Wei code, which has an effective coding gain of about 4.2 dB and a branch complexity of 26 (per four dimensions). The 32-state code is due to Williams and is based on the 16-way partition Z4/HZ

4, where H is a 4 × 4 Hadamard matrix, to ensure that there are no minimum-distance error events whose length is only two dimensions; it has an effective coding gain of about 4.5 dB and a branch complexity of 28 (per four dimensions) The 64-state code is a modification of the original 4D Wei code, modified to prevent quasicatastrophic error propagation; it has an effective coding gain of about 4.7 dB and a branch complexity of 210 (per four dimensions).

It is noteworthy that no one has improved on the performance vs. complexity tradeoff of the original 1D and 2D trellis codes of Ungerboeck or the subsequent multidimensional codes of Wei, and by this time it seems safe to predict that no one will ever do so. There have however been new trellis codes that enjoy other properties with about the same performance and complexity, such as those described in the previous two paragraphs, and there may still be room for further improvements of this kind.

Finally, we see that trellis codes have a performance/complexity advantage over lattice codes, when used with maximum-likelihood decoding. Effective coding gains of 4.2–4.7 dB, better than that of the Leech lattice L24 or of BW32, are attainable with less complexity (and much less constellation expansion). 512-state 1D or 2D trellis codes can achieve effective coding gains of the order of 5.5 dB, which is superior to that of lattice codes of far greater complexity.

On the other hand, it seems very difficult to obtain effective coding gains of greater than 6 dB. This is not surprising, because at Ps(E) ≈ 10−6 the effective coding gain at the Shannon limit would be about 7.5 dB, and at the cutoff rate limit it would be about 5.8 dB. To approach the Shannon limit, much more complicated codes and decoding methods are necessary.

14.6 Sequential decoding in the high-SNR regime

In the bandwidth-limited regime, the cutoff rate limit is a factor of 4/e (1.68 dB) less than capacity. Therefore sequential decoders should be able to operate within about 1.7 dB of the Shannon limit; i.e., sequential decoders should be able to achieve an effective coding gain of about 6 dB at Ps(E) ≈ 10−6 . Several theses (Wang, Ljungberg, Maurer) have confirmed that sequential decoders are indeed capable of such performance.

14.7 Multilevel codes and multistage decoding

To approach the Shannon limit even more closely, it is clear that much more powerful codes must be used, with non-ML but near-ML decoding. Multilevel codes and multistage decoding may be used for this purpose. Multilevel coding may be based on a chain of sublattices of Zn ,

Page 200: MIT Principal of Digital Communication

205 14.8. MULTILEVEL TURBO CODES

Λ0 = Zn ⊇ Λ1 ⊇ · · · ⊇ Λr−1 ⊇ Λr ,

which induce a chain of lattice partitions Λj−1/Λj , 1 ≤ j ≤ r. A different encoder as in Figure 5 may be used independently on each such lattice partition. Moreover, with multistage decoding, each level is decoded independently.

Remarkably, such a multilevel scheme incurs no loss in channel capacity, compared to a single-level code based on the partition Zn/Λr ; the capacity C(Zn/Λr ) of the partition Zn/Λr is equal to the sum of the capacities C(Λj−1/Λj ) at each level. If the partition Zn/Λr is “large enough” and appropriately scaled, then C(Zn/Λr ) approaches the capacity of the Gaussian channel.

All of the partitions Λj−1/Λj may even be binary; e.g., one may use the standard one-dimensional or two-dimensional chains

Z ⊇ 2Z ⊇ 4Z ⊇ 8Z ⊇ · · · ;Z

2 ⊇ RZ2 ⊇ 2Z

2 ⊇ 2RZ2 ⊇ 4Z

2 ⊇ · · · .

Then one can use a binary code of rate close to C(Λj−1/Λj ) at each level to approach the Shannon limit.

In particular, by using binary turbo codes of appropriate rate at each level, it has been shown that one can get within 1 dB of the Shannon limit (Wachsmann and Huber).

Powerful probabilistic coding methods such as turbo codes are really needed only at the higher levels. At the lower levels, the channels become quite clean and the capacity C(Λj−1/Λj ) approaches log2 |Λj−1/Λj |, so that the desired redundancy approaches zero. For these levels, algebraic codes and decoding methods may be more appropriate.

In summary, multilevel codes and multistage decoding allow the Shannon limit to be ap-proached as closely in the bandwidth-limited regime as it can be approached in the power-limited regime with binary codes.

14.8 Multilevel turbo codes

A number of varieties of multilevel turbo codes based on multiple component trellis codes have been developed for the bandwidth-limited regime by several authors (e.g., Berrou et al., Benedetto et al., Robertson and Worz, Divsalar et al.). The performance of these codes seems to be comparable to that of binary turbo codes in the power-limited regime: i.e., within about 1 dB of the Shannon limit. However, such capacity-approaching codes do not seem to have been implemented yet in practice, to the best of our knowledge.

14.9 Bit-interleaved coded modulation

In bit-interleaved coded modulation (BICM), the signals in a nonbinary constellation of size 2b

are selected by b randomly interleaved encoded bits from a binary encoder. The effective binary channel is then an equiprobable mixture of b parallel channels. The receiver knows which channel is used for each bit, and therefore can compute the correct APP vector for each symbol. Capacity-approaching codes may be designed for this mixture channel. While capacity is typically slightly reduced on an AWGN channel, the “pragmatic” BICM approach has become quite popular.

Page 201: MIT Principal of Digital Communication

Final Exam

� You have 3 h o u r s to complete the exam.

� This is a closed-book exam, except that �ve 8:500 sheets of notes are allowed. � 1100

� Calculators are allowed (provided that erasable memory is cleared).

� There are three problems on the exam. They are not necessarily in order of diÆculty.

The �rst two problems are multipart problems worth 60 and 40 points, respectively.

The third problem consists of �ve unrelated true-false questions worth 10 points each.

� Even if you can't do one part of a multipart problem, try to do succeeding parts.

� A correct answer does not guarantee full credit and a wrong answer does not guarantee

loss of credit. You should concisely indicate your reasoning and show all relevant w ork.

The grade on each problem is based on our judgment of your level of understanding

as re ected by what you have written.

� If we can't read it, we can't grade it.

� If you don't understand a problem, please ask.

1

Page 202: MIT Principal of Digital Communication

Figure 1. Pb

(E ) vs. Eb

=N0

for uncoded binary PAM.

Figure 2. Ps

(E ) vs. SNRnorm

for uncoded (M � M )-QAM.

� dB (approx.) dB (exact)

1 0 0.00

1.25 1 0.97

2 3 3.01

2.5 4 3.98

e 4.3 4.34

3 4.8 4.77

� 5 4.97

4 6 6.02

5 7 6.99

8 9 9.03

10 10 10.00

Table A. Values of certain small factors � in dB.

RM code � c

(dB) Nd

Kb

e�

(dB) s t

(8,7,2) 1.75 7/4 2.43 28 4 2.0 1 2

(8,4,4) 1.00 2 3.01 14 4 2.6 2 3

(16,15,2) 1.88 15/8 2.73 120 8 2.1 1 2

(16,11,4) 1.38 11/4 4.39 140 13 3.7 3 5

(16, 5,8) 0.63 5/2 3.98 30 6 3.5 3 4

(32,31, 2) 1.94 31/16 2.87 496 16 2.1 1 2

(32,26, 4) 1.63 13/4 5.12 1240 48 4.0 4 7

(32,16, 8) 1.00 4 6.02 620 39 4.9 6 9

(32, 6,16) 0.37 3 4.77 62 10 4.2 4 5

(64,63, 2) 1.97 63/32 2.94 2016 32 1.9 1 2

(64,57, 4) 1.78 57/16 5.52 10416 183 4.0 5 9

(64,42, 8) 1.31 21/4 7.20 11160 266 5.6 10 16

(64,22,16) 0.69 11/2 7.40 2604 118 6.0 10 14

(64, 7,32) 0.22 7/2 5.44 126 18 4.6 5 6

Table B. Parameters of certain Reed-Muller (RM) codes.

2

Page 203: MIT Principal of Digital Communication

� d

Table 1: Rate-1/2 binary linear convolutional codes

free

c

dB Kb

e�

(dB)

1 3 1.5 1.8 1 1.8

2 5 2.5 4.0 1 4.0

3 6 3 4.8 2 4.6

4 7 3.5 5.2 4 4.8

5 8 4 6.0 5 5.6

6 10 5 7.0 46 5.9

6 9 4.5 6.5 4 6.1

7 10 5 7.0 6 6.7

8 12 6 7.8 10 7.1

Table 2: Rate-1/3 binary linear convolutional codes

� dfree

c

dB Kb

e�

(dB)

1 5 1.67 2.2 1 2.2

2 8 2.67 4.3 3 4.0

3 10 3.33 5.2 6 4.7

4 12 4 6.0 12 5.3

5 13 4.33 6.4 1 6.4

6 15 5 7.0 11 6.3

7 16 5.33 7.3 1 7.3

8 18 6 7.8 5 7.4

Table 3: Rate-1/4 binary linear convolutional codes

� dfree

c

dB Kb

e�

(dB)

1 7 1.75 2.4 1 2.4

2 10 2.5 4.0 2 3.8

3 13 3.25 5.1 4 4.7

4 16 4 6.0 8 5.6

5 18 4.5 6.5 6 6.0

6 20 5 7.0 37 6.0

7 22 5.5 7.4 2 7.2

8 24 6 7.8 2 7.6

3

Page 204: MIT Principal of Digital Communication

Problem F.1 (60 p o i n ts)

In this problem we consider a convolutional code C over the quaternary �eld F 4

. The ele-

2gments of F 4

may be denoted as f00; 01; 10; 11g (additive representation) or as f0; 1; � ; �

(multiplicative representation), where � is a primitive element o f F 4

and a root of x2 +x+ 1.

You might wish to jot down the addition and multiplication tables of F 4

.

The convolutional code C is generated by the encoder shown b e l o w.

y1k- n -

6

uk t- Duk�1 t

?- ?

- �n �2 - �n�

? y2k- n -

The input uk

at time k is an element o f F 4

, and the delay element (denoted by D) stores

the previous input uk�1. There are two F 4

outputs at each time k, whose equations are

y1k

= uk

+ uk�1;

y2k

= �u k

+ �2 uk�1:

(a) Show that the convolutional code C is linear over F 4

.

(b) Let u(D); y 1(D) and y2(D) be the D-transforms of the sequences fuk

g; fy1k

g and

fy2k

g, respectively. Give expressions for y1(D) and y2(D) in terms of u(D).

(c) Specify the number of states in this encoder. Draw a single section of a trellis diagram

for C, labelling each branch with a quaternary 2-tuple (y1k

; y 2k

) 2 (F 4

)2.

(d) Show that this encoder for C is noncatastrophic.

(e) Find the minimum Hamming distance dfree(C), and the average numb e r of nearest

neighb o rs Kmin(C) per unit time.

Now de�ne the binary image of C as the binary convolutional code C 0 obtained by map-

ping the outputs yj

2 F 4

into the additive representation f00; 01; 10; 11g, where each

representative is a pair of elements of F 2

.

k

u(f) Repeat parts (a)-(e) for C 0, replacing F 4

by F 2

where appropriate. (For part (b), map

k

2 F 4

to its binary image.)

(g) Compute the nominal spectral eÆciency �(C 0) and the nominal coding gain c(C0),

and estimate the e�ective coding gain e�

(C 0) using our usual rule of thumb. Compare

the performance of C 0 to that of the best rate-1=n binary linear convolutional code with

the same spectral eÆciency and numb e r of states (see tables above).

4

Page 205: MIT Principal of Digital Communication

Now de�ne another binary convolutional code C 00 as the code obtained by mapping the

outputs yj

2 F 4

into the codewords f000; 011; 101; 110g in the (3; 2; 2) binary SPC code,

where each representative is now a 3-tuple of elements of F 2

.

k

u(h) Repeat parts (a)-(e) for C 00 , replacing F 4

by F 2

where appropriate. (For part (b), map

k

2 F 4

to its binary image.)

(i) Compute �(C 00) and c(C00), and estimate e�

(C 00). Compare the performance of C 00 to

that of the best rate-1=n binary linear convolutional code with the same spectral eÆciency

and numb e r of states (see tables above).

Problem F.2 (40 p o i n ts)

In this problem we consider graphical representations and decoding of the (32; 16; 8) binary

Reed-Muller code RM(2; 5).

(a) Show that there is a partition of the 32 symb o l s of this code into four 8-tuples such

that the projection of RM(2; 5) onto any 8-tuple is the (8; 7; 2) binary SPC code, and the

subcode corresponding to each 8-tuple is the (8; 1; 8) binary repetition code; moreover,

the 8-tuples may b e paired such that the projection onto each resulting 16-tuple is the

(16; 11; 4) extended Hamming code, and the subcode corresponding to each resulting 16-

tuple is the (16; 5; 8) biorthogonal code.

(b) Using part (a), show that there is a normal realization of RM(2; 5) whose graph is as

follows:

/ 8 / 8 / 8 / 8

(14; 7) (14; 7) (14; 7) (14; 7)

/ 6 / 6 / 6 / 6

6

(18; 9) / (18; 9)

[Tip: to �nd the constraint code dimensions, you may use the fact (not proved in 6.451)

that the constraint codes in a cycle-free representation of a self-dual code are self-dual.]

(c) Using part (b), give a high-level description of an eÆcient algorithm for maximum-

likelihood decoding of RM(2; 5) on an arbitrary memoryless channel.

(d) Compare the performance (probability of error) and complexity ( n umber of arithmetic

operations, roughly) of the algorithm of part (c) to that of the Viterbi algorithm applied

to an eÆcient trellis realization of RM(2; 5). [Hint: start by �nding a trellis-oriented

generator matrix for RM(2; 5), and then �nd an eÆcient sectionalization.]

5

Page 206: MIT Principal of Digital Communication

Problem F.3 (50 p o i n ts)

For each of the propositions below, state whether the proposition is true or false, and give

a brief proof. If a proposition is false, the proof will usually b e a counterexample. Full

credit will not b e given for correct answers without an adequate explanation.

(a) The Euclidean image of an (n; k; d) binary linear block code is an orthogonal signal

set if and only if k = log 2

n and d = n=2.

(b) Every element � 2 F 32

is the root of a binary polynomial f (x) 2 F 2

[x] of degree less

than or equal to 5.

(c) If codewords in an (n; k; d) binary linear block code with d even are transmitted

equiprobably over an AWGN channel using a standard 2-PAM map and are optimally

detected, then the minimum squared distance to any decision boundary is twice the

minimum squared distance that is achieved if binary hard decisions are made �rst on

each symbol and then the resulting binary received word is optimally decoded.

(d) Capacity-approaching codes must have trellis complexity parameters that become

arbitrarily large as the Shannon limit is approached arbitrarily closely.

(e) If the points x in a lattice � are transmitted with unequal probabilities fp(x); x 2 �g p

over an AWGN channel and optimally detected, then Pr(E) � Kmin(�)Q (d2 (�)=4�2),min

where d2 (�) is the minimum squared distance between p o i n ts in �, and Kmin(�) is the

min

average numb e r of nearest neighbors to each transmitted point.

6

Page 207: MIT Principal of Digital Communication

′ ′ ′

Final Exam Solutions

Problem F.1 (60 points)

In this problem we consider a convolutional code C over the quaternary field F4. The ele­ments of F4 may be denoted as {00, 01, 10, 11} (additive representation) or as {0, 1, α, α2}(multiplicative representation), where α is a primitive element of F4 and a root of x2+x+1. You might wish to jot down the addition and multiplication tables of F4.

The convolutional code C is generated by the encoder shown below.

y1k

uk uk−1� D

��α ×�

� �

� �α2 ×�

� �� y2k

� �

The input uk at time k is an element of F4, and the delay element (denoted by D) stores the previous input uk−1. There are two F4 outputs at each time k, whose equations are

y1k = uk + uk−1;

y2k = αuk + α2 uk−1.

(a) Show that the convolutional code C is linear over F4.

If {(y1k, y2k)} ∈ C and {(y1′ k, y

′ )} ∈ C are the output sequences corresponding to the2k

input sequences {uk} and {u′ }, respectively, then the input sequence {uk + u′ } generatesk k

the output sequence {(y1k + y1′ k, y2k + y′ }, since 2k

y1k + y1k = uk + uk + uk−1 + uk−1;

y2k + y2′ k = α(uk + u ′ k) + α2(uk−1 + u ′ k−1).

Thus if {(y1k, y2k)} and {(y1′ k, y

′ )} are in C, then {(y1k + y1′ k, y2k + y′ } is in C. Also, for 2k 2k

any β ∈ F4, the input sequence {βuk} generates the output sequence {β(y1k, y2k)}, since

βy1k = βuk + βuk−1;

βy2k = α(βuk) + α2(βuk−1).

Thus if {(y1k, y2k)} ∈ C, then {β(y1k, y2k)} ∈ C. So C is a vector space over F4.

Alternatively, after doing part (b), we can verify that if y(D) = u(D)g(D) and y′(D) = u′(D)g(D) are in C, then y(D)+ y′(D) = (u(D)+ u′(D))g(D) is in C, and so is βy(D) = βu(D)g(D).

1

Page 208: MIT Principal of Digital Communication

�� ��

���������

� � � �

���� ������� �������

(b) Let u(D), y1(D) and y2(D) be the D-transforms of the sequences {uk}, {y1k} and {y2k}, respectively. Give expressions for y1(D) and y2(D) in terms of u(D).

It is straightforward to verify that y1(D) = (1+D)u(D) and y2(D) = (α+α2D)u(D), since {y1k} and {y2k} are the convolution of {uk} with the finite sequences (g10 = 1, g11 = 1) and (g10 = α, g11 = α2), respectively.

In other words, y(D) = u(D)g(D), where

g(D) = (1 + D, α + α2D).

(c) Specify the number of states in this encoder. Draw a single section of a trellis diagram for C, labelling each branch with a quaternary 2-tuple (y1k, y2k) ∈ (F4)

2 .

The encoder has 4 states, corresponding to the 4 possible values of uk−1.

Every state transition is possible, so there are 16 branches. The equations of the encoder determine the output 2-tuple associated with each branch. A trellis section for this encoder is therefore as follows:

00 1α αα2 �� ��

α21 0 �� ��� 0��

������� 1α2 �� �� 01 ����� � �� α20 ��� �� � αα 1 ���

��� ��� 1��� ���� ���

α1 �� �� �� ����� �� � ��α2α2 �

0α α �� ���� �� α 10 ��� �� � ��

α2α �� �� α0 α2 ��� ���� α2 11 �� �� 0α2

(d) Show that this encoder for C is noncatastrophic.

The simplest way to show that no infinite input sequence can lead to a finite output sequence is to observe that there is only one branch labeled with 00, namely the branch from the zero state to the zero state, so any nonzero input uk must give a nonzero output.

Noncatastrophicity also follows algebraically from the fact that 1 + D and α + α2D have no common factors.

(e) Find the minimum Hamming distance dfree(C), and the average number of nearest neighbors Kmin(C) per unit time.

Since C is linear, it suffices to find the minimum-weight nonzero code sequences. Since it is noncatastrophic, the finite-weight code sequences are those generated by finite input sequences.

The impulse response g(D) = (1+D, α+α2D) is a code sequence with Hamming weight 4, and so are αg(D) and α2g(D). All finite code sequences start with a weight-2 2-tuple and end with a weight-2 2-tuple, and have 2-tuples of weight at least 1 in between. Therefore the nonzero scalar multiples of g(D) are the only nonzero minimum-weight sequences, the free distance is dfree(C) = 4, and Kmin(C) = 3.

2

Page 209: MIT Principal of Digital Communication

[ ]

Now define the binary image of C as the binary convolutional code C ′ obtained by map­ping the outputs yjk ∈ F4 into the additive representation {00, 01, 10, 11}, where each representative is a pair of elements of F2.

(f) Repeat parts (a)-(e) for C ′, replacing F4 by F2 where appropriate. (For part (b), map uk ∈ F4 to its binary image.)

It is easy to verify that the binary image map f : F4 → (F2)2 is linear; i.e., f(β + γ) =

f(β) + f(γ). Therefore if f(y(D)) and f(y′(D)) are code sequences in C ′, then so is f(y(D)) + f(y′(D)) = f(y(D) + y′(D)), since y(D) + y′(D) ∈ C. So C ′ is a vector spaceover F2.

The trellis for C ′ is the same as that for C with quaternary labels mapped to binary labels. In other words, C ′ is a rate-2/4, 4-state binary linear convolutional code. The encoder is still noncatastrophic because there are no branches other than the zero branch that have the all-zero label 0000.

If the input sequence is zero except for 10 (α) at time zero, then the output sequence is (αα2, α1) = (1011, 1001); i.e., the impulse response is (1 + D, 0, 1, 1 + D). Similarly the impulse response to an input 01 at time zero is (0110, 0111) = (0, 1 + D, 1 + D, D). Thus the generator matrix of this binary rate-2/4 code is

G′(D) = 1 + D 0 1 1 + D

0 1 + D 1 + D D

Each of the two generator sequences has Hamming weight 5, and their sum has weight 6. By noting that every finite sequence starts and ends with a 4-tuple of weight at least 2 and examining the low-weight continuations through the trellis, we can quickly verify that these are the only weight-5 sequences in the code. Therefore dfree(C

′) = 5 and Kmin(C) = 2.

(g) Compute the nominal spectral efficiency ρ(C ′) and the nominal coding gain γc(C′),

and estimate the effective coding gain γeff (C′) using our usual rule of thumb. Compare

the performance of C ′ to that of the best rate-1/n binary linear convolutional code with the same spectral efficiency and number of states (see tables above).

The nominal spectral efficiency is ρ(C ′) = 2k/n = 1 b/2D. The nominal coding gain is γc(C

′) = dfreek/n = 5/2 (3.98 dB). The number of nearest neighbors per information bit is Kb(C

′) = Kmin(C′)/k = 1. Therefore the effective coding gain is the same as the nominal

coding gain.

In fact, these parameters are precisely the same as those of the best rate-1/2 4-state binary linear convolutional code, namely our standard example code. Therefore the two codes will have the same performance, to the accuracy of the union bound estimate.

3

Page 210: MIT Principal of Digital Communication

[ ]

Now define another binary convolutional code C ′′ as the code obtained by mapping the outputs yjk ∈ F4 into the codewords {000, 011, 101, 110} in the (3, 2, 2) binary SPC code, where each representative is now a 3-tuple of elements of F2.

(h) Repeat parts (a)-(e) for C ′′, replacing F4 by F2 where appropriate. (For part (b), map uk ∈ F4 to its binary image.)

Again, it is easy to verify that this map g : F4 → (F2)3 is linear, and thereby to prove

that C ′′ is linear.

The trellis for C ′′ is the same as that for C with quaternary 2-tuples mapped to binary 6-tuples. In other words, C ′′ is a rate-2/6, 4-state binary linear convolutional code. The encoder is still noncatastrophic because there are no branches other than the zero branch that have the all-zero label 000000.

The impulse response to an input 10 at time zero is now (101110, 101011). Similarly, the impulse response to an input 01 at time zero is now (011101, 011110). Thus the generator matrix of this binary rate-2/6 code is

G′′(D) = 1 + D 0 1 + D 1 1 + D D

0 1 + D 1 + D 1 + D D 1

Note that the map g : F4 → (F2)3 maps every nonzero element of F4 into a binary 3-tuple

of Hamming weight 2. Therefore the weight of any binary image sequence is just twice the weight of the corresponding quaternary sequence. Therefore, using our previous results for C in part (e), we have dfree(C

′′) = 8 and Kmin(C′′) = 3.

(i) Compute ρ(C ′′) and γc(C′′), and estimate γeff (C

′′). Compare the performance of C ′′ to that of the best rate-1/n binary linear convolutional code with the same spectral efficiency and number of states (see tables above).

The nominal spectral efficiency is ρ(C ′′) = 2k/n = 2/3 b/2D. The nominal coding gain is γc(C

′′) = dfreek/n = 8/3 (4.26 dB). The number of nearest neighbors per information bit is Kb(C

′′) = Kmin(C′′)/k = 3/2. Therefore the effective coding gain is about 0.1 dB less

than the nominal coding gain; i.e., γeff (C′′) ≈ 4.15 dB.

By comparing with Table 2, we see that the nominal coding gain is precisely the same as that of the best rate-1/3 4-state binary linear convolutional code. Moreover, Kb is actually a factor of 2 better, so the effective coding gain of C ′′ is about 0.2 dB better.

4

Page 211: MIT Principal of Digital Communication

Problem F.2 (40 points)

In this problem we consider graphical realizations and decoding of the (32, 16, 8) binary Reed-Muller code RM(2, 5).

(a) Show that there is a partition of the 32 symbols of this code into four 8-tuples such that the projection of RM(2, 5) onto any 8-tuple is the (8, 7, 2) binary SPC code, and the subcode corresponding to each 8-tuple is the (8, 1, 8) binary repetition code; moreover, the 8-tuples may be paired such that the projection onto each resulting 16-tuple is the (16, 11, 4) extended Hamming code, and the subcode corresponding to each resulting 16-tuple is the (16, 5, 8) biorthogonal code.

The (32, 16, 8) code RM(2, 5) may be constructed by the |u|u + v| construction from the (16, 11, 4) code RM(2, 4) and the (16, 5, 8) code RM(1, 4) as follows:

RM(2, 5) = {(u, u + v) | u ∈ RM(2, 4), v ∈ RM(1, 4)}.

Thus the projection onto either 16-tuple is RM(2, 4) (since RM(1, 4) is a subcode of RM(2, 4)). A codeword has the form (u, 0) if and only if u = v ∈ RM(1, 4), so the subcode of codewords equal to zero on the second 16-tuple is equal to RM(1, 4) on the first 16-tuple. Similarly, a codeword has the form (0, u + v) if and only if u = 0, which implies that the second 16-tuple is a codeword v ∈ RM(1, 4).

Similarly, the (16, 11, 4) code RM(2, 4) may be constructed by the |u|u + v| construction from the (8, 7, 2) code RM(2, 3) and the (8, 4, 4) code RM(1, 3); by an argument similar to that above, this shows that the projection onto any corresponding 8-tuple is RM(2, 3). Also, the (16, 5, 8) code RM(1, 4) may be constructed by the |u|u + v| construction from the (8, 4, 4) code RM(1, 3) and the (8, 1, 8) code RM(0, 3); by an argument similar to that above, this shows that the subcode corresponding to any 8-tuple is RM(0, 3).

(b) Using part (a), show that there is a normal realization of RM(2, 5) whose graph is as follows:

(14, 7)

/ 8

/ 6

(18, 9) (18, 9)

(14, 7)

/ 8

/ 6

/ 6

(14, 7)

/ 8

/ 6/ 6

(14, 7)

/ 8

[Tip: to find the constraint code dimensions, you may use the fact (not proved in 6.451) that the constraint codes in a cycle-free realization of a self-dual code are self-dual.]

If the 32 symbols are partitioned into 8-tuples as in part (a), then the projection and subcode corresponding to each such 8-tuple are the (8, 7, 2) and (8, 1, 8) code, respectively. By the state space theorem, the dimension of the state space corresponding to a partition of the time axis into one of these 8-tuples and the remaining 24-tuple is equal to the

5

Page 212: MIT Principal of Digital Communication

difference of the dimensions between this projection and subcode, which is 6. Similarly, the dimension of the state space corresponding to the partition of the time axis into two 16-tuples is the difference of the dimensions of the projection (16, 11, 4) and the subcode (16, 5, 8), which is also 6. This accounts for the dimensions of all state spaces shown in the normal graph above.

The lengths of the constraint codes are simply the sums of the dimensions of the incident variables, which are 8 + 6 = 14 for the top constraint codes, and 6 + 6 + 6 = 18 for the bottom constraint codes. Using the tip and the fact that the (32, 16, 8) RM code is a self-dual code, the constraint codes are self-dual and therefore must have dimension equal to half their length.

(c) Using part (b), give a high-level description of an efficient algorithm for maximum-likelihood decoding of RM(2, 5) on an arbitrary memoryless channel.

Maximum-likelihood decoding of a code defined on a cycle-free graph over any memoryless channel may be performed by the max-product algorithm using likelihood weights, or equivalently by the min-sum algorithm using negative log likelihood weights.

A high-level description of how the max-product algorithm would work on the above graph is as follows. The inputs are the received likelihood vectors (2-tuples) for each of the 32 received symbols. For the top constraint codes, the max-product update rule amounts to taking the maximum of each pair of 8-tuple “intrinsic” likelihoods (which are each the product of the appropriate 8 received likelihoods) corresponding to each of the 64 states (cosets of the (8, 1, 8) code in the (8, 7, 2) code). Next, for the bottom constraint codes, the max-product update rule amounts to taking the products of two incoming state likelihoods corresponding to 12 of the 18 bits in each of the 512 codewords of the (18, 9) constraint code, and then taking the maximum of each of the 8 such products that correspond to each of the 64 states specified by the third 6-tuple in each codeword. The result is a vector of 64 likelihoods, one for each state in the central state space.

In a generalized Viterbi algorithm, the “past” and “future” likelihoods of each central state could then be combined (multiplied), and the maximum selected. The result will be the maximum likelihood of any codeword. If the sequence of decisions leading to this maximum have been remembered, or are retraced, then the entire maximum-likelihood codeword can be reconstructed.

However, you could continue to straightforwardly apply the max-product algorithm. The max-product update rule can now be applied twice more to each bottom constraint code, resulting in “extrinsic” likelihood vectors for all 4 upper-level state spaces. At each of the top-level constraint codes, the max-product update rule amounts to fanning out each of these 64 “extrinsic” likelihoods, 2 at a time, to the 128 possible input 8-tuples. These likelihoods may then be combined (multiplied) with each of the corresponding “intrinsic” likelihoods, and the maximum of these 128 products chosen; this maximum corresponds to the ML-decoded 8-tuple. The four ML-decoded 8-tuples then form the ML-decoded codeword.

(d) Compare the performance (probability of error) and complexity (number of arithmetic operations, roughly) of the algorithm of part (c) to that of the Viterbi algorithm applied to an efficient trellis realization of RM(2, 5). [Hint: start by finding a trellis-oriented

6

Page 213: MIT Principal of Digital Communication

generator matrix for RM(2, 5), and then find an efficient sectionalization.]

The max-product decoder and the Viterbi algorithm applied to a trellis are both exact ML decoding algorithms, so both will have the same performance (probability of error).

To compare complexity, we first need to find an efficient trellis realization for RM(2, 5). The standard coordinate ordering for RM codes yields an efficient trellis realization. A standard generator matrix corresponding to the standard coordinate ordering is obtained by taking the 16 rows of weight 8 or more from the “universal” 32 × 32 generator matrix U32 = U⊗5

2 , namely

⎡ ⎤ 11111111 00000000 00000000 00000000 ⎢ 11110000 11110000 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 11001100 11001100 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 10101010 10101010 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 11111111 11111111 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 11110000 00000000 11110000 00000000 ⎥ ⎢ ⎥ ⎢ 11001100 00000000 11001100 00000000 ⎥ ⎢ ⎥

G = ⎢ ⎢ ⎢

10101010 11111111

00000000 00000000

10101010 11111111

00000000 00000000

⎥ ⎥ ⎥ . ⎢ ⎥ ⎢ 11000000 11000000 11000000 11000000 ⎥ ⎢ ⎥ ⎢ 10100000 10100000 10100000 10100000 ⎥ ⎢ ⎥ ⎢ 11110000 11110000 11110000 11110000 ⎥ ⎢ ⎥ ⎢ 10001000 10001000 10001000 10001000 ⎥ ⎢ ⎥ ⎢ 11001100 11001100 11001100 11001100 ⎥ ⎢ ⎥ ⎣ 10101010 10101010 10101010 10101010 ⎦

11111111 11111111 11111111 11111111

These generators already have distinct stopping times. Reducing G to trellis-oriented form, we obtain symmetrical starting times:

⎡ ⎤ 11111111 00000000 00000000 00000000 ⎢ 00001111 11110000 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 00110011 11001100 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 01010101 10101010 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 00000000 11111111 00000000 00000000 ⎥ ⎢ ⎥ ⎢ 00000000 00001111 11110000 00000000 ⎥ ⎢ ⎥ ⎢ 00000000 00110011 11001100 00000000 ⎥ ⎢ ⎥

G′ = ⎢ 00000000 01010101 10101010 00000000 ⎥

.⎢ ⎥ ⎢ 00000000 00000000 11111111 00000000 ⎥ ⎢ ⎥ ⎢ 00000011 00000011 11000000 11000000 ⎥ ⎢ ⎥ ⎢ 00000101 00000101 10100000 10100000 ⎥ ⎢ ⎥ ⎢ 00000000 00000000 00001111 11110000 ⎥ ⎢ ⎥ ⎢ 00010001 00010001 10001000 10001000 ⎥ ⎢ ⎥ ⎢ 00000000 00000000 00110011 11001100 ⎥ ⎢ ⎥ ⎣ 00000000 00000000 01010101 10101010 ⎦

00000000 00000000 00000000 11111111

7

Page 214: MIT Principal of Digital Communication

From this trellis-oriented generator matrix, we can read off the dimensions sk and bk of the state and branch spaces of an unsectionalized trellis, namely (first half only; the second half is symmetric):

k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sk 0 1 2 3 4 5 6 7 6 7 8 9 8 9 8 7 6 bk 1 2 3 4 5 6 7 7 7 8 9 9 9 9 8 7

< < < < < < < > < < < > < > > >

The last row of the table above shows starting times (<) and stopping times (>). From these times and either our heuristic clustering rule or the LV optimal clustering rule, we obtain section boundaries at k = {0, 8, 12, 16, 20, 24, 32}, state complexity profile {0, 64, 256, 64, 256, 64, 0} and branch complexity profile {128, 512, 512, 512, 512, 128} (very similar to the optimal sectionalization and profiles of the Golay code).

A normal graph of the resulting sectionalized trellis is as follows:

(14, 7)

/ 8

/ 6

(18, 9)

/ 4

/ 6

(18, 9)

/ 4

/ 8

(18, 9)

/ 4

/ 8

(14, 7)

/ 8

(18, 9)

/ 4

/ 6

Comparing this graph to the earlier graph, we see that they differ only in the second and third sections (8-tuples), where the trellis realization has two (18, 9) sections (constraint codes) in series, whereas the earlier realization has one (14, 7) constraint code and one (18, 9) constraint code.

Since the complexity of the max-product update rule or Viterbi algorithm update is roughly proportional to the constraint code (branch space) size, the total complexity of the Viterbi algorithm is roughly proportional to 2 · 128 + 4 · 512 = 2304, whereas the complexity of the max-product algorithm with survivor memory (generalized Viterbi algorithm) on the earlier graph is roughly proportional to 4 · 128 + 2 · 512 = 1536. (This assumes either that we use survivor memory in both algorithms to avoid decoding the same sections twice, or equivalently that we do not use survivor memory in either algorithm.) Thus decoding the earlier graph is roughly 2/3 as complex as decoding the optimum sectionalized trellis. Again, we see that optimal cycle-free graphs can be more efficient than optimal sectionalized trellises, but not by very much.

8

Page 215: MIT Principal of Digital Communication

Problem F.3 (50 points)

For each of the propositions below, state whether the proposition is true or false, and give a brief proof. If a proposition is false, the proof will usually be a counterexample. Full credit will not be given for correct answers without an adequate explanation.

(a) The Euclidean image of an (n, k, d) binary linear block code is an orthogonal signal set if and only if k = log2 n and d = n/2.

False. The Euclidean images of two binary words are orthogonal if and only if d = n/2,so all codewords must be at distance d = n/2 from each other. In a linear code, thishappens if and only if all nonzero codewords have weight d = n/2. However, all that isspecified is that the minimum distance is d = n/2, which is necessary but not sufficient.The smallest counterexample is a (4, 2, 2) code; e.g., {0000, 1100, 0011, 1111}.(b) Every element β ∈ F32 is the root of a binary polynomial f(x) ∈ F2[x] of degree less than or equal to 5.

True. Every element β ∈ F32 is a root of x32 + x, which factors into the product of all binary irreducible polynomials whose degrees divide 5; i.e., of degree 1 or 5. So β must be a root of a binary irreducible polynomial of degree 1 or 5.

(In fact, 0 and 1 are the roots of the two binary irreducible polynomials of degree 1, namely x and x + 1, so the remaining 30 elements of F32 must be roots of irreducible polynomials of degree 5, and there must be 6 such polynomials.)

(c) If codewords in an (n, k, d) binary linear block code with d even are transmitted equiprobably over an AWGN channel using a standard 2-PAM map and are optimally detected, then the minimum squared distance to any decision boundary is twice the min­imum squared distance that is achieved if binary hard decisions are made first on each symbol and then the resulting binary received word is optimally decoded.

True. With a standard 2-PAM map {0, 1} → {±α}, the minimum squared distance between codewords is d2 = 4α2d, so with optimum (minimum-distance) detection the min

minimum squared distance to any decision boundary is (dmin/2)2 = α2d. On the other hand, if hard decisions are made first and there are d/2 noise components of magnitude α in coordinates where the transmitted codeword differs from another codeword at Hamming distance d (and 0 in all other coordinates), then a decoding error may be made, so such a vector reaches the decision boundary. The squared norm of such a noise vector is (d/2)α2 .

(d) Capacity-approaching codes must have trellis complexity parameters that become arbi­trarily large as the Shannon limit is approached arbitrarily closely.

Most likely true. The average dimension bound shows that the sizes of the maxi­mal branch and state spaces are essentially lowerbounded by 2γc , which goes to infinity exponentially with n for any “good” sequence of codes. However, the effective coding gain needed to get to the Shannon limit is finite, so the question of whether the nominal coding gain γc has to become arbitrarily large to get arbitrarily close to the Shannon limit remains open. However, all empirical evidence indicates that it does. (Credit based on the quality of your discussion.)

9

Page 216: MIT Principal of Digital Communication

(e) If the points x in a lattice Λ are transmitted with unequal probabilities {p(x),x ∈ Λ}√ over an AWGN channel and optimally detected, then Pr(E) ≈ Kmin(Λ)Q (dmin

2 (Λ)/4σ2), where dmin

2 (Λ) is the minimum squared distance between points in Λ, and Kmin(Λ) is the average number of nearest neighbors to each transmitted point.

False. The non-equiprobable condition does not exclude using only a subset A of the lattice points with minimum distance d2

min2 (Λ); e.g., a sublattice Λ′ ⊂ Λ. Inmin(A) > d√

this case the argument of the Q (·) function in the UBE will be at least d2 (A)/4σ2 .min

Also, with non-equiprobable signals, minimum-distance (Voronoi) decision regions are in general not optimum, so the argument that justifies the UBE no longer holds.

10

Page 217: MIT Principal of Digital Communication

Final Exam

• You have 3 hours (9:00-12:00) to complete the test.

• This is a closed-book test, except that five 8.5′′ × 11′′ sheets of notes are allowed.

• Calculators are allowed (provided that erasable memory is cleared).

• There are three problems on the quiz. The first is a 7-part problem, each part worth 10 points. The second is a 5-part problem, each part worth 10 points. The third problem consists of 4 unrelated true-false questions, each worth 10 points.

• The problems are not necessarily in order of difficulty.

• A correct answer does not guarantee full credit and a wrong answer does not guarantee loss of credit. You should concisely indicate your reasoning and show all relevant work. The grade on each problem is based on our judgment of your level of understanding as reflected by what you have written.

• If we can’t read it, we can’t grade it.

• If you don’t understand a problem, please ask.

1

Page 218: MIT Principal of Digital Communication

Uncoded 2−PAM 0

10

−110

−210

10b (E)

Uncoded 2−PAM Shannon Limit Shannon Limit for ρ = 2

−3

P (

E)

P

s

10−6

10−5

10−4

10−3

10−2

10−1

10Uncoded QAM Shannon Limit

−410

−510

−610

−2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12Eb/No [dB]

Figure 1. Pb(E) vs. Eb/N0 for uncoded binary PAM.

Uncoded QAM0

0 1 2 3 4 5 6 7 8 9 10

normSNR [dB]

Figure 2. Ps(E) vs. SNRnorm for uncoded (M × M )-QAM.

2

Page 219: MIT Principal of Digital Communication

α dB dB (round numbers) (two decimal places)

1 0 0.00 1.25 1 0.97 2 3 3.01

2.5 4 3.98 e 4.3 4.34 3 4.8 4.77 π 5 4.97 4 6 6.02 5 7 6.99 8 9 9.03 10 10 10.00

Table 1. Values of certain small factors α in dB.

code ρ γc (dB) Nd Kb γeff (dB) s t (8,7,2) 1.75 7/4 2.43 28 4 2.0 1 2 (8,4,4) 1.00 2 3.01 14 4 2.6 2 3

(16,15,2) 1.88 15/8 2.73 120 8 2.1 1 2 (16,11,4) 1.38 11/4 4.39 140 13 3.7 3 5 (16, 5,8) 0.63 5/2 3.98 30 6 3.5 3 4 (32,31, 2) 1.94 31/16 2.87 496 16 2.1 1 2 (32,26, 4) 1.63 13/4 5.12 1240 48 4.0 4 7 (32,16, 8) 1.00 4 6.02 620 39 4.9 6 9 (32, 6,16) 0.37 3 4.77 62 10 4.2 4 5 (64,63, 2) 1.97 63/32 2.94 2016 32 1.9 1 2 (64,57, 4) 1.78 57/16 5.52 10416 183 4.0 5 9 (64,42, 8) 1.31 21/4 7.20 11160 266 5.6 10 16 (64,22,16) 0.69 11/2 7.40 2604 118 6.0 10 14 (64, 7,32) 0.22 7/2 5.44 126 18 4.6 5 6

Table 2. Parameters of RM codes with lengths n ≤ 64.

3

Page 220: MIT Principal of Digital Communication

Problem F.1 (70 points)

In this problem we will consider coded modulation schemes based on a one-to-one mapping t : F3 → A from the finite field F3 to a 3-simplex signal set A in R2 with energy E(A) per symbol. The symbols from A will be transmitted by QAM modulation over a passband AWGN channel with single-sided power spectral density N0. In everything that follows, we assume that the receiver performs optimal detection.

The amount of information that can be conveyed in one ternary symbol will be called one trit. We will normalize everything “per information trit;” i.e.,

• we will use Et/N0 as our normalized signal-to-noise ratio, where Et is the average energy per information trit;

• we will define the nominal spectral efficiency ρt as the number of information trits per two dimensions (t/2D) conveyed by a given transmission scheme; and

• we will define Pt(E) as the probability of error per information trit.

(a) What is the ultimate Shannon limit on Et/N0 in dB?

(b) What is the baseline performance (Pt(E) vs. Et/N0) of the signal set A?

(c) How far is this baseline performance from the ultimate Shannon limit at Pt(E) ≈ 10−5?

Let C be the (4, 2, 3) linear “tetracode” over F3, and let t(C) be the Euclidean image of C under the map t : F3 → A.

(d) What are the state and branch complexities of a minimal trellis for C?

(e) What is the performance (Pt(E) vs. Et/N0) of the signal set t(C)?

Now let C ′ be a linear rate-1/2 convolutional code over F3 with generator 2-tuple g(D) = (1 + D, 1 + 2D), and let t(C′) be the Euclidean image of C under the map t.

(f) What are the state and branch complexities of a minimal trellis for C ′?

(g) What is the performance (Pt(E) vs. Et/N0) of t(C′)?

4

Page 221: MIT Principal of Digital Communication

Problem F.2 (50 points)

Consider the (16, 7, 6) binary linear block code C generated by the following generator matrix: ⎡ ⎤

1111 1100 0000 0000 ⎥⎢ 0101 1011 1000 0000 ⎢ ⎥ ⎥⎢ 1100 1001 0110 0000 ⎢ ⎥ ⎥⎢ 1001 1111 0101 0000 . ⎢ ⎥ ⎥⎢ 1010 0001 0100 1100 ⎢ ⎥ ⎦⎣ 1100 0101 0000 1010

0011 0010 0100 1001

(a) It is known that kmax(n, 6) = {0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 6, 7} for 1 ≤ n ≤ 16. Show that there exist shortened codes of C that meet this bound for every n ≤ 16.

(b) Give the state complexity profile and the branch complexity profile of a 16-section minimal trellis for C.

(c) From the information given, is it possible to say whether another coordinate ordering might give a less complex trellis for C?

(d) Find the sectionalization that gives the minimum number of sections without increas-ing the maximum branch complexity. Give the state complexity profile and the branch complexity profile of the resulting trellis.

(e) Count the number of arithmetic operations required by decoding using a straightfor-ward Viterbi algorithm of the trellises of parts (b) and (d). Which is less complex?

Problem F.3 (40 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences, or a counterexample. No credit will be given for a correct answer without an adequate explanation.

(a) There exist sequences of Reed-Muller codes which can approach the Shannon limit arbitrarily closely, but the trellis complexity of such a sequence of codes necessarily grows without limit.

(b) Let G be a finite abelian group of order |G|, and let X and N be independent random variables defined on G, where the probability distribution of N is uniform:

pN (n) = 1/|G|, ∀n ∈ G.

Then Y = X + N is uniformly distributed over G and independent of X, regardless of the distribution of X.

(c) There exists no MDS binary linear block code with block length greater than 3.

(d) Given an (n, k, d) linear block code over a finite field Fq and optimal erasure correction:

(i) up to d − 1 erasures can always be corrected;

(ii) up to n − k erasures may be able to be corrected;

(iii) more than n − k erasures can never be corrected.

5

Page 222: MIT Principal of Digital Communication

Final solutions

Problem F.1 (70 points)

In this problem we will consider coded modulation schemes based on a one-to-one mapping t : F3 → A from the finite field F3 to a 3-simplex signal set A in R2 with energy E(A) per symbol. The symbols from A will be transmitted by QAM modulation over a passband AWGN channel with single-sided power spectral density N0. In everything that follows, we assume that the receiver performs optimal detection.

The amount of information that can be conveyed in one ternary symbol will be called one trit. We will normalize everything “per information trit;” i.e.,

• we will use Et/N0 as our normalized signal-to-noise ratio, where Et is the average energy per information trit;

• we will define the nominal spectral efficiency ρt as the number of information trits per two dimensions (t/2D) conveyed by a given transmission scheme; and

• we will define Pt(E) as the probability of error per information trit.

(a) What is the ultimate Shannon limit on Et/N0 in dB?

The amount of information conveyed by one equiprobable ternary symbol is log2 3 bits. Thus one trit is equal to log2 3 = log10 3/ log10 2 = 4.77/3.01 = 1.58 bits. Alternatively, we can just take logarithms to the base 3 to measure information-theoretic quantities directly in trits; i.e., the amount of information conveyed by one equiprobable ternary symbol is log3 3 = 1 trit.

The capacity of an AWGN channel is thus

log2(1 + SNR) Ct = = log3(1 + SNR) t/2D.

log2 3

The signal energy per two dimensions is ρtEt, so SNR = ρtEt/N0. Thus for reliable transmission

ρt ≤ log3(1 + ρtEt/N0),

which is equivalent to 3ρt − 1

ρEt/N0 ≥ .

t

As ρt → 0, we have 3ρt = exp(ρt ln 3) → 1 + ρt ln 3, so this lower bound decreases monotonically to

log10 3 4.77 ln 3 = = = 1.10 (0.41 dB).

log10 e 4.34

Alternatively, since the ultimate Shannon limit on Eb/N0 is ln 2 (-1.59 dB), the ultimate Shannon limit on Et/N0 is (ln 2)(log2 3) = ln 3 = 1.10 (0.41 dB).

1

Page 223: MIT Principal of Digital Communication

( ( )

[ ]

( )

(b) What is the baseline performance (Pt(E) vs. Et/N0) of the signal set A?

AA 3-simplex signal set A may be constructed by starting with a 3-orthogonal signal set

′ and subtracting out the mean m(A′): A = A′ − m(A′). Then d2 min(A′), and min(A) = d2

because m(A) = 0, we have E(A′) = E(A) + ||m(A′)||2, or E(A) = E(A′) − ||m(A′)||2 .

Take A′ = {(α, 0, 0), (0, α, 0), (0, 0, α)}; then d2 min(A′) = 2α2 , E(A′) = α2, and m(A′) =

(α, α, α)/3. Thus A = A′ − m(A′) has d2 min(A′) = 2α2, and E(A) = E(A′) −min(A) = d2

||m(A′)||2 = 2α2/3. We conclude that d2 min(A) = 3E(A).

The same conclusion could be reached by taking A′ to be the vertices of an equilateral triangle in R2 centered on the origin, or from our general formulas for the inner products of an M -simplex signal set, namely ||aj ||2 = E(A); 〈aj , aj� 〉 = −E(A)/(M − 1) if j �= j′ .

Since the energy per symbol or per trit is Et = E(A), and each signal in A has Kmin(A) = 2 nearest neighbors, the union bound estimate (UBE) of the probability of error per symbol (or per trit) is

√ d2 ) √ 3min(A)

Pt(E) ≈ 2Q = 2Q Et/N0 . 2N0 2

(c) How far is this baseline performance from the ultimate Shannon limit at Pt(E) ≈ 10−5?

The baseline ternary curve of part (b) may by obtained by moving the baseline binary √ curve Pb(E) = Q (2Eb/N0) of Figure 1 to the right by the “coding loss” of 3 (-1.25 dB)

4 and up by a factor of 2, which costs about 0.2 dB at Pt(E) ≈ 10−5. Thus we obtain Pt(E) ≈ 10−5 when Et/N0 ≈ 9.6 + 1.25 + 0.2 ≈ 11 dB. This is about 10.6 dB from the ultimate Shannon limit on Et/N0 of 0.4 dB.

Let C be the (4, 2, 3) linear “tetracode” over F3, and let t(C) be the Euclidean image of C under the map t : F3 → A.

(d) What are the state and branch complexities of a minimal trellis for C?

The tetracode C meets the Singleton bound d + k ≤ n + 1 with equality, and therefore is MDS. Its trellis-oriented generator matrix thus must have the following form:

xxx0 .

0xxx

From this matrix we see that the state complexity profile of a minimal trellis for C is {1, 3, 9, 3, 1}, and the branch complexity profile is {3, 9, 9, 3}. (e) What is the performance (Pt(E) vs. Et/N0) of the signal set t(C)?

We first note that the minimum Hamming distance of C is 3, and that all 8 nonzero 4codewords have weight 3, since C is MDS and thus Nd = 3 (3 − 1) = 8.

The minimum squared distance of t(C) is therefore 3d2 min(A), since every sequence in

t(C) differs from every other by d2

Kmin(A) in 3 places. The number of nearest neighbors is

min(t(C)) = 8. (In fact, t(C) is a 9-simplex.)

2

Page 224: MIT Principal of Digital Communication

( ( )

(

1Finally, Et = 4E(A)/2 = 2E(A), and Pt(E) = 2 Pr(E). The union bound estimate

(UBE) of the probability of error per information trit is thus

1 √ 3d2 ) √ 9min(A)

Pt(E) ≈ Kmin(t(C))Q = 4Q Et/N0 . 2 2N0 4

√ In other words, the nominal coding gain over the baseline curve Pt(E) ≈ 2Q ( 3 Et/N0)2 is γc(C) = kd/n = 3/2 (1.76 dB). Because of the doubling of the error coefficient, the effective coding gain at Pt(E) ≈ 10−5 is about 0.2 dB less, or about 1.55 dB.

Now let C ′ be a linear rate-1/2 convolutional code over F3 with generator 2-tuple g(D) = (1 + D, 1 + 2D), and let t(C′) be the Euclidean image of C ′ under the map t.

(f ) What are the state and branch complexities of a minimal trellis for C ′?

The encoder for C ′ has one memory element storing one trit. It therefore has 3 states.There is a 3-way branch out of every state, so its branch complexity is 9. (The VAdecoding complexity of C ′ is very nearly the same as that of C.)

(g) What is the performance (Pt(E) vs. Et/N0) of t(C′)?

KWe will first establish that the minimum Hamming distance of C ′ is 4, and that there are

t = 2 error events of weight 4 per unit time (per information trit).

In the trellis diagram of C ′, the branch from the zero state to the zero state is labelled00. The branches leaving the zero state to nonzero states are labelled 11 and 22, andthe branches arriving at the zero state from nonzero states are labelled 12 and 21. Thelabels of the 9 branches run through the 9 ternary linear combinations of 11 and 12,which comprise all of (F3)

2 since 11 and 12 are linearly independent. The labels of the 4branches from nonzero states to nonzero states therefore have Hamming weight 1. Thusevery nonzero trellis path from the zero state to the zero state has Hamming weight 2 inits first branch, 2 in its last branch, and 1 in every branch in between. We conclude thatthe minimum Hamming weight is 4, and that only the 2 error events of length 2 (i.e.,g(D) and 2g(D)) have the minimum weight.

The minimum squared distance of t(C′) is therefore 4d2 min(A), since every sequence in t(C′)

differs from every other by d2 min(A) in at least 4 places. The number of nearest neighbors

per information trit is Kt = 2. The energy per information trit is Et = 2E(A).

The union bound estimate (UBE) of the probability of error per information trit is thus

√ 4d2 )

√min(A)Pt(E) ≈ KtQ = 2Q (3Et/N0) .

2N0

√ In other words, the nominal coding gain over the baseline curve Pt(E) ≈ 2Q ( 3 Et/N0) is

2 γc(C) = kd/n = 2 (3.01 dB). Because the error coefficient is the same, the effective coding gain is also 3 dB at all Pt(E).

In summary, even though the block and convolutional codes have about the same VA decoding complexity and the block code is as good as possible (MDS), the effective coding gain of the convolutional code is about 1.5 dB greater.

3

Page 225: MIT Principal of Digital Communication

Problem F.2 (50 points)

Consider the (16, 7, 6) binary linear block code C generated by the following generator matrix: ⎡ ⎤

1111 1100 0000 0000 ⎥⎢ 0101 1011 1000 0000 ⎢ ⎥ ⎥⎢ 1100 1001 0110 0000 ⎢ ⎥ ⎥⎢ 1001 1111 0101 0000 . ⎢ ⎥ ⎥⎢ 1010 0001 0100 1100 ⎢ ⎥ ⎦⎣ 1100 0101 0000 1010 0011 0010 0100 1001

(a) It is known that kmax(n, 6) = {0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 6, 7} for 1 ≤ n ≤ 16. Show that there exist shortened codes of C that meet this bound for every n ≤ 16.

By inspection, for 1 ≤ n ≤ 16, the first kmax(n, 6) generators of C, shortened to the first n coordinates, generate an (n, kmax(n, 6)) binary linear block code. Since these codes are each a shortened code of C, which has minimum distance d = 6, each shortened code must have minimum distance at least 6.

(b) Give the state complexity profile and the branch complexity profile of a 16-section minimal trellis for C.

We first reduce the generator matrix above to trellis-oriented form, obtaining: ⎡ ⎤

1111 1100 0000 0000 ⎢ 0101 1011 1000 0000 ⎥ ⎢ ⎥ ⎢ 0011 0101 0110 0000 ⎥ ⎢ ⎥ ⎢ 0000 1101 1011 0000 ⎥ . ⎢ ⎥ ⎢ 0000 0110 1100 1100 ⎥ ⎢ ⎥ ⎣ 0000 0001 1101 1010 ⎦

0000 0000 0011 1111

Note that this generator matrix is symmetrical, and that the stopping times (6, 9, 11, 12, 14, 15, 16) of the generators are the same as in the original generator ma-trix. The starting times are symmetrical, (1, 2, 3, 5, 6, 8, 11), and thus the shortened codes generated by the last k generators also meet the bound of part (a).

From this trellis-oriented generator matrix, we find that the state complexity profile is

{1, 2, 4, 8, 8, 16, 16, 16, 32, 16, 16, 16, 8, 8, 4, 2, 1},

and that the branch complexity profile is

{2, 4, 8, 8, 16, 32, 16, 32, 32, 16, 32, 16, 8, 8, 4, 2}.

4

Page 226: MIT Principal of Digital Communication

(c) From the information given, is it possible to say whether another coordinate ordering might give a less complex trellis for C?

The past subcode at time n is generated by the generators that stop by time n, and the future subcode at time n is generated by the generators that start after time n. By part (a), the past subcode always has the largest dimension kmax(n, 6) that it could have, and by part (b) the same is true of the future subcodes. Therefore the Muder bound dim Sn ≥ dim C − kmax(n, 6) − kmax(17 − n, 6) is met at all times, so no (16, 7, 6) code could have a better state or branch complexity profile with any coordinate ordering.

(d) Find the sectionalization that gives the minimum number of sections without increas-ing the maximum branch complexity. Give the state complexity profile and the branch complexity profile of the resulting trellis.

Using the heuristic clustering rule of Chapter 10 (or the LV rule), the section at time 8 may be extended back to time 7 and forward to time 10 before meeting the first or last generator, giving a central section of length 4 with branch complexity 32. Similarly, the section at time 6 may be extended back to the beginning and the symmetrical section at time 11 may be extended to the end, giving first and last sections of length 6 with branch complexity 32. In short, this sectionalization gives a 3-section trellis with state complexity profile {1, 16, 16, 1} and branch complexity profile {32, 32, 32}. (e) Count the number of arithmetic operations required by decoding using a straightforward Viterbi algorithm of the trellises of parts (b) and (d). Which is less complex?

The 16 branch types, sizes and corresponding number of add and compare operations in a standard Viterbi algorithm decoding of the 16-section trellis are as follows

time 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 type < < < = < �� = < > = �� > = > > >size 2 4 8 8 16 32 16 32 32 16 32 16 8 8 4 2 adds 0 4 8 8 16 32 16 32 32 16 32 16 8 8 4 2 comps 0 0 0 0 0 16 0 0 16 0 16 8 0 4 2 1

There are therefore a total of 234 additions (of two variables) and 63 2-way comparisons.

The three-section trellis has 32 branches of length 6 in the first section, which require32 × 5 = 160 additions of single-symbol metrics in a straightforward implementation. Atthe end of the first section, 16 2-way comparisons are required. In the second section thereare 32 branches of length 4, which require 32 × 4 = 128 additions, followed by 16 2-waycomparisons. The final section has 32 branches of length 6, which require 32 × 6 = 192additions, followed by a single 32-way comparison, equivalent to 31 2-way comparisons.Thus the total number of 2-way comparisons is 63, the same as for the unsectionalizedtrellis, but the total number of additions is 480, about twice as much. Evidently theunsectionalized trellis organizes the metric additions more efficiently.

However, the metric additions could be organized in a similar way in the sectionalizedtrellis, and the sectionalized trellis logic is less complex.

5

Page 227: MIT Principal of Digital Communication

Problem F.3 (40 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences, or a counterexample. No credit will be given for a correct answer without an adequate explanation.

(a) There exist sequences of Reed-Muller codes which can approach the Shannon limit arbitrarily closely, but the trellis complexity of such a sequence of codes necessarily grows without limit.

True. For m ≥ 0, the Euclidean image of the first-order Reed-Muller code RM(1, m) = (2m, m + 1, 2m−2) is a 2m+1-biorthogonal signal set. It is known that as M → ∞ the probability of decoding error with M -biorthogonal signal sets goes to zero whenever Eb/N0 > ln 2 (-1.59 dB), the ultimate Shannon limit on Eb/N0.

A minimal trellis for the RM(1, m) = (2m, m+1, 2m−2) code has 2m−1 states at the central state space, since the |u|u+ v| construction gives the optimal coordinate ordering for RM codes, and under the |u|u + v| construction the dimension of the central state space S is

dim S = dim RM(1, m − 1) − dim RM(0, m − 1) = m − 1.

Thus the trellis complexity of the RM(1, m) codes goes to ∞ as m → ∞.

It is possible that there exist other sequences of RM codes whose performance approaches the relevant Shannon limit. However, the length of these codes must go to infinity in order to approach the Shannon limit arbitrarily closely, and the trellis complexity of an RM code RM(r, m) other than the universe, SPC and repetition codes (whose performance does not approach the Shannon limit) is lowerbounded by the trellis complexity of the RM(1, m) code.

(b) Let G be a finite abelian group of order |G|, and let X and N be independent random variables defined on G, where the probability distribution of N is uniform:

pN (n) = 1/|G|,∀n ∈ G.

Then Y = X + N is uniformly distributed over G and independent of X, regardless of the distribution of X.

True. The conditional probability distribution of Y given x is then uniform:

pY |X (y | x) = pN (y − x) = 1/|G|,∀x, y ∈ G;

i.e., pY |X (y | x) is uniform independent of x. Thus Y is uniform:

pY (y) = pY |X (y | x)pX (x) = 1/|G|,∀y ∈ G. x∈G

Moreover, since pY |X (y | x) = pY (y),∀x ∈ G, Y is independent of X.

This is the principle of the “one-time pad” in cryptography, which ensures that the en-crypted text Y is independent of the plaintext X. This principle is also the basis of various “scrambling” and “dither” processes used in data communications to ensure that the transmitted signal is quasi-random, regardless of the actual data.

6

Page 228: MIT Principal of Digital Communication

′′

(c) There exists no MDS binary linear block code with block length greater than 3.

False. An (n, k, d) linear code is MDS if it meets the Singleton bound, d + k ≤ n + 1. The (n, n, 1) binary universe code, the (n, n − 1, 2) binary single-parity-check code, and the (n, 1, n) binary repetition code are thus all MDS for any n ≥ 1.

(d) Given an (n, k, d) linear block code over a finite field Fq and optimal erasure correc-tion:

(i) up to d − 1 erasures can always be corrected;

(ii) up to n − k erasures may be able to be corrected;

(iii) more than n − k erasures can never be corrected.

True. Optimal erasure correction is a matter of finding a codeword c that agrees with the received word r in the set J of unerased places; i.e., such that the projections onto J agree: c|J = r|J . Since the transmitted codeword c always satisfies this condition, optimal erasure correction fails only if there is some other codeword c′ such that c′ |J = c|J , in which case there is no way to choose between c and c′ . By linearity, such a codeword c′

exists if and only if there exists a nonzero codeword c′′ = c − c′ such that c|J = 0|J .

In case (i), if there are fewer than d erasures, then no such ambiguous case can arise, since the minimum Hamming weight of any nonzero codeword is d.

In case (ii), erasure correction is possible if and only if the projection of the code onto J is one-to-one; i.e., if and only if J includes an information set for the code. (In the case of MDS codes every set of size k is an information set, but on the other hand n − k = d − 1.)

In case (iii), unambiguous erasure correction is never possible, since the dimension of the code is k, so if there are fewer than k unerased places in J then the projection of the code onto J cannot possibly be one-to-one; i.e., a set J of size less than k cannot possibly include an information set.

7

Page 229: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Tuesday, May 17, 2005MIT, Spring 2005 Handout #25

Final

• You have 180 minutes (9:00-12:00 am) to complete the test.

• This is a closed-book test, except that five 8.5′′ × 11′′ sheets of notes are allowed.

• Calculators are allowed (provided that erasable memory is cleared).

• There are three problems on the quiz. The first is a five-part problem, each partworth 10 points. The second is a six-part problem, each part worth 10 points. Thereis also an optional seventh part, for which you can receive up to 10 points of extracredit. The third problem consists of four unrelated true-false questions, each worth10 points.

• The problems are not necessarily in order of difficulty.

• Even if you can’t prove a proposition stated in one part of a problem, you may assumethat it is true in subsequent parts.

• A correct answer does not guarantee full credit and a wrong answer does not guaranteeloss of credit. You should concisely indicate your reasoning and show all relevant work.The grade on each problem is based on our judgment of your level of understandingas reflected by what you have written.

• If we can’t read it, we can’t grade it.

• If you don’t understand a problem, please ask.

1

Page 230: MIT Principal of Digital Communication

Problem F.1 (50 points)

In this problem, we will investigate ML decoding using the standard VA on a minimalconventional trellis, or using a modified VA on a tail-biting trellis.

Consider the (6, 3, 3) binary linear code C that is generated by the following generatormatrix:

G =

1 1 1 0 0 00 0 1 1 1 01 0 0 0 1 1

(a) Find the state and branch complexity profiles of an unsectionalized minimal trellis forC. Draw the corresponding minimal trellis for C, and label each branch with the corre-sponding output symbol. Verify that there is a one-to-one map between the codewords ofC and the paths through the trellis.

(b) Show that the following unsectionalized 2-state tail-biting trellis (TBT) realizes C.(Recall that in a TBT there may be more than one state in Σ0 = Σ6, the starting andending state space, and that the valid paths are those that start and end in the same statein Σ0 = Σ6.) Verify that there is a one-to-one map between the codewords of C and thevalid paths through the tail-biting trellis. Draw a normal graph of this tail-biting trellisrealization of C.

nn01 nnHHHH����

01

01 nn

0

1nnHHHH��

��01

01 nn

0

1nn

01

01

HHHH����

nn010

1

Figure 1. Tail-biting trellis for C.

(c) Propose a modification to the Viterbi algorithm that finds the maximum-likelihood(ML) codeword in C, using the tail-biting trellis of part (b). Compare the complexityof your modified VA to that of the standard VA operating on the minimal conventionaltrellis of part (a).

(d) For a general (n, k) linear code C with a given coordinate ordering, is it possible to finda minimal unsectionalized tail-biting trellis that simultaneously minimizes the complexityof each of the n state spaces over all tail-biting trellises? Explain.

(e) Given a general linear code C and an unsectionalized tail-biting trellis for C, proposea modified VA that performs ML decoding of C using the tail-biting trellis. In view ofthe cut-set bound, is it possible to achieve a significant complexity reduction over thestandard VA by using such a modified VA?

2

Page 231: MIT Principal of Digital Communication

Problem F.2 (60 points)

In this problem, we will analyze the performance of iterative decoding of a rate-1/3 repeat-accumulate (RA) code on a binary erasure channel (BEC) with erasure probability p, inthe limit as the code becomes very long (n→∞).

(3, 1, 3)-info bits - Π -u(D) 11+D

-y(D)

Figure 2. Rate-13

RA encoder.

The encoder for the rate-1/3 RA code is shown in Figure 2 above, and works as follows.A sequence of information bits is first encoded by an encoder for a (3, 1, 3) repetitioncode, which simply repeats each information bit three times. The resulting sequence isthen permuted by a large pseudo-random permutation Π. The permuted sequence u(D)is then encoded by a rate-1/1 2-state convolutional encoder with input/output relationy(D) = u(D)/(1 + D); i.e., the input/output equation is yk = uk + yk−1, so the outputbit is simply the “accumulation” of all previous input bits (mod 2).

(a) Show that this rate-13

RA code has the normal graph of Figure 3.

Π

. . .

. . .

+

=

+

=

+

=

+

=

+

=

+

=

=���

@@@

=���

@@@

. . .

. . .

Figure 3. Normal graph of rate-13

RA code.

(b) Suppose that the encoded bits are sent over a BEC with erasure probability p. Explainhow iterative decoding works in this case, using a schedule that alternates between theleft constraints and the right constraints.

(c) Show that, as n → ∞, if the probability that a left-going iterative decoding messageis erased is qr→`, then the probability that a right-going message is erased after a left-sideupdate is given by

q`→r = (qr→`)2.

3

Page 232: MIT Principal of Digital Communication

(d) Similarly, show that if the probability that a right-going iterative decoding messageis erased is q`→r, then the probability that a left-going message is erased after a right-sideupdate is given by

qr→` = 1− (1− p)2

(1− p+ pq`→r)2.

[Hint: observe that as n → ∞, the right-side message probability distributions becomeinvariant to a shift of one time unit.]

(e) Using a version of the area theorem that is appropriate for this scenario, show thatiterative decoding cannot succeed if p ≥ 2

3.

(f) The two curves given in parts (c) and (d) are plotted in the EXIT chart below forp = 0.5. Show that iterative decoding succeeds in this case.

1 qr→` 01

q`→r

0.75

0p = 0.5

Figure 4. EXIT chart for iterative decoding of a rate-13

RA code on a BEC with p = 0.5.

(g) [Optional; extra credit.] Determine whether or not iterative decoding succeeds forp = 0.6.

4

Page 233: MIT Principal of Digital Communication

Problem F.3 (40 points)

For each of the propositions below, state whether the proposition is true or false, and givea proof of not more than a few sentences, or a counterexample. No credit will be givenfor a correct answer without an adequate explanation.

(a) The Euclidean image of an (n, k, d) binary linear block code is an orthogonal signalset if and only if k = log2 n and d = n/2.

(b) If a possibly catastrophic binary rate-1/n linear convolutional code with polynomialencoder g(D) is terminated to a block code Cµ = {u(D)g(D) | deg u(D) < µ}, then a setof µ shifts {Dkg(D) | 0 ≤ k < µ} of g(D) is a trellis-oriented generator matrix for Cµ.

(c) Suppose that a codeword y = (y1, y2, . . . , yn) in some code C is sent over a memorylesschannel, such that the probability of an output r = (r1, r2, . . . , rn) is given by p(r | y) =∏n

1 p(ri | yi). Then the a posteriori probability p(Y1 = y1, Y2 = y2 | r) is given by

p(Y1 = y1, Y2 = y2 | r) ∝ p(Y1 = y1 | r1)p(Y2 = y2 | r2)p(Y1 = y1, Y2 = y2 | r3, r4, . . . , rn).

(d) Let C be the binary block code whose normal graph is shown in the figure below. Allleft constraints are repetition constraints and have the same degree dλ (not counting thedongle); all right constraints have the same degree dρ and are given by a binary linear(dρ, κdρ) constraint code Cc. Assuming that all constraints are independent, the rate of Cis

R = 1− dλ(1− κ).

Cc

Cc

Cc

=

=

=

=

=

=

HHPPhh((����

. . .

HHPPhh((����

HHPPhh((����

��PP

��PP

. . .

��PP

��PP

��PP

��PP

Π

Figure 5. Normal graph realization of C, with left repetition constraints of degree dλand right constraint codes Cc of degree dρ.

5

Page 234: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Tuesday, May 17, 2005MIT, Spring 2005 Handout #26

Final solutions

Problem F.1 (50 points)

In this problem, we will investigate ML decoding using the standard VA on a minimalconventional trellis, or using a modified VA on a tail-biting trellis.

Consider the (6, 3, 3) binary linear code C that is generated by the following generatormatrix:

G =

1 1 1 0 0 00 0 1 1 1 01 0 0 0 1 1

(a) Find the state and branch complexity profiles of an unsectionalized minimal trellisfor C. Draw the corresponding minimal trellis for C, and label each branch with thecorresponding output symbol. Verify that there is a one-to-one map between the codewordsof C and the paths through the trellis.

We first find a trellis-oriented generator matrix for C. Replacing the third generator bythe sum of the first and third generator, we arrive at the following generator matrix:

G′ =

1 1 1 0 0 00 0 1 1 1 00 1 1 0 1 1

Since the starting times and ending times of all generators are distinct, G′ is trellis-oriented.

Using the active intervals of the generators in G′, we find that the state dimension pro-file of a minimal trellis for C is {0, 1, 2, 2, 2, 1, 0}, and the branch dimension profile is{1, 2, 3, 2, 2, 1}. Explicitly, a minimal trellis is

n nn01HHHH

nnnn

01@@@@@@@@

01

nnnn

01

01

����HHHH

HHHH����

01

01 nn

nn0

1

0

1 nn0

1

0

1����

����

n0

1����

We verify that there are eight paths through the trellis corresponding to the codewords{000000, 111000, 001110, 110110, 011011, 100011, 010101, 101101}.

1

Page 235: MIT Principal of Digital Communication

(b) Show that the following unsectionalized 2-state tail-biting trellis (TBT) realizes C.(Recall that in a TBT there may be more than one state in Σ0 = Σ6, the starting andending state space, and that the valid paths are those that start and end in the same statein Σ0 = Σ6.) Verify that there is a one-to-one map between the codewords of C and thevalid paths through the tail-biting trellis.

nn01 nnHHHH����

01

01 nn

0

1nnHHHH��

��01

01 nn

0

1nn

01

01

HHHH����

nn010

1

Figure 1. Tail-biting trellis for C.

Here the two states at state time 6 should be regarded as the same as the two states atstate time 0. The valid paths are those that start and end in state 0, corresponding to thefour codewords {000000, 111000, 001110, 110110}, and those that start and end in state1, corresponding to the four codewords {011011, 100011, 010101, 101101}. Thus we verifythat this TBT realizes C.Draw a normal graph of this tail-biting trellis realization of C.

The normal graph of a tail-biting trellis looks the same as that of a conventional trellis,except that the two ends are joined so that the ending state variable is the same as thestarting state variable. In this case all states are binary, and the constraints are alternatelysingle-parity-check and repetition constraints. So the normal graph looks like this:

+ + += = = ��Normal graph of a tail-biting trellis for C.

Note that G is a TBT-oriented generator matrix for C, in the following sense. If the activeintervals of the generators in G are viewed on an end-around basis— i.e., [0, 2], [2, 4], and[4, 0]— then there is only one generator active at each state time, so the correspondingstate dimension profile is {1, 1, 1, 1, 1, 1}. Similarly, these end-around activity intervalsimply a branch dimension profile of {2, 1, 2, 1, 2, 1}. The TBT above is generated by thesethree end-around generators in the same way as a conventional trellis is generated byconventional trellis-oriented generators.

(c) Propose a modification to the Viterbi algorithm that finds the maximum-likelihood(ML) codeword in C, using the tail-biting trellis of part (b). Compare the complexity ofyour modified VA to that of the standard VA operating on the minimal conventional trellisof part (a).

We can run the standard Viterbi algorithm on the two subtrellises consisting of the subsetsof valid paths that start and end in states 0 and 1, respectively. This will find the MLcodeword among the two corresponding subsets of 4 codewords. We can then choose thebest of these two survivors as the ML codeword.

2

Page 236: MIT Principal of Digital Communication

Roughly, this requires running the VA twice on two two-state trellises, compared to onefour-state trellis, so in terms of state complexity the complexity is roughly the same. Themaximum branch complexity of the two-state trellises is 4, whereas that of the four-statetrellis is 8, so again the branch complexity is roughly the same. Finally, if we do a detailedcount of additions and comparisons, we find that both methods require 22 additions and 7comparisons— exactly the same. We conclude that the simpler tail-biting trellis requiresthe same number of operations for ML decoding, if we use this modified VA.

(d) For a general (n, k) linear code C with a given coordinate ordering, is it possible to finda minimal unsectionalized tail-biting trellis that simultaneously minimizes the complexityof each of the n state spaces over all tail-biting trellises? Explain.

The example above shows that this is not possible. The conventional trellis for C isalso a tail-biting trellis for C with a state space Σ0 = Σ6 = {0} of size 1. Thus, asa TBT, the conventional trellis minimizes the state space size at state time 0, but atthe cost of state spaces larger than 2 at other times. We have already noted that it isnot possible to construct a TBT for C that achieves the state space dimension profile{0, 1, 1, 1, 1, 1}, which is what would be necessary to achieve the minima of these twoprofiles simultaneously at all state times.

Moreover, we can similarly obtain a tail-biting trellis with a state space of size 1 atany state time, by cyclically shifting the generators in order to construct a minimalconventional trellis that starts and ends at that state time. But there is obviously no wayto obtain a minimal state space size of 1 at all state times simultaneously.

(e) Given a general linear code C and an unsectionalized tail-biting trellis for C, proposea modified VA that performs ML decoding of C using the tail-biting trellis. In view of thecut-set bound, is it possible to achieve a significant complexity reduction over the standardVA by using such a modified VA?

In general, we can run the standard VA on the |Σ0| subtrellises consisting of the subsetsof valid paths that start and end in each state in Σ0. This will find the ML codewordamong each of the |Σ0| corresponding codeword subsets. We can then choose the best ofthese |Σ0| survivors as the ML codeword.

The complexity of this modified VA is of the order of |Σ0| times the complexity of VAdecoding a subset trellis. The subset trellis state complexity is the state complexitymaxk |ΣC′k | for a conventional trellis for the code C ′ that is generated by the generatorsof the TBT-oriented generator matrix for C that do not span state time 0. Choose acut set consisting of state time 0 and state time k for any other k, 0 < k < n. By thecut-set bound, the total number of generators that span state time either 0 or k is notless than the minimal total number of generators that span state time k in a conventionaltrellis for C. Therefore |Σ0||ΣC′k | ≥ |ΣCk | for any k, 0 < k < n. But this implies thatmaxk |Σ0||ΣC′k | ≥ maxk |ΣCk |. Thus no reduction in aggregate state complexity can beobtained by the modified VA.

An easier way of seeing this is to notice that the operation of the modified VA is the sameas that of a standard VA on a nonminimal conventional trellis consisting of |Σ0| parallelsubtrellises, joined only at the starting and ending nodes. For example, for part (c) wecan think of a standard VA operating on the following nonminimal conventional trellis:

3

Page 237: MIT Principal of Digital Communication

nn nn0

1nnHHHH��

��01

01 nn

0

1

n1

0����

����

n nnHHHH@@@@

JJJJJJ

01

01 nn

0

1nnHHHH��

��01

01 nn

0

1

n0

1����

n0

1

Since this is merely another conventional trellis, in general nonminimal, the modified VAoperating on this trellis must clearly be at least as complex as the standard VA operatingon the minimal conventional trellis.

We conclude that if we use the modified VA on a TBT to achieve ML decoding, then wecannot achieve any savings in decoding complexity. On the other hand, iterative decodingon the TBT may be less complex, but in general will not give ML decoding performance.

Problem F.2 (60 points)

In this problem, we will analyze the performance of iterative decoding of a rate-1/3 repeat-accumulate (RA) code on a binary erasure channel (BEC) with erasure probability p, inthe limit as the code becomes very long (n→∞).

(3, 1, 3)-info bits - Π -u(D) 11+D

-y(D)

Figure 2. Rate-13

RA encoder.

The encoder for the rate-1/3 RA code is shown in Figure 2 above, and works as follows.A sequence of information bits is first encoded by an encoder for a (3, 1, 3) repetitioncode, which simply repeats each information bit three times. The resulting sequence isthen permuted by a large pseudo-random permutation Π. The permuted sequence u(D)is then encoded by a rate-1/1 2-state convolutional encoder with input/output relationy(D) = u(D)/(1 +D); i.e., the input/output equation is yk = uk + yk−1, so the output bitis simply the “accumulation” of all previous input bits (mod 2).

4

Page 238: MIT Principal of Digital Communication

(a) Show that this rate-13

RA code has the normal graph of Figure 3.

Π

. . .

. . .

+

=

+

=

+

=

+

=

+

=

+

=

=���

@@@

=���

@@@

. . .

. . .

Figure 3. Normal graph of rate-13

RA code.

The left-side nodes of Figure 2 represent the repetition code. Since the original informationbits are not transmitted, they are regarded as hidden state variables, repeated three times.The repeated bits are permuted in the permutation Π. On the right side, the permutedbits uk are the input bits and the yk are the output bits of a 2-state trellis, whose statesare the output bits yk. The trellis constraints are represented explicitly by zero-sum nodesthat enforce the constraints yk + uk + yk−1 = 0.

(b) Suppose that the encoded bits are sent over a BEC with erasure probability p. Explainhow iterative decoding works in this case, using a schedule that alternates between the leftconstraints and the right constraints.

The outputs of a BEC are either known with certainty or completely unknown (erased).The sum-product algorithm reduces to propagation of known variables through the codegraph. If any variable incident on a repetition node becomes known, then all becomeknown. On the other hand, for a zero-sum node, all but one incident variable must beknown in order to determine the last incident variable; otherwise all unknown incidentvariables remain unknown.

In detail, we see that initially an input bit uk becomes known if and only if the twoadjoining received symbols, yk and yk−1, are unerased. After passage through Π, theseknown bits propagate through the repetition nodes to make all equal variables known.After passage through Π, the right-going known bits are propagated through the trellis,with additional input or output bits becoming known whenever two of the three bits inany set {yk−1, uk, yk} become known. Known input bits uk are then propagated backthrough Π, and so forth.

5

Page 239: MIT Principal of Digital Communication

(c) Show that, as n→∞, if the probability that a left-going iterative decoding message iserased is qr→`, then the probability that a right-going messages is erased after a left-sideupdate is given by

q`→r = (qr→`)2.

As n→∞, for any fixed number m of iterations, we may assume that all variables in them-level iteration tree are independent.

A right-going message is erased if and only if both left-going messages that are incidenton the same repetition node is erased. Thus if these two variables are independent, eachwith probability qr→` of erasure, then q`→r = (qr→`)2.

(d) Similarly, show that if the probability that a right-going iterative decoding message iserased is q`→r, then the probability that a left-going message is erased after a right-sideupdate is given by

qr→` = 1− (1− p)2

(1− p+ pq`→r)2.

[Hint: observe that as n → ∞, the right-side message probability distributions becomeinvariant to a shift of one time unit.]

For a particular input bit, the messages that contribute to the calculation of the outgoingmessage look like this:

+ + + + += = = =

qout↓

p p p pqin qin qin qin

y y y yx x x x x x↓ ↓ ↓ ↓↓ ↓ ↓ ↓→ → ← ←→ → → ← ← ←. . . . . .

Here p denotes the probability that an output bit yk will be erased on the channel, qin

denotes the probability q`→r that an input bit uk will still be erased after the previousiteration, and qout denotes the probability qr→` that the bit that we are interested inwill be erased after this iteration. Again, as n → ∞, we may assume that all of theseprobabilities are independent.

Following the hint, we use the symmetry and time-invariance of the trellises on eitherside of uk to assert that as n → ∞ the probability of erasure x in all of the messagesmarked with x will be the same, and similarly that the probability of erasure y in all ofthe messages marked with y will be the same.

The relations between these probabilities are then evidently as follows:

x = py; 1− y = (1− qin)(1− x); 1− qout = (1− x)2.

Solving the first two equations, we obtain

y =qin

1− p+ pqin, x =

pqin

1− p+ pqin,

and thus

qout = 1− (1− p)2

(1− p+ pqin)2.

6

Page 240: MIT Principal of Digital Communication

(e) Using a version of the area theorem that is appropriate for this scenario, show thatiterative decoding cannot succeed if p ≥ 2

3.

The area under the curve of part (c) is

∫ 1

0

q2dq =1

3.

The area under the curve of part (d) is

1−∫ 1

0

(1− p)2

(1− p+ pq)2dq = 1− (1− p)2

p

[1

1− p+ pq

]1

0

= p.

Iterative decoding will succeed if and only if the two curves do not cross. In order forthe two curves not to cross, the sum of these two areas must be less than the area of theEXIT chart; i.e.,

1

3+ p < 1,

which is equivalent to p < 23; i.e., the capacity 1− p of the BEC, namely 1− p, must be

greater than the rate of the RA code, namely 13.

(For example, in Figure 4 below, the area above the top curve is 13, whereas the area

below the bottom curve is 12.)

(f) The two curves given in parts (c) and (d) are plotted in the EXIT chart below forp = 0.5. Show that iterative decoding succeeds in this case.

1 qr→` 01

q`→r

0.75

0p = 0.5

Figure 3. EXIT chart for iterative decoding of a rate-13

RA code on a BEC with p = 0.5.

The two curves do not cross, so iterative decoding starting at (qr→`, q`→r) = (1, 1) mustsucceed (reach (qr→`, q`→r) = (0, 0)).

7

Page 241: MIT Principal of Digital Communication

(g) [Optional; extra credit.] Determine whether or not iterative decoding succeeds forp = 0.6.

The easiest way to determine whether iterative decoding succeeds for p = 0.6 is to simulateit using the equations above. We obtain

q`→r qr→`1.0 0.840.706 0.7640.584 0.7160.512 0.6800.463 0.6520.425 0.6270.393 0.6040.365 0.5820.339 0.5610.314 0.5380.290 0.5140.264 0.4870.237 0.4560.208 0.4190.176 0.3730.139 0.3160.100 0.2440.059 0.1570.025 0.0700.005 0.0150.000 0.001. . . . . .

Thus iterative decoding succeeds fairly easily for p = 0.6, even though the capacity of aBEC with p = 0.6 is only 0.4, not much greater than the rate of the RA code.

It is possible therefore that irregular RA codes may be capacity-approaching for the BEC.Even with regular codes, the two EXIT curves are already quite well matched. However,note that only the left degrees can be made irregular, which limits design flexibility.

8

Page 242: MIT Principal of Digital Communication

Problem F.3 (40 points)

For each of the propositions below, state whether the proposition is true or false, and givea proof of not more than a few sentences, or a counterexample. No credit will be givenfor a correct answer without an adequate explanation.

(a) The Euclidean image of an (n, k, d) binary linear block code is an orthogonal signalset if and only if k = log2 n and d = n/2.

False. The Euclidean images of two binary words are orthogonal if and only if d = n/2,so all codewords must be at distance d = n/2 from each other. In a linear code, thishappens if and only if all nonzero codewords have weight d = n/2. However, all that isspecified is that the minimum distance is d = n/2, which is necessary but not sufficient.The smallest counterexample is a (4, 2, 2) code; e.g., {0000, 1100, 0011, 1111}.(b) If a possibly catastrophic binary rate-1/n linear convolutional code with polynomialencoder g(D) is terminated to a block code Cµ = {u(D)g(D) | deg u(D) < µ}, then a setof µ shifts {Dkg(D) | 0 ≤ k < µ} of g(D) is a trellis-oriented generator matrix for Cµ.

True. The µ shifts G = {Dkg(D) | 0 ≤ k < µ} form a set of generators for Cµ,since every codeword may be written as

∑µ−10 uk(D

kg(D)) for some binary µ-tuple(u0, u1, . . . , uµ−1). If the starting and ending times of g(D) occur during n-tuple timesdel g(D) and deg g(D), respectively, then the starting time of Dkg(D) occurs during n-tuple time del g(D) + k, and its ending time occurs during n-tuple time k + deg g(D).Thus the starting times of all generators are distinct, and so are all ending times, so theset G is trellis-oriented.

(c) Suppose that a codeword y = (y1, y2, . . . , yn) in some code C is sent over a memorylesschannel, such that the probability of an output r = (r1, r2, . . . , rn) is given by p(r | y) =∏n

1 p(ri | yi). Then the a posteriori probability p(Y1 = y1, Y2 = y2 | r) is given by

p(Y1 = y1, Y2 = y2 | r) ∝ p(Y1 = y1 | r1)p(Y2 = y2 | r2)p(Y1 = y1, Y2 = y2 | r3, . . . , rn).

True. This may be viewed as an instance of Equation (12.6) of the course notes, wherewe take (Y1, Y2) as a single symbol variable. Alternatively, this equation may be derivedfrom first principles. We have

p(Y1 = y1, Y2 = y2 | r) =∑

y∈C(y1,y2)

p(y | r) ∝∑

y∈C(y1,y2)

p(r | y) =∑

y∈C(y1,y2)

i∈Ip(ri | yi),

where C(y1, y2) denotes the subset of codewords with Y1 = y1, Y2 = y2. We may factorp(r1 | y1)p(r2 | y2) out of every term on the right, yielding

p(Yi = yi | r) ∝ p(r1 | y1)p(r2 | y2)

y∈C(y1,y2)

n∏

i=3

p(ri | yi)

.

But now by Bayes’ rule p(Y1 = y1 | r1) ∝ p(r1 | y1), p(Y2 = y2 | r2) ∝ p(r2 | y2)(assuming equiprobable symbols), and we recognize that the last term is proportional tothe a posteriori probability p(Y1 = y1, Y2 = y2 | r3, . . . , rn).

9

Page 243: MIT Principal of Digital Communication

(d) Let C be the binary block code whose normal graph is shown in the figure below. Allleft constraints are repetition constraints and have the same degree dλ (not counting thedongle); all right constraints have the same degree dρ and are given by a binary linear(dρ, κdρ) constraint code Cc. Assuming that all constraints are independent, the rate of Cis

R = 1− dλ(1− κ).

Cc

Cc

Cc

=

=

=

=

=

=

HHPPhh((����

. . .

HHPPhh((����

HHPPhh((����

��PP

��PP

. . .

��PP

��PP

��PP

��PP

Π

Figure 5. Normal graph realization of C, with left repetition constraints of degree dλand right constraint codes Cc of degree dρ.

True. First, if the length of C is n, then there are n left constraints and ndλ left edges.If there are m right constraints, then there are mdρ right edges, which must equal thenumber of left edges. Thus m = ndλ/dρ.

Second, each constraint code Cc consists of the set of all binary dρ-tuples that satisfy aset of (1 − κ)dρ parity-check equations. Thus C is equivalent to a regular LDPC codeof length n with m(1 − κ)dρ = ndλ(1 − κ) parity checks. Assuming that all checks areindependent, the rate of such a code is

R = 1− ndλ(1− κ)

n= 1− dλ(1− κ).

10

Page 244: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, March 16, 2005 MIT, Spring 2005 Handout #13

Midterm

• You have 110 minutes (9:05-10:55 am) to complete the test.

• This is a closed-book test, except that three 8.5′′ × 11′′ sheets of notes are allowed.

• Calculators are allowed (provided that erasable memory is cleared).

• There are two problems on the quiz. The first is a seven-part problem, each part worth 10 points. There is also an optional eighth part, for which you can receive up to 10 points of extra credit. The second problem consists of three unrelated true-false questions, each worth 10 points.

• The problems are not necessarily in order of difficulty.

• Even if you can’t prove a proposition stated in one part of a problem, you may assume that it is true in subsequent parts.

• A correct answer does not guarantee full credit and a wrong answer does not guarantee loss of credit. You should concisely indicate your reasoning and show all relevant work. The grade on each problem is based on our judgment of your level of understanding as reflected by what you have written.

• If we can’t read it, we can’t grade it.

• If you don’t understand a problem, please ask.

1

Page 245: MIT Principal of Digital Communication

α dB dB (round numbers) (two decimal places)

1 0 0.00 1.25 1 0.97 2 3 3.01

2.5 4 3.98 e 4.3 4.34 3 4.8 4.77 π 5 4.97 4 6 6.02 5 7 6.99 8 9 9.03 10 10 10.00

Table 1. Values of certain small factors α in dB.

code ρ γc (dB) Nd Kb γeff (dB) s t

(8,7,2) 1.75 7/4 2.43 28 4 2.0 1 2 (8,4,4) 1.00 2 3.01 14 4 2.6 2 3

(16,15,2) 1.88 15/8 2.73 120 8 2.1 1 2 (16,11,4) 1.38 11/4 4.39 140 13 3.7 3 5 (16, 5,8) 0.63 5/2 3.98 30 6 3.5 3 4 (32,31, 2) 1.94 31/16 2.87 496 16 2.1 1 2 (32,26, 4) 1.63 13/4 5.12 1240 48 4.0 4 7 (32,16, 8) 1.00 4 6.02 620 39 4.9 6 9 (32, 6,16) 0.37 3 4.77 62 10 4.2 4 5 (64,63, 2) 1.97 63/32 2.94 2016 32 1.9 1 2 (64,57, 4) 1.78 57/16 5.52 10416 183 4.0 5 9 (64,42, 8) 1.31 21/4 7.20 11160 266 5.6 10 16 (64,22,16) 0.69 11/2 7.40 2604 118 6.0 10 14 (64, 7,32) 0.22 7/2 5.44 126 18 4.6 5 6

Table 2. Parameters of RM codes with lengths n ≤ 64.

2

Page 246: MIT Principal of Digital Communication

Problem M.1 (70 points)

In this problem, we will study a class of codes called product codes.

Suppose that C1 and C2 are two binary linear block codes with parameters (n1, k1, d1) and(n2, k2, d2), respectively. We will assume that the first k1 and k2 coordinate positions areinformation sets of C1 and C2, respectively.

The product code C is the code obtained by the following three-step encoding method. Inthe first step, k1 independent information bits are placed in each of k2 rows, thus creatinga k2 × k1 rectangular array (see Figure 1a). In the second step, the k1 information bitsin each of these k2 rows are encoded into a codeword of length n1 in C1, thus creating ak2 × n1 rectangular array (see Figure 1b). In the third step, the k2 information bits ineach of the n1 columns are encoded into a codeword of length n2 in C2, thus creating ann2 × n1 rectangular array (see Figure 1c).

k1 k1 n1 − k1 k1 n1 − k1

k2 info bits k2

info bits k2

info bits

� n1 �

n2 − k2

n2

� n1 �

(a) (b) (c)

Figure 1. (a) k2 × k1 information bit array. (b) k2 × n1 array after row encoding. (c) n2 × n1 array after column encoding.

(a) Given an (n, k) binary linear block code C, show that the first k coordinate positions are an information set of C if and only if there exists a generator matrix G for C whose first k columns form a k × k identity matrix.

(b) Show that the encoding method given above produces the same codeword whether the encoder encodes first rows and then columns, or first columns and then rows.

(c) Show that the product code C is an (n1n2, k1k2, d1d2) binary linear block code.

(d) Express the nominal coding gain γc(C) of the Euclidean-space image s(C) of C in terms of the nominal coding gains γc(C1) and γc(C2) of the Euclidean-space images s(C1) and s(C2) of C1 and C2, respectively. Express the nominal spectral efficiency ρ(C) of C in terms of the nominal spectral efficiencies ρ(C1) and ρ(C2) of C1 and C2, respectively.

(e) Starting with Reed-Muller codes of lengths less than 64, is it possible to use the product code construction to construct a product code of length 64 that has better parameters (64, k, d) than the corresponding RM code of length 64?

(f) Starting with Reed-Muller codes of lengths less than 64, is it possible to obtain a sequence of product codes whose nominal coding gains increase without limit by iter­ating the product code construction— i.e., by extending the above construction to an m-dimensional product code that maps an array of k1 × k2 × · · · × km information bits into n1 × n2 × · · · × nm binary symbols using binary linear block codes C1, C2, . . . , Cm? Is it possible to do this while keeping the nominal spectral efficiency above some nonzero value?

3

Page 247: MIT Principal of Digital Communication

(g) The construction of C suggests the following two-step decoding method. First decode each row, using an optimum (minimum Euclidean distance) decoding method for C1. This first decoding step yields an array of noisy received bits. Then decode each column, using an optimum (minimum Hamming distance) decoding method for C2.

Compare the performance and complexity of this two-step decoding method with that of the optimum decoding method on a binary-input AWGN channel. If you like, you may let both C1 and C2 be the (8, 4, 4) RM code. As a figure of merit for performance, you may use the minimum squared norm of any error sequence that can cause a decoding error.

(h) [Optional; extra credit] Propose a two-step decoding method that has same figure of merit for performance as optimum decoding, but has decoding complexity similar to that of the suboptimal two-step method proposed in part (g).

Problem M.2 (30 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences, or a counterexample. No credit will be given for a correct answer without an adequate explanation.

(a) A signal constellation A consisting of a subset of 2k points of the 2n vertices of the n-cube, k < n, has a nominal spectral efficiency ρ(A) < 2 b/2D and a nominal coding gain γc(A) ≥ 1.

(b) Let S = {a, b, c, d, e, f} be a set of six elements, and let a binary operation ⊕ be defined on S by the following “addition table:”

⊕ a b c d e f

a a b c d e f

b b c a f d e

c c a b e f d

d d e f a b c

e e f d c a b

f f d e b c a

Then S forms a group under the binary operation ⊕. (You need not check the associative law.)

(c) Considering the weight distribution of a (6, 3, 4) code over F4, it is possible that such a code exists.

4

Page 248: MIT Principal of Digital Communication

{ �

Midterm Quiz

• You have 110 minutes to complete the quiz.

• This is a closed-book quiz, except that three 8.5′′ × 11′′ sheets of notes are allowed.

• Calculators are allowed (provided that erasable memory is cleared), but will probably not be useful.

• There are two problems on the quiz. The first is a seven-part problem, each part worth 10 points. The second consists of three unrelated true-false questions, each worth 10 points.

• The problems are not necessarily in order of difficulty.

• A correct answer does not guarantee full credit and a wrong answer does not guarantee loss of credit. You should concisely indicate your reasoning and show all relevant work. The grade on each problem is based on our judgment of your level of understanding as reflected by what you have written.

• If we can’t read it, we can’t grade it.

• If you don’t understand a problem, please ask.

Problem M.1 (70 points)

Recall that an M -simplex signal set is a set of M signals A = {aj ∈ RM −1 , 1 ≤ j ≤ M }in an (M − 1)-dimensional real space RM −1, such that, for some EA > 0,

EA, if i = j; ai, aj = E〈 〉 −

M −A

1 , if i = j.

Initially we will assume that M is a power of 2, M = 2m, for some integer m.

(a) Compute the nominal spectral efficiency ρ(A) and the nominal coding gain γc(A) of an M -simplex signal set A on an AWGN channel as a function of M = 2m .

(b) What is the limit of the effective coding gain γeff (A) of an M -simplex signal set A as M → ∞, at a target error rate of Pr(E) ≈ 10−5?

(c) Give a method of implementing an (M = 2m)-simplex signal set A in which each signal aj is a sequence of points from a 2-PAM signal set {±α}.

1

Page 249: MIT Principal of Digital Communication

Now consider a concatenated coding scheme in which

• the outer code is an (n, k, d) linear code C over a finite field Fq with q = 2m, which has Nd codewords of minimum nonzero weight;

• outer q-ary code symbols are mapped into a q-simplex signal set A via a one-to-one map s : F .q → A

If x = (x1, x2, . . . , xn) is an n-tuple in (Fq )n, then s(x) = (s(x1), s(x2), . . . , s(xn)) will

be called the Euclidean image of x. Let A′ = s(C) = {s(x),x ∈ C} denote the signal set consisting of the Euclidean images of all codewords x ∈ C.

(d) Compute the nominal spectral efficiency ρ(A′) of the concatenated signal set A′ on an AWGN channel. Is this signal set appropriate for the power-limited or the bandwidth-limited regime?

(e) Compute d2 min(A′), Kmin(A′), and γc(A′). Give a good estimate of an appropriately

normalized error probability for A′.

Now consider the case in which C is an (n = q + 1, k = 2, d = q) linear code over Fq . m(f) Show that a code C with these parameters exists whenever q is a prime power, q = p .

Show that all nonzero codewords in C have the same Hamming weight.

(g) Show that the Euclidean image A′ = s(C) of C is a q2-simplex signal set.

Problem M.2 (30 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences. No credit will be given for correct answers without an adequate explanation.

(a) Let p(t) be a complex L2 signal with Fourier transform P (f). If the set of time shifts {p(t − kT ), k ∈ Z} is orthonormal for some T > 0, then P (0) = 0.

(b) Let s(C) be the Euclidean-space image of a binary linear block code C under a 2-PAM map s : {0, 1} → {±α}. Then the mean m of the signal set s(C) is 0, unless there is some coordinate in which all codewords of C have the value 0.

(c) A polynomial f(z) ∈ Fq [z] satisfies f(β) = 0 for all β ∈ Fq if and only if f(z) is a multiple of zq − z.

2

Page 250: MIT Principal of Digital Communication

Midterm

• You have 110 minutes (9:05-10:55 am) to complete the test.

• This is a closed-book test, except that three 8.5′′ × 11′′ sheets of notes are allowed.

• Calculators are allowed (provided that erasable memory is cleared).

• There are two problems on the quiz. The first is a six-part problem, each part worth 10 points. The second problem consists of four unrelated true-false questions, each worth 10 points.

• The problems are not necessarily in order of difficulty.

• A correct answer does not guarantee full credit and a wrong answer does not guarantee loss of credit. You should concisely indicate your reasoning and show all relevant work. The grade on each problem is based on our judgment of your level of understanding as reflected by what you have written.

• If we can’t read it, we can’t grade it.

• If you don’t understand a problem, please ask.

1

Page 251: MIT Principal of Digital Communication

Uncoded 2−PAM 0

10

−110

−210

10b (E)

Uncoded 2−PAM Shannon Limit Shannon Limit for ρ = 2

−3

P (

E)

P

s

10−6

10−5

10−4

10−3

10−2

10−1

10 Uncoded QAM Shannon Limit

−410

−510

−610

−2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 Eb/No [dB]

Figure 1. Pb(E) vs. Eb/N0 for uncoded binary PAM.

Uncoded QAM0

0 1 2 3 4 5 6 7 8 9 10

norm SNR [dB]

Figure 2. Ps(E) vs. SNRnorm for uncoded (M × M )-QAM.

2

Page 252: MIT Principal of Digital Communication

α dB dB (round numbers) (two decimal places)

1 0 0.00 1.25 1 0.97 2 3 3.01

2.5 4 3.98 e 4.3 4.34 3 4.8 4.77 π 5 4.97 4 6 6.02 5 7 6.99 8 9 9.03 10 10 10.00

Table 1. Values of certain small factors α in dB.

code ρ γc (dB) Nd Kb γeff (dB) s t (8,7,2) 1.75 7/4 2.43 28 4 2.0 1 2 (8,4,4) 1.00 2 3.01 14 4 2.6 2 3

(16,15,2) 1.88 15/8 2.73 120 8 2.1 1 2 (16,11,4) 1.38 11/4 4.39 140 13 3.7 3 5 (16, 5,8) 0.63 5/2 3.98 30 6 3.5 3 4 (32,31, 2) 1.94 31/16 2.87 496 16 2.1 1 2 (32,26, 4) 1.63 13/4 5.12 1240 48 4.0 4 7 (32,16, 8) 1.00 4 6.02 620 39 4.9 6 9 (32, 6,16) 0.37 3 4.77 62 10 4.2 4 5 (64,63, 2) 1.97 63/32 2.94 2016 32 1.9 1 2 (64,57, 4) 1.78 57/16 5.52 10416 183 4.0 5 9 (64,42, 8) 1.31 21/4 7.20 11160 266 5.6 10 16 (64,22,16) 0.69 11/2 7.40 2604 118 6.0 10 14 (64, 7,32) 0.22 7/2 5.44 126 18 4.6 5 6

Table 2. Parameters of RM codes with lengths n ≤ 64.

3

Page 253: MIT Principal of Digital Communication

Problem M.1 (60 points)

Your boss wants you to do a feasibility study for a digital communication system with the following characteristics.

You are allowed to use the frequency band B between 953 and 954 MHz. The allowed signal power is P = 106 power units. The noise in the band is additive white Gaussian noise with single-sided power spectral density N0 = 1 power units per Hz.

For the purposes of the feasibility study, you may assume optimally bandwidth-efficient modulation, ideal brick-wall (zero-rolloff) filters, perfect receiver synchronization, etc.

(a) What is the Shannon limit on the achievable data rate R in bits per second (b/s)?

(b) What is the maximum data rate R that can be achieved with uncoded modulation, if the target error rate is of the order of 10−5?

(c) Suppose that for complexity reasons you are restricted to using Reed-Muller codes with block length n ≤ 64. What is the maximum data rate R that can be achieved, if the target error rate is of the order of 10−5?

Now let the allowed signal power be only P = 105 power units, with all else the same.

(d) What is the Shannon limit on the achievable data rate R in bits per second (b/s)?

(e) What is the maximum data rate R that can be achieved with uncoded modulation, if the target error rate is of the order of 10−5?

(f) Suppose that you are allowed to use any code that has been introduced in this course so far. What is the maximum data rate R that can be achieved, if the target error rate is of the order of 10−5?

4

Page 254: MIT Principal of Digital Communication

Problem M.2 (40 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences, or a counterexample. No credit will be given for a correct answer without an adequate explanation.

(a) Let A = {aj (t), 1 ≤ j ≤ M} be a set of M real L2 signals, and let the received signal be r(t) = x(t) + n(t), where x(t) is a signal in A, and n(t) is additive (independent) white Gaussian noise. Then, regardless of whether the signals in A are equiprobable or not, it is possible to do optimal detection on r(t) by first computing from r(t) a real M -tuple r = (r1, r2, . . . , rM ), and then doing optimal detection on r.

(b) Let A be an arbitrary M -point, N -dimensional signal constellation, and let A′ = αUAK be the constellation obtained by taking the K-fold Cartesian product AK , scaling by α > 0, and applying an orthogonal transformation U . Then the effective coding gain of A′ is the same as that of A.

(c) Let {Cj , j = 1, 2, . . . } be an infinite set of binary linear (nj , kj , dj ) block codes Cj with nj → ∞ as j → ∞. Then in order for the performance of these codes in AWGN to approach the Shannon limit as j → ∞, it is necessary that either limj→∞ kj /nj > 0 or limj→∞ dj /nj > 0.

(d) The Euclidean-space image s(C) of a binary linear block code C under the 2-PAM map {s(0) = +α, s(1) = −α} has zero mean, m(s(C)) = 0, unless there is some coordinate position in which all codewords in C have value 0.

5

Page 255: MIT Principal of Digital Communication

Midterm solutions

Problem M.1 (60 points)

Your boss wants you to do a feasibility study for a digital communication system with the following characteristics.

You are allowed to use the frequency band B between 953 and 954 MHz. The allowed signal power is P = 106 power units. The noise in the band is additive white Gaussian noise with single-sided power spectral density N0 = 1 power units per Hz.

For the purposes of the feasibility study, you may assume optimally bandwidth-efficient modulation, ideal brick-wall (zero-rolloff ) filters, perfect receiver synchronization, etc.

(a) What is the Shannon limit on the achievable data rate R in bits per second (b/s)?

An AWGN channel is completely specified by its bandwidth W and signal-to-noise ratio SNR. The channel bandwidth is W = |B| = 106 Hz, and the SNR is SNR = P/(N0W ) = 1 (0 dB). The channel capacity in b/s is therefore

Cb/s = W log2(1 + SNR) = 106 b/s.

We see that the nominal spectral efficiency is limited to ρ < Cb/2D = 1 b/2D (or (b/s)/Hz), so we are in the power-limited regime.

(b) What is the maximum data rate R that can be achieved with uncoded modulation, if the target error rate is of the order of 10−5?

In the power-limited regime, we use 2-PAM or (2 × 2)-QAM for uncoded modulation. From Figure 1, to achieve Pb(E) ≈ 10−5 requires Eb/N0 ≈ 9.6 dB, or Eb/N0 ≈ 9. Since Eb = P/R and P = 106 , N0 = 1, this implies that

R ≈ P/9 ≈ 110, 000 b/s,

a factor of about 9 (9.6 dB) less than capacity.

A number of you attacked this problem by varying ρ rather than R. Although this gives the right answer, it is not correct in principle because the nominal spectral efficiency of 2-PAM is a constant, ρ = 2 b/2D.

Note that the Nyquist (nominal) bandwidth at R = 110, 000 b/s is only about 55 KHz; i.e., with bandwidth-efficient modulation, only about 1/18 of the available channel band- width W = 1 MHz will be used.

1

Page 256: MIT Principal of Digital Communication

(c) Suppose that for complexity reasons you are restricted to using Reed-Muller codes with block length n ≤ 64. What is the maximum data rate R that can be achieved, if the target error rate is of the order of 10−5?

From Table 2, we see that RM codes of length 64 can achieve up to about 6 dB of effective coding gain at Pb(E) ≈ 10−5 . Thus to achieve Pb(E) ≈ 10−5 could require only Eb/N0 ≈ 3.6 dB, or Eb/N0 ≈ 9/4 = 2.25. Again using Eb = P/R and P = 106 , N0 = 1, this implies that

R ≈ 4P/9 ≈ 440, 000 b/s,

4 times the achievable rate of uncoded modulation. The required spectral efficiency at this data rate is ρ ≥ 0.44 (b/s)/Hz.

Thus we can use the (64, 22, 16) RM code, which has a nominal spectral efficiency of ρ = 2k/n = 11/16 = 0.6875 b/2D, and an effective coding gain of 6.0 dB. (We could not use the (64, 7, 32) biorthogonal code, whose spectral efficiency is only 3/16 = 0.1875.)

Using the (64, 22, 16) code at a rate of R ≈ 440, 000 b/s, we will operate at Eb/N0 ≈ 2.25 (3.6 dB) and thus obtain Pb(E) ≈ 10−5, according to the union bound estimate. The nominal (Nyquist) bandwidth will be

16 440, 000· W = R/ρ ≈ = 640 KHz,

11

which is well within the 1 MHz available.

Now let the allowed signal power be only P = 105 power units, with all else the same.

(d) What is the Shannon limit on the achievable data rate R in bits per second (b/s)?

The channel bandwidth is still W = 106 Hz, but the SNR is now SNR = 0.1 (-10 dB). The channel capacity in b/s is therefore

Cb/s = W log2(1 + SNR) = W (log2 1.1) ≈ (0.1375)W = 137, 500 b/s.

Since ρ ≤ 0.1375 b/2D, we are now deep into the power-limited regime.

(e) What is the maximum data rate R that can be achieved with uncoded modulation, if the target error rate is of the order of 10−5?

Again using 2-PAM or (2 × 2)-QAM, to achieve Pb(E) ≈ 10−5 requires Eb/N0 ≈ 9.6 dB, or Eb/N0 ≈ 9. Since Eb = P/R and P = 105 , N0 = 1, this implies that

R ≈ P/9 ≈ 11, 000 b/s,

a factor of about 9 log2 e (11.2 dB) less than capacity. Since we still have ρ = 2 b/2D, the Nyquist (nominal) bandwidth is now only about 5.5 KHz.

2

Page 257: MIT Principal of Digital Communication

(f) Suppose that you are allowed to use any code that has been introduced in this course so far. What is the maximum data rate R that can be achieved, if the target error rate is of the order of 10−5?

The best RM code in Table 2 is the (64, 22, 16) code, which has an effective coding gain of 6.0 dB. Repeating the calculations in part (c) above for one tenth the power, we find that this code can support a rate of about

R ≈ 4P/9 ≈ 44, 000 b/s,

4 times (6 dB) more than what we can achieve with uncoded modulation, but 3.3 times (5.2 dB) less than capacity.

The only potentially better codes that we know of so far are the orthogonal-simplex- biorthogonal family, whose performance we know approaches the ultimate Shannon limit on Eb/N0 as M → ∞, albeit with ρ → 0.

Let us therefore try biorthogonal codes, the most bandwidth-efficient in this family. Weknow that the binary image of a (2m, m + 1, 2m−1) binary linear block code is a 2m+1-biorthogonal code.

If we are going to achieve a rate higher than 44 kb/s, then we are going to need an effective coding gain greater than 6 dB and a spectral efficiency greater than 0.044 b/2D.

The nominal coding gain of a (2m, m + 1, 2m−1) code is γc = kd/n = (m + 1)/2, so weare going to need to choose m ≥ 8. The spectral efficiency is ρ = 2k/n = (m + 1)2−m+1 , which limits us to m ≤ 8, since for m = 9, ρ = 10/256 = 0.039 b/2D.

Let us therefore try the (256, 9, 128) biorthogonal code. This code has a nominal coding gain of γc = kd/n = 4.5 (6.53 dB). It has Nd = 29 − 2 = 510 weight-128 codewords, so Kb = Nd/k ≈ 57. Since this is about 6 factors of two, its effective coding gain is only about 5.3 dB, which is not good enough to improve on the (64, 22, 16) code. So weconclude that no biorthogonal code can improve on the (64, 22, 16) code in this problem.

Another approach is to examine RM codes of greater length. However, you were not expected to go further in this problem; consideration only of RM codes of lengths n ≤ 64 and biorthogonal codes suffices for full credit.

[Extra credit] However, if you do go further, you will find for example that there is a (128, 29, 32) RM code which can be constructed from the (64, 22, 16) code and the (64, 7, 32) code. This code has a nominal coding gain of γc = kd/n = 29/4 = 7.25 (8.6 dB), and a nominal spectral efficiency of ρ = 2k/n = 29/64 = 0.45, which are both fine. Its number of nearest neighbors is

127 63 31 15 7· · · · Nd = 4 = 10668,

31 15 7 3 1· · · ·

γ

so Kb = Nd/k ≈ 368, which is about 8.5 binary orders of magnitude. Its effective coding gain by our rule of thumb (which is questionable for such large numbers) is therefore about

eff = 8.6 − 1.7 ≈ 6.9 dB. If this estimate is accurate, then the data rate can be improved by 0.9 dB, or about 23%; i.e., to R ≈ 54, 000 b/s. However, the decoding complexity increases very significantly (trellis complexity = 215 states).

Grade distribution on Problem 1 (N = 10): {27, 28, 29, 34, 37, 41, 41, 47, 49, 52}.

3

Page 258: MIT Principal of Digital Communication

Problem M.2 (40 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences, or a counterexample. No credit will be given for a correct answer without an adequate explanation.

(a) Let A = {aj (t), 1 ≤ j ≤ M} be a set of M real L2 signals, and let the received signal be r(t) = x(t) + n(t), where x(t) is a signal in A, and n(t) is additive (independent) white Gaussian noise. Then, regardless of whether the signals in A are equiprobable or not, it is possible to do optimal detection on r(t) by first computing from r(t) a real M-tuple r = (r1, r2, . . . , rM ), and then doing optimal detection on r.

True. The signal space S spanned by A (i.e., the set of all real linear combinations of signals in A) is a real vector space with at most M dimensions (with equality if and only if the signals in A are linearly independent). It therefore has an orthonormal basis {φj (t), 1 ≤ j ≤ dim S} consisting of dim S ≤ M orthonormal signals φj (t) ∈ L2. By the theorem of irrelevance, the set of dim S ≤ M inner products {rj = 〈r(t), φj (t)〉, 1 ≤ j ≤ dim S} is a set of sufficient statistics for detection of signals in S in the presence of additive white Gaussian noise, regardless of their statistics.

It is also true that the set of M inner products {r′ = 〈r(t), aj (t)〉, 1 ≤ j ≤ M} (thej

outputs of a bank of matched filters matched to each signal in A) is another set of sufficient statistics for detection of signals in A in AWGN.

(b) Let A be an arbitrary M-point, N-dimensional signal constellation, and let A′ = αUAK be the constellation obtained by taking the K-fold Cartesian product AK , scaling by α > 0, and applying an orthogonal transformation U . Then the effective coding gain of A′ is the same as that of A.

True. The effective coding gain at any target error rate is determined by the curve of Pb(E) vs. Eb/N0 in the power-limited regime, or of Ps(E) vs. SNRnorm in the bandwidth-limited regime. Both of these curves have been shown in homework problems to be invariant to scaling, orthogonal transformations, and the taking of Cartesian products.

(c) Let {Cj , j = 1, 2, . . . } be an infinite set of binary linear (nj , kj , dj ) block codes Cj with nj → ∞ as j → ∞. Then in order for the performance of these codes in AWGN to approach the Shannon limit as j → ∞, it is necessary that either limj→∞ kj /nj > 0 or limj→∞ dj /nj > 0.

Most probably false. The nominal coding gain is γc = kd/n, and therefore we could have γc → ∞ while both k/n → 0 and d/n → 0; e.g., if k ∝ n2/3 and d ∝ n2/3. We know that biorthogonal codes approach the Shannon limit for ρ → 0 with k/n → 0 while

1d/n →2 , and we believe that rate-1/2 RM codes approach the Shannon limit for ρ = 1

1with d/n → 0 while k/n →2 . So there is every reason to believe that there should be

sequences of intermediate codes that approach the Shannon limit for ρ → 0 with k/n → 0 and d/n → 0. [Credit given for the quality of your discussion.]

4

Page 259: MIT Principal of Digital Communication

(d) The Euclidean-space image s(C) of a binary linear block code C under the 2-PAM map {s(0) = +α, s(1) = −α} has zero mean, m(s(C)) = 0, unless there is some coordinate position in which all codewords in C have value 0.

True. This proposition holds if and only if half the codewords in any binary linear code

C

C have a 0 in any coordinate position, and half have a 1 (unless all are 0).

To show this, take a given coordinate position, and assume that there is some codeword x ∈ C that has a 1 in that coordinate position. Then we can partition the codewords C into |C|/2 sets of pairs (y, x + y), y ∈ C (the cosets of the one-dimensional subcode ′ = {0, x} in C). If one member of a pair (y, x + y) has a 1 in the given coordinate

position, then the other has a 0, and vice versa. Hence precisely half the codewords in C have a 1 in any given coordinate position, unless none do. This argument holds for all coordinate positions.

Grade distribution on Problem 2 (N = 10): {10, 14, 16, 28, 30, 30, 30, 30, 30, 32}.

Grade distribution on Midterm (N = 10): {43, 44, 57, 57, 60, 65, 71, 77, 79, 82}.

5

Page 260: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Monday, March 28, 2005MIT, Spring 2005 Handout #14

Midterm solutions

Problem M.1 (70 points)

In this problem, we will study a class of codes called product codes.

Suppose that C1 and C2 are two binary linear block codes with parameters (n1, k1, d1) and(n2, k2, d2), respectively. We will assume that the first k1 and k2 coordinate positions areinformation sets of C1 and C2, respectively.

The product code C is the code obtained by the following three-step encoding method. In

n

k

the first step, k1 independent information bits are placed in each of k2 rows, thus creatinga k2 × k1 rectangular array (see Figure 1a). In the second step, the k1 information bitsin each of these k2 rows are encoded into a codeword of length n1 in C1, thus creating a

2 × n1 rectangular array (see Figure 1b). In the third step, the k2 information bits ineach of the n1 columns are encoded into a codeword of length n2 in C2, thus creating an

2 × n1 rectangular array (see Figure 1c).k1 k1 n1 − k1 k1 n1 − k1

info info infok2 k2 k2bits bits bits n2� n1 -

n2 − k2

? � n1 -

(a) (b) (c)

Figure 1. (a) k2 × k1 information bit array. (b) k2 × n1 array after row encoding.(c) n2 × n1 array after column encoding.

(a) Given an (n, k) binary linear block code C, show that the first k coordinate positions are an information set of C if and only if there exists a generator matrix G for C whose first k columns form a k × k identity matrix.

Given an (n, k) binary linear block code C, a set of k coordinates is called an information set of C if the codewords run through all 2k possible binary k-tuples in that set of coor-dinates; i.e., if there is a unique codeword associated with every possible binary k-tuple in that set of coordinates. Thus if the first k coordinate positions are an information set, then for 1 ≤ j ≤ k there exists a unique codeword gj that has a 1 in the jth coor-dinate position, and a 0 in all of the other first k coordinate positions. The codewords {gj , 1 ≤ j ≤ k} are then obviously a set of k linearly independent n-tuples, so they may be taken as a basis for the (n, k) linear code C; i.e., {gj , 1 ≤ j ≤ k} may be taken as a set of generators for C. If the gj are taken as the rows of a k × n generator matrix G for C, then C = {uG | u ∈ (F2)

k }, and the first k columns of G form a k × k identity matrix; i.e., G is the desired generator matrix, which is called a systematic generator matrix.

1

6

Page 261: MIT Principal of Digital Communication

� � �

� � �

Conversely, suppose that C has a systematic generator matrix G, so C = {uG | u ∈ (F2)k },

where the first k columns of G form a k×k identity matrix Ik . In other words, G = [Ik | P ], where P is some k × (n − k) matrix. Then

C = {uG | u ∈ (F2)k } = {u[Ik | P ] | u ∈ (F2)

k } = {(u, uP ) | u ∈ (F2)k}.

Thus as u runs through the set (F2)k of all binary k-tuples, the codewords of C run through

all 2k possible binary k-tuples in the first k coordinate positions, so the first k coordinate positions form an information set for C.

kNote that the encoding method given above is well-defined if and only if the first k1 and

2 coordinate positions are information sets of C1 and C2, respectively.

(b) Show that the encoding method given above produces the same codeword whether the encoder encodes first rows and then columns, or first columns and then rows.

It is obvious that for the same initial k1k2 information bits in the array of Figure 1a, the same encoded bits are produced in the top and left quadrants of Figure 1c. Therefore the assertion needs to be proved only for encoded bits in the lower right quadrant.

Let us therefore look at a particular encoded bit in the lower right quadrant, say the encoded bit b�m in row � and column m. Let G1 = [Ik1 | P ] be a systematic generator matrix for C1, and let G2 = [Ik2 | Q] be a systematic generator matrix for C2. Let the information bits in the top left quadrant be denoted by uij , 1 ≤ i ≤ k2, 1 ≤ j ≤ k1. Then an encoded bit bim in the top right quadrant is given by

k1

bim = uij Pjm, 1 ≤ i ≤ k2, 1 ≤ m ≤ n1 − k1. j=1

Similarly, an encoded bit in the bottom left quadrant is given by

k2

b�j = Q�iuij , 1 ≤ � ≤ n2 − k2, 1 ≤ j ≤ k1. i=1

Thus if we encode first row-wise and then column-wise, then the encoded bit b�m is formed as the linear combination

k2 k2 k1

b�m = Q�ibim = Q�iuij Pjm, 1 ≤ � ≤ n2 − k2, 1 ≤ m ≤ n1 − k1. i=1 i=1 j=1

On the other hand, if we encode first column-wise and then row-wise, then the encoded bit b�m is formed as the linear combination

k1 k1 k2

b�m = b�j Pjm = Q�iuij Pjm, 1 ≤ � ≤ n2 − k2, 1 ≤ m ≤ n1 − k1. j=1 j=1 i=1

Thus b�m is the same under either encoding method.

A quicker way of showing this is to use matrix notation, including transposes. Then, writing the information array as U , we have

2

Page 262: MIT Principal of Digital Communication

′ ′

k1 k1 n1 − k1

U U UProw encoding - k2k2

column column encoding encoding

? ? k1 k1 n1 − k1

U U UPk2 row encoding k2 -

n2 − k2 QT U n2 − k2 QT U QT UP

Figure 2. Proof that row/column and column/row encoding produce the same result.

Note that this result implies that if an n2 × n1 array is a codeword of C, then every row is a codeword of C1 and every column is a codeword of C2.

(c) Show that the product code C is an (n1n2, k1k2, d1d2) binary linear block code.

The proof of (b) shows that every bit in a codeword is a fixed linear function of the k1k2

information bits uij , 1 ≤ i ≤ k2, 1 ≤ j ≤ k1. Therefore the sum of the two codewords corresponding to two information bit arrays is the codeword corresponding to the sum of the two given information bit arrays. Thus C has the group property; i.e., C is linear.

Obviously C is a binary block code of length n1n2 bits. Since each information k1k2-tuple maps to a distinct codeword in the top left quadrant, the dimension of C must be k1k2.

Since C is linear, the minimum Hamming distance of C is the minimum nonzero Hamming weight of any codeword in C. Now if there is any nonzero bit in a codeword of C, then there must be at least d1 nonzero bits in the same row, since every row is a codeword of C1, and in each of the ≥ d1 corresponding columns, there similarly must be at least d2

nonzero bits. Therefore any nonzero codeword has weight at least d1d2.

To show that the minimum nonzero weight is precisely d1d2, consider a weight-d1 codeword′ } ∈ Cj{

is a codeword of C and has weight d1d2. {

c ⊗ cci} ∈ Cwith bits bij

1 and a weight-d2 codeword c Then the (tensor product) array c = = c 2. ′ j In other words, to = cic

construct a minimum-weight codeword, write down a minimum-weight codeword in C1 in the top row of the n2 ×n1 array. For each column, if the top entry is a 1 then write down a minimum-weight codeword in C2 which has its first bit equal to 1 in that column. If the top entry is a 0 then simply fill the column with all 0s. The resulting codeword has a weight of precisely d1d2.

(d) Express the nominal coding gain γc(C) of the Euclidean-space image s(C) of C in terms of the nominal coding gains γc(C1) and γc(C2) of the Euclidean-space images s(C1) and s(C2) of C1 and C2, respectively. Express the nominal spectral efficiency ρ(C) of C in terms of the nominal spectral efficiencies ρ(C1) and ρ(C2) of C1 and C2, respectively.

3

Page 263: MIT Principal of Digital Communication

The nominal coding gain of the Euclidean-space image s(C) of an (n, k, d) binary linear block code C is γc(C) = kd/n, and its nominal spectral efficiency is ρ(C) = 2k/n. Thus

k1k2d1d2 k1d1 k2d2γc(C) = = = γc(C1)γc(C2),

n1n2 n1 n2

and k k1 k2 1

ρ(C) = 2 = 2 = ρ(C1)ρ(C2). n n1 n2 2

(e) Starting with Reed-Muller codes of lengths less than 64, is it possible to use the product code construction to construct a product code of length 64 that has better parameters (64, k, d) than the corresponding RM code of length 64?

The answer is No, as a few examples quickly show. For example, the product of an (8, 4, 4) code with itself yields a product code with parameters (64, 16, 16), which is inferior to the (64, 22, 16) RM code.

An exhaustive proof is given by the tables below, plus the observation that the product of a trivial code with any code is trivial, and the product of the (1, 1, 1) code with any code gives the latter code again. Note that we do need to check (2m , 2m , 1) codes.

× (32, 1, 32) (32, 6, 16) (32, 16, 8) (32, 26, 4) (32, 31, 2) (32, 32, 1) (2,2,1) (64, 2, 32) (64, 12, 16) (64, 32, 8) (64, 52, 4) (64, 62, 2) (64, 64, 1) (2,1,2) (64, 1, 64) (64, 6, 32) (64, 16, 16) (64, 26, 8) (64, 31, 4) (64, 32, 2)

× (16, 1, 16) (16, 5, 8) (16, 11, 4) (16, 15, 2) (16, 16, 1) (4,4,1) (64, 4, 16) (64, 20, 8) (64, 44, 4) (64, 60, 2) (64, 64, 1) (4,3,2) (64, 3, 32) (64, 15, 16) (64, 33, 8) (64, 45, 4) (64, 48, 2) (4,1,4) (64, 1, 64) (64, 5, 32) (64, 11, 16) (64, 15, 8) (64, 16, 4)

× (8, 1, 8) (8, 4, 4) (8, 7, 2) (8, 8, 1) (8,8,1) (64, 8, 8) (64, 32, 4) (64, 56, 2) (64, 64, 1) (8,7,2) (64, 7, 16) (64, 28, 8) (64, 49, 4) (64, 56, 2) (8,4,4) (64, 4, 32) (64, 16, 16) (64, 28, 8) (64, 32, 4) (8,1,8) (64, 1, 64) (64, 4, 32) (64, 7, 16) (64, 8, 8)

We see that the best results are

(32, 32, 1) × (2, 2, 1) = (64, 64, 1) = (64, 64, 1);

(32, 31, 2) × (2, 2, 1) = (64, 62, 2) < (64, 63, 2);

(32, 26, 4) × (2, 2, 1) = (64, 52, 4) < (64, 57, 4);

(16, 11, 4) × (4, 3, 2) = (64, 33, 8) < (64, 42, 8);

(32, 16, 8) × (2, 1, 2) = (64, 16, 16) < (64, 22, 16);

(32, 6, 16) × (2, 1, 2) = (64, 6, 32) < (64, 7, 32);

(32, 1, 32) × (2, 1, 2) = (64, 1, 64) = (64, 1, 64),

which never improve on the corresponding (equal-d) RM codes of length 64, and in fact are worse in all nontrivial cases.

4

Page 264: MIT Principal of Digital Communication

The following neat inductive proof was suggested by Sheng Jing. The product code RM(r1, m1)×RM(r2, m2) has length n = 2m1 +m2 and minimum distance d = 2m1+m2−r1−r2 , so it should be compared with the Reed-Muller code RM(r1 + r2, m1 + m2); i.e., k(r1, m1) × k(r2, m2) should be compared with k(r1 + r2, m1 + m2). Suppose that k(r1, m1) × k(r2, m2) ≤ k(r1 + r2, m1 + m2) for all lesser (m1, m2) and all compatible (r1, r2). Then, using k(r, m) = k(r− 1, m− 1) + k(r, m− 1), we can show inductively that

k(r1, m1) × k(r2, m2) = (k(r1 − 1, m1 − 1) + k(r1, m1 − 1)) × k(r2, m2)

≤ k(r1 + r2 − 1, m1 + m2 − 1) + k(r1 + r2, m1 + m2 − 1)

= k(r1 + r2, m1 + m2).

(f ) Starting with Reed-Muller codes of lengths less than 64, is it possible to obtain a se-quence of product codes whose nominal coding gains increase without limit by iterating the product code construction— i.e., by extending the above construction to an m-dimensional product code that maps an array of k1 ×k2 ×· · ·×km information bits into n1 ×n2 ×· · ·×nm

binary symbols using binary linear block codes C1, C2, . . . , Cm? Is it possible to do this while keeping the nominal spectral efficiency above some nonzero value?

Apart from the trivial, universe and repetition codes, the RM codes of lengths less than 64 have nominal coding gains γc greater than 1 and rates k/n bounded by 31/32 < 1. It is therefore possible to iterate the product construction, using any of these codes as components, to obtain a sequence of increasingly long product codes whose nominal coding gains increase without limit.

However, any such sequence must be based on an infinite number of components with rates k/n ≤ 31/32, and thus the rate k/n and the nominal spectral efficiency ρ = 2k/n of the product code must tend to zero as its coding gain tends to infinity.

(g) The construction of C suggests the following two-step decoding method. First decode each row, using an optimum (minimum Euclidean distance) decoding method for C1. This first decoding step yields an array of noisy received bits. Then decode each column, using an optimum (minimum Hamming distance) decoding method for C2.

Compare the performance and complexity of this two-step decoding method with that of the optimum decoding method on a binary-input AWGN channel. If you like, you may let both C1 and C2 be the (8, 4, 4) RM code. As a figure of merit for performance, you may use the minimum squared norm of any error sequence that can cause a decoding error.

On a binary-input AWGN channel, an (n, k, d) binary linear block code C maps under the standard 2-PAM map s : {0, 1} → {±α} to a subset of 2k vertices of an n-cube of side 2α. The minimum squared distance between two n-vectors in the Euclidean image s(C) is √ d2 = 4α2d. An optimum decoder is a minimum-distance decoder. Since dmin = 2α d,min √ the minimum norm of any error vector that can cause a decoding error is dmin/2 = α d, so the minimum squared norm of any error-causing vector is α2d. The decoding complexity of a minimum-distance decoder is of the order of 2k , since an MD decoder must compute the distance between the received vector and each of the 2k codewords.

5

Page 265: MIT Principal of Digital Communication

The optimum decoder for an (n1n2, k1k2, d1d2) product code C is therefore a minimum-distance decoder. The minimum squared norm of any error-causing vector is α2d1d2, and the decoding complexity is of the order of 2k1k2 . For the (64, 16, 16) product code, the performance figure of merit is 16α2, and the decoding complexity is of the order of 216 .

The first step of the suggested suboptimum two-step decoding method consists of decoding each of the n2 rows using an optimum decoder for C1. In each row, the performance figure of merit is d1α

2, or 4α2 in our example, and the decoding complexity is of the order of 2k1 , or 16 in our example.

The second step of the suggested suboptimum two-step decoding method is to decode each of the n1 columns, using the results of the first decoding step as noisy binary inputs. We may take the decoding complexity as of the order of 2k2 for each column (although there are usually more efficient near-optimum decoding methods). In each column, an decoding error can be made if there are d2/2 binary errors (assuming d2 is even).

Therefore an overall product code decoding error can be made if d2/2 rows are in error. By considering the weight-d1d2 tensor product of two minimum-weight component codewords as in the proof of minimum distance in part (c), we can see that an error will be made in certain such cases. The minimum error squared norm for this to happen is (d2/2)d1α

2 , which is a factor of 2 (3 dB) worse than the optimum decoding method.

The overall decoding complexity is of the order of n22k1 + n12

k2 . For our example, this yields 2(8 × 16) = 28, an improvement of the order of a factor of 28 over the complexity of the optimum decoder. For long codes, there will be an exponential improvement, of the order of a factor of 2k1k2−max{k1,k2}.

(h) [Optional; extra credit] Propose a two-step decoding method that has same figure of merit for performance as optimal decoding, but has decoding complexity similar to that of the suboptimal two-step method proposed in part (g).

The 3 dB performance loss in the suboptimal two-step method of part (g) is at least partly due to making hard decisions in the first decoding step. It would be better to attach some sort of reliability metric to each decoded codeword.

An excellent reliability metric for the decoded bit bij in the ith row and jth column resulting from the first step of row-wise decodings is the difference d2 = ||eij1||2 − ||eij0||2

d

ij

between the squared norms of the apparent errors eij0 = ri − s(cij0) and eij1 = ri − s(cij1), where ri is the received vector in the ith row, and cij0 (resp. cij1) is the codeword in C1

such that s(cij0) (resp. s(cij1)) is the closest codeword image to ri such that cij0 has a 0 (resp. 1) in the jth column. Note that cij0 and cij1 must differ in at least d1 positions. Note also that

2 = ||eij1||2 − ||eij0||2 = 2〈r, s(cij0) − s(cij1)〉,ij

since ||s(c)||2 = n1α2 for all c ∈ C1. Thus if the hard decision bit is bij = 0, i.e., the

closest codeword to ri has a 0 in the jth column, then d2 ≥ 0; if bij = 1, then d2 ≤ 0.ij ij

Such a reliability metric may be used in column decoding as follows. To decode the jth column, we look for the column codeword cj ∈ C2 that maximizes the following sum of sign-weighted reliability metrics: n2 (−1)cij d2

ij . In other words, we add the reliability i metrics of the hard decision bits bij in that column, multiplied by a sign term (−1)cij

6

Page 266: MIT Principal of Digital Communication

such that (−1)cij d2 ≥ 0 if the codeword bit cij matches the hard decision bit bij , and ij

(−1)cij d2

cc

ij ≤ 0 if they do not match, and choose the cj ∈ C2 that maximizes this sum.

It is easy to see that this decoding algorithm is equivalent to the following one. For eachj ∈ C2, construct an n2 ×n1 array by extending each bit cij in cj to the codeword cij0 orij1 in C1 according to whether cij = 0 or cij = 1. Then compute the Euclidean distance

between the Euclidean image of this array and the array of n2 received rows ri, and choose the closest as the winner.

In order for a column-j decoding error to occur, the noise must be such that r is closerto one of these constructed arrays than to the transmitted array. But each of these con-structed arrays differs from the transmitted jth column in at least d2 rows, and in eachof those rows differs from the transmitted row in at least d1 bits. Therefore the mini-mum squared norm of any error-causing vector is α2d1d2; i.e., the same as for optimumminimum-distance decoding of the whole product code.

Meanwhile, the decoding complexity of this two-step algorithm is of the order of 2k1 per row and 2k2 per column, or n22

k1 + n12k2 ≈ 2max{k1,k2} in all.

We conclude that while product codes do not have the best possible parameters (n, k, d), they permit long high-performance codes to be built from short low-complexity component codes, and they admit low-complexity near-optimum decoding algorithms. So product codes might give some hint as to how to construct high-performance codes that can be decoded nearly optimally with reasonable complexity.

Grade distribution on Problem 1 (N = 16): {23, 31, 38, 38, 44, 46, 49, 49, 52, 53, 53, 53, 54, 55, 57, 57}.

Problem M.2 (30 points)

For each of the propositions below, state whether the proposition is true or false, and give a proof of not more than a few sentences, or a counterexample. No credit will be given for a correct answer without an adequate explanation.

(a) A signal constellation A consisting of a subset of 2k points of the 2n vertices of the n-cube, k < n, has a nominal spectral efficiency ρ(A) < 2 b/2D and a nominal coding gain γc(A) ≥ 1.

False. In general, the nominal coding gain may be less than 1. As a counterexample, consider the Euclidean image A = s(C) of the (2, 1, 1) binary linear block code C = {00, 10}. The nominal coding gain of s(C) is γc(s(C)) = kd/n = 1 (-3 dB).

2

7

Page 267: MIT Principal of Digital Communication

� �

� � � �

(b) Let S = {a, b, c, d, e, f} be a set of six elements, and let a binary operation ⊕ be defined on S by the following “addition table:”

⊕ a b c d e f

a a b c d e f b b c a f d e c c a b e f d d d e f a b c e e f d c a b f f d e b c a

Then S forms a group under the binary operation ⊕. (You need not check the associative law.)

True. Using the alternative group axioms (Theorem 7.1), we need merely check that:

(a) there is an identity element, namely a, since a ⊕ s = s ⊕ a = s for all s ∈ S;

(b) every row and column is a permutation of the group elements.

Note that this group is nonabelian. In fact, this is the smallest nonabelian group.

(c) Considering the weight distribution of a (6, 3, 4) code over F4, it is possible that such a code exists.

True. A (6, 3, 4) code over any field is MDS, since k + d = n+ 1. Therefore, over F4, the number of words of weight 4 must be

6 N4 = (q − 1) = 15 × 3 = 45,

4

and the number of words of weight 5 must be

6 5 N5 = ((q 2 − 1) − (q − 1)) = 6 × (15 − 15) = 0.

5 4

Therefore the number of words of weight 6 must be N6 = 63 − 45 = 18. Since all of thesenumbers are nonnegative, such a code could exist.

In fact, such a code does exist, the so-called “hexacode.” A systematic generator matrixfor one version of the hexacode is

1 0 0 1 α α 0 1 0 α 1 α 0 0 1 α α 1

It is easy to verify that this (6, 3) code over F4 has minimum nonzero weight 4 and thus weight distribution {1, 0, 0, 0, 45, 0, 18}, simply by listing all of its codewords.

Grade distribution on Problem 2 (N = 16): {0, 6, 13, 15, 15, 15, 16, 18, 20, 21, 23, 23, 23, 24, 26, 27}. Grade distribution on midterm exam (N = 16): {38, 49, 54, 57, 59, 61, 61, 64, 67, 70, 71, 73, 73, 76, 81, 83}.

8

Page 268: MIT Principal of Digital Communication

������� �������

����� ��� ��� � � � � ���

������ ���� �� � ����� ���� �� � �� �� � ���� � � ���

� �

� �� � � � � � � �

� �� �� � ����������� ���� ���� �

� �� � ��� ����� ��� ��� ��

� ��

��

� �� � � ��

���� ��

� �

�� � �� � �� ��� ��

������� �� ��� ���� ���� � � ����� �� �� � � �

�� ��� ��� ������ ��

��� ������� ��� ������ ������� ������ ���� ��� ��� ������ ����� ��� ���� ��

�� � ����� ���� �� � �� �� ��� ������� � � ������� �� � � �

��

��� � � ������ ����� �� � � � ����� � � �� ������ �� ��� ��� ����� �

����

� � �� � ���� � � �� ����� ��� � � � � �� � ������� ������� �������

� ��������

� ����

� ��

���� � � �����

� � � � � �

� � ��� � ��� � � � ��� ������ � ������������� !�� � � � !� ��� �� �� � �!���

������� ������� "������ � � � � ��

��� ������� ������ ���� �� �� ��!���������� ������ � ��#��� � ���� �

�������$���

� ����� �� ����� � � � !��� ��� �!� �� ����� ����� �

����

� ��

��� � ������� � ����� ��

� % ����

��� � � ��

% �

��

����

� � � � � �

� �� ��� � ��� �

��� � ��� � ������ � � � ����� � ��� � �� ������ � � � ��� � ���

��

� ��

������

� � � ��

��� � ������� ������ ���� � ��������

�� ��� � ����

� � �

���� �

��� � � �

$��

� � � � � � � �

� � ��� � !�� � � �� ��� ������ � ������������� ������� ��!��� !�� � � &

� � ���� �

�!� ���� ��� ��� �� ��� �"���#� ����� ��� ��

��� �� �� � ����� ���� �� � �

� � �� � ������ ����� ���� �� '���� � ����$

& �!� �� (�$)� ��� ���������� �� ����� ��������� �� ������ ����� �� �������

�� �������� *����� ����� �� ���

� � � ���� ��� ��� ����+� ����������� ��!

'���� ��� ��� ���

� �� � ����), �-�� .�� �� �� ����� ��'&/ ����� ��� '���� � ����

!�� ���

� ,�( � - � ������� �� ����� �� ��

��� � � � � ���� �-�

01���2 ���� ��� ������ �� !���� �� �� ���� ����������3

Page 269: MIT Principal of Digital Communication

��� ���� � ���� � ����������� �� �� � ����������� ������ �� � �� ��� ���

������ ��

�� � �������� � ����� ��� � ����� ������ �� �����

�� � � � ��� ������ ���� ���� ��� ������� ���� �� � ��� � �� � � ����� ���� ����

���� � ����� ���� � ����� ��� ���� ���� ��� ������ ������

� � � ������ �� ������� � � �

�� � � � ����� ���������� !"��� � � ����#

� � � � ������������������������� ���� �������� �� � ������� ���� �������$

% ����� ���� ���� ���� ��

� � ��&���� �� �� � � ��� ���� � ��'(" ���� ���$ �%

)$*+, ��� ���� ��� � ��������� �� � ��������� ���� ��� ���� � -������� �����$�

��� �������� � ���������� ������ ����� �� ���

� � ���� ���� �� �� ��� �� �� ������ ���� � ���� � ���� ���� � �

�� � � �� ���

�� ��

��������� � ������� ���!��� ����"

� ���� ����# ���� �#�$��� ��� ������ ��� � ��������� ������ �� � ��� � ���������

��� � � �

�� �

% � � ��

� �

� � � � � �� �� �� ������ �� �� �

�� �� ��� � ����� ��

�� � � � � ���� ����

$� ������ � &�������� ����� � �� '� �� � ��� � ����� � � � � ����� � ������ ��

��������� � � &�������� ������ � ��� ��������� � � � �

��� (����� � ������� ������� ������# ����� � � ���������� ������ �� �� ��

�� �)�� ������� %� �� ������ �� ���������� �� � ������������ � � � $�������

������ ������*

.�� �/� �� �� � �� � � � �� � �� ��� ����� �� �� � ��� � ��$ .��������

����� �

�� ����

� �

� ���� ��

��� � �� �

�� �� ��� ��� � ��������� �����$

��� (����� �� ���� ������� ��� ����

��� ���� � ���� ������ � �� �����������#

���

�������!�� ����� ���$�$���# �� ���

.�� �&����� ������ � � � ��� ��� ������� ����� �� ��� ����� ��������� �� � � �

���� ���� �� -���� ������ ��

��� �� �

��� � ���� � ��

��� ���� �������

��� ��� ����������� ������ � �� ��� � � � � �������� ����� ��� ��� � ���� �����

���

�� , ��������$ .��������

�� ���� � ��� ��� � �������� ��� � � �

�� �����0�� �0��� � � �� ��� ������� � ��

������ ���� � � � $ 1�� ������ �

����������� ��� ���� ���� �� �

� ���� ��� ��� �� �� � ����

������ �

���� �

��� � ����� � �

*������ *���������� � � � � � �

2���� ���� ��� ������� �� ������ � ���� ��� � � �$

Page 270: MIT Principal of Digital Communication

��� ����� ����� ����� ���� ���� � ���� ����� �� �� ����� ���������� �� � ��

�� �� � � ���������� ������� �� ��������� � �� ����� ���������� � � � ��� �� � �� ���

� ��� � � � ���!��� �� �����

� ��� ��� �� �� � � �

� �

��

� � � ��

���� "�� �����

���

� #

��

� ��

����

���

���

� ����

� � $

����� �� �� �� ��! �� ����

���� # � ����

���

��� ������� �� ���� �� ����� � �� �� � # % $ � # " � # � ���� ���� ��� � �

�� � ���� �� � ���� � ��� ���� ������� ����� ������� �� � ���� ����� # ���

���� �� � ������ �������� �� � ���� �� ���� ������� ������

& '��� '��� � �

� � �������� # �� � �� �� � ��!�� ���!� �� ��� � � �������(

�������� �� ����� �� � �������� ����� � # % $ � � # � � � % $ � ) * !��� � �

���� ��� '��� � �

��� $ � � � �� ��� ���� � � � % $ " � !��� ���� � �

� �

�������� ���+

��

# $ $ $ $ ,� ��

# , $ � �

��� $� �

��������+ �� - " "� *�. !��� ���� � �

/ �� 0 " -� 1���!���2 ���� � �

/ � 3 " 0�

!��� ���� � �

& % $ " � ! � � � � 45*� ��� ��������

� � � �

� % $

��

# � $� # � $� # % $� � $� # � � $

��� ��� � � $ ������� !������� ���� 6������ ����� � # �

��� ���� �� �� ��� ����� ����� �� # � �� �� � �� � � ����� �� ����� ���

��� ���� � � �� ���� �� �� � ���� # ��� # � � ��!� � � �� �� �� � � �7���!� �� % $

���� �� �� � �� �������� �� �� �

��� ��� # % $� ��� �� # % $� � $� # � � $

��� ������ �� ��!� � � �� �� �� � ��� # % $� ��

� *��!� �� ����� �����! � � ����

����� � ��

����� ��� ����� ��� ���� � $� ����� ��� �������� ��� ��� ��

����! ���� � � �

� ����� �� ��� !������� ��� ������� �� !�������� �� ����

��

���

�� �� � �� # ��

� ��

# � # �

� $ � $ � � $

��������� �� � � � ������ ����� ��

��� �� !�� �� ��� �� ���� ��!������� ������� ����� ����� � ���

" 0 $8 "38 "�� � � � � � ����� ���� � "��&4 ����� � ��� ���� �������� �����

% $ " � ) * !��� ���� � �

*!��� �� ������� $+ 0 � 9: $:;/ < � 9", ":;/ 0 � 9-, -:;/ < � 90, 0:;/ " � 93, 8,;�

-

Page 271: MIT Principal of Digital Communication

������� �� �� � � � ���

��� ��� ���� �� � ����� � ����� ���� ������� ���� ��� � �� �� �� ��� �� �� ��� ���� �

���� � �� �� � � �� � ���������� ��� �� � � �� ���� � ��� �� � �

������ ��� ������ ��� �������� ��

��

��� �� ��� �� � � � ��

����� � � � � � ����� ��� ����� �� �� �� � � �� �� � � � �� �� � �� � � � ���������

��������� � ��� � ��

��� ��� ��� �� ��� ���������� ��� ���� �� � ������ ������ ����� ���� ����� � �� !"

� � � ��� �� �� �� #��� ��� ��� � �� ��� ����� �� ��� � �� ���� ����� �

�� ���������� �� ����� ��� �������� �� ��$� ��� $���� %�

����� ���� ��������� ����� �� �� ���� �� � �� �� �������� �� �� ��� � ���� ����

� �� � �� �� ������ � �������� �� � �� � �� � ������� �� � ���

�� � � � � ���� �� �� � � � �� �������� � �� �� �� �� ��� � ���� ������ ���� ��

���� �� �� ���� ��� �� � ����� ���� � � �� �������� ���� � ��������

�� �������� � �� �� ��������� � � �� �� � � ���� �� �������� ��� � �� ��� �! �� ��

�������� � �� �� �� �� ������� �� ����������� "�� � � � �� �� ������ � ��������

�� � � ��� ���� � � � � � � �� �� ����� �������� ������ �� �������� � ��

� �� � �������� #���� ���� �� �$ ��� ��� �� � �� � � � �� � ! �� � � � �� �� �����

�������� �� ��� � � �� ������� �������� � �� �� �������� � �� � �� �� �����

�������� ������ �� � �� � � ���� ����� ����� �� �� ������ � ���������

��� ! �������� � ��� � � �

%�& ��� &� � ��� � � ��� ��� � � � �

�� ��� ���� �� � ��� � �

������ �� �� � ��

����� ' �������� � � ��� � ����� � ��� � � �� �� ���� �� � � � �� � �� �� � ���� �

���� � ��� � � �� �� � � � �

�� �� ���� �� ����

�� � �� ������� � ���� (� ������� �

������ )�� �� *���� +� ��� ����� �� �,� � � �� � ��

-���� �� .����� �� / � %�� 0&1 0 � %��� �0&1 �� � %��� )�&�

-���� �� 2����� � � %��� �0&1 � � %��� �0&1 3 � %)�� )0&1 3 � %4�� 40&1 ) � %3�� 30&1 3 �

%/�� /0&1 ) � %+�� +0&1 � � %5�� 0�&� 2��� � 3�� +36 � /4� �36 � )/�

4

Page 272: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, February 2, 2005 MIT, Spring 2005 Handout #3

Due: Wednesday, February 9,

Problem Set 1

These exercises use the decibel (dB) scale, defined by:

ratio or multiplicative factor of α ↔ 10 log10 α dB.

The following short table should be committed to memory:

α dB dB (round numbers) (two decimal places)

1 0 0.00 1.25 1 0.97 2 3 3.01

2.5 4 3.98 e 4.3 4.34 3 4.8 4.77 π 5 4.97 4 6 6.02 5 7 6.99 8 9 9.03 10 10 10.00

Problem 1.1 (Compound interest and dB)

How long does it take to double your money at an interest rate of P%? The bankers’ “Rule of 72” estimates that it takes about 72/P years; e.g., at a 5% interest rate compounded annually, it takes about 14.4 years to double your money.

(a) An engineer decides to interpolate the dB table above linearly for 1 ≤ 1 + p ≤ 1.25; i.e.,

ratio or multiplicative factor of 1 + p ↔ 4p dB.

Show that this corresponds to a “Rule of 75;” e.g., at a 5% interest rate compounded annually, it takes 15 years to double your money.

(b) A mathematician linearly approximates the dB table for p ≈ 0 by noting that as p → 0, ln(1 + p) → p, and translates this into a “Rule of N” for some real number N . What is N? Using this rule, how many years will it take to double your money at a 5% interest rate, compounded annually? What happens if interest is compounded continuously?

(c) How many years will it actually take to double your money at a 5% interest rate, compounded annually? [Hint: 10 log10 7 = 8.45 dB.] Whose rule best predicts the correct result?

1

2005

Page 273: MIT Principal of Digital Communication

� �

Problem 1.2 (Biorthogonal codes)

A 2m × 2m {±1}-valued Hadamard matrix H2m may be constructed recursively as them-fold tensor product of the 2 × 2 matrix

+1 +1 H2 =

+1 −1 ,

as follows: � �

+H2m−1 +H2m−1

H2m = . +H2m−1 −H2m−1

(a) Show by induction that:

(i) (H2m )T = H2m , where T denotes the transpose; i.e., H2m is symmetric;

(ii) The rows or columns of H2m form a set of mutually orthogonal vectors of length 2m;

(iii) The first row and the first column of H2m consist of all +1s;

(iv) There are an equal number of +1s and −1s in all other rows and columns of H2m ;

(v) H2m H2m = 2mI2m ; i.e., (H2m )−1 = 2−mH2m , where −1 denotes the inverse.

(b) A biorthogonal signal set is a set of real equal-energy orthogonal vectors and their negatives. Show how to construct a biorthogonal signal set of size 64 as a set of {±1}-valued sequences of length 32.

(c) A simplex signal set S is a set of real equal-energy vectors that are equidistant and that have zero mean m(S) under an equiprobable distribution. Show how to construct a simplex signal set of size 32 as a set of 32 {±1}-valued sequences of length 31. [Hint: The fluctuation O − m(O) of a set O of orthogonal real vectors is a simplex signal set.]

(d) Let Y = X + N be the received sequence on a discrete-time AWGN channel, where the input sequence X is chosen equiprobably from a biorthogonal signal set B of size 2m+1

constructed as in part (b). Show that the following algorithm implements a minimum-distance decoder for B (i.e., given a real 2m-vector y, it finds the closest x ∈ B to y):

(i) Compute z = H2m y, where y is regarded as a column vector;

(ii) Find the component zj of z with largest magnitude zj ;| |

(iii) Decode to sgn(zj)xj, where sgn(zj) is the sign of the largest-magnitude component zj and xj is the corresponding column of H2m .

(e) Show that a circuit similar to that shown in Figure 1 below for m = 2 can implement the 2m × 2m matrix multiplication z = H2m y with a total of only m addition × 2m

and subtraction operations. (This is called the “fast Hadamard transform,” or “Walsh transform,” or “Green machine.”)

2

Page 274: MIT Principal of Digital Communication

� �� ��

� �

� �� �

� �

� �

+ +

+− + − − −

��

������

������

������

y1 z1

y2 z2

y3 z3

y4 z4

Figure 1. Fast 2m × 2m Hadamard transform for m = 2.

Problem 1.3 (16-QAM signal sets)

Three 16-point 2-dimensional quadrature amplitude modulation (16-QAM) signal setsare shown in Figure 2, below. The first is a standard 4 × 4 signal set; the second is theV.29 signal set; the third is based on a hexagonal grid and is the most power-efficient 16-QAM signal set known. The first two have 90◦ symmetry; the last, only 180◦ . All have a minimum squared distance between signal points of d2 = 4. min

� � 2√

3 � � � � � � �

� � � �

√3

� � � � � �

−3 −1

1

3 −5 −3 −1� �

� �

1 �

3�

5� � � � �

� � � �

� �

−2.5−0.5 1.5 3.5

−√

3

−2√

3 �

(a) (b) (c)

Figure 2. 16-QAM signal sets. (a) (4 × 4)-QAM; (b) V.29; (c) hexagonal.

(a) Compute the average energy (squared norm) of each signal set if all points are equiprobable. Compare the power efficiencies of the three signal sets in dB.

(b) Sketch the decision regions of a minimum-distance detector for each signal set.

(c) Show that with a phase rotation of ±10◦ the minimum distance from any rotated signal point to any decision region boundary is substantially greatest for the V.29 signal set.

Problem 1.4 (Shaping gain of spherical signal sets)

In this exercise we compare the power efficiency of n-cube and n-sphere signal sets forlarge n.

An n-cube signal set is the set of all odd-integer sequences of length n within an n-cubeof side 2M centered on the origin. For example, the signal set of Figure 2(a) is a 2-cubesignal set with M = 4.

An n-sphere signal set is the set of all odd-integer sequences of length n within an n-sphere of squared radius r2 centered on the origin. For example, the signal set of Figure

3

Page 275: MIT Principal of Digital Communication

3(a) is also a 2-sphere signal set for any squared radius r2 in the range 18 ≤ r2 < 25. In particular, it is a 2-sphere signal set for r2 = 64/π = 20.37, where the area πr2 of the 2-sphere (circle) equals the area (2M)2 = 64 of the 2-cube (square) of the previous paragraph.

Both n-cube and n-sphere signal sets therefore have minimum squared distance between signal points d2 = 4 (if they are nontrivial), and n-cube decision regions of side 2 and min

thus volume 2n associated with each signal point. The point of the following exercise is to compare their average energy using the following large-signal-set approximations:

• The number of signal points is approximately equal to the volume V (R) of the bound­ing n-cube or n-sphere region R divided by 2n, the volume of the decision region associated with each signal point (an n-cube of side 2).

• The average energy of the signal points under an equiprobable distribution is approx­imately equal to the average energy E(R) of the bounding n-cube or n-sphere region R under a uniform continuous distribution.

(a) Show that if R is an n-cube of side 2M for some integer M , then under the two above approximations the approximate number of signal points is Mn and the approximate average energy is nM2/3. Show that the first of these two approximations is exact.

(b) For n even, if R is an n-sphere of radius r, compute the approximate number of signal points and the approximate average energy of an n-sphere signal set, using the following known expressions for the volume V⊗(n, r) and the average energy E⊗(n, r) of an n-sphere of radius r:

(πr2)n/2

V⊗(n, r) = ;(n/2)!

2nrE⊗(n, r) = .

n + 2

(c) For n = 2, show that a large 2-sphere signal set has about 0.2 dB smaller average energy than a 2-cube signal set with the same number of signal points.

(d) For n = 16, show that a large 16-sphere signal set has about 1 dB smaller average energy than a 16-cube signal set with the same number of signal points. [Hint: 8! = 40320 (46.06 dB).]

(e) Show that as n → ∞ a large n-sphere signal set has a factor of πe/6 (1.53 dB) smaller average energy than an n-cube signal set with the same number of signal points. [Hint: Use Stirling’s approximation, m! → (m/e)m .]as m → ∞

4

Page 276: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, Feb. 9, 2005MIT, Spring 2005 Handout #4

Problem Set 1 Solutions

Problem 1.1 (Compound interest and dB)

How long does it take to double your money at an interest rate of P %? The bankers’ “Rule of 72” estimates that it takes about 72/P years; e.g., at a 5% interest rate compounded annually, it takes about 14.4 years to double your money.

(a) An engineer decides to interpolate the dB table above linearly for 1 ≤ 1 + p ≤ 1.25; i.e.,

ratio or multiplicative factor of 1 + p ↔ 4p dB.

Show that this corresponds to a “Rule of 75;” e.g., at a 5% interest rate compounded annually, it takes 15 years to double your money.

If your money compounds at a rate of x dB per year, then since doubling your money corresponds to a 3 dB gain, it will take about Y = 3/x years to double your money.

The engineer’s approximation to the dB table is a linear approximation that is exact near p = 0.25 (P = 25%), where p = P/100. Under this approximation, it will take

3 75 Y = =

4p P

years to double your money. Thus this approximation corresponds to a “Rule of 75.” For example, it estimates that it takes Y = 75/5 = 15 years to double your money when P = 5%.

(b) A mathematician linearly approximates the dB table for p ≈ 0 by noting that as p → 0, ln(1 + p) → p, and translates this into a “Rule of N ” for some real number N . What is N ? Using this rule, how many years will it take to double your money at a 5% interest rate, compounded annually? What happens if interest is compounded continuously?

As p → 0, we have

10 log10(1 + p) = (10 log10 e) ln(1 + p) = 4.34 ln(1 + p) → 4.34p,

ln xwhere we change the base of the logarithm from 10 to e (recall that x = 10log10 x = e , so log10 x = (log10 e)(ln x)), we read 10 log10 e = 4.34 from the dB table, and we use ln(1 + p) → p as p → 0. Thus we obtain a linear approximation

ratio or multiplicative factor of 1 + p ↔ 4.34p dB,

which becomes exact as p → 0. This linear approximation translates to the estimate that it takes

10 log10 2 3.01 69.35 Y = = =

(10 log10 e)p 4.34p P

years to double your money, or a “Rule of 69.35.” For example, this rule estimates that it takes Y = 69.35/5 = 13.87 years to double your money when P = 5%.

1

Page 277: MIT Principal of Digital Communication

A more precise calculation using natural logarithms yields

ln 2 69.31 Y = = ,

p P

or a “Rule of 69.31,” which estimates that it takes Y = 69.31/5 = 13.86 years to double your money when P = 5%.

Remark. Note that this “Rule of 69.31” becomes exact when interest is compounded continuously, so that after Y years your money has increased by a factor of epY , rather than the factor of (1 + p)Y that you get when interest is compounded annually.

(c) How many years will it actually take to double your money at a 5% interest rate, compounded annually? [Hint: 10 log10 7 = 8.45 dB.] Whose rule best predicts the correct result?

Since 1.05 = 21/20, a factor of 1.05 is equivalent to

10 log10 7 + 10 log10 3 − 10 log10 10 − 10 log10 2 = 8.45 + 4.77 − 10 − 3.01 = 0.21 dB.

Thus it actually takes 3.01

Y = = 14.33 0.21

years to double your money when interest is compounded annually.

We see that this estimate is quite close to the estimate of Y = 14.4 years given by the “Rule of 72.” Thus the “Rule of 72” is equivalent to a linear approximation of the dB table that is exact near P = 5%. This is the range in which the “Rule of 72” is commonly used. The “Rule of 72” also has the advantage that 72 has many integer divisors (e.g., 2, 3, 4, 6, 8, 9, 12, . . . ), so that its estimate of Y is an easily calculated integer for many common interest rates. So in this instance the bankers have been rather clever.

Problem 1.2 (Biorthogonal codes)

A 2m × 2m {±1}-valued Hadamard matrix H2m may be constructed recursively as them-fold tensor product of the 2 × 2 matrix

H2 =

[ +1 +1 +1 −1

]

,

as follows:

(a) Show by induction that:

(i) (H2m )T = H2m , where T

H2m =

[ +H2m−1 +H2m−1

+H2m−1 −H2m−1

]

.

denotes the transpose; i.e., H2m is symmetric;

(ii) The rows or columns of H2m form a set of mutually orthogonal vectors of length 2m;

(iii) The first row and the first column of H2m consist of all +1s;

2

Page 278: MIT Principal of Digital Communication

(iv) There are an equal number of +1s and −1s in all other rows and columns of H2m ;

(v) H2m H2m = 2mI2m ; i.e., (H2m )−1 = 2−mH2m , where −1 denotes the inverse.

We first verify that (i)-(v) hold for H2. We then suppose that (i)-(v) hold for H2m−1 . We can then conclude by induction that:

(i) [ ] [ ] +(H2m−1 )T +(H2m−1 )T +H2m−1 +H2m−1

(H2m )T = = = H2m . +(H2m−1 )T −(H2m−1 )T +H2m−1 −H2m−1

(ii) The first 2m−1 rows of H2m are of the form hj = (gj ,gj ), where gj is the corresponding row of H2m−1 , and the second 2m−1 rows of H2m are of the form hj+2m−1 = (gj ,−gj ). Suppose that the rows gj of H2m−1 are mutually orthogonal. Then the inner product

= j′ and j �〈hj ,hj′ 〉 is 0 whenever j � = j′ ± 2m−1, because the inner product is the sum of the inner products of the first half-rows and the second half-rows, which are both zero. If j = j′ − 2m−1, then the inner product is

〈hj ,hj′ 〉 = 〈gj ,gj 〉 + 〈gj ,−gj 〉 = 〈gj ,gj 〉 − 〈gj ,gj 〉 = 0,

and similarly 〈hj ,hj′ 〉 = 0 when j = j′ + 2m−1. Thus 〈hj ,hj′ 〉 = 0 whenever j �= j′ , so the rows of H2m form a set of mutually orthogonal vectors. Since (H2m )T = H2m , so do the columns.

(iii) The first row of H2m is h0 = (g0,g0), where g0 is the first row of H2m−1 . By the inductive hypothesis, g0 = (+1, +1, . . . , +1), so h0 = (+1, +1, . . . , +1); i.e., all columns of H2m have a +1 as their first component. Since (H2m )T = H2m , so do all the rows.

(iv) The remaining rows of H2m are orthogonal to h0 by (ii), and thus must have an equal number of +1s and −1s. Since (H2m )T = H2m , so must the remaining columns.

(v) Since (H2m )T = H2m , the matrix H2m H2m = H2m (H2m )T is the matrix of inner products of rows of H2m . By (ii), all off-diagonal elements of this matrix are zero. The diagonal elements are the squared norms ||hj ||2 = 2m, since hj is a vector of length 2m in which each component has squared norm 1. Thus H2m H2m = 2mI2m .

(b) A biorthogonal signal set is a set of real equal-energy orthogonal vectors and their negatives. Show how to construct a biorthogonal signal set of size 64 as a set of {±1}-valued sequences of length 32.

By (a)(ii), the rows of H32 form a set O of 32 orthogonal {±1}-valued sequences of length 32, each with energy 32. It follows that the rows of H32 and their negatives form a biorthogonal set B = ±O of 64 {±1}-valued sequences of length 32.

3

Page 279: MIT Principal of Digital Communication

(c) A simplex signal set S is a set of real equal-energy vectors that are equidistant and that have zero mean m(S) under an equiprobable distribution. Show how to construct a simplex signal set of size 32 as a set of 32 {±1}-valued sequences of length 31. [Hint: The fluctuation O − m(O) of a set O of orthogonal real vectors is a simplex signal set.]

As in (b), the rows of H32 form a set O of 32 orthogonal equal-energy (and therefore equidistant) {±1}-valued sequences of length 32. By (a)(iii)-(iv), the mean of O is m(O) = (+1, 0, 0, . . . , 0), since all rows have +1 in the first column and an equal number of +1s and −1s in the remaining columns. Thus S = O− m(O) is a zero-mean, equal-energy and equidistant set of 32 row vectors of length 32 which have 0 in the first coordinate and the elements of the rows of H32 in the remaining coordinates. Since the first coordinate always has value 0, it may be deleted without affecting any norms, distances or inner products; in particular, the vectors remain zero-mean, equal-energy and equidistant. Thus we obtain a simplex signal set S ′ consisting of a set of 32 {±1}-valued sequences of length 31.

(d) Let Y = X + N be the received sequence on a discrete-time AWGN channel, where the input sequence X is chosen equiprobably from a biorthogonal signal set B of size 2m+1

constructed as in part (b). Show that the following algorithm implements a minimum-distance decoder for B (i.e., given a real 2m-vector y, it finds the closest x ∈ B to y):

(i) Compute z = H2m y, where y is regarded as a column vector;

(ii) Find the component zj of z with largest magnitude |zj |; (iii) Decode to sgn(zj )xj , where sgn(zj ) is the sign of the largest-magnitude component zj

and xj is the corresponding column of H2m .

Given y, minimizing the squared distance ||y−x||2 over x ∈ B is equivalent to maximizing the inner product 〈y,x〉, since

||y − x||2 = ||y||2 − 2〈y,x〉 + ||x||2 ,

and ||x||2 is equal to a constant (2m) for all x ∈ B. The vector z = H2m y is the set of inner products 〈y,x〉 as x runs through the 2m rows of H2m . The set of inner products 〈y,x〉 as x runs through the 2m+1 elements of B are therefore just the elements of z and their negatives. Maximizing 〈y,x〉 is therefore equivalent to finding the element zj of z with largest magnitude |zj |, and deciding on the corresponding row xj of H2m if the sign of zj is positive, or on −xj if the sign is negative.

Remark. Note that the matrix multiplication z = H2m y corresponds to implementing a bank of matched filters, one for each of the rows of H2m , which form the set of correlations of y with each of the rows of H2m . Since the rows of H2m span the signal space S ⊃ B, by the theorem of irrelevance (see Chapter 2) the outputs z of this bank of matched filters form a set of sufficient statistics for detection of a signal x ∈ S in the presence of AWGN. In this case we have been able to show directly that we can find an optimal decision rule based on z which is very simple.

4

Page 280: MIT Principal of Digital Communication

@ �

@ �

[ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ]

[ ] [ ] [ ]

[ ] [ ] [ ] [ ]

(e) Show that a circuit similar to that shown in Figure 1 below for m = 2 can imple-ment the 2m × 2m matrix multiplication z = H2m y with a total of only m × 2m addition and subtraction operations. (This is called the “fast Hadamard transform,” or “Walsh transform,” or “Green machine.”)

- - -+ A + �@ �R �A-� -+-� − A A� ��- A AU -+ � �- −A� �@R AUy4 -� − � - − -

y1 z1

z2

z3

z4

y2

y3

Figure 1. Fast 2m × 2m Hadamard transform for m = 2.

This circuit is based on the following recursion for z = H4y: ⎡ ⎤ ⎡ ⎤ ⎡ [ ] [ ] ⎤ ⎡ [ ] [ ] ⎤ ′ 1

′ 3z1 y1 y1 y3 y y

+H2 + H2 +′ 2

′ 4z2

⎥ +H2 +H2 ⎢ y2

⎥ ⎢ yy2 y4 y⎢ ⎥ ⎢ ⎥ = = =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ .′

1 ′ 3z3 ⎦ +H2 −H2 ⎣ y3 ⎦ ⎣ ⎦ ⎣ yy1 y3 y⎣ ⎦ − H2 −+H2 ′

2 ′ 4z4 y4 y2 y4 y y

In other words, we first group the elements of y into pairs (y1, y2), (y3, y4), . . . . The first set of arithmetic elements computes the 2 × 2 Walsh-Hadamard transform of each pair; e.g.,

′ 1 ′ 2

= H2 y1 = y2

y1 + y2 . y1 − y2

yy

′ ) , and again compute the , . . .4′ , y2

′ ) (y,3′ , y1We then group the elements of y into pairs (y

2 × 2 Walsh-Hadamard transform of each pair; e.g., ′ 1

′ 3

′ + y1z1 y y= H2 = .′

3 ′ 1 − y′ 3z3 y y

Thus we can compute the 4 × 4 Walsh-Hadamard transform z = H4y by computing two stages of two 2 × 2 Walsh-Hadamard transforms, as illustrated in Figure 1.

Similarly, we can compute a 2m × 2m Walsh-Hadamard transform z = H2m y using therecursion

z0 +H2m−1 +H2m−1 y0 H2m−1 y0 + H2m−1 y1 =+H2m−1 −H2m−1 y1

= H2m−1 y0 − H2m−1 y1

, z1

2

2

by computing two 2m−1 × 2m−1 Walsh-Hadamard transforms, and then combining their outputs in one more stage involving 2m−1 2 × 2 Walsh-Hadamard transforms. If each

m−1 × 2m−1 Walsh-Hadamard transform requires m − 1 stages of 2m−2 2 × 2 Walsh-Hadamard transforms, then the 2m × 2m Walsh-Hadamard transform requires m stages of

m−1 2 × 2 Walsh-Hadamard transforms. Each 2 × 2 transform requires one addition and one subtraction, so a total of only m × 2m−1 × 2 additions and subtractions is required.

Thus the complexity of an M = 2m-point Walsh-Hadamard transform is only of the order of M log2 M , rather than M2 . This is why this algorithm is called “fast.”

5

Page 281: MIT Principal of Digital Communication

Problem 1.3 (16-QAM signal sets)

Three 16-point 2-dimensional quadrature amplitude modulation (16-QAM) signal sets are shown in Figure 2, below. The first is a standard 4 × 4 signal set; the second is the V.29 signal set; the third is based on a hexagonal grid and is the most power-efficient 16-QAM signal set known. The first two have 90◦ symmetry; the last, only 180◦ . All have a minimum squared distance between signal points of d2 = 4.min

r rr r

−3 −1 r rr r

r √ r r 2 3r r r r r √ r r r r 3r r r r 1 3 −5r −3r −1 1 3r 5r −2.r5−0.r5 1.r5 3.r5 r r r r √ r r r r − 3 √r r r r r r r −2 3

r (a) (b) (c)

Figure 2. 16-QAM signal sets. (a) (4 × 4)-QAM; (b) V.29; (c) hexagonal.

(a) Compute the average energy (squared norm) of each signal set if all points are equiprob-able. Compare the power efficiencies of the three signal sets in dB.

In Figure 2(a), there are 4 points with squared norm 2, 8 with squared norm 10, and 4 with squared norm 18, so

1 1 1 Ea = 2 + 10 + 18 = 10 (10.00 dB).

4 2 4

Alternatively, both coordinates have equal probability of having squared norm 1 or 9, sothe average energy per coordinate is 5, and thus Ea = 10.

In Figure 2(b), there are 4 points with squared norm 2, 4 with squared norm 9, 4 withsquared norm 18, and 4 with squared norm 25, so

1 1 1 1 Eb = 2 + 9 + 18 + 25 = 13.5 (11.30 dB).

4 4 4 4

Thus this signal set is 1.3 dB less power-efficient than that of Figure 2(a).

In Figure 2(c), there is 1 point with squared norm 1/4, 1 with 9/4, 2 with 13/4, 2 with 21/4, 1 with 25/4, 2 with 37/4, 3 with 49/4, 2 with 57/4 and 2 with 61/4, so

1 + 9 + 26 + 42 + 25 + 74 + 147 + 114 + 122 Ec = = 8.75 (9.42 dB).

4 × 16

Thus this signal set is about 0.6 dB more power-efficient than that of Figure 2(a).

Remark. A more elegant way of doing this calculation is to shift the origin by (1/2, 0) to the least-energy point. The resulting signal set has mean (1/2, 0), and 1 point with squared norm 0, 6 with 4, 6 with 12, and 3 with 16, for an average of 9. Subtracting the squared norm 1/4 of its mean, we get Ec = 8.75 (9.42 dB) for the zero-mean signal set of Figure 2(c).

6

Page 282: MIT Principal of Digital Communication

(b) Sketch the decision regions of a minimum-distance detector for each signal set.

The minimum-distance decision regions are sketched below for Figures 2(a) and 2(b). For Figure 2(c), the decision regions for signals in the interior of the constellation are hexagons (and are hard to draw in LATEX).

Note that in Figure 2(a) the minimum-distance decision regions correspond to two inde-pendent minimum-distance decisions on each 4-PAM coordinate.

��

��������������������

��������������������

r r

r r

r r

r r

�� @ ��

� HHAA

��

JJ

QQ

r �� r �� r ����r r ��

�� r ��

��

����

r ��

�� r ��

�� r ��

�� r

��

r r r r r r r r

r r

����������

��

��������

��

����������

������������

������������r

r r r

r r

r r AA

H �H

�� @�� QQ

JJ

��

���� ����r ��

r �� r

��

�� r ��

�� r ��

��

r ��

��

r r r r r r

��������

��

��

��������

��

��

��������

(a) (b) (c)

d

We also draw 2-spheres (circles) of radius 1 about each signal point. The fact that these 2-spheres are disjoint except where they kiss (at their points of tangency) shows that

min = 2. This makes it obvious that 2(a) is more densely packed (more power-efficient) than 2(b), and in turn that 2(c) is more densely packed than 2(a). In fact, 2(c) might well be what we would come up with if we took 16 pennies and tried to pack them together as densely as possible.

Since Gaussian noise is circularly symmetric and its probability density decreases expo-nentially with distance, the dominant types of errors in AWGN will be those that occur at the points of tangency of these 2-spheres, which lie on decision region boundaries.

Remark. Figure 2(b) could obviously be made somewhat more power-efficient without changing its essential character by somewhat decreasing the radii of its outer points until their associated 2-spheres become tangent to innermore 2-spheres.

(c) Show that with a phase rotation of ±10◦ the minimum distance from any rotated signal point to any decision region boundary is substantially greatest for the V.29 signal set.

The question here is: if each signal point x = (x, y) is rotated by a small angle θ to a rotated point x′ = (x cos θ − y sin θ, y cos θ + x sin θ), what is the worst-case reduction in distance to the nearest decision boundary?

For small phase rotations (|θ| ≤ 10◦), we may use the approximations cos θ ≈ 1, sin θ ≈ θ, or x′ ≈ (x − θy, y + θx).

For Figure 2(a), a rotation of either a point of type (3, 1) or of type (3, 3) by a small angle θ therefore reduces the distance to the nearest decision boundary by approximately 3θ, or by approximately 0.5 when |θ| ≈ 10◦ . Thus the minimum distance to a decision boundary is cut approximately by a factor of 2, or the minimum squared distance by a factor of 4, which we will see later amounts to a reduction of about 6 dB in signal-to-noise margin.

7

Page 283: MIT Principal of Digital Communication

For Figure 2(b), all of the outer points have enough distance from their nearest decision boundaries in the tangential direction so that the minimum distance is still at least 1 after a 10◦ rotation. For example, a point of type (3, 0) rotates approximately to (3, 0.5), which is still distance 1 from the nearest point (3, 1.5) on the decision boundary. The worst case is therefore an inner point of type (1, 1), whose minimum distance of 1 is reduced by about 0.17 by a 10◦ rotation. Since (0.83)2 is about 1.6 dB, this amounts to about a 1.6 dB reduction in signal-to-noise margin. Thus even though the Figure 2(b) signal set has 1.3 worse signal-to-noise margin to start with, in the presence of uncompensated ±10◦

phase rotations (“phase jitter”) it becomes more than 3 dB better than Figure 2(a).

For Figure 2(c), it is clear that the outer points are affected by phase rotations similarly √ to the outer points of 2(a). For example, a point of type (2.5, 3) has squared norm 9.25 and thus radius 3.04. A phase rotation of θ moves it directly by an amount 3.04θ toward its nearest decision boundary, so as in 2(a) a rotation of about θ = 10◦ cuts the distance to the nearest decision boundary by a factor of about 2, for a reduction in SNR margin of about 6 dB.

Problem 1.4 (Shaping gain of spherical signal sets)

In this exercise we compare the power efficiency of n-cube and n-sphere signal sets for large n.

An n-cube signal set is the set of all odd-integer sequences of length n within an n-cube of side 2M centered on the origin. For example, the signal set of Figure 2(a) is a 2-cube signal set with M = 4.

An n-sphere signal set is the set of all odd-integer sequences of length n within an n-sphere of squared radius r2 centered on the origin. For example, the signal set of Figure 3(a) is also a 2-sphere signal set for any squared radius r2 in the range 18 ≤ r2 < 25. In particular, it is a 2-sphere signal set for r2 = 64/π = 20.37, where the area πr2 of the 2-sphere (circle) equals the area (2M )2 = 64 of the 2-cube (square) of the previous paragraph.

Both n-cube and n-sphere signal sets therefore have minimum squared distance between signal points d2 = 4 (if they are nontrivial), and n-cube decision regions of side 2 and min

thus volume 2n associated with each signal point. The point of the following exercise is to compare their average energy using the following large-signal-set approximations:

• The number of signal points is approximately equal to the volume V (R) of the bound-ing n-cube or n-sphere region R divided by 2n , the volume of the decision region associated with each signal point (an n-cube of side 2).

• The average energy of the signal points under an equiprobable distribution is approx-imately equal to the average energy E(R) of the bounding n-cube or n-sphere region R under a uniform continuous distribution.

8

Page 284: MIT Principal of Digital Communication

(a) Show that if R is an n-cube of side 2M for some integer M , then under the two above approximations the approximate number of signal points is Mn and the approximate average energy is nM2/3. Show that the first of these two approximations is exact.

The first approximation is that the number mcube of signal points is approximately

V (R) (2M)n

mcube ≈ = = Mn . 2n 2n

This approximation is exact, because it can be seen that an n-cube constellation of side 2M is simply the n-fold Cartesian product An = {(x1, x2, . . . , xn) | xk ∈ A} of an M -PAM costellation A = {±1,±3, . . . ,±(M − 1)}, the set of all odd integers in the interval [−M, M ]. (For example, Figure 2(a) is the 2-fold Cartesian product A2 of a 4-PAM constellation A.)

The second approximation is that the average energy Ecube is approximately

Ecube ≈ E(R) = n(M2/3),

where we observe that the average energy over an n-cube R of side 2M under an equiprob-able distribution p(x), whose marginals are the uniform distributions p(xk ) = 1/2M , is

∫ M∫ n ∑ 2M3 1 M2 2E(R) =

R ||x||2 p(x)dx = p(xk )dxk = n = n .xk 3 2M 3−Mk=1

(In this case the exact expression is

EM2 − 1

cube = n ,3

since the constellation An is the n-fold Cartesian product of an M -PAM constellation A whose average energy is EA = (M2 − 1)/3.)

(b) For n even, if R is an n-sphere of radius r, compute the approximate number of signal points and the approximate average energy of an n-sphere signal set, using the following known expressions for the volume V⊗(n, r) and the average energy E⊗(n, r) of an n-sphere of radius r:

(πr2)n/2

V⊗(n, r) = ;(n/2)!

2nrE⊗(n, r) = .

n + 2

The first approximation is that the number msphere of signal points is approximately

V (R) (πr2)n/2

.msphere ≈ 2n

=2n(n/2)!

The second approximation is that the average energy Esphere is approximately

2nrEsphere ≈ E(R) = .

n + 2

9

Page 285: MIT Principal of Digital Communication

(c) For n = 2, show that a large 2-sphere signal set has about 0.2 dB smaller average energy than a 2-cube signal set with the same number of signal points.

In general, in n dimensions, to make mcube = msphere we choose M and r so that

(πr2)n/2

M n = ;2n(n/2)!

i.e., πr2

M 2 = . 22((n/2)!)2/n

Then the ratio of the average energy of the n-cube to that of the n-sphere is

Ecube n + 2 nM 2 π(n + 2) = = .

Esphere nr2 3 12((n/2)!)2/n

For example, for n = 2, setting the volumes equal, (2M )2 = πr2, we have

Ecube π E

= (0.20 dB). sphere 3

Thus in two dimensions using a large circular rather than square constellation saves only about 0.2 dB in power efficiency.

(d) For n = 16, show that a large 16-sphere signal set has about 1 dB smaller average energy than a 16-cube signal set with the same number of signal points. [Hint: 8! = 40320 (46.06 dB).]

For n = 16, however, we have

Ecube 18π 3π 1 = = = (4.77 + 4.97 − 3.01 − 46.06) = 0.97 dB;

Esphere 12(8!)1/8 2(40320)1/8 8

i.e., using a 16-sphere rather than 16-cube constellation saves nearly 1 dB in power efficiency (signal-to-noise margin).

(e) Show that as n → ∞ a large n-sphere signal set has a factor of πe/6 (1.53 dB) smaller average energy than an n-cube signal set with the same number of signal points. [Hint: Use Stirling’s approximation, m! → (m/e)m as m → ∞.]

Using the hint, as n → ∞ we have

((n/2)!)2/n → n

. 2e

ETherefore

cube π(n + 2) πe(n + 2) πe = → → (1.53 dB).

Esphere 12((n/2)!)2/n 6n 6

Since the ratio is monotonically increasing, we conclude that the greatest possible gain in any number of dimensions is 1.53 dB.

10

Page 286: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, February 9, 2005 MIT, Spring 2005 Handout #5

Due: Wednesday, February 16, 2005

Problem Set 2

Problem 2.1 (Cartesian-product constellations)

(a) Show that if A′ = AK , then the parameters N, log2 M, E(A′) and Kmin(A′) of A are K times as large as the corresponding parameters of A, whereas the normalized parameters ρ, Es, Eb and d2

min(A) are the same as those of A. Verify that these relations hold for (M × M)-QAM constellations.

(b) Show that if the signal constellation is a Cartesian product AK , then MD detection can be performed by performing independent MD detection on each of the K components of the received KN -tuple y = (y1, y2, . . . , yK ). Using this result, sketch the decision regions of a (4 × 4)-QAM signal set.

(c) Show that if Pr(E) is the probability of error for MD detection of A, then the proba-bility of error for MD detection of A′ is

Pr(E)′ = 1 − (1 − Pr(E))K ,

Show that Pr(E)′ ≈ K Pr(E) if Pr(E) is small.

Problem 2.2 (Pr(E) invariance to translation, orthogonal transformations, or scaling)

Let Pr(E | aj ) be the probability of error when a signal aj is selected equiprobably from an N -dimensional signal set A and transmitted over a discrete-time AWGN channel, and the channel output Y = aj + N is mapped to a signal aj ∈ A by a minimum-distance decision rule. An error event E occurs if aj =� aj . Pr(E) denotes the average error probability.

(a) Show that the probabilities of error Pr(E | aj ) are unchanged if A is translated by any vector v; i.e., the constellation A′ = A + v has the same Pr(E) as A.

(b) Show that Pr(E) is invariant under orthogonal transformations; i.e., A′ = UA has the same Pr(E) as A when U is any orthogonal N × N matrix (i.e., U−1 = UT ).

(c) Show that Pr(E) is unchanged if both A and N are scaled by α > 0.

Problem 2.3 (optimality of zero-mean constellations)

Consider an arbitrary signal set A = {aj , 1 ≤ j ≤ M}. Assume that all signals are1equiprobable. Let m(A) = M aj be the average signal, and let A′ be A translated by j

m(A) so that the mean of A′ is zero: A′ = A − m(A) = {aj − m(A), 1 ≤ j ≤ M}. Let E(A) and E(A′) denote the average energies of A and A′, respectively.

(a) Show that the error probability of an MD detector is the same for A′ as it is for A. 2(b) Show that E(A′) = E(A) − ||m(A)|| . Conclude that removing the mean m(A) is

always a good idea.

(c) Show that a binary antipodal signal set A = {±a} is always optimal for M = 2.

1

Page 287: MIT Principal of Digital Communication

� � � �

Problem 2.4 (Non-equiprobable signals).

Let aj and aj� be two signals that are not equiprobable. Find the optimum (MPE) pairwisedecision rule and pairwise error probability Pr{aj → aj� }.

Problem 2.5 (UBE for M -PAM constellations).

For an M -PAM constellation A, show that Kmin(A) = 2(M − 1)/M . Conclude that theunion bound estimate of Pr(E) is

M − 1 d Pr(E) ≈ 2

M Q

2σ .

Observe that in this case the union bound estimate is exact. Explain why.

2

Page 288: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, Feb. 16, 2005MIT, Spring 2005 Handout #6

Problem Set 2 Solutions

Problem 2.1 (Cartesian-product constellations)

(a) Show that if A′ = AK , then the parameters N, log2 M, E(A′) and Kmin(A′) of A′ are K times as large as the corresponding parameters of A, whereas the normalized parameters ρ, Es, Eb and d2

min(A) are the same as those of A. Verify that these relations hold for (M × M)-QAM constellations.

There are M possibilities for each of the n components of A′ , so the total number ofpossibilities is |A′| = MK . The number of bits supported by A′ is therefore log2 |A′| =K log2 M , K times the number for A. The number of dimensions in A′ is KN , so its nominal spectral efficiency is ρ = (log2 M)/N , the same as that of A.

The average energy of A′ is

EA� = ||a1||2 + ||a2||2 + · · · + ||aK ||2 = KEA.

The average energy per bit is Eb = EA� / log2 |A′| = EA/(log2 M), and the average energy per two dimensions is Es = 2EA� /KN = 2EA/N , which for both are the same as for A.

Two distinct points in A′ must differ in at least one component. The minimum squared distance is therefore the minimum squared distance in any component, which is d2

min(A).

The number of nearest neighbors to any point (a1, a2, . . . , aK ) ∈ A′ is the sum of the num-bers of nearest neighbors to a1, a2, . . . , aK , respectively, since there is a nearest neighbor for each such nearest neighbor to each component. The average number Kmin(A′) of near-est neighbors to A′ is therefore the sum of the average number of nearest neighbors in each component, which is Kmin(A′) = KKmin(A).

An (M × M)-QAM constellation A′ is equal to the 2-fold Cartesian product A2, where A is an M -PAM constellation. Therefore all the above results hold with K = 2. In particular, the QAM constellation has the same d2

min as the PAM constellation, but twice the number Kmin of nearest neighbors.

(b) Show that if the signal constellation is a Cartesian product AK , then MD detection can be performed by performing independent MD detection on each of the K components of the received KN-tuple y = (y1, y2, . . . , yK ). Using this result, sketch the decision regions of a (4 × 4)-QAM signal set.

Given a received signal (y1,y2, . . . ,yK ), to minimize the squared distance ||y1 − a1||2 + ||y2 − a2||2 + · · · + ||yK − aK ||2 over A′, we may minimize each component ||yj − aj ||2

separately, since choice of one component aj imposes no restrictions on the choices of other components.

The MD decision regions of a (4 × 4)-QAM signal set A′ = A2 are thus simply those of a 4-PAM signal set A, independently for each coordinate. Such decision regions are sketched in the Problem Set 1 solutions, Problem 1.3(b).

1

Page 289: MIT Principal of Digital Communication

(c) Show that if Pr(E) is the probability of error for MD detection of A, then the probability of error for MD detection of A′ is

Pr(E)′ = 1 − (1 − Pr(E))K ,

Show that Pr(E)′ ≈ K Pr(E) if Pr(E) is small.

A signal in A′ is received correctly if and only if each component is received correctly. The probability of correct decision is therefore the product of the probabilities of correct decision for each of the components separately, which is (1 − Pr(E))K . The probability of error for A′ is therefore Pr(E ′) = 1 − (1 − Pr(E))K . When Pr(E) is small, (1 − Pr(E))K ≈ 1 − K Pr(E), so Pr(E ′) ≈ K Pr(E).

Problem 2.2 (Pr(E) invariance to translation, orthogonal transformations, or scaling)

Let Pr(E | aj ) be the probability of error when a signal aj is selected equiprobably from an N-dimensional signal set A and transmitted over a discrete-time AWGN channel, and the channel output Y = aj + N is mapped to a signal aj ∈ A by a minimum-distance decision rule. An error event E occurs if aj =� aj . Pr(E) denotes the average error probability.

(a) Show that the probabilities of error Pr(E | aj ) are unchanged if A is translated by any vector v; i.e., the constellation A′ = A + v has the same Pr(E) as A.

If all signals are equiprobable and the noise is iid Gaussian, then the optimum detectoris a minimum-distance detector.

AaIn this case the received sequence Y′ = aj +N may be mapped reversibly to Y = Y′ −v =

j + N, and then an MD detector for A based on Y is equivalent to an MD detector for ′ based on Y′ . In particular, it has the same probabilities of error Pr(E | aj ).

(b) Show that Pr(E) is invariant under orthogonal transformations; i.e., A′ = UA has the same Pr(E) as A when U is any orthogonal N × N matrix (i.e., U−1 = UT ).

aIn this case the received sequence Y′ = aj +N may be mapped reversibly to Y = U−1Y′ =

j + U−1N. Since the noise distribution depends only on the squared norm ||n||2, which is not affected by orthogonal transformations, the noise sequence N′ = U−1N has the same distribution as N, so again the probability of error Pr(E) is unaffected.

(c) Show that Pr(E) is unchanged if both A and N are scaled by α > 0.

αIn this case the received sequence Y′ = aj + αN may be mapped reversibly to Y = −1Y′ = aj + N, which again reduces the model to the original scenario.

Problem 2.3 (optimality of zero-mean constellations)

Consider an arbitrary signal set A = {aj , 1 ≤ j ≤ M}. Assume that all signals are 1equiprobable. Let m(A) = M j aj be the average signal, and let A′ be A translated by

m(A) so that the mean of A′ is zero: A′ = A − m(A) = {aj − m(A), 1 ≤ j ≤ M}. Let E(A) and E(A′) denote the average energies of A and A′, respectively.

(a) Show that the error probability of an MD detector is the same for A′ as it is for A.

This follows from Problem 2.2(a)

2

Page 290: MIT Principal of Digital Communication

(b) Show that E(A′) = E(A) − ||m(A)||2 . Conclude that removing the mean m(A) is always a good idea.

Let A be the random variable with alphabet A that is equal to aj with probability 1/M for all j, and let A′ = A − m(A) be the fluctuation of A. Then E(A) = ||A||2 , m(A) = A, and

E(A′) = ||A − A||2 = ||A||2 − 2〈A, A〉 + ||A||2 = ||A||2 − ||A||2 = E(A) − ||m(A)||2 .

In other words, the second moment of A is greater than or equal to the variance of A,with equality if and only if the mean of A is zero.

This result and that of part (a) imply that if m(A) �A

= 0, then by replacing A with′ = A− m(A), the average energy can be reduced without changing the probability of

error. Therefore A′ is always preferable to A; i.e., an optimum constellation must havezero mean.

(c) Show that a binary antipodal signal set A = {±a} is always optimal for M = 2.

A two-point constellation with zero mean must have a1 + a2 = 0, which implies a2 = −a1.

Problem 2.4 (Non-equiprobable signals).

Let aj and aj� be two signals that are not equiprobable. Find the optimum (MPE) pairwisedecision rule and pairwise error probability Pr{aj → aj� }.The MPE rule is equivalent to the maximum-a-posteriori-probability (MAP) rule: choose

a ∈ A such that p(ˆthe ˆ a | y) is maximum among all p(aj | y), aj ∈ A. By Bayes’ law,

p(aj | y) = p(y | aj )p(aj )

. p(y)

The pairwise decision rule is thus to choose aj over aj� if p(y | aj )p(aj ) > p(y | aj� )p(aj� ), or vice versa. Using the logarithm of the noise pdf, we can write this as

−||y − aj ||2

+ log p(aj ) > −||y − aj� ||2

+ log p(aj� ),2σ2 2σ2

or equivalently ||y − aj ||2 < ||y − aj� ||2 + K,

where K = 2σ2 log p(aj )/p(aj� ). Therefore the pairwise MAP rule is equivalent to aminimum-squared-distance rule with a bias K.

Following the development shown in (5.2), we have

||y − aj ||2 − ||y − aj� ||2 =

−2〈y, aj 〉 + ||aj ||2 − (−2〈y, aj� 〉 + ||aj� ||2) =

2〈y, aj� − aj 〉 − 2〈m, aj� − aj 〉,

where m denotes the midvector m = (aj + aj� )/2.

3

Page 291: MIT Principal of Digital Communication

� � � �

Therefore ||y − aj ||2 − ||y − aj� ||2 < K if and only if 2〈y, aj� − aj 〉 − 2〈m, aj� − aj 〉 < K. Since the magnitudes of the projections y|aj� −aj and m|aj� −aj of y and m onto the difference vector aj� − aj are

|y|aj� −aj | = 〈y, aj� − aj 〉

; |m|aj� −aj | = 〈m, aj� − aj 〉

,||aj� − aj || ||aj� − aj || we have ||y − aj ||2 − ||y − aj� ||2 < K if and only if

K σ2λ(aj , aj� )|y|aj� −aj | < |m|aj� −aj | + 2||aj� − aj || = |m|aj� −aj | + ,d(aj , aj� )

where λ(aj , aj� ) is the log likelihood ratio log p(aj )/p(aj� ).

The conclusion is that the decision boundary is still a hyperplane perpendicular to the difference vector aj� − aj , but shifted by σ2λ(aj , aj� )/d(aj , aj� ).

The probability of error is thus the probability that a one-dimensional Gaussian variable of zero mean and variance σ2 will exceed d(aj , aj� )/2+σ2λ(aj , aj� )/d(aj , aj� ). This is given as always by the Q function

� σ2λ(aj , aj� )

Pr{aj → aj� } = Qd(aj , aj� )

+ . 2σ d(aj , aj� )

Problem 2.5 (UBE for M -PAM constellations).

For an M -PAM constellation A, show that Kmin(A) = 2(M − 1)/M . Conclude that the union bound estimate of Pr(E) is

M − 1 d Pr(E) ≈ 2 Q .

M 2σ

Observe that in this case the union bound estimate is exact. Explain why.

The M − 2 interior points have 2 nearest neighbors, while the 2 boundary points have 1 nearest neighbor, so the average number of nearest neighbors is

1 2M − 2 Kmin(A) = ((M − 2)(2) + (2)(1)) = .

M M

dIn general the union bound estimate is Pr(E) ≈ Kmin(A)Q(dmin(A)/2σ). Plugging in

min(A) = d and the above expression for Kmin(A), we get the desired expression.

For the M − 2 interior points, the exact error probability is 2Q(d/2σ). For the 2 boundary points, the exact error probability is Q(d/2σ). If all points are equiprobable, then the average Pr(E) is exactly the UBE given above.

In general, we can see that the union bound is exact for one-dimensional constellations, and only for one-dimensional constellations. The union bound estimate is therefore exact only for equi-spaced one-dimensional constellations; i.e., essentially only for M -PAM.

4

Page 292: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, February 16, 2005 MIT, Spring 2005 Handout #7

Due: Wednesday, February 23, 2005

Problem Set 3

Problem 3.1 (Invariance of coding gain)

(a) Show that in the power-limited regime the nominal coding gain γc(A) of (5.9), the UBE (5.10) of Pb(E), and the effective coding gain γeff (A) are invariant to scaling, orthogonal transformations and Cartesian products.

(b) Show that in the bandwidth-limited regime the nominal coding gain γc(A) of (5.14), the UBE (5.15) of Ps(E), and the effective coding gain γeff (A) are invariant to scaling, orthogonal transformations and Cartesian products.

Problem 3.2 (Orthogonal signal sets)

An orthogonal signal set is a set A = {aj, 1 ≤ j ≤ M } of M orthogonal vectors in RM

with equal energy E(A); i.e., 〈aj, aj� 〉 = E(A)δjj� (Kronecker delta).

(a) Compute the nominal spectral efficiency ρ of A in bits per two dimensions. Compute the average energy Eb per information bit.

(b) Compute the minimum squared distance d2 Show that every signal hasmin(A). Kmin(A) = M − 1 nearest neighbors.

(c) Let the noise variance be σ2 = N0/2 per dimension. Show that the probability of error of an optimum detector is bounded by the UBE

√ Pr(E) ≤ (M − 1)Q (E(A)/N0).

(d) Let M → ∞ with Eb held constant. Using an asymptotically accurate upper bound √ for the Q (·) function (see Appendix), show that Pr(E) → 0 provided that Eb/N0 > 2 ln 2 (1.42 dB). How close is this to the ultimate Shannon limit on Eb/N0? What is the nominal spectral efficiency ρ in the limit?

Problem 3.3 (Simplex signal sets)

Let A be an orthogonal signal set as above.

(a) Denote the mean of A by m(A). Show that m(A) �= 0, and compute ||m(A)||2 .

The zero-mean set A′ = A − m(A) (as in Exercise 2) is called a simplex signal set. It is universally believed to be the optimum set of M signals in AWGN in the absence of bandwidth constraints, except at ridiculously low SNRs.

(b) For M = 2, 3, 4, sketch A and A′ .

(c) Show that all signals in A′ have the same energy E(A′). Compute E(A ). Compute the inner products 〈aj, aj� 〉 for all aj, aj� ∈ A′ .

1

Page 293: MIT Principal of Digital Communication

(d) [Optional]. Show that for ridiculously low SNR, a signal set consisting of M − 2 zero signals and two antipodal signals {±a} has a lower Pr(E) than a simplex signal set. [Hint: see M. Steiner, “The strong simplex conjecture is false,” IEEE Transactions on Information Theory, pp. 721-731, May 1994.]

Problem 3.4 (Biorthogonal signal sets)

The set A′′ = ±A of size 2M consisting of the M signals in an orthogonal signal set Awith symbol energy E(A) and their negatives is called a biorthogonal signal set.

(a) Show that the mean of A′′ is m(A′′) = 0, and that the average energy is E(A).

(b) How much greater is the nominal spectral efficiency ρ of A′′ than that of A?

(c) Show that the probability of error of A′′ is approximately the same as that of an orthogonal signal set with the same size and average energy, for M large.

(d) Let the number of signals be a power of 2: 2M = 2k . Show that the nominal spectral efficiency is ρ(A′′) = 4k2−k b/2D, and that the nominal coding gain is γc(A′′) = k/2. Show that the number of nearest neighbors is Kmin(A′′) = 2k − 2.

Problem 3.5 (small nonbinary constellations)

A

(a) For M = 4, the (2 × 2)-QAM signal set is known to be optimal in N = 2 dimensions. Show however that there exists at least one other inequivalent two-dimensional signal set

′ with the same coding gain. Which signal set has the lower “error coefficient” Kmin(A)?

(b) Show that the coding gain of (a) can be improved in N = 3 dimensions. [Hint: consider the signal set A′′ = {(1, 1, 1), (1,−1,−1), (−1, 1,−1), (−1,−1, 1)}.] Sketch A′′ . What is the geometric name of the polytope whose vertex set is A′′?

(c) Give an accurate plot of the UBE of the Pr(E) for the signal set A′′ of (b). How much is the effective coding gain, by our rule of thumb and by this plot?

(d) For M = 8 and N = 2, propose at least two good signal sets, and determine which one is better. [Open research problem: Find the optimal such signal set, and prove that it is optimal.]

Problem 3.6 (Even-weight codes have better coding gain)

Let C be an (n, k, d) binary linear code with d odd. Show that if we append an overall parity check p =

�i xi to each codeword x, then we obtain an (n + 1, k, d + 1) binary

linear code C ′ with d even. Show that the nominal coding gain γc(C ′) is always greater than γc(C) if k > 1. Conclude that we can focus primarily on linear codes with d even.

2

Page 294: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, February 23, 2005MIT, Spring 2005 Handout #8

Problem Set 3 Solutions

Problem 3.1 (Invariance of coding gain)

(a) Show that in the power-limited regime the nominal coding gain γc(A) of (5.9), the UBE (5.10) of Pb(E), and the effective coding gain γeff (A) are invariant to scaling, orthogonal transformations and Cartesian products.

In the power-limited regime, the nominal coding gain is defined as

2dmin(A)γc(A) = .

4Eb(A)

2Scaling A by α > 0 multiplies both dmin(A) and Eb(A) by α2, and therefore leaves γc(A) 2unchanged. Orthogonal transformations of A do not change either dmin(A) or Eb(A).

As we have seen in Problem 2.1, taking Cartesian products also does not change either 2dmin(A) or Eb(A). Therefore γc(A) is invariant under all these operations.

The UBE of Pb(E) involves γc(A) and Kb(A) = Kmin(A)/(| log |A|). Kmin(A) is also obviously unchanged under scaling or orthogonal transformations. Problem 2.1 showedthat Kmin(A) increases by a factor of K under a K-fold Cartesian product, but so doeslog |A|, so Kb(A) is also unchanged under Cartesian products.

The effective coding gain is a function of the UBE of Pb(E), and therefore it is invariantalso.

(b) Show that in the bandwidth-limited regime the nominal coding gain γc(A) of (5.14), the UBE (5.15) of Ps(E), and the effective coding gain γeff (A) are invariant to scaling, orthogonal transformations and Cartesian products.

In the bandwidth-limited regime, the nominal coding gain is defined as

2(2ρ(A) − 1)dmin(A)γc(A) = .

6Es(A)

2Scaling A by α > 0 multiplies both dmin(A) and Es(A) by α2 and does not change ρ(A), and therefore leaves γc(A) unchanged. Orthogonal transformations of A do not change

2dmin(A), Eb(A) or ρ(A). As we have seen in Problem 2.1, taking Cartesian products also does not change d2

b(A) or ρ(A). Therefore γc(A) is invariant under all these min(A), Eoperations.

The UBE of Ps(E) involves γc(A) and Ks(A) = (2/N)Kmin(A). Kmin(A) is also obvi-ously unchanged under scaling or orthogonal transformations. Problem 2.1 showed thatKmin(A) increases by a factor of K under a K-fold Cartesian product, but so does N , so Ks(A) is also unchanged under Cartesian products.

The effective coding gain is a function of the UBE of Ps(E), and therefore it is invariantalso.

1

Page 295: MIT Principal of Digital Communication

Problem 3.2 (Orthogonal signal sets)

An orthogonal signal set is a set A = {aj, 1 ≤ j ≤ M } of M orthogonal vectors in RM

with equal energy E(A); i.e., 〈aj, aj� 〉 = E(A)δjj� (Kronecker delta).

(a) Compute the nominal spectral efficiency ρ of A in bits per two dimensions. Compute the average energy Eb per information bit.

The rate of A is log2 M bits per M dimensions, so the nominal spectral efficiency is

ρ = (2/M ) log2 M bits per two dimensions.

The average energy per symbol is E(A), so the average energy per bit is

E(A)Eb = .

log2 M

(b) Compute the minimum squared distance d2 Show that every signal hasmin(A). Kmin(A) = M − 1 nearest neighbors.

The squared distance between any two distinct vectors is

||aj − aj� ||2 = ||aj||2 − 2〈aj, aj� 〉 + ||aj� ||2 = E(A) − 0 + E(A) = 2E(A),

so d2

Kmin(A) = 2E(A), and every vector has all other vectors as nearest neighbors, so

min(A) = M − 1.

(c) Let the noise variance be σ2 = N0/2 per dimension. Show that the probability of error of an optimum detector is bounded by the UBE

√ Pr(E) ≤ (M − 1)Q (E(A)/N0).

The pairwise error probability between any two distinct vectors is

√ √ √ Pr{aj → aj� } = Q (||aj − aj� ||2/4σ2) = Q (2E(A)/2N0) = Q (E(A)/N0).

By the union bound, for any aj ∈ A,

Pr(E | aj) ≤ �

Pr{aj → aj� } = (M − 1)Q √ (E(A)/N0),

j� �=j

so the average Pr(E) also satisfies this upper bound.

(d) Let M → ∞ with Eb held constant. Using an asymptotically accurate upper bound √ for the Q (·) function (see Appendix), show that Pr(E) → 0 provided that Eb/N0 > 2 ln 2 (1.42 dB). How close is this to the ultimate Shannon limit on Eb/N0? What is the nominal spectral efficiency ρ in the limit?

√ −x2/2By the Chernoff bound of the Appendix, Q (x2) ≤ e . Therefore

Pr(E) ≤ (M − 1)e −E(A)/2N0 < e(ln M)e −(Eb log2 M)/2N0 .

2

Page 296: MIT Principal of Digital Communication

Since ln M = (log2 M )(ln 2), as M → ∞ this bound goes to zero provided that

Eb/2N0 > ln 2,

or equivalently Eb/N0 > 2 ln 2 (1.42 dB).

The ultimate Shannon limit on Eb/N0 is Eb/N0 > ln 2 (-1.59 dB), so this shows thatwe can get to within 3 dB of the ultimate Shannon limit with orthogonal signalling. (Itwas shown in 6.450 that orthogonal signalling can actually achieve Pr(E) → 0 for anyEb/N0 > ln 2, the ultimate Shannon limit.)

Unfortunately, the nominal spectral efficiency ρ = (2 log2 M )/M goes to 0 as M → ∞.

Problem 3.3 (Simplex signal sets)

Let A be an orthogonal signal set as above.

(a) Denote the mean of A by m(A). Show that m(A) �= 0, and compute ||m(A)||2 .

By definition, 1

m(A) = M

j

aj .

Therefore, using orthogonality, we have

1 ||m(A)||2 = E(A)�

j

||aj ||2 = 0.= M 2 M

= 0 implies that m(A) �By the strict non-negativity of the Euclidean norm, ||m(A)||2 � = 0.

The zero-mean set A′ = A − m(A) (as in Exercise 2) is called a simplex signal set. It is universally believed to be the optimum set of M signals in AWGN in the absence of bandwidth constraints, except at ridiculously low SNRs.

(b) For M = 2, 3, 4, sketch A and A′ .

For M = 2, 3, 4, A consists of M orthogonal vectors in M -space (hard to sketch for M = 4). For M = 2, A′ consists of two antipodal signals in a 1-dimensional subspace of 2-space; for M = 3, A′ consists of three vertices of an equilateral triangle in a 2-dimensional subspace of 3-space; and for M = 4, A′ consists of four vertices of a regular tetrahedron in a 3-dimensional subspace of 4-space.

(c) Show that all signals in A′ have the same energy E(A′). Compute E(A′). Compute the inner products 〈aj , aj� 〉 for all aj , aj� ∈ A′ .

The inner product of m(A) with any aj is

1 〈aj� , aj 〉 = EA

M.

�j

〈m(A), aj 〉 = M

The energy of aj ′ = aj − m(A) is therefore

M − 1 ||aj ||2 = ||aj ||2 − 2〈m(A), aj 〉 + ||m(A)||2 = E(A) − E(A)

= E(A). M M

3

Page 297: MIT Principal of Digital Communication

= j′, the inner product 〈aj , aj� 〉 isFor j � ′ ′

E(A) E(A) E(A)〈aj ′ , aj� 〉 = 〈aj − m(A), aj� − m(A)〉 = 0 − 2 + = − .

M M M

In other words, the inner product is equal to M −1 E(A) if j′ = j and − 1 E(A) for j′ �= j.M M

(d) [Optional]. Show that for ridiculously low SNR, a signal set consisting of M − 2 zero signals and two antipodal signals {±a} has a lower Pr(E) than a simplex signal set. [Hint: see M. Steiner, “The strong simplex conjecture is false,” IEEE Transactions on Information Theory, pp. 721-731, May 1994.]

See the cited article.

Problem 3.4 (Biorthogonal signal sets)

The set A′′ = ±A of size 2M consisting of the M signals in an orthogonal signal set A with symbol energy E(A) and their negatives is called a biorthogonal signal set.

(a) Show that the mean of A′′ is m(A′′) = 0, and that the average energy is E(A).

The mean is m(A′′) =

�(aj − aj ) = 0,

j

and every vector has energy E(A).

(b) How much greater is the nominal spectral efficiency ρ of A′′ than that of A?

The rate of A′′ is log2 2M = 1 + log2 M bits per M dimensions, so its nominal spectral efficiency is ρ = (2/M )(1 + log2 M ) b/2D, which is 2/M b/2D greater than for A. This is helpful for small M , but negligible as M → ∞.

(c) Show that the probability of error of A′′ is approximately the same as that of an orthogonal signal set with the same size and average energy, for M large.

Each vector in A′′ has 2M − 2 nearest neighbors at squared distance 2E(A), and oneantipodal vector at squared distance 4E(A). The union bound estimate is therefore

√ √ Pr(E) ≈ (2M − 2)Q (E(A)/N0) ≈ |A′′|Q (E(A)/N0),

√ which is approximately the same as the estimate Pr(E) ≈ (2M − 1)Q (E(A)/N0) ≈ √ |A|Q (E(A)/N0) for an orthogonal signal set A of size |A| = 2M .

(d) Let the number of signals be a power of 2: 2M = 2k . Show that the nominal spectral efficiency is ρ(A′′) = 4k2−k b/2D, and that the nominal coding gain is γc(A′′) = k/2. Show that the number of nearest neighbors is Kmin(A′′) = 2k − 2.

If M = 2k−1, then the nominal spectral efficiency is

ρ(A′′) = (2/M )(1 + log2 M ) = 22−k k = 4k2−k b/2D.

d

We are in the power-limited regime, so the nominal coding gain is 2 2E(A′′) k

γc(A′′ min(A′′)) = =

4E(A′′)/k = .

4Eb 2

The number of nearest neighbors is Kmin(A′′) = 2M − 2 = 2k − 2.

4

Page 298: MIT Principal of Digital Communication

Problem 3.5 (small nonbinary constellations)

A

(a) For M = 4, the (2 × 2)-QAM signal set is known to be optimal in N = 2 dimensions. Show however that there exists at least one other inequivalent two-dimensional signal set

′ with the same coding gain. Which signal set has the lower “error coefficient” Kmin(A)?

The 4-QAM signal set A with points {(±α, ±α)} has b = 2, d2 min(A) = 4α2 and E(A) =

2α2, so A has Eb = E(A)/2 = α2 and γc(A) = d2 min(A)/4Eb = 1. √ √

The 4-point hexagonal signal set A′ with points at {(0, 0), (α, 3α), (2α, 0), (3α, 3α)}

A√

has mean m = (3α/2, 3α)/2) and average energy E(A′) = 5α2 . If we translate A′ to ′′ = A′ − m to remove the mean, then E(A′′) = E(A′) − ||m||2 = 5α2 − 3α2 = 2α2 .

Thus A′′ has the same minimum squared distance, the same average energy, and thus the same coding gain as A.

In A, each point has two nearest neighbors, so Kmin(A) = 2. In A′, two points have two nearest neighbors and two points have three nearest neighbors, so Kmin(A′) = 2.5. (This factor of 1.25 difference in error coefficient will cost about (1/4) · (0.2) = 0.05 dB in effective coding gain, by our rule of thumb.)

[Actually, all parallelogram signal sets with sides of length 2α and angles between 60◦ and 90◦ have minimum squared distance 4α2 and average energy 2α2, if the mean is removed.]

(b) Show that the coding gain of (a) can be improved in N = 3 dimensions. [Hint: consider the signal set A′′ = {(1, 1, 1), (1, −1, −1), (−1, 1, −1), (−1, −1, 1)}.] Sketch A′′ . What is the geometric name of the polytope whose vertex set is A′′?

The four signal points in A′′ are the vertices of a tetrahedron (see Chapter 6, Figure 1). The minimum squared distance between points in A′′ is 2 · 4 = 8, and the average energy is E(A′′) = 3, so Eb = 3/2. Thus the coding gain of A′′ is γc(A′′) = d2

min(A′′)/4Eb = 4/3, a factor of 4/3 (1.25 dB) better than that of A.

However, the nominal spectral efficiency ρ of A′′ is only 4/3 b/2D, compared to ρ = 2 b/2D for A; i.e., A′′ is less bandwidth-efficient. Also, each point in A′′ has Kmin(A′′) = 3 nearest neighbors, which costs about 0.1 dB in effective coding gain.

(c) Give an accurate plot of the UBE of the Pr(E) for the signal set A′′ of (b). How much is the effective coding gain, by our rule of thumb and by this plot?

The UBE for Pr(E) is

√ √ Pr(E) ≈ Kmin(A′′)Q (2γc(A′′)Eb/N0) = 3Q (2

4 Eb/N0).

3 √

Since each signal sends 2 bits, the UBE for Pb(E) is 132 Pr(E): Pb(E) ≈ 1.5Q (2 4 Eb/N0).

An accurate plot of the UBE may be obtained by moving the baseline curve Pb(E) ≈ √ Q (2Eb/N0) to the left by 1.25 dB and up by a factor of 1.5, as shown in Figure 1. This shows that the effective coding gain is about γeff (A′′) ≈ 1.15 dB at Pb(E) ≈ 10−5. Our √ rule of thumb gives approximately the same result, since 1.5 is equal to about 2.

5

Page 299: MIT Principal of Digital Communication

Simplex signal sets10

0

Pb(E

)

10−1

−210

10−3

10−4

−510

10−6

−2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 Eb/N0 [dB]

Uncoded 2−PAM simplex M=4

Figure 1. Pb(E) vs. Eb/N0 for tetrahedron (4-simplex) signal set.

(d) For M = 8 and N = 2, propose at least two good signal sets, and determine which one is better. [Open research problem: Find the optimal such signal set, and prove that it is optimal.]

Possible 8-point 2-dimensional signal sets include:

(i) 8-PSK. If the radius of each signal point is r, then the minimum distance is dmin = 2r sin 22.5◦, so to achieve dmin = 2 requires r = 1/(sin 22.5◦) = 2.613, or an energy of 6.828 (8.34 dB).

(ii) An 8-point version of the V.29 signal set, with four points of type (1, 1) and four points of type (3, 0). The average energy is then 5.5 (7.40 dB), about 1 dB better than 8-PSK. Even better, the minimum distance can be maintained at dmin = 2 if the outer √ points are moved in to (1 + 3, 0), which reduces the average energy to 4.732 (6.75 dB).

(iii) Hexagonal signal sets. One hexagonal 8-point set with dmin = 2 has 1 point at the origin, 6 at squared radius 4, and 1 at squared radius 12, for an average energy of √ 36/8 = 4.5 (6.53 dB). The mean m has length 12/8, so removing the mean reduces theenergy further by 3/16 = 0.1875 to 4.3125 (6.35 dB).

Another more symmetrical hexagonal signal set (the “double diamond”) has points at√ √ (±1, 0), (0, ± 3) and (±2, ± 3). This signal set also has average energy 36/8 = 4.5 (6.53 dB), and zero mean.

6

Page 300: MIT Principal of Digital Communication

′ ′ ′ ′

′ ′ ′

Problem 3.6 (Even-weight codes have better coding gain)

Let C be an (n, k, d) binary linear code with d odd. Show that if we append an overallparity check p =

�i xi to each codeword x, then we obtain an (n + 1, k, d + 1) binary

linear code C ′ with d even. Show that the nominal coding gain γc(C ′) is always greaterthan γc(C) if k > 1. Conclude that we can focus primarily on linear codes with d even.

The new code C ′ has the group property, because the mod-2 sum of two codewords(x1, . . . , xn, p =

�i xi) and (x1, . . . , xn, p =

�i xi) is

(x1 + x1, . . . , xn + xn, p + p ′ = �

xi + xi), i

another codeword in C ′ . Its length is n′ = n+ 1, and it has the same number of codewords (dimension). Since the parity bit p is equal to 1 for all odd-weight codewords in C, the weight of all odd-weight codewords is increased by 1, so the minimum nonzero weight becomes d′ = d + 1. We conclude that C ′ is a binary linear (n + 1, k, d + 1) block code.

to (d+1)kThe nominal coding gain thus goes from dk . Since n n+1

d n <

d + 1 n + 1

if d < n, the nominal coding gain strictly increases unless d = n— i.e., unless C is a repetition code with k = 1— in which case it stays the same (namely 1 (0 dB)).

7

Page 301: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, February 23, 2005 MIT, Spring 2005 Handout #9

Due: Wednesday, March 2, 2005

Problem Set 4

Problem 4.1

Show that if C is a binary linear block code, then in every coordinate position eitherall codeword components are 0 or half are 0 and half are 1. Show that a coordinate inwhich all codeword components are 0 may be deleted (“punctured”) without any loss inperformance, but with savings in energy and in dimension. Show that if C has no suchall-zero coordinates, then s(C) has zero mean: m(s(C)) = 0.

Problem 4.2 (RM code parameters)

Compute the parameters (k, d) of the RM codes of lengths n = 64 and n = 128.

Problem 4.3 (optimizing SPC and EH codes)

(a) Using the rule of thumb that a factor of two increase in Kb costs 0.2 dB in effective coding gain, find the value of n for which an (n, n− 1, 2) SPC code has maximum effective coding gain, and compute this maximum in dB.

(b) Similarly, find the m such that the (2m , 2m − m − 1, 4) extended Hamming code has maximum effective coding gain, using

2m(2m − 1)(2m − 2)N4 = ,

24 and compute this maximum in dB.

Problem 4.4 (biorthogonal codes)

We have shown that the first-order Reed-Muller codes RM(1, m) have parameters(2m, m + 1, 2m−1), and that the (2m , 1, 2m) repetition code RM(0, m) is a subcode.

(a) Show that RM(1, m) has one word of weight 0, one word of weight 2m, and 2m+1 − 2 words of weight 2m−1 . [Hint: first show that the RM(1, m) code consists of 2m comple-mentary codeword pairs {x,x + 1}.] (b) Show that the Euclidean image of an RM(1, m) code is an M = 2m+1 biorthogonal signal set. [Hint: compute all inner products between code vectors.]

(c) Show that the code C ′ consisting of all words in RM(1, m) with a 0 in any given coordinate position is a (2m, m, 2m−1) binary linear code, and that its Euclidean image is an M = 2m orthogonal signal set. [Same hint as in part (a).]

(d) Show that the code C ′′ consisting of the code words of C ′ with the given coordinate deleted (“punctured”) is a binary linear (2m − 1, m, 2m−1) code, and that its Euclidean image is an M = 2m simplex signal set. [Hint: use Exercise 7 of Chapter 5.]

1

Page 302: MIT Principal of Digital Communication

� � � �

� � �

U

Problem 4.5 (generator matrices for RM codes)

Let square 2m × 2m matrices Um, m ≥ 1, be specified recursively as follows. The matrix1 is the 2 × 2 matrix

U1 =

� 1 1

0 1

.

The matrix Um is the 2m × 2m matrix

Um =

� Um−1

Um−1

0 Um−1

.

(In other words, Um is the m-fold tensor product of U1 with itself.)

(a) Show that RM(r, m) is generated by the rows of Um of Hamming weight 2m−r or greater. [Hint: observe that this holds for m = 1, and prove by recursion using the |u|u + v| construction.] For example, give a generator matrix for the (8, 4, 4) RM code.

m(b) Show that the number of rows of Um of weight 2m−r is r . [Hint: use the fact that

m is the coefficient of zm−r in the integer polynomial (1 + z)m.]r

m(c) Conclude that the dimension of RM(r, m) is k(r, m) = 0≤j≤r j .

Problem 4.6 (“Wagner decoding”)

Let C be an (n, n − 1, 2) SPC code. The Wagner decoding rule is as follows. Make harddecisions on every symbol rk, and check whether the resulting binary word is in C. If so, accept it. If not, change the hard decision in the symbol rk for which the reliability metric|rk | is minimum. Show that the Wagner decoding rule is an optimum decoding rule forSPC codes. [Hint: show that the Wagner rule finds the codeword x ∈ C that maximizesr(x | r).]

Problem 4.7 (small cyclic groups).

Write down the addition tables for Z2, Z3 and Z4. Verify that each group element appearsprecisely once in each row and column of each table.

Problem 4.8 (subgroups of cyclic groups are cyclic).

Show that every subgroup of Zn is cyclic. [Hint: Let s be the smallest nonzero elementin a subgroup S ⊆ Zn, and compare S to the subgroup generated by s.]

2

Page 303: MIT Principal of Digital Communication

( )

6.451 Principles of Digital Communication II Wednesday, March 2, 2005 MIT, Spring 2005 Handout #10

Problem Set 4 Solutions

Problem 4.1

Show that if C is a binary linear block code, then in every coordinate position either all codeword components are 0 or half are 0 and half are 1.

C is linear if and only if C is a group under vector addition. The subset C ′ ⊆ C of codewords with 0 in a given coordinate position is then clearly a (sub)group, as it is closed under vector addition. If there exists any codeword c ∈ C with a 1 in the given coordinate position, then the (co)set C ′ + c is a subset of C of size |C + c| = |C| consisting of the codewords with a 1 in the given coordinate position (all are codewords by the group property, and every codeword c′ with a 1 in the given position is in C + c, since c′ + c is in C ′). On the other hand, if there exists no codeword c ∈ C with a 1 in the given position, then C ′ = C. We conclude that either half or none of the codewords in C have a 1 in the given coordinate position.

Show that a coordinate in which all codeword components are 0 may be deleted (“punc-tured”) without any loss in performance, but with savings in energy and in dimension.

If all codewords have a 0 in a given position, then this position does not contribute to distinguishing between any pair of codewords; i.e., it can be ignored in decoding without loss of performance. On the other hand, this symbol costs energy α2 to transmit, and sending this symbol reduces the code rate (nominal spectral efficiency). Thus for communications purposes, this symbol has a cost without any corresponding benefit, so it should be deleted.

Show that if C has no such all-zero coordinates, then s(C) has zero mean: m(s(C)) = 0.

By the first part, if C has no all-zero coordinates, then in each position C haas half 0s and half 1s, so s(C) has zero mean in each coordinate position.

Problem 4.2 (RM code parameters)

Compute the parameters (k, d) of the RM codes of lengths n = 64 and n = 128.

Using ∑ m k(r, m) =

j0≤j≤r

or k(r, m) = k(r, m − 1) + k(r − 1, m − 1),

the parameters for the n = 64 RM codes are

(64, 64, 1); (64, 63, 2); (64, 57, 4); (64, 42, 8); (64, 22, 16); (64, 7, 32), (64, 1, 64); (64, 0,∞).

1

Page 304: MIT Principal of Digital Communication

( )

Similarly, the parameters for the nontrivial n = 128 RM codes are

(128, 127, 2); (128, 120, 4); (128, 99, 8); (128, 64, 16); (128, 29, 32); (128, 8, 64); (128, 1, 128).

Problem 4.3 (optimizing SPC and EH codes)

(a) Using the rule of thumb that a factor of two increase in Kb costs 0.2 dB in effective coding gain, find the value of n for which an (n, n − 1, 2) SPC code has maximum effective coding gain, and compute this maximum in dB.

K

The nominal coding gain of an (n, n − 1, 2) SPC code is γc = 2(n − 1)/n, and the number of nearest neighbors is N2 = n(n − 1)/2, so the number of nearest neighbors per bit is

b = n/2. The effective coding gain in dB is therefore approximately

γeff = 10 log10 2(n − 1)/n − (0.2) log2 n/2

= 10(log10 e) ln 2(n − 1)/n − (0.2)(log2 e) ln n/2.

Differentiating with respect to n, we find that the maximum occurs when

1 1 1 10(log10 e) − − (0.2)(log2 e) = 0,

n − 1 n n

which yields 10 log10 e

n − 1 = ≈ 15. (0.2) log2 e

Thus the maximum occurs for n = 16, where

γeff ≈ 2.73 − 0.6 = 2.13 dB.

(b) Similarly, find the m such that the (2m , 2m − m − 1, 4) extended Hamming code has maximum effective coding gain, using

2m(2m − 1)(2m − 2)N4 = ,

24

and compute this maximum in dB.

γSimilarly, the nominal coding gain of a (2m , 2m − m − 1, 4) extended Hamming code is

c = 4(2m −m−1)/2m, and the number of nearest neighbors is N4 = 2m(2m −1)(2m −2)/24, so the number of nearest neighbors per bit is Kb = 2m(2m − 1)(2m − 2)/24(2m − m − 1). Computing effective coding gains, we find

γeff (8, 4, 4) = 2.6 dB;

γeff (16, 11, 4) = 3.7 dB;

γeff (32, 26, 4) = 4.0 dB;

γ

γeff (64, 57, 4) = 4.0 dB;

eff (128, 120, 4) = 3.8 dB,

which shows that the maximum occurs for 2m = 32 or 64 and is about 4.0 dB.

2

Page 305: MIT Principal of Digital Communication

′′

Problem 4.4 (biorthogonal codes)

We have shown that the first-order Reed-Muller codes RM(1, m) have parameters(2m, m + 1, 2m−1), and that the (2m , 1, 2m) repetition code RM(0, m) is a subcode.

(a) Show that RM(1, m) has one word of weight 0, one word of weight 2m, and 2m+1 − 2 words of weight 2m−1 . [Hint: first show that the RM(1, m) code consists of 2m comple-mentary codeword pairs {x,x + 1}.] Since the RM(1, m) code contains the all-one word 1, by the group property it contains the complement of every codeword. The complement of the all-zero word 0, which has weight 0, is the all-one word 1, which has weight 2m . In general, the complement of a weight-w word has weight 2m − w. Thus if the minimum weight of any nonzero word is 2m−1, then all other codewords must have weight exactly 2m−1 .

(b) Show that the Euclidean image of an RM(1, m) code is an M = 2m+1 biorthogonal signal set. [Hint: compute all inner products between code vectors.]

The inner product between the Euclidean images s(x), s(y) of two binary n-tuples x,y is

〈s(x), s(y)〉 = (n − 2dH (x,y))α2 .

Thus x and y are orthogonal when dH (x,y) = n/2 = 2m−1 . It follows that every codeword x in RM(1, m) is orthogonal to every other word, except x + 1, to which it is antipodal. Thus the Euclidean image of RM(1, m) is a biorthogonal signal set.

(c) Show that the code C ′ consisting of all words in RM(1, m) with a 0 in any given coordinate position is a (2m, m, 2m−1) binary linear code, and that its Euclidean image is an M = 2m orthogonal signal set. [Same hint as in part (a).]

By the group property, exactly half the words have a 0 in any coordinate position. More-over, this set of words C ′ evidently has the group property, since the sum of any two codewords in RM(1, m) that have a 0 in a certain position is a codeword in RM(1, m) that has a 0 in that position. These words include the all-zero word but not the all-one word. The nonzero words in C ′ thus all have weight 2m−1 . Thus any two distinct Euclidean images s(x) are orthogonal. Therefore s(C ′) is an orthogonal signal set with M = 2m signals.

(d) Show that the code C ′′ consisting of the code words of C ′ with the given coordinate deleted (“punctured”) is a binary linear (2m − 1, m, 2m−1) code, and that its Euclidean image is an M = 2m simplex signal set. [Hint: use Exercise 7 of Chapter 5.]

C is the same code as C ′ , except with one less bit. Since the deleted bit is always a zero, deleting this coordinate does not affect the weight of any word. Thus C ′′ is a binary linear (2m − 1, m, 2m−1) code in which every nonzero word has Hamming weight 2m−1 . Consequently the inner product of the Euclidean images of any two distinct codewords is

〈s(x), s(y)〉 = (n − 2dH (x,y))α2 = −α2 = − E(A)

,2m − 1

where E(A) = (2m − 1)α2 is the energy of each codeword. This is the set of inner products of an M = 2m simplex signal set of energy E(A), so s(C ′′) is geometrically equivalent to a simplex signal set.

3

Page 306: MIT Principal of Digital Communication

[ ]

′ ′

Problem 4.5 (generator matrices for RM codes)

ULet square 2m × 2m matrices Um, m ≥ 1, be specified recursively as follows. The matrix 1 is the 2 × 2 matrix [ ]

1 0 U1 = .

1 1

The matrix U is the 2m × 2m matrixm

Um−1 0 U

Um = . m−1 Um−1

(In other words, Um is the m-fold tensor product of U1 with itself.)

(a) Show that RM(r, m) is generated by the rows of Um of Hamming weight 2m−r or greater. [Hint: observe that this holds for m = 1, and prove by recursion using the |u|u + v| construction.] For example, give a generator matrix for the (8, 4, 4) RM code.

2We first observe that Um is a lower triangular matrix with ones on the diagonal. Thus its

m rows are linearly independent, and generate the universe code (2m , 2m , 1) = RM(m, m).

U

The three RM codes with m = 1 are RM(1, 1) = (2, 2, 1), RM(0, 1) = (2, 1, 2), and RM(−1, 1) = (2, 0,∞). By inspection, RM(1, 1) = (2, 2, 1) is generated by the two rows of

1 of weight 1 or greater (i.e., both rows), and RM(0, 1) = (2, 1, 2) is generated by the row of U1 of weight 2 or greater (i.e., the single row (1, 1)). (Moreover, RM(−1, 1) = (2, 0,∞) is generated by the rows of U1 of weight 4 or greater (i.e., no rows).)

2Suppose now that RM(r, m − 1) is generated by the rows of Um−1 of Hamming weight

m−1−r or greater. By the |u|u + v| construction,

RM(r, m) = {(u,u + v) | u ∈ RM(r, m − 1),v ∈ RM(r − 1, m − 1)}. Equivalently, since RM(r − 1, m − 1) is a subcode of RM(r, m − 1), we can write

RM(r, m) = {(u ′ + v,u ) | u ′ ∈ RM(r, m − 1),v ∈ RM(r − 1, m − 1)}, where u′ = u + v. Thus a set of generators for RM(r, m) is

{(u ,u ), | u ′ ∈ RM(r, m − 1)}; {(v,0), | v ∈ RM(r − 1, m − 1)}. Now from the construction of Um from Um−1, each of these generators is a row of Um with weight 2m−r or greater, so these rows certainly suffice to generate RM(r, m). Moreover, they are linearly independent, so their number is the dimension of RM(r, m):

k(r, m) = k(r, m − 1) + k(r − 1, m − 1).

For example, the (8, 4, 4) code is generated by the four rows of U8 of weight 4 or more: ⎡ ⎤ 1 0 0 0 0 0 0 0 ⎥⎢ 1 1 0 0 0 0 0 0 ⎢ ⎥ ⎡ ⎤ ⎢ 1 0 1 0 0 0 0 0 ⎥ 1 1 1 1 0 0 0 0 ⎢ ⎥ ⎥⎢ 1 1 1 1 0 0 0 0 ⎥ ⎢ 1 1 0 0 1 1 0 0 ⎢ ⎢ ⎥ . ⎢ ⎥ ⎦ U8 = 1 0 0 0 1 0 0 0

⎥ ; G(8,4,4) = ⎣ 1 0 1 0 1 0 1 0 ⎢ ⎥ ⎢ 1 1 0 0 1 1 0 0 ⎥ 1 1 1 1 1 1 1 1 ⎢ ⎥ ⎦⎣ 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

4

Page 307: MIT Principal of Digital Communication

( ) ( )

∑ ( )

( )

m(b) Show that the number of rows of Um of weight 2m−r is r . [Hint: use the fact that

m is the coefficient of zm−r in the integer polynomial (1 + z)m.]r

Following the hint, let N(r, m) denote the number of rows of Um of weight precisely 2m−r , and define the generator polynomial

m

gm(z) = N(r, m)z r . r=0

2

Then since N(0, 1) = N(1, 1) = 1, we have g1(z) = 1 + z. Moreover, since the number of rows of Um of weight precisely 2m−r is equal to the number of rows of Um−1 of weight

m−r plus the number of rows of Um−1 of weight 2m−r−1, we have

N(r, m) = N(r − 1, m − 1) + N(r, m − 1).

This yields the recursion gm(z) = (1 + z)gm−1(z), from which we conclude that m ( )

gm(z) = (1 + z)m = ∑ m

z r . r

r=0 ( ) mConsequently N(r, m) is the coefficient of zr , namely N(r, m) = . r

m(c) Conclude that the dimension of RM(r, m) is k(r, m) = 0≤j≤r j .

Since k(r, m) is the number of rows of Um of weight 2m−r or greater, we have

∑ ∑ m k(r, m) = N(r, m) = .

j0≤j≤r 0≤j≤r

Problem 4.6 (“Wagner decoding”)

Let C be an (n, n − 1, 2) SPC code. The Wagner decoding rule is as follows. Make hard decisions on every symbol rk, and check whether the resulting binary word is in C. If so, accept it. If not, change the hard decision in the symbol rk for which the reliability metric |rk | is minimum. Show that the Wagner decoding rule is an optimum decoding rule for SPC codes. [Hint: show that the Wagner rule finds the codeword x ∈ C that maximizes r(x | r).] The maximum-reliability (MR) detection rule is to find the codeword that maximizes r(x | r) = |rk |(−1)e(xk ,rk ), where e(xk , rk ) = 0 if the signs of s(xk ) and rk agree, and k 1 otherwise. MR detection is optimum for binary codes on a Gaussian channel.

If there is a codeword such that e(xk , rk ) = 0 for all k, then r(x | r) clearly reaches its maximum possible value, namely |rk |, so this codeword should be chosen. k

A property of a SPC code is that any word not in the code (i.e., an odd-weight word) may be changed to a codeword (i.e., an even-weight word) by changing any single coordinate value. The resulting value of r(x | r) will then be ( |rk |) − 2|rk� |, where k′ is the index k of the changed coordinate. To maximize r(x | r), we should therefore choose the k′ for which |rk� | is minimum. This is the Wagner decoding rule.

It is clear that any further changes can only further lower r(x | r), so Wagner decoding succeeds in finding the codeword that maximizes r(x | r), and is thus optimum.

5

Page 308: MIT Principal of Digital Communication

Problem 4.7 (small cyclic groups).

Write down the addition tables for Z2, Z3 and Z4. Verify that each group element appears precisely once in each row and column of each table.

The addition tables for Z2, Z3 and Z4 are as follows:

+ 0 1 +

0 1

0 1 1 0

0 1 2

0 1 2 0 1 2 1 2 0 2 0 1

+0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2

0 1 2 3

In each table, we verify that every row and column is a permutation of Zn.

Problem 4.8 (subgroups of cyclic groups are cyclic).

Show that every subgroup of Zn is cyclic. [Hint: Let s be the smallest nonzero element in a subgroup S ⊆ Zn, and compare S to the subgroup generated by s.]

Following the hint, let S be a subgroup of Zn = {0, 1, . . . , n − 1}, let s be the smallest nonzero element of S, and let S(s) = {s, 2s, . . . , ms = 0} be the (cyclic) subgroup of S generated by s. Suppose that S �= S(s); i.e., there is some element t ∈ S that is not in S(s). Then by the Euclidean division algorithm t = qs + r for some r < s, and moreover r �= 0 because t = qs implies t ∈ S(s). But t ∈ S and qs ∈ S(s) ⊆ S imply r = t− qs ∈ S; but r �= 0 is smaller than the smallest nonzero element s ∈ S, contradiction. Thus S = S(s); i.e., S is the cyclic subgroup that is generated by its smallest nonzero element.

6

Page 309: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, March 2, 2005 MIT, Spring 2005 Handout #11

Due: Wednesday, March 9,

Problem Set 5

Problem 5.1 (Euclidean division algorithm).

(a) For the set F[x] of polynomials over any field F, show that the distributive law holds: (f1(x) + f2(x))h(x) = f1(x)h(x) + f2(x)h(x).

(b) Use the distributive law to show that for any given f(x) and g(x) in F[x], there is a unique q(x) and r(x) with deg r(x) < deg g(x) such that f(x) = q(x)g(x) + r(x).

Problem 5.2 (unique factorization of the integers).

Following the proof of Theorem 7.7, prove unique factorization for the integers Z.

Problem 5.3 (finding irreducible polynomials).

(a) Find all prime polynomials in F2[x] of degrees 4 and 5. [Hint: There are three prime polynomials in F2[x] of degree 4 and six of degree 5.]

(b) Show that x16 + x factors into the product of the prime polynomials whose degrees divide 4, and x32 + x factors into the product of the prime polynomials whose degrees divide 5.

Problem 5.4 (The nonzero elements of Fg(x) form an abelian group under multiplication).

Let g(x) be a prime polynomial of degree m, and r(x), s(x), t(x) polynomials in Fg(x).

(a) Prove the distributive law, i.e., (r(x) + s(x)) ∗ t(x) = r(x) ∗ t(x) + s(x) ∗ t(x). [Hint: Express each product as a remainder using the Euclidean division algorithm.]

= 0, show that r(x) ∗ s(x) � = t(x).(b) For r(x) � = r(x) ∗ t(x) if s(x) �(c) For r(x) �= 0, show that as s(x) runs through all nonzero polynomials in Fg(x), the product r(x) ∗ s(x) also runs through all nonzero polynomials in Fg(x).

(d) Show from this that r(x) �= 0 has a mod-g(x) multiplicative inverse in Fg(x); i.e., that r(x) ∗ s(x) = 1 for some s(x) ∈ Fg(x).

Problem 5.5 (Construction of F32).

F

(a) Using an irreducible polynomial of degree 5 (see Problem 5.3), construct a finite field 32 with 32 elements.

(b) Show that addition in F32 can be performed by vector addition of 5-tuples over F2.

(c) Find a primitive element α ∈ F32. Express every nonzero element of F32 as a distinct power of α. Show how to perform multiplication and division of nonzero elements in F32

using this “log table.”

1

2005

Page 310: MIT Principal of Digital Communication

(d) Discuss the rules for multiplication and division in F32 when one of the field elements involved is the zero element, 0 ∈ F32.

F

Problem 5.6 (Second nonzero weight of an MDS code)

Show that the number of codewords of weight d + 1 in an (n, k, d) linear MDS code overq is � � � � � �

n d + 1 Nd+1 = (q 2 − 1) − (q − 1) ,

d + 1 d

where the first term in parentheses represents the number of codewords with weight ≥ d in any subset of d+ 1 coordinates, and the second term represents the number of codewords with weight equal to d.

Problem 5.7 (Nd and Nd+1 for certain MDS codes)

(a) Compute the number of codewords of weights 2 and 3 in an (n, n − 1, 2) SPC code over F2.

(b) Compute the number of codewords of weights 2 and 3 in an (n, n − 1, 2) linear code over F3.

(c) Compute the number of codewords of weights 3 and 4 in a (4, 2, 3) linear code over F3.

Problem 5.8 (“Doubly” extended RS codes)

q )q+1(a) Consider the following mapping from (Fq )

k to (F . Let (f0, f1, . . . , fk−1) be any k-tuple over Fq , and define the polynomial f(z) = f0 + f1z + · · · + fk1 z

k−1 of degree less than k. Map (f0, f1, . . . , fk−1) to the (q + 1)-tuple ({f(βj ), βj ∈ Fq }, fk−1)— i.e., , to the RS codeword corresponding to f(z), plus an additional component equal to fk−1.

Show that the qk (q + 1)-tuples generated by this mapping as the polynomial f(z) ranges over all qk polynomials over Fq of degree less than k form a linear (n = q+1, k, d = n−k+1) MDS code over Fq . [Hint: f(z) has degree less than k − 1 if and only if fk−1 = 0.]

(b) Construct a (4, 2, 3) linear code over F3. Verify that all nonzero words have weight 3.

2

Page 311: MIT Principal of Digital Communication

� � � � � � � �

� �

6.451 Principles of Digital Communication II Wednesday, March 9, 2005 MIT, Spring 2005 Handout #12

Problem Set 5 Solutions

Problem 5.1 (Euclidean division algorithm).

(a) For the set F[x] of polynomials over any field F, show that the distributive law holds: (f1(x) + f2(x))h(x) = f1(x)h(x) + f2(x)h(x).

Using the associative and commutative laws and the rules of polynomial arithmetic, we have

(f1i + f2i)x i hj xj(f1(x) + f2(x)) h(x) = = (f1i + f2i)hj x i+j

i j i j

and (f1ihj + f2ihj )x i+jf1(x)h(x) + f2(x)h(x) = .

i j

Finally, (f1i + f2i)hj = f1ihj + f2ihj by the distributive law over F.

(b) Use the distributive law to show that for any given f(x) and g(x) in F[x], there is a unique q(x) and r(x) with deg r(x) < deg g(x) such that f(x) = q(x)g(x) + r(x).

Suppose that f(x) can be written in two ways:

f(x) = q(x)g(x) + r(x) = q ′(x)g(x) + r (x)

where deg r(x) < deg g(x) and deg r′(x) < deg g(x). Using the distributive law, we have

(q(x) − q ′(x))g(x) + (r(x) − r (x)) = 0. (1)

If q(x) = q′(x), then (q(x) − q (x))g(x) = 0, so (1) implies r(x) = r (x). If q(x) �′ ′ = q′(x), then (q(x) − q′(x))g(x) �= 0 and has degree ≥ deg g(x), whereas r(x) − r′(x) has degree < deg g(x), so (1) cannot hold. Thus the quotient q(x) and remainder r(x) are unique.

Problem 5.2 (unique factorization of the integers).

Following the proof of Theorem 7.7, prove unique factorization for the integers Z.

We follow the statement and proof of Theorem 7.7, replacing statements about polyno-mials by corresponding statements about integers:

Theorem 7.0 (Unique factorization of integers) Every positive integer n ∈ Z with magnitude |n| ≥ 2 may be written in the form

k

n = pi, i=1

where each pi, 1 ≤ i ≤ k, is a prime integer. This factorization is unique, up to the order of the factors.

1

Page 312: MIT Principal of Digital Communication

Proof. If n is a prime, then n = n is the desired unique factorization. If n is not a prime, then n can be factored into the product ab of two nontrivial factors each less than n, which in turn can be factored, and so forth. Since magnitudes decrease with each factorization, this process can only terminate in a prime factorization.

Now we need to prove uniqueness. Thus assume hypothetically that the theorem is false and let n be the smallest integer that has more than one such factorization,

n = a1 · · · ak = b1 · · · bj ; j, k ≥ 1, (2)

where a1, . . . , ak and b1, . . . , bj are prime integers. We will show that this implies an integer n′ smaller than n with non-unique factorization, and this contradiction will prove the theorem. Now a1 cannot appear on the right side of (2), else it could be factored out for an immediate contradiction. Similarly, b1 cannot appear on the left. Without loss of generality, assume b1 ≤ a1. By the Euclidean division algorithm, a1 = qb1 + r. Since a1

is prime, r �b

= 0 and 0 < r < b1 ≤ a1. Now r has a prime factorization r = r1 · · · rn, where 1 is not a divisor of any of the ri, since it has greater magnitude. Substituting into (2),

we have

(qb1 + r1 · · · rn)a2 · · · ak = b1 · · · bj ,

or, defining n′ = r1 · · · rna2 · · · ak and rearranging terms,

n = r1 · · · rna2 · · · ak = b1 (b2 · · · bj − qa2 · · · ak) .

Now n′ is positive, because it is a product of positive integers; it is less than n, since r < a1; and it has two different factorizations, with b1 a factor in one but not a divisor of any of the factors in the other; contradiction.

Problem 5.3 (finding irreducible polynomials).

(a) Find all prime polynomials in F2[x] of degrees 4 and 5. [Hint: There are three prime polynomials in F2[x] of degree 4 and six of degree 5.]

We can immediately eliminate all polynomials which have the degree-1 factor x (i.e.,whose constant term is 0) or the degree-1 factor x + 1 (i.e., which have an even number of nonzero coefficients). This eliminates 3 of the candidate polynomials. We then need to

4 sieve out only multiples of the degree-2 prime polynomial x2 + x+ 1 and the two degree-3

3prime polynomials, x3 + x + 1 and its reverse, x + x2 + 1. 4This leaves four degree-4 polynomials. One of these is (x2 + x + 1)2 = x + x2 + 1. The

remaining three are prime: 4 4 3 2 x + x + 1, x 4 + x 3 + 1, x + x + x + x + 1.

Similarly, this leaves eight degree-5 polynomials. Two of these are multiples of the degree-2 prime polynomial with one of the two degree-3 prime polynomials, namely (x2 + x + 1)

5 5(x3 + x + 1) = x + x4 + 1 and its reverse, x + x + 1. The remaining six are prime: 5 5 3 2 4 2 x + x 2 + 1, x + x + x + x + 1, x 5 + x + x + x + 1,

5 3 5 3and their reverses x5 + x3 + 1, x + x4 + x + x2 + 1, x + x4 + x + x + 1.

2

Page 313: MIT Principal of Digital Communication

16

(b) Show that x16 + x factors into the product of the prime polynomials whose degrees divide 4, and x32 + x factors into the product of the prime polynomials whose degrees divide 5.

The prime polynomials whose degrees divide 4 are x, x + 1, x2 + x + 1 and the three degree-4 prime polynomials above. Straightforward polynomial multiplication shows that

4 3 3 2 x(x + 1)(x 2 + x + 1)(x + x + 1)(x 4 + x + x + x + 1)(x 4 + x + 1) = x + x.

4 +x3 10 +x5(Note that (x2 +x+1)(x +1)(x4 +x+1) = x +1 and (x+1)(x4 +x3 +x2 +x+1) = x5 + 1.)

Similarly, the prime polynomials whose degrees divide 5 are x, x + 1 and the six degree-5 prime polynomials above. Again, straightforward polynomial multiplication shows that their product is x32 + x.

Problem 5.4 (The nonzero elements of Fg(x) form an abelian group under multiplication).

Let g(x) be a prime polynomial of degree m, and r(x), s(x), t(x) polynomials in Fg(x).

(a) Prove the distributive law, i.e., (r(x) + s(x)) ∗ t(x) = r(x) ∗ t(x) + s(x) ∗ t(x). [Hint: Express each product as a remainder using the Euclidean division algorithm.]

By the distributive law for ordinary polynomials, we have

(r(x) + s(x))t(x) = r(x)t(x) + s(x)t(x).

Following the hint, write r(x)t(x) = q1(x)g(x) + r1(x), s(x)t(x) = q2(x)g(x) + r2(x), and (r(x) + s(x))t(x) = q3(x)g(x) + r3(x), where deg ri(x) < deg g(x) for i = 1, 2, 3. Then r(x) ∗ t(x) = r1(x), s(x) ∗ t(x) = r2(x), and (r(x) + s(x)) ∗ t(x) = r3(x). Now from the equation above,

q3(x)g(x) + r3(x) = q1(x)g(x) + r1(x) + q2(x)g(x) + r2(x).

which implies

0 = (q3(x) − q1(x) − q2(x))g(x) + (r3(x) − r1(x) − r2(x))

Since 0 = 0q(x) + 0 and such a decomposition is unique, we have r3(x) = r1(x) + r2(x).

= 0, show that r(x) ∗ s(x) � = t(x).(b) For r(x) � = r(x) ∗ t(x) if s(x) �The equation r(x) ∗ s(x) = r(x) ∗ t(x) implies r(x) ∗ (s(x) − t(x)) = 0; but since g(x) is irreducible, this implies either r(x) = 0 or s(x) = t(x).

(c) For r(x) �= 0, show that as s(x) runs through all nonzero polynomials in Fg(x), the product r(x) ∗ s(x) also runs through all nonzero polynomials in Fg(x).

By part (b), the products r(x) ∗ s(x) are all nonzero and are all distinct as as s(x) runs mthrough the |F| − 1 nonzero polynomials in Fg(x), so they must be all of the |F|m − 1

nonzero polynomials in Fg(x).

3

Page 314: MIT Principal of Digital Communication

(d) Show from this that r(x) �= 0 has a mod-g(x) multiplicative inverse in Fg(x); i.e., that r(x) ∗ s(x) = 1 for some s(x) ∈ Fg(x).

By part (c), the products r(x) ∗ s(x) include every nonzero polynomial in Fg(x), including = 0 ∈ Fg(x), there exists a unique s(x) �1. Therefore, given r(x) � = 0 ∈ Fg(x) such that

r(x) ∗ s(x) = 1; i.e., such that s(x) is the multiplicative inverse of r(x) in Fg(x).

Since the multiplication operation ∗ is associative and commutative and has identity 1, it follows that the nonzero elements of Fg(x) form an abelian group under multiplication.

Problem 5.5 (Construction of F32)

(a) Using an irreducible polynomial of degree 5 (see Problem 5.3), construct a finite field F32 with 32 elements.

We can construct F32 using any of the 6 irreducible polynomials of degree 5 found in Problem 5.3. Using g(x) = x5 + x2 + 1, the field F32 is defined as the set of all 32 binary polynomials of degree 4 or less under polynomial arithmetic modulo g(x).

(b) Show that addition in F32 can be performed by vector addition of 5-tuples over F2.

The sum of two polynomials of degree 4 or less is obtained by a componentwise sum of their coefficients, whether modulo g(x) or not.

(c) Find a primitive element α ∈ F32. Express every nonzero element of F32 as a distinct power of α. Show how to perform multiplication and division of nonzero elements in F32

using this “log table.” ∗

F

The set F32 of nonzero elements of F32 is the set of roots of the equation x31 = 1 in 32; i.e., every β ∈ F ∗ satisfies β31 = 1, so the multiplicative order of every element 32

must divide 31, which is prime. There is one element of multiplicative order 1, namely 1. The remaining 30 elements must therefore have multiplicative order 31; i.e., there are 30

∗primitive elements in F32. Therefore α = x must be primitive. We compute its powers, reducing x5 to x2 + 1 as necessary:

α = x, 2α2 = x , 3α3 = x , 4α4 = x ,

α5 = x 2 + 1, 3α6 = x + x, 4 2α7 = x + x , 3α8 = x + x 2 + 1, 4 3

α

α9 = x + x + x, 10

α

= x 4 + 1, 11 2 = x + x + 1,

α

α12 = x 3 + x 2 + x, 13 4 3 2 = x + x + x ,

4

Page 315: MIT Principal of Digital Communication

α14 4 3

α

= x + x + x 2 + 1, 15 4 3 2

α

= x + x + x + x + 1, 16 4 3

α

= x + x + x + 1, 17 4

α

= x + x + 1, 18 = x + 1,

α19 = x 2 + x,

α20 3 2

α

= x + x , 21 4 3

α

= x + x , 22 4

α

= x + x 2 + 1, 23 3 2 = x + x + x + 1,

α24 = x 4 + x 3 + x 2 + x,

α25 4

α

= x + x 3 + 1, 26 4 2

α

= x + x + x + 1, 27 3 = x + x + 1,

α28 = x 4 + x 2 + x,

α29

α

α

= x 3 + 1, 30 = x 4 + x, 31 = 1.

The product of αi and αj is αi+j . The quotient of αi divided by αj is αi−j . In both cases the exponents are computed modulo 31, since α31 = 1.

(d) Discuss the rules for multiplication and division in F32 when one of the field elements involved is the zero element, 0 ∈ F32.

The product of 0 with any field element is 0. Division by 0 is not defined; i.e., it is illegal(as with the real or complex field).

F

Problem 5.6 (Second nonzero weight of an MDS code)

Show that the number of codewords of weight d + 1 in an (n, k, d) linear MDS code overq is � � � � � �

n d + 1 Nd+1 = (q 2 − 1) − (q − 1) ,

d + 1 d

where the first term in parentheses represents the number of codewords with weight ≥ d in any subset of d + 1 coordinates, and the second term represents the number of codewordswith weight equal to d.

Consider any subset of d + 1 = n − k + 2 coordinates. Take two of these coordinatesand combine them with the remaining k − 2 coordinates to form an information set. Fix the components in the k − 2 coordinates to zero, and let the remaining two coordinates run freely through Fq . These q2 information set combinations must correspond to q2

5

Page 316: MIT Principal of Digital Communication

� � � �

� �

� � � �

� � � �

� � � �

codewords. (In fact, we may view this subset of codewords as a shortened (d + 1, 2, d) MDS code.)

One of these codewords must be the all-zero codeword, since the code is linear. The remaining q2 − 1 codewords must have weight d or d + 1. Since there are q− 1 codewords of weight d with support in any subset of d coordinate positions, the number of codewords of weight d whose support is in any subset of d + 1 coordinate positions is d+1

� (q − 1)

d (the number of codewords of weight d in a (d + 1, 2, d) MDS code). So the number of codewords of weight d + 1 in any d + 1 coordinate positions is

d + 1 (q 2 − 1) − (q − 1) .

d

Since there are n distinct subsets of d + 1 coordinate positions, the given expression d+1

for Nd+1 follows.

Note that

d + 1 (q 2 − 1) − (q − 1) = (q + 1)(q − 1) − (d + 1)(q − 1) = (q − d)(q − 1).

d

This implies that if n > d, then d ≤ q, since otherwise Nd+1 would become negative. In other words, there exists no (n, k, d = n − k + 1) MDS code over Fq with q < d < n. For example, there exist no binary MDS codes other than the (n, n, 1), (n, n − 1, 2) and (n, 1, n) codes (and (n, 0,∞), if you like). More generally, when n ≥ q + 2, there exist forbidden values of d, namely q + 1 ≤ d ≤ n − 1.

NSimilarly, by considering shortened codes of lengths d + 2, d + 3, . . . , n, we can compute

d+2, Nd+3, . . . , Nn.

Problem 5.7 (Nd and Nd+1 for certain MDS codes)

(a) Compute the number of codewords of weights 2 and 3 in an (n, n − 1, 2) SPC code over F2.

nWe have N2 = (q − 1) 2 = n ; i.e., there is a weight-2 codeword for every coordinate

2 � � npair. Then N3 = (q − d)(q − 1) 3 = 0. This is consistent with the definition of an SPC

code as the set of all even-weight n-tuples.

(b) Compute the number of codewords of weights 2 and 3 in an (n, n − 1, 2) linear code over F3.

nHere we have N2 = (q − 1) 2 = 2 n ; i.e., there are two weight-2 codewords for every

2 � � � � ncoordinate pair. Then N3 = (q − d)(q − 1) 3 = 2 n .

3

For example, the (3, 2, 2) RS code over F3 has generators (111, 012) and codewords {000, 111, 222, 012, 120, 201, 021, 102, 210}, with N2 = 6 and N3 = 2. Thus in general a zero-sum code over a field larger than F2 has odd-weight codewords.

6

Page 317: MIT Principal of Digital Communication

� �

(c) Compute the number of codewords of weights 3 and 4 in a (4, 2, 3) linear code over F3.

4Here we have N3 = (q − 1) 3 = 2(4) = 8, so all non-zero codewords have weight 3.

(Verification: N4 = 0 because q = d.) The (4, 2, 3) linear code over F3 given in the introduction of Chapter 8 (or in the next problem) is an example of such a code, called a “tetracode.”

Problem 5.8 (“Doubly” extended RS codes)

(a) Consider the following mapping from (Fq )k to (Fq )

q+1. Let (f0, f1, . . . , fk−1) be any k-tuple over Fq , and define the polynomial f(z) = f0 + f1z + · · · + fk1 z

k−1 of degree less than k. Map (f0, f1, . . . , fk−1) to the (q + 1)-tuple ({f(βj ), βj ∈ Fq }, fk−1)— i.e., to the RS codeword corresponding to f(z), plus an additional component equal to fk−1.

f

Show that the qk (q + 1)-tuples generated by this mapping as the polynomial f(z) ranges over all qk polynomials over Fq of degree less than k form a linear (n = q + 1, k, d = n − k + 1) MDS code over Fq . [Hint: f(z) has degree less than k − 1 if and only if

k−1 = 0.]

The code evidently has length n = q + 1. It is linear because the sum of codewords corresponding to f(z) and f ′(z) is the codeword corresponding to f(z) + f ′(z), another polynomial of degree less than k. Its dimension is k because no polynomial other than the zero polynomial maps to the zero (q + 1)-tuple.

To prove that the minimum weight of any nonzero codeword is d = n − k + 1, use the hint and consider the two possible cases for fk−1:

• If fk−1 �= 0, then deg f(z) = k − 1. By the fundamental theorem of algebra, the RS codeword corresponding to f(z) has at most k − 1 zeroes. Moreover, the fk−1

component is nonzero. Thus the number of nonzero components in the code (q + 1)-tuple is at least q − (k − 1) + 1 = n − k + 1.

• If fk−1 = 0 and f(z) �= 0, then deg f(x) ≤ k − 2. By the fundamental theorem of algebra, the RS codeword corresponding to f(z) has at most k − 2 zeroes, so the number of nonzero components in the code (q+1)-tuple is at least q−(k−2) = n−k+1.

(b) Construct a (4, 2, 3) linear code over F3. Verify that all nonzero words have weight 3.

The generators of an extended RS (4, 2, 3) “tetracode” over F3 are (1110, 0121), and the code is {0000, 1110, 2220, 0121, 1201, 2011, 0212, 1022, 2102}, with N3 = 8 and N4 = 0 (as shown in Problem 5.7(c); compare the zero-sum (3, 2, 2) code of Problem 5.7(b)).

7

Page 318: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, March 30, 2005 MIT, Spring 2005 Handout #15

Due: Wednesday, April 6, 2005

Problem Set 6

Problem 6.1 (rational realizations).

(a) Generalize Figure 2 of Chapter 9 to realize any causal rational impulse response g(D) = n(D)/d(D) with ν = max{deg n(D), deg d(D)} memory elements, where n(D) and d(D) are both polynomials in F2[D].

(b) By a further generalization, show how to realize a rate-1/n convolutional encoder with causal rational transfer function g(D) = n(D)/d(D) with ν = max{deg n(D), deg d(D)}memory elements, where n(D) and d(D) are polynomial.

Problem 6.2 (rational = eventually periodic).

Show that a Laurent D-transform f (D) ∈ F2((D)) is rational if and only if the corre-sponding Laurent sequence f is finite or eventually becomes periodic.

[Hints: (a) show that if a sequence f is eventually periodic with period P , then its D-transform f (D) can be written as f (D) = g(D)/(1 − DP ), where g(D) is finite; (b)using the results of Problem 6.1(a), show that any causal rational Laurent D-transformf (D) = n(D)/d(D) is the impulse response of a finite-state linear time-invariant systemover F2, and therefore must be finite or eventually periodic.]

Problem 6.3 (input/output properties)

(a) If y(D) = u(D)g(D) where u(D) is Laurent and g(D) = {nj (D)/dj (D)} is causal and rational, show that y(D) is an n-tuple of formal Laurent series, y(D) ∈ (F2((D)))n .

(b) Show that y(D) is rational if and only if u(D) is rational; i.e., the rational subcode of C = {y(D) = u(D)g(D) | u(D) ∈ F2((D))} is

Cr = {y(D) = u(D)g(D) | u(D) ∈ F2(D)}.

g

(c) Show that y(D) is finite if and only if u(D) = a(D)lcm{dj (D)}/ gcd{nj (D)}, where a(D) is finite, lcm{dj (D)} is the least common multiple of the denominators dj (D) of the

j (D), and gcd{nj (D)} is the greatest common divisor of their numerators.

Problem 6.4 (SPC codes have a 2-state trellis diagram.)

Show that if the (catastrophic) rate-1/1 binary linear convolutional code generated byg(D) = 1 + D is terminated with deg u(D) < µ, then the resulting code is a (µ + 1, µ, 2)SPC code. Conclude that any binary linear SPC code may be represented by a 2-statetrellis diagram.

1

Page 319: MIT Principal of Digital Communication

Problem 6.5 (The (7, 4, 3) Hamming code has an 8-state trellis diagram.)

Show that if the (catastrophic) rate-1/1 binary linear convolutional code generated byg(D) = 1 + D + D3 is terminated with µ = 4, then the resulting code is a (7, 4, 3)Hamming code.

Problem 6.6 (Viterbi algorithm decoding of SPC codes)

As shown in Problem 6.4, any (µ+1, µ, 2) binary linear SPC block code may be representedby a two-state trellis diagram. Let µ = 7, and let the received sequence from a discrete-time AWGN channel be given by r = (0.1, −1.0, −0.7, 0.8, 1.1, 0.3, −0.9, 0.5). PerformViterbi algorithm decoding of this sequence, using the two-state trellis diagram of the(8, 7, 2) SPC code.

Compare and contrast the performance and complexity of VA decoding to that of “Wagnerdecoding” (Problem 4.6) for this example.

2

Page 320: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, April 6, 2005MIT, Spring 2005 Handout #16

Problem Set 6 Solutions

Problem 6.1 (rational realizations).

(a) Generalize Figure 2 of Chapter 9 to realize any causal rational impulse response g(D) = n(D)/d(D) with ν = max{deg n(D), deg d(D)} memory elements, where n(D) and d(D) are both polynomials in F2[D].

Since g(D) is causal, we may assume that D does not divide d(D). By multiplying the numerator and the denominator by the same scalar, we may further assume that d0 = 1.

The desired realization is then as follows. Let v(D) denote a sequence that enters a shift register of length ν = max{deg n(D), deg d(D)}. From this shift register we can obtain the sequences Dv(D), D2v(D), . . . , Dν v(D). By calculating an appropriate linear combination of these sequences, we can obtain the sequence f(D) = (d(D) − 1)v(D), which is fed back to the shift register input as shown in Figure 1 below. The shift register input is then

v(D) = u(D) − (d(D) − 1)v(D).

Solving this equation, we obtain u(D) = d(D)v(D), or

u(D) v(D) = .

d(D)

Now by calculating an appropriate linear combination of the shift-register contents Dv(D), D2v(D), . . . , Dν v(D), we can obtain the output sequence

n(D) y(D) = n(D)v(D) = u(D),

d(D)

which is the desired input-output map.

(d(D) − 1)v(D) linear combination

6 6 6 6

-u(D) n+ −?

-v(D) D -Dv(D)

D -D2v(D) . . . -Dν−1v(D) D

Dν v(D)

? ? ? ? ? linear combination

y(D) = n(D)v(D) -

Figure 1. Realization of a linear system with impulse response g(D) = n(D) (d0 = 1). d(D)

1

Page 321: MIT Principal of Digital Communication

� �

(b) By a further generalization, show how to realize a rate-1/n convolutional encoder with causal rational transfer function g(D) = n(D)/d(D) with ν = max{deg n(D), deg d(D)}memory elements, where n(D) and d(D) are polynomial.

By calculating n appropriate linear combinations of the shift-register contents Dv(D), D2v(D), . . . , Dν v(D), we can obtain each of the n output sequences

nj (D) yj (D) = nj (D)v(D) = u(D), 1 ≤ j ≤ n,

d(D)

which give the n desired input-output maps. This realization is illustrated in Figure 2.

(d(D) − 1)v(D) linear combination

6 6 6 6

u(D) ?− v(D) Dv(D) D2v(D-) . . .Dν−1v(D) Dν v(D)- n - - -+ D D D

? ? ? ? ? n linear combinations

y(D) = n(D)v(D) -

Figure 2. Realization of a rate-1/n convolutional encoder with n(D)causal rational transfer function g(D) = d(D) (d0 = 1).

Problem 6.2 (rational = eventually periodic).

Show that a Laurent D-transform f(D) ∈ F2((D)) is rational if and only if the corre-sponding Laurent sequence f is finite or eventually becomes periodic.

[Hints: (a) show that if a sequence f is eventually periodic with period P , then its D-transform f(D) can be written as f(D) = g(D)/(1 − DP ), where g(D) is finite; (b) using the results of Problem 6.1(a), show that any causal rational Laurent D-transform f(D) = n(D)/d(D) is the impulse response of a finite-state linear time-invariant system over F2, and therefore must be finite or eventually periodic.]

(D

We first show that if f(D) is finite, then f(D) is rational. If f(D) is finite with delay del f(D) = δ ≥ 0, then f(D) is rational because it is is polynomial. If f(D) is finite with delay del f(D) = δ < 0, then f(D) is rational because it can be written as f(D) =

−δ f(D))/(D−δ ), where both the numerator and denominator are polynomial.

Next, following hint (a), we show that if f(D) is eventually periodic, then f(D) is rational. If f(D) is infinite and eventually periodic with period P starting at time γ, then f(D) can be written as

f(D) = f0(D) + Dγ p(D) + DP p(D) + D2P p(D) + · · · ,

where f0(D) is finite with degree deg f0(D) < γ and p(D) �= 0 is polynomial with degree

2

Page 322: MIT Principal of Digital Communication

deg p(D) < P . Since 1 + DP + D2P + · · · = 1/(1 − DP ), we can then write

(1 − DP )f0(D) + p(D)f (D) = .

1 − DP

Since this is a ratio of finite sequences, f (D) is rational.

Conversely, suppose that f (D) is rational; i.e., f (D) = n(D)/d(D) for some polynomialn(D) and d(D) �

D

= 0. Then we can prove that f (D) is finite or eventually periodic by using hint (b). Using the result of Problem 6.1(a), we can realize a system with a causal rational impulse response f (D) = n(D)/d(D) with ν = max{deg n(D), deg d(D)} memory elements. (If f (D) is not causal, consider instead the causal rational sequence f ′(D) =

−del f (D)f (D).) Since a realization with a finite number of memory elements has only a finite number of states, its impulse response must be finite or eventually periodic, because after the initial impulse, the system is autonomous (i.e., there is no input), and an autonomous finite-state system must eventually cycle through a periodic sequence of states.

Problem 6.3 (input/output properties)

(a) If y(D) = u(D)g(D) where u(D) is Laurent and g(D) = {nj (D)/dj (D)} is causal and rational, show that y(D) is an n-tuple of formal Laurent series, y(D) ∈ (F2((D)))n .

Each rational function gj (D) may be identified with a formal Laurent series. Each yj (D) is then a convolution of two formal Laurent series, which is a well-defined formal Laurent series.

(b) Show that y(D) is rational if and only if u(D) is rational; i.e., the rational subcode of C = {y(D) = u(D)g(D) | u(D) ∈ F2((D))} is

Cr = {y(D) = u(D)g(D), u(D) ∈ F2(D)}.

If u(D) is rational, then yj (D) = u(D)gj (D) is the product of two rational functions and is thus rational. Conversely, if yj (D) = u(D)gj (D) is rational, then u(D) = yj (D)/gj (D) is the product of two rational functions and is thus rational. (We assume that at least one gj (D) is nonzero.)

g

(c) Show that y(D) is finite if and only if u(D) = a(D)lcm{dj (D)}/ gcd{nj (D)}, where a(D) is finite, lcm{dj (D)} is the least common multiple of the denominators dj (D) of the

j (D), and gcd{nj (D)} is the greatest common divisor of their numerators.

Since a finite sequence is rational, by part (b) we need consider only rational u(D).

A rational function is finite if and only if when reduced to lowest terms its denominatorpolynomial is Dk for some k.

Again, the generator n-tuple g(D) has rational elements gj (D) = nj (D)/dj (D), whichwe may assume to have been reduced to lowest terms. To cancel all the denominator terms, u(D) must be a multiple of all denominators, which means it must be a multiple m(D)d(D) of their least common multiple d(D) = lcm{dj (D)} for some finite m(D).

3

Page 323: MIT Principal of Digital Communication

If u(D) has a nontrivial denominator term b(D) other than Dk , then yj (D) can be finite only if b(D) divides nj (D). Thus y(D) is finite only if b(D) divides the greatest common divisor n(D) = gcd{nj (D)}; i.e., b(D) = n(D)/c(D) for some finite c(D).

Thus we conclude that y(D) is finite if and only if

m(D)d(D) d(D) u(D) = = m(D)c(D)

n(D)/c(D) n(D)

for some finite m(D), c(D), which proves the proposition.

Problem 6.4 (SPC codes have a 2-state trellis diagram.)

Show that if the (catastrophic) rate-1/1 binary linear convolutional code generated by g(D) = 1 + D is terminated with deg u(D) < µ, then the resulting code is a (µ + 1, µ, 2) SPC code. Conclude that any binary linear SPC code may be represented by a 2-state trellis diagram.

In this case the terminated code is Cµ = {u(D)g(D) | deg u(D) < µ}, namely the set of all polynomials y(D) = u(D)(1 + D) where deg u(D) < µ. Thus the total number of possibly nonzero input bits uj is k = µ, and the total number of possibly nonzero output bits yj is n = µ + 1, since

deg y(D) = deg u(D) + 1 < µ + 1.

Finally, it is easy to see that a binary polynomial y(D) has even Hamming weight if and only if y(1) = 0; i.e., if and only if y(D) is divisible by 1 + D. Therefore Cµ is the (µ + 1, µ, 2) even-weight code; i.e., the single-parity-check (SPC) code of length µ + 1.

The rate-1/1 convolutional encoder with generator g(D) = 1 + D may be realized by a binary shift register of length ν = 1, which has 2 states. The trellis diagram of Cµ is therefore a terminated 2-state trellis like this:

*����

0 1

1n

Two-state trellis for a binary (µ + 1, µ, 2) single-parity-check code (µ = 6).

Note that if this trellis were not terminated, then it would include an all-zero path in addition to the one associated with the all-zero state sequence, namely the path associated with the all-one state sequence. This proves that as a rate-1/1 convolutional encoder, the generator g(D) = 1 + D is catastrophic. Indeed, the finite output sequence y(D) = 1 is generated by the infinite input sequence u(D) = 1/(1 + D) = 1 + D + D2 + D3 + · · · .

0

jHHH-

*��H

��0n 0

1 1

1n jHHH-

*��H

��0n 0

1 11n j

HHH-

*��H

��0n 0

1 11n j

HHH-

*��H

��0n 0

1 11n j

HHH-

*��H

��0n 0

1 11n

- - - - - - -0n 0n 0n

Hj HH1H

0 0 0 0 0

4

Page 324: MIT Principal of Digital Communication

� �

Problem 6.5 (The (7, 4, 3) Hamming code has an 8-state trellis diagram.)

Show that if the (catastrophic) rate-1/1 binary linear convolutional code generated by g(D) = 1 + D + D3 is terminated with µ = 4, then the resulting code is a (7, 4, 3) Hamming code.

In this case the terminated code is C4 = {u(D)(1 + D + D3) | deg u(D) < 4}. Thus the total number of possibly nonzero input bits uj is k = 4, and the total number of possibly nonzero output bits yj is n = 7, since deg y(D) = deg u(D) + 3 < 7. Thus C4 is a (7, 4) binary linear block code with 16 codewords, namely the set of all polynomials of the form

u0(1 + D + D3) + u1(D + D2 + D4) + u2(D2 + D3 + D5) + u3(D

3 + D4 + D6).

By simply writing down the 16 codewords, we can establish that the minimum nonzero weight is d = 3, and in fact that N3 = 7, N4 = 7 and N7 = 1. Thus C4 is a (7, 4, 3) binary linear block code. Any code with these parameters is called a Hamming code.

Problem 6.6 (Viterbi algorithm decoding of SPC codes)

As shown in Problem 6.4, any (µ+1, µ, 2) binary linear SPC block code may be represented by a two-state trellis diagram. Let µ = 7, and let the received sequence from a discrete-time AWGN channel be given by r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5). Perform Viterbi algorithm decoding of this sequence, using the two-state trellis diagram of the (8, 7, 2) SPC code.

We may first assign metrics to trellis branches so as to perform maximum-inner-product (MIP) detection: i.e., maximize j rj s(yj ). (Alternatively, we could minimize the squared distance ||r − s(y)||2 = j (rj − s(yj ))

2.) In other words, we assign the met-ric rj to branches corresponding to yj = 0, and −rj to branches corresponding to yj = 1.

At time 1 the two survivors to state 0 and state 1 therefore have metrics +0.1 and −0.1.

At time 2 we compare the two paths 00 and 11 to state 0, which have accumulated metrics−0.9 and +0.9, and choose the latter. Similarly we choose the path 01 to state 1, whichhas accumulated metric 1.1.

At time 3 we choose the path 011 to state 0, which has metric 1.8, and the path 111 tostate 1, which has metric 1.6.

Time 4: path 0110 to state 0, metric 2.6; path 1110 to state 1, metric 2.4.

Time 5: path 01100 to state 0, metric 3.7; path 11100 to state 1, metric 3.5.

Time 6: path 011000 to state 0, metric 4.0; path 111000 to state 1, metric 3.8.

Time 7: path 1110001 to state 0, metric 4.7; path 0110001 to state 1, metric 4.9.

Time 8: path 11100010 to end state 0, metric 5.2.

5

Page 325: MIT Principal of Digital Communication

Compare and contrast the performance and complexity of VA decoding to that of “Wagner decoding” (Problem 4.6) for this example.

For Wagner decoding, we first make hard decisions on every bit, yielding the word 01100010. Since this word has odd weight, it is not a codeword. We then find the least reliable hard decision, i.e., the rj with least magnitude; this occurs in the first position. We flip this bit to obtain the even-weight codeword 11100010, which must be the ML = MD = MIP codeword, as shown in Problem 4.6. Indeed, this is the same codeword as is decoded by the VA in this case.

Note that the two VA surviving paths at any time differ in precisely one position, the position of the least reliable hard decision up to that time. It can be seen that this will be true in general; this gives another proof of the optimality of Wagner decoding.

Wagner decoding clearly requires fewer arithmetic operations than VA decoding, although its logical structure is somewhat less regular.

6

Page 326: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, April 6, 2005 MIT, Spring 2005 Handout #17

Due: Wednesday, April 13, 2005

Problem Set 7

Problem 7.1 (State space sizes in trellises for RM codes)

Recall the |u|u+ v| construction of a Reed-Muller code RM(r, m) with length n = 2m andminimum distance d = 2m−r :

RM(r, m) = {(u,u + v) | u ∈ RM(r, m − 1),v ∈ RM(r − 1, m − 1)}.

Show that if the past P is taken as the first half of the time axis and the future F as the second half, then the subcodes CP and CF are both effectively equal to RM(r − 1, m− 1) (which has the same minimum distance d = 2m−r as RM(r, m)), while the projections C|Pand C|F are both equal to RM(r, m − 1). Conclude that the dimension of the minimal central state space of RM(r, m) is

dim S = dim RM(r, m − 1) − dim RM(r − 1, m − 1).

Evaluate dim S for all RM codes with length n ≤ 32.

Similarly, show that if the past P is taken as the first quarter of the time axis and the future F as the remaining three quarters, then the subcode CP is effectively equal to RM(r − 2, m − 2), while the projection C|P is equal to RM(r, m − 2). Conclude that the dimension of the corresponding minimal state space of RM(r, m) is

dim S = dim RM(r, m − 2) − dim RM(r − 2, m − 2).

Using the relation dim RM(r, m) = dim RM(r, m− 1) + dim RM(r − 1, m− 1), show that

dim RM(r, m − 2) − dim RM(r − 2, m − 2) = dim RM(r, m − 1) − dim RM(r − 1, m − 1).

Problem 7.2 (Projection/subcode duality and state space duality)

Recall that the dual code to an (n, k, d) binary linear block code C is defined as theorthogonal subspace C⊥, consisting of all n-tuples that are orthogonal to all codewords inC, and that C⊥ is a binary linear block code whose dimension is dim C⊥ = n − k.

Show that for any partition of the time axis I of C into past P and future F , the subcode (C⊥)P is equal to the dual (C|P )

⊥ of the projection C|P , and vice versa. [Hint: notice that(a,0) is orthogonal to (b, c) if and only if a is orthogonal to b.]

Conclude that at any time the minimal state spaces of C and C⊥ have the same dimension.

1

Page 327: MIT Principal of Digital Communication

Problem 7.3 (Trellis-oriented generator matrix for (16, 5, 8) RM code)

Consider the following generator matrix for the (16, 5, 8) RM code, which follows directlyfrom the |u|u + v| construction:

⎡ ⎤ 1111111100000000

⎥⎢ 1111000011110000 ⎢ ⎥ ⎥⎢ 1100110011001100 . ⎢ ⎥ ⎦⎣ 1010101010101010 1111111111111111

(a) Convert this generator matrix to a trellis-oriented generator matrix.

(b) Determine the state complexity profile of a minimal trellis for this code.

(c) Determine the branch complexity profile of a minimal trellis for this code.

Problem 7.4 (Minimum-span generators for convolutional codes)

Let C be a rate-1/n binary linear convolutional code generated by a rational n-tuple g(D), and let g′(D) be the canonical polynomial n-tuple that generates C. Show that the generators {Dkg′(D), k ∈ Z} are a set of minimum-span generators for C.

Problem 7.5 (Trellis complexity of MDS codes, and the Wolf bound)

Let C be a linear (n, k, d = n − k + 1) MDS code over a finite field Fq. Using the property that in an MDS code there exist q − 1 weight-d codewords with support J for every subset J ⊆ I of size |J | = d, show that a trellis-oriented generator matrix for C must have the following form: ⎡ ⎤

xxxx0000 ⎥⎢ 0xxxx000 ⎢ ⎥ ⎥⎢ 00xxxx00 , ⎢ ⎥ ⎦⎣ 000xxxx0

0000xxxx

where xxxx denotes a span of length d = n − k + 1, which shifts right by one position foreach of the k generators (i.e., from the interval [1, n − k + 1] to [k, n]).

For example, show that binary linear (n, n − 1, 2) and (n, 1, n) block codes have trellis-oriented generator matrices of this form.

Conclude that the state complexity profile of any (n, k, d = n − k + 1) MDS code is

2{1, q, q 2 , . . . , |S|max, |S|max, . . . , q , q, 1},

where |S|max = qmin(k, n−k).

Using the state space theorem and Problem 7.2, show that this is the worst possible statecomplexity profile for a (n, k) linear code over Fq. This is called the Wolf bound.

2

Page 328: MIT Principal of Digital Communication

Problem 7.6 (Muder bounds on state and branch complexity profiles of (24, 12, 8) code)

The maximum possible dimension of an (n, k, d ≥ 8) binary linear block code is known to be

kmax = {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12}

for n = {1, 2, . . . , 24}, respectively. [These bounds are achieved by (8, 1, 8), (12, 2, 8),(16, 5, 8) and (24, 12, 8) codes and shortened codes thereof.]

Show that the best possible state complexity profile of any (24, 12, 8) code (known as abinary Golay code) is

{1, 2, 4, 8, 16, 32, 64, 128, 64, 128, 256, 512, 256, 512, 256, 128, 64, 128, 64, 32, 16, 8, 4, 2, 1}.

Show that the best possible branch complexity profile is

{2, 4, 8, 16, 32, 64, 128, 128, 128, 256, 512, 512, 512, 512, 256, 128, 128, 128, 64, 32, 16, 8, 4, 2}.

[Note: there exists a standard coordinate ordering for the Golay code that achieves both of these bounds.]

3

Page 329: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, April 13, 2005 MIT, Spring 2005 Handout #18

Problem Set 7 Solutions

Problem 7.1 (State space sizes in trellises for RM codes)

Recall the |u|u + v| construction of a Reed-Muller code RM(r, m) with length n = 2m andminimum distance d = 2m−r :

RM(r, m) = {(u,u + v) | u ∈ RM(r, m − 1),v ∈ RM(r − 1, m − 1)}.

C

Show that if the past P is taken as the first half of the time axis and the future F as the second half, then the subcodes CP and CF are both effectively equal to RM(r − 1, m − 1) (which has the same minimum distance d = 2m−r as RM(r, m)), while the projections |P and C|F are both equal to RM(r, m− 1). Conclude that the dimension of the minimal

central state space of RM(r, m) is

dim S = dim RM(r, m − 1) − dim RM(r − 1, m − 1).

The subcode CP is the set of all codewords with second half u + v = 0, which implies that u = v. Thus CP = {(v,0) | v ∈ RM(r − 1, m − 1)}, which implies that CP is effectively RM(r − 1, m − 1).

Similarly, the subcode CF is the set of all codewords with first half u = 0. Thus CF = {(0,v) | v ∈ RM(r− 1, m− 1)}, which implies that CF is also effectively RM(r− 1, m− 1).

The past projection C|P is clearly {u | u ∈ RM(r, m− 1)} = RM(r, m− 1). Similarly, since RM(r− 1, m− 1) is a subcode of RM(r, m− 1), the future projection C|F is RM(r, m− 1).

Since dim S = dim C|P − dim CP = dim C|F − dim CF , it follows that

dim S = dim RM(r, m − 1) − dim RM(r − 1, m − 1).

Evaluate dim S for all RM codes with length n ≤ 32.

For repetition codes RM(0, m), dim S = dim RM(0, m−1)−dim RM(−1, m−1) = 1−0 = 1.

2For SPC codes RM(m− 1, m), dim S = dim RM(m− 1, m− 1) − dim RM(m− 2, m− 1) =

m − (2m − 1) = 1.

For the (8, 4, 4) code, we have dim S = dim(4, 3, 2) − dim(4, 1, 4) = 2.

For the (16, 11, 4) code, we have dim S = dim(8, 7, 2) − dim(8, 4, 4) = 3.

For the (16, 5, 8) code, we have dim S = dim(8, 4, 4) − dim(8, 1, 8) = 3.

For the (32, 26, 4) code, we have dim S = dim(16, 15, 2) − dim(16, 11, 4) = 4.

For the (32, 16, 8) code, we have dim S = dim(16, 11, 4) − dim(16, 5, 8) = 6.

For the (32, 6, 16) code, we have dim S = dim(16, 5, 8) − dim(16, 1, 16) = 4.

1

Page 330: MIT Principal of Digital Communication

′ ′

′′ ′′

Similarly, show that if the past P is taken as the first quarter of the time axis and the future F as the remaining three quarters, then the subcode C P is effectively equal to RM(r− 2, m− 2), while the projection C |P is equal to RM(r, m− 2). Conclude that the dimension of the corresponding minimal state space of RM(r, m) is

dim S = dim RM(r, m − 2) − dim RM(r − 2, m − 2).

Similarly, since

RM(r − 1, m − 1) = { (u ′ ,u + v ) | u ′ ∈ RM(r − 1, m − 2),v ′ ∈ RM(r − 2, m − 2)} ,

we now have that C P = { (v′ ,0) | v ∈ RM(r − 2, m − 2)} , which implies that C P is effectively RM(r − 2, m − 2). Also, since

RM(r, m − 1) = { (u ′′ ,u + v ) | u ′′ ∈ RM(r, m − 2),v ′′ ∈ RM(r − 1, m − 2)} ,

we now have that C |P = { u′′ | u′′ ∈ RM(r, m− 2)} , which implies that C |P is RM(r, m− 2). Therefore

dim S = dim C |P − dim C P = dim RM(r, m − 2) − dim RM(r − 2, m − 2).

Using the relation dim RM(r, m) = dim RM(r, m− 1) + dim RM(r− 1, m− 1), show that

dim RM(r, m − 2) − dim RM(r − 2, m − 2) = dim RM(r, m − 1) − dim RM(r − 1, m − 1).

This follows from dim RM(r, m − 1) = dim RM(r, m − 2) + dim RM(r − 1, m − 2) and dim RM(r − 1, m − 1) = dim RM(r − 1, m − 2) + dim RM(r − 2, m − 2).

Problem 7.2 (Projection/subcode duality and state space duality)

Recall that the dual code to an (n, k, d) binary linear block code C is defined as the orthog-onal subspace C ⊥, consisting of all n-tuples that are orthogonal to all codewords in C , andthat C ⊥ is a binary linear block code whose dimension is dim C ⊥ = n − k.

Show that for any partition of the time axis I of C into past P and future F , the subcode(C ⊥)P is equal to the dual (C |P )

⊥ of the projection C |P , and vice versa. [Hint: notice that(a,0) is orthogonal to (b, c) if and only if a is orthogonal to b.]

Following the hint, because inner products are defined componentwise, we have

〈 x,y〉 = 〈 x|P ,y|P 〉 + 〈 x|F ,y|F 〉 . Moreover 〈 (a,0), (b, c)〉 = 0 if and only if 〈 a,b〉 = 0. We therefore have the following logical chain:

a ∈ C P ⇐⇒ (a,0) ∈ C ⇐⇒ (a,0) ⊥ C⊥ ⇐⇒ a ⊥ (C⊥)|P ,

where we have used the definitions of the subcode C P , the fact that the dual code of C ⊥

is C, the fact that (a,0) is orthogonal to (b, c) if and only if a is orthogonal to b, and the definition of (C ⊥)|P , respectively.

2

Page 331: MIT Principal of Digital Communication

Conclude that at any time the minimal state spaces of C and C⊥ have the same dimension.

The dimension dim S of the minimal state space of C for a given partition into past and future is dim C|P − dim CP . The dimension dim S of the minimal state space of C⊥ for a given partition into past and future is

dim(C⊥)|P − dim(C⊥)P = (nP − dim CP ) − (nP − dim C|P ) = dim C|P − dim CP ,

where nP = |P|, and we have used projection/subcode duality and the fact that the dimension of the dual of a code of dimension k on a time axis of length nP is nP − k.

The fact that the state spaces of a linear code and its dual have the same dimensions is called the dual state space theorem.

Problem 7.3 (Trellis-oriented generator matrix for (16, 5, 8) RM code)

Consider the following generator matrix for the (16, 5, 8) RM code, which follows directly from the |u|u + v| construction:

⎡ ⎤ 1111111100000000

⎥⎢ 1111000011110000 ⎢ ⎥ ⎥⎢ 1100110011001100 . ⎢ ⎥ ⎦⎣ 1010101010101010 1111111111111111

(a) Convert this generator matrix to a trellis-oriented generator matrix.

A trellis-oriented generator matrix is obtained by adding the first generator to each of the others: ⎡ ⎤

1111111100000000 ⎥⎢ 0000111111110000 ⎢ ⎥ ⎥⎢ 0011001111001100 . ⎢ ⎥ ⎦⎣ 0101010110101010

0000000011111111

(b) Determine the state complexity profile of a minimal trellis for this code.

The starting times of the generator spans are {1, 2, 3, 5, 9}, and the ending times are {8, 12, 14, 15, 16}. The state dimension profile (number of active generators at cut times) of a minimal trellis for this code is therefore

{0, 1, 2, 3, 3, 4, 4, 4, 3, 4, 4, 4, 3, 3, 2, 1, 0}. Note that the state-space dimensions at the center, one-quarter, and three-quarter points are equal to

dim(8, 4, 4) − dim(8, 1, 8) = dim(4, 3, 2) − dim(4, 0, ∞) = 3,

in accord with Problem 7.1.

Note: this state dimension profile meets the Muder bound at all times (see Problem 7.6), and thus is the best possible for a (16, 5, 8) code.

3

Page 332: MIT Principal of Digital Communication

′ ′

(c) Determine the branch complexity profile of a minimal trellis for this code.

From the trellis-oriented generator matrix, the branch dimension profile (number of active generators at symbol times) of a minimal trellis for this code is therefore

{1, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1}. Note: this branch dimension profile meets the Muder bound at all times, and thus is the best possible for a (16, 5, 8) code.

Problem 7.4 (Minimum-span generators for convolutional codes)

Let C be a rate-1/n binary linear convolutional code generated by a rational n-tuple g(D),and let g′(D) be the canonical polynomial n-tuple that generates C. Show that the gener-ators {Dk g′(D), k ∈ Z} are a set of minimum-span generators for C.

Since g′(D) is canonical, it is noncatastrophic; i.e., a code sequence u(D)g′(D) is finite only if u(D) is finite. Therefore if u(D)g′(D) is finite, then u(D) is finite and deg u(D)g′(D) = deg u(D)+deg g′(D), where the degree of an n-tuple of finite sequences is defined as the maximum degree of its components. Similarly, g′(D) is delay-free, so del u(D)g′(D) = del u(D) + del g′(D), where the delay of an n-tuple of finite sequences is defined as the minimum delay of its components. Hence the shortest finite sequence in C with delay k is Dk g (D), for all k ∈ Z. The set {Dk g (D)} of shifted generators are thus a set of minimum-span generators for C— i.e., a trellis-oriented generator matrix. We easily verify that all starting times are distinct, and so are all stopping times.

Problem 7.5 (Trellis complexity of MDS codes, and the Wolf bound)

Let C be a linear (n, k, d = n − k + 1) MDS code over a finite field Fq . Using the property that in an MDS code there exist q − 1 weight-d codewords with support J for every subset J ⊆ I of size |J | = d, show that a trellis-oriented generator matrix for C must have the following form: ⎡ ⎤

xxxx0000 ⎥⎢ 0xxxx000 ⎢ ⎥ ⎥⎢ 00xxxx00 , ⎢ ⎥ ⎦⎣ 000xxxx0

0000xxxx

where xxxx denotes a span of length d = n − k + 1, which shifts right by one position for each of the k generators (i.e., from the interval [1, n − k + 1] to [k, n]).

For any given d coordinates, an MDS code has a codeword of weight d which is nonzero only in those coordinates. Therefore, if we look for a set of k linearly independent gen-erators with the shortest possible span, we will find k codewords of span d = n − k + 1 in the k possible positions shown in the array above. These codewords are all obviously linearly independent, because the starting and ending times of their spans are all different. Therefore this is a trellis-oriented generator matrix for C.

For example, show that binary linear (n, n − 1, 2) and (n, 1, n) block codes have trellis-oriented generator matrices of this form.

4

Page 333: MIT Principal of Digital Communication

An (n, n − 1, 2) SPC code has a trellis-oriented generator matrix of the form ⎡ ⎤

1100000 ⎥⎢ 0110000 ⎢ ⎥ ⎥⎢ 0011000 ⎢ ⎥ ⎥⎢ 0001100

, ⎢ ⎥ ⎦⎣ 0000110

0000011

and an (n, 1, n) binary repetition code has a generator matrix consisting of a single gen-erator equal to the all-one codeword.

Conclude that the state complexity profile of any (n, k, d = n − k + 1) MDS code is2{1, q, q 2 , . . . , |S|max, |S|max, . . . , q , q, 1},

where |S|max = qmin(k, n−k).

The starting times of the spans are

{1, 2, . . . , k}, and the ending times are

{n − k + 1, n − k + 2, . . . , n}. Therefore the state dimension profile is

{0, 1, 2, . . . , k, . . . , k, k − 1, . . . , 1, 0}

if k ≤ n − k, or

{0, 1, 2, . . . , n − k, . . . , n − k, n − k − 1, . . . , 1, 0}

if n − k ≤ k.

Using the state space theorem and Problem 7.2, show that this is the worst possible state complexity profile for a (n, k) linear code over Fq. This is called the Wolf bound.

Since dim S = dim C|P − dim CP , we have

dim S ≤ dim C|P ≤ nP .

Similarly dim S ≤ nF . Also

dim S = dim C − dim C|P − dim CP ≤ dim C.

The dual state space theorem then implies dim S ≤ dim C⊥ = n − dim C. Putting these bounds together, we obtain

dim S ≤ min{nP , nF , dim C, n − dim C}. This is known as the Wolf bound (although it was essentially shown earlier by Bahl, Cocke, Jelinek and Raviv). The state dimension profile of an MDS code meets the Wolf bound at all times, and therefore is the worst possible state dimension profile of an (n, k) linear code.

5

Page 334: MIT Principal of Digital Communication

Problem 7.6 (Muder bounds on state and branch complexity profiles of (24, 12, 8) code)

The maximum possible dimension of an (n, k, d ≥ 8) binary linear block code is known to be

kmax = {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10, 11, 12}

for n = {1, 2, . . . , 24}, respectively. [These bounds are achieved by (8, 1, 8), (12, 2, 8),(16, 5, 8) and (24, 12, 8) codes and shortened codes thereof.]

Show that the best possible state complexity profile of any (24, 12, 8) code (known as abinary Golay code) is

{1, 2, 4, 8, 16, 32, 64, 128, 64, 128, 256, 512, 256, 512, 256, 128, 64, 128, 64, 32, 16, 8, 4, 2, 1}.

The Muder bound says that

dim S = dim C − dim CP − dim CF ≥ dim C − kmax(nP , d) − kmax(nF , d),

where kmax(n, d) is the maximum dimension of a code of effective length n and the same minimum distance d as C. Applying this bound to C = (24, 12, 8), we obtain for the first half of the minimal state dimension profile

nP = 0 1 2 3 4 5 6 7 8 9 10 11 12 dim C = 12 12 12 12 12 12 12 12 12 12 12 12 12

kmax(nP , 8) = 0 0 0 0 0 0 0 0 1 1 1 1 2 . kmax(24 − nP , 8) = 12 11 10 9 8 7 6 5 5 4 3 2 2

dim SnP ≥ 0 1 2 3 4 5 6 7 6 7 8 9 8

The second half is symmetrical.

Show that the best possible branch complexity profile is

{2, 4, 8, 16, 32, 64, 128, 128, 128, 256, 512, 512, 512, 512, 256, 128, 128, 128, 64, 32, 16, 8, 4, 2}.

The Muder bound on branch complexity is

dim Bk = dim C − dim CPk − dim CFk+1 ≥ dim C − kmax(k, d) − kmax(n − k − 1, d).

Applying this bound to C = (24, 12, 8), we obtain for the first half of the minimal branch dimension profile

kk

k = 0 1 2 3 4 5 6 7 8 9 10 11 dim C = 12 12 12 12 12 12 12 12 12 12 12 12

max(k, 8) = 0 0 0 0 0 0 0 0 1 1 1 1 . max(23 − k, 8) = 11 10 9 8 7 6 5 5 4 3 2 2

dim Bk ≥ 1 2 3 4 5 6 7 7 7 8 9 9

The second half is symmetrical. This yields the given minimal branch complexity profile.

[Note: there exists a standard coordinate ordering for the Golay code that achieves both of these bounds.]

6

Page 335: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, April 20, 2005 MIT, Spring 2005 Handout #19

Due: Wednesday, April 27, 2005

Problem Set 8

Problem 8.1 (Realizations of repetition and SPC codes)

Show that a reduced Hadamard transform realization of a repetition code RM(0, m) or a single-parity-check code RM(m − 1, m) is a cycle-free tree-structured realization witha minimum number of (3, 1, 3) repetition constraints or (3, 2, 2) parity-check constraints,respectively, and furthermore with minimum diameter (distance between any two codesymbols in the tree). Show that these two realizations are duals; i.e., one is obtainedfrom the other via interchange of (3, 2, 2) constraints and (3, 1, 3) constraints.

Problem 8.2 (Dual realizations of RM codes)

Show that in general a Hadamard transform (HT) realization of any Reed-Muller codeRM(r, m) is the dual of the HT realization of the dual code RM(m − r − 1, m); i.e., oneis obtained from the other via interchange of (3, 2, 2) constraints and (3, 1, 3) constraints.

Problem 8.3 (BCJR (sum-product) decoding of SPC codes)

As shown in Problem 6.4, any (µ+1, µ, 2) binary linear SPC block code may be representedby a two-state trellis diagram. Let µ = 7, and let the received sequence from a discrete-time AWGN channel be given by r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5). PerformBCJR (sum-product) decoding of this sequence, using the two-state trellis diagram of the(8, 7, 2) SPC code.

Compare the performance and complexity of BCJR decoding to that of the Viterbi algo-rithm and Wagner decoding (Problem 6.6).

1

Page 336: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, MIT, Spring 2005 Handout #20R

Problem Set 8 Solutions (revised)

Problem 8.1 (Realizations of repetition and SPC codes)

Show that a reduced Hadamard transform realization of a repetition code RM(0, m) or a single-parity-check code RM(m − 1, m) is a cycle-free tree-structured realization with a minimum number of (3, 1, 3) repetition constraints or (3, 2, 2) parity-check constraints, respectively, and furthermore with minimum diameter (distance between any two code symbols in the tree).

A Hadamard transform (HT) realization of a repetition code RM(0, m) of length 2m

is y = uUm, where all components of u are zero except the last one, u2m−1, which multiplies the all-one (last) row of the universal generator matrix Um. For example, the HT realization of the (8, 1, 8) repetition code is shown below.

y0 + + + 0

y1 = @ �

= @ ��

= 0

�@ @ � y2 + � @ +

A � �@ + 0

A � y3 = =

B � �A A �

= 0

�B �A y4 + + �

� �B

B A + 0

� B y5 =

@ � = �

� B B

= 0

�@ � B y6 + � @ + � BB + 0

y7 = = = u7

HT realization of (8, 1, 8) RM code.

This realization may be simplified by the following two types of reductions:

+ 0 0 0+ ⇒ ⇒

= = =0 0

This yields the reduced realization shown below.

1

April 27, 2005

Page 337: MIT Principal of Digital Communication

y0

y1 = @

@ y2 @

y3 = = B B

y4 B B B

y5 = @

B B

@ B y6 @ BB

y7 = =

Reduced HT realization of (8, 1, 8) repetition code.

The reduced realization in this case is a binary tree-structured realization with 6 (3, 1, 3)repetition constraints. In general, it is a binary tree-structured realization with 2m − 2(3, 1, 3) repetition constraints.

It is not hard to see that in general, an (n, 1, n) repetition code may be realized byconnecting n − 2 (3, 1, 3) repetition constraints together in any cycle-free manner. Therewill then be n external variables of degree 1 and n− 3 internal variables of degree 2, withtotal degree equalling the total degree 3(n − 2) of the repetition constraints.

Since n − δ nodes require at least n − δ − 1 edges to form a connected graph, and3(n − δ) − n < 2(n − δ − 1) if δ > 2, the minimum possible number of (3, 1, 3) repetitionconstraints is n − 2.

The diameter of this graph is 3 (not counting half-edges). More generally, the diameterof a binary tree-structured graph like this with 2m − 2 nodes is 2m − 3. It is not hard tosee that any different method of interconnecting 2m − 2 nodes will increase the diameter.

*****

Similarly, for a HT realization of a single-parity-check code RM(m−1, m) of length 2m, all components of u are free except the first one, u0, which multiplies the weight-one (first)row of the universal generator matrix Um. For example, the HT realization of the (8, 1, 8)repetition code is shown below.

2

Page 338: MIT Principal of Digital Communication

� @

@ �

� @

@ �

� �

0+ + +y0

= = = freey1 @ ��@� @ �

�@ free+ + +y2 A � A � �A= = = freey3 B � A �

� �B A � B � A free+ + +y4 �B � B

� B= = = freey5 B @� � B

� BB free+ + +y6

= = = freey7

HT realization of (8, 7, 2) RM code.

This realization may be simplified by the following two types of reductions:

free free+ + + ⇒ ⇒

= =free free free

For example, a reduced HT realization of the (8, 7, 2) single-parity-check code is shown below.

+ +y0

y1 � ��� �

� �+y2 � �

�y3 � �

�+ +y4

y5

+y6

y7

Reduced HT realization of (8, 7, 2) single-parity-check code.

3

Page 339: MIT Principal of Digital Communication

This realization evidently has the same number of constraints and the same diameter as the reduced realization of the (8, 1, 8) code above, and minimality is shown by the same arguments.

Show that these two realizations are duals; i.e., one is obtained from the other via inter-change of (3, 2, 2) constraints and (3, 1, 3) constraints.

Obvious.

Problem 8.2 (Dual realizations of RM codes)

Show that in general a Hadamard transform (HT) realization of any Reed-Muller code RM(r, m) is the dual of the HT realization of the dual code RM(m − r − 1, m); i.e., one is obtained from the other via interchange of (3, 2, 2) constraints and (3, 1, 3) constraints.

As announced in class, you do not have to do this problem because the problem statement is incomplete, and you do not have all the background that you need to complete the proof. Nonetheless, let us sketch the proof.

The problem statement is incomplete in that in the dual realization, we must also exchange zero variables and free variables (which may be considered to be dual (1, 0,∞) and (1, 1, 1) constraints, respectively). Also, we must invert the graph (take the top to bottom mirror image). Note that inversion of the graph replaces all constraints by their dual constraints, and complements the binary expansion of the indices of the components of y and u.

The code RM(r, m) has the HT realization y = uUm, where the components of u are free in the k(r, m) positions corresponding to rows of Um of weight 2m−r or greater, and zero in the remaining positions. It is easy to see that these are the positions whose indices have m-bit binary expansions of weight m − r or greater. For example, for the (8, 1, 8) code RM(0, 3), only u7 is free; for the (8, 4, 4) code RM(1, 3), u3, u5, u6 and u7 are free; and for the (8, 7, 2) code RM(2, 3), all but u0 are free.

The indices of the rows of Um of weight less than 2m−r are thus the 2m − k(r, m) indices whose m-bit binary expansions have weight less than m − r. The complements of these m-bit indices thus are the indices whose m-bit expansions have weight greater than r, or equivalently weight at least r + 1. These are precisely the indices of the free components of u for the code RM(m− r− 1, m). Thus the zero components of u for the HT realization of RM(r, m) transform under the graph inversion into the free components of u for the HT realization of RM(m − r − 1, m), and vice versa.

Since dual normal graphs realize dual codes, this argument proves that RM(r, m) and RM(m − r − 1, m) are dual codes, with k(m − r − 1, m) = 2m − k(r, m).

4

Page 340: MIT Principal of Digital Communication

σ

Problem 8.3 (revised) (BCJR (sum-product) decoding of SPC codes)

As shown in Problem 6.4 or Figure 1 of Chapter 10, any (n, n − 1, 2) single-parity-check code has a two-state trellis diagram. Consider the (8, 7, 2) code, and let the received sequence from a discrete-time AWGN channel with input alphabet {±1} and noise variance

2 = 1 be given by r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5). Perform BCJR (sum-product) decoding of this sequence to determine the APP vector for each symbol Yk. [Hint: the special algorithm given in Section 13.5.2 (see Problem 9.5) to implement the sum-product update rule for zero-sum nodes may be helpful here.]

First, let us draw the normal graph of a minimal trellis realization of the (8, 7, 2) code. This graph is shown abstractly below:

Σ

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

1 Σ2 Σ3 Σ4 Σ5 Σ6 Σ7B0 B1 B2 B3 B4 B5 B6 B7

(2, 1) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (2, 1)

Moreover, it is easy to see that the (3, 2) branch constraint codes are all (3, 2, 2) zero-sum codes, and the (2, 1) codes are simple repetition codes that need not actually be shown. Therefore the trellis realization may be drawn simply as follows:

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

+ + + + + +

Note that this trellis realization of the (8, 7, 2) code is another cycle-free realization that uses 6 (3, 2, 2) zero-sum constraints, as in the reduced HT realization of Problem 8.1; however, the diameter of this realization is 5 (which is as large as it could possibly be).

For a binary-input Gaussian-noise channel with inputs {±1} and Gaussian conditional probability density p(r | y) = (2πσ)−1/2 exp −(r − y)2/2σ2 , the a posteriori probability (APP) of y ∈ {±1} given a received value r is, by Bayes’ rule,

p(r | y) ery/σ2

= er/σ2 −r/σ2 .p(y | r) =

p(r | 1) + p(r | −1) + e

Here σ2 = 1 (so SNR = 1 (0 dB); i.e., the channel is very noisy).

The two values p(±1 | rk) form the “intrinsic information” message ιk = {p0k, p1k} derived from each received symbol rk , 0 ≤ k ≤ 7. These values are computed from the received vector r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5) in the following table. (Note that it would have sufficed to use the unnormalized pair {erk /σ2

, e−rk /σ2 }.) We also compute the Hadamard transform {p0k + p1k = 1, p0k − p1k = Ik } of each pair of values for later use.

5

Page 341: MIT Principal of Digital Communication

rk p0k p1k Ik

r0 = +0.1 0.55 0.45 1 +0.10 r1 = −1.0 0.12 0.88 1 −0.76 r2 = −0.7 0.20 0.80 1 −0.60 r3 = +0.8 0.83 0.17 1 +0.66 r4 = +1.1 0.90 0.10 1 +0.80 r5 = +0.3 0.65 0.35 1 +0.30 r6 = −0.9 0.14 0.86 1 −0.72 r7 = +0.5 0.73 0.37 1 +0.46

Note that Ik = tanh rk /σ2, so Ik ≈ rk/σ

2 for small rk . The sign of Ik represents a “hard

ε

decision,” whereas the magnitude 0 ≤ |Ik | ≤ 1 represents the reliability of that decision.

We then propagate the APP messages through the graph below, using the BCJR (sum-product) algorithm. Note that in the forward direction α1 = ι0, αk is the sum-product update of αk−1 and ιk−1 for 2 ≤ k ≤ 7, and finally ε7 = α7. Similarly, in the backward direction, β7 = ι7, βk is the sum-product update of βk+1 and ιk for 6 ≥ k ≥ 1, and finally 0 = β1. Then εk is the sum-product update of αk and βk+1 for 1 ≤ k ≤ 6.

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 ε0 ε1 ε2 ε3 ε4 ε5 ε6 ε7ι0 ?6 α1

ι1 ?6 α2 ι2 ?6 α3

ι3 ?6 α4 ι4 ?6 α5

ι5 ?6 α6 ι6 ?6 α7

ι7 ?6- - - - - - -+ + + + + +� � � � � � �

β1 β2 β3 β4 β5 β6 β7

For a (3, 2, 2) constraint code Ck, the set of past 2-tuples consistent with a 0 value for any incident variable is Ck (0) = {00, 11}, and similarly Ck (1) = {01, 10}. Therefore the sum-product update rule is

p(0 | r|P ) = p(0 | r|Pj� )p(0 | r|Pj�� ) + p(1 | r|Pj� )p(1 | r|Pj�� );

β

p(1 | r|P ) = p(0 | r|Pj� )p(1 | r|Pj�� ) + p(0 | r|Pj� )p(1 | r|Pj�� ),

where Pj� and Pj�� are the two “pasts” upstream of P .

Alternatively, following the hint, we may use the special rule for zero-sum nodes to obtainthe Hadamard transform of (p(0 | r|P ), p(1 | r|P )) simply by componentwise multiplicationof the Hadamard transforms of (p(0 | r|Pj� ), p(1 | r|Pj� )) and (p(0 | r|Pj�� ), p(1 | r|Pj�� )).

By either method, we obtain the following values for the forward messages αk = {α0k , α1k }and their Hadamard transforms {α0k + α1k = 1, α0k − α1k = Ak }, the backward messages

k = {β0k , β1k} and their Hadamard transforms {1, Bk }, and the extrinsic informationmessages εk = {ε0k , ε1k} and their Hadamard transforms {1, Ek}.

αk

αAk

1 = ι0

α0k α1k

0.55 0.45 α

1 +0.10 2 0.46 0.54

α1 −0.08

3 0.525 0.475 α

1 +0.05 4 0.515 0.485

α1 +0.03

5 0.51 0.49 α

1 +0.02 6 0.5035 0.4965

α1 +0.007

7 0.4975 0.5025 1 −0.005

6

Page 342: MIT Principal of Digital Communication

βk β0k β1k Bk

β7 = ι7 0.73 0.27 1 +0.46 β6 0.335 0.665 1 −0.33 β5 0.45 0.55 1 −0.10 β4 0.46 0.54 1 −0.08 β3 0.475 0.525 1 −0.05 β2 0.515 0.485 1 +0.03 β1 0.49 0.51 1 −0.02

εk ε0k ε1k Ek

ε0 = β1 0.49 0.51 1 −0.02 ε1 0.5015 0.4985 1 +0.003 ε2 0.5015 0.4985 1 +0.003 ε3 0.498 0.502 1 −0.004 ε4 0.4985 0.5015 1 −0.003 ε5 0.4965 0.5035 1 −0.007 ε6 0.5015 0.4985 1 +0.003 ε7 = α7 0.4975 0.5025 1 −0.005

Notice how the reliability of the forward and backward APP messages αk and βk degen-erates as more and more intrinsic information messages ιk are incorporated into them.

The APP vectors {p(Yk = 0 | r), p(Yk = 1 | r)} for the symbol variables Yk are ultimately obtained by componentwise multiplication of ιk and εk , normalized. We note that for all k, since ε0k ≈ ε1k ≈ 1

2 , we have {p(Yk = 0 | r), p(Yk = 1 | r)} ≈ {ι0k , ι1k }; i.e., the intrinsic information ιk dominates. Thus if hard decisions are made on each symbol, the result is the same as if hard decisions had been made symbol-by-symbol based solely on the channel outputs rk , and the resulting sequence of hard decisions is not a code sequence in the (8, 7, 2) code.

In contrast, suppose that we perform the max-product (equivalent to the min-sum) algo-rithm with this received sequence. We obtain the following values:

αk α0k α1k

α1 = ι0 0.55 0.45 α2 0.45 0.55 α3 0.55 0.45 α4 0.55 0.45 α5 0.55 0.45 α6 0.55 0.45 α7 0.45 0.55

7

Page 343: MIT Principal of Digital Communication

βk β0k β1k

β7 = ι7 0.73 0.27 β6 0.27 0.73 β5 0.35 0.65 β4 0.35 0.65 β3 0.35 0.65 β2 0.65 0.35 β1 0.35 0.65

εk ε0k ε1k

ε0 = β1 0.35 0.65 ε1 0.55 0.45 ε2 0.55 0.45 ε3 0.45 0.55 ε4 0.45 0.55 ε5 0.45 0.55 ε6 0.55 0.45 ε7 = α7 0.45 0.55

In this case, the reliability of a forward or backward message is the minimum reliability of any intrinsic information that is incorporated into it. Eventually, this means that the extrinsic information ε0 dominates the intrinsic information ι0 for the least reliable symbol Y0, so the original “hard decision” is “corrected” in this case. The same “correction” would be performed by the Viterbi algorithm or by Wagner decoding.

The max-product (min-sum) algorithm finds the maximum-likelihood code sequence, whereas the BCJR (sum-product) algorithm computes the APP vector of each bit. A bit decision based on the maximum APP minimizes the bit error probability, so the bit error probability could be (slightly) lower with the BCJR algorithm. ML sequence de-tection minimizes the probability of decoding to the wrong codeword. The sequence of maximum-APP bits from the BCJR algorithm may not be a codeword, as we have just seen.

Compare the complexity of BCJR decoding to Viterbi algorithm decoding (Problem 6.6).

The BCJR algorithm is considerably more complex. For each trellis segment, it has to compute the sum-product update rule three times. The straightforward sum-product update rule involves four multiplications and two additions; the simplified rule requires a single multiplication. By contrast, the VA requires four additions and two comparisons per trellis segment. Computation of the intrinsic APP vector is also more complex, and requires estimation of the noise variance σ2, which could be a problem. Finally, the logic of the BCJR algorithm is more complex, since it is two-way rather than one-way.

In short, the VA is significantly simpler than the BCJR algorithm. For this reason, the VA was preferred for trellis decoding for many years. The BCJR algorithm was resurrected with the advent of turbo codes, where the fact that it produces “soft” (APP) outputs is essential to its role as a part of iterative decoding algorithms.

(For this scenario, Wagner decoding is even simpler; see the solution to Problem 6.6.)

8

Page 344: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, April 27, 2005 MIT, Spring 2005 Handout #21

Due: Wednesday, May 4, 2005

Problem Set 9

σ

Problem 8.3 (revised) (BCJR (sum-product) decoding of SPC codes)

As shown in Problem 6.4 or Figure 1 of Chapter 10, any (n, n − 1, 2) single-parity-checkcode has a two-state trellis diagram. Consider the (8, 7, 2) code, and let the received se-quence from a discrete-time AWGN channel with input alphabet {±1} and noise variance

2 = 1 be given by r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5). Perform BCJR (sum-product) decoding of this sequence to determine the APP vector for each symbol Yk.[Hint: the special algorithm given in Section 13.5.2 (see Problem 9.5) to implement thesum-product update rule for zero-sum nodes may be helpful here.]

Compare the complexity of BCJR decoding to Viterbi algorithm decoding (Problem 6.6).

Problem 9.1 (Iterative decoding on the BEC)

(a) Using a graph of the (8, 4, 4) code like that of Figure 1 of Chapter 13 for iterative de-coding, decode the received sequence (1, 0, 0, ?, 0, ?, ?, ?). Then try to decode the received sequence (1, 1, 1, 1, ?, ?, ?, ?). Why does decoding fail in the latter case? Give both a local answer (based on the graph) and a global answer (based on the code).

(b) For the received sequence (1, 1, 1, 1, ?, ?, ?, 0), show that iterative decoding fails but that global (i.e., ML) decoding succeeds.

Problem 9.2 (Simulation of LDPC decoding on a BEC)

(a) Perform a simulation of iterative decoding of a regular (dλ = 3, dρ = 6) LDPC code on a BEC with p = 0.45 (i.e., on Figure 9 of Chapter 13), and show how decoding gets stuck at the first fixed point (q�→r ≈ 0.35, qr→� ≈ 0.89). About how many iterations does it take to get stuck?

(b) By simulation of iterative decoding, compute the coordinates of the fixed point to six significant digits.

Problem 9.3 (Iterative decoding threshold) 2)5By analysis or simulation, show that the smallest p such that the equation x = 1−(1−px

∗has a solution in the interval 0 < x < 1 is p = 0.429.... Explain the significance of this calculation for iterative decoding of LDPC codes on a BEC.

1

Page 345: MIT Principal of Digital Communication

� � �

Problem 9.4 (Stability condition)

(a) Show that if the minimum left degree of an irregular LDPC code is 3, then the stability condition necessarily holds.

(b) Argue that such a left degree distribution λ(x) cannot be capacity-approaching, in view of Theorem 13.2.

Problem 9.5 (Sum-product update rule for zero-sum nodes)

(a) Prove that the algorithm of Section 13.5.2 implements the sum-product update rule in,j − w1

in,jfor a zero-sum node, up to scale. [Hint: observe that in the product j (w0 ), the terms with positive signs sum to wout, whereas the terms with negative signs sum to 0

out.]w1 in,j(b) Show that if we interchange in,j and w1 in an even number of incoming APP w0

outvectors, then the outgoing APP vector {wout, w } is unchanged. On the other hand, 0 1 in,jshow that if we interchange w in,j and w1 in an odd number of incoming APP vectors, 0

out of the outgoing APP vector are interchanged. then the components wout and w10

(c) Show that if we replace APP weight vectors {w0, w1} by log likelihood ratios Λ = ln w0/w1, then the zero-sum sum-product update rule reduces to the “tanh rule”

Λ1 + tanh Λin,j /2

out = ln � j

1 − tanh Λin,j /2 ,

j

xwhere the hyperbolic tangent is defined by tanh x = (ex − e−x)/(e + e−x).

(d) Show that the “tanh rule” may alternatively be written as

tanh Λout/2 = tanh Λin,j /2. j

2

Page 346: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, May 4, 2005MIT, Spring 2005 Handout #22

Problem Set 9 Solutions

σ

Problem 8.3 (revised) (BCJR (sum-product) decoding of SPC codes)

As shown in Problem 6.4 or Figure 1 of Chapter 10, any (n, n − 1, 2) single-parity-check code has a two-state trellis diagram. Consider the (8, 7, 2) code, and let the received sequence from a discrete-time AWGN channel with input alphabet {±1} and noise variance

2 = 1 be given by r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5). Perform BCJR (sum-product) decoding of this sequence to determine the APP vector for each symbol Yk. [Hint: the special algorithm given in Section 13.5.2 (see Problem 9.5) to implement the sum-product update rule for zero-sum nodes may be helpful here.]

First, let us draw the normal graph of a minimal trellis realization of the (8, 7, 2) code. This graph is shown abstractly below:

Σ

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

1 Σ2 Σ3 Σ4 Σ5 Σ6 Σ7B0 B1 B2 B3 B4 B5 B6 B7

(2, 1) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (3, 2) 1 (2, 1)

Moreover, it is easy to see that the (3, 2) branch constraint codes are all (3, 2, 2) zero-sum codes, and the (2, 1) codes are simple repetition codes that need not actually be shown. Therefore the trellis realization may be drawn simply as follows:

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

+ + + + + +

Note that this trellis realization of the (8, 7, 2) code is another cycle-free realization that uses 6 (3, 2, 2) zero-sum constraints, as in the reduced HT realization of Problem 8.1; however, the diameter of this realization is 5 (which is as large as it could possibly be).

For a binary-input Gaussian-noise channel with inputs {±1} and Gaussian conditional probability density p(r | y) = (2πσ)−1/2 exp −(r − y)2/2σ2 , the a posteriori probability (APP) of y ∈ {±1} given a received value r is, by Bayes’ rule,

p(r | y) ery/σ2

= er/σ2 −r/σ2 .p(y | r) =

p(r | 1) + p(r | −1) + e

Here σ2 = 1 (so SNR = 1 (0 dB); i.e., the channel is very noisy).

The two values p(±1 | rk) form the “intrinsic information” message ιk = {p0k, p1k} derived from each received symbol rk , 0 ≤ k ≤ 7. These values are computed from the received vector r = (0.1,−1.0,−0.7, 0.8, 1.1, 0.3,−0.9, 0.5) in the following table. (Note that it would have sufficed to use the unnormalized pair {erk /σ2

, e−rk /σ2 }.) We also compute the Hadamard transform {p0k + p1k = 1, p0k − p1k = Ik } of each pair of values for later use.

1

Page 347: MIT Principal of Digital Communication

rk p0k p1k Ik

r0 = +0.1 0.55 0.45 1 +0.10 r1 = −1.0 0.12 0.88 1 −0.76 r2 = −0.7 0.20 0.80 1 −0.60 r3 = +0.8 0.83 0.17 1 +0.66 r4 = +1.1 0.90 0.10 1 +0.80 r5 = +0.3 0.65 0.35 1 +0.30 r6 = −0.9 0.14 0.86 1 −0.72 r7 = +0.5 0.73 0.37 1 +0.46

Note that Ik = tanh rk /σ2, so Ik ≈ rk/σ

2 for small rk . The sign of Ik represents a “hard

ε

decision,” whereas the magnitude 0 ≤ |Ik | ≤ 1 represents the reliability of that decision.

We then propagate the APP messages through the graph below, using the BCJR (sum-product) algorithm. Note that in the forward direction α1 = ι0, αk is the sum-product update of αk−1 and ιk−1 for 2 ≤ k ≤ 7, and finally ε7 = α7. Similarly, in the backward direction, β7 = ι7, βk is the sum-product update of βk+1 and ιk for 6 ≥ k ≥ 1, and finally 0 = β1. Then εk is the sum-product update of αk and βk+1 for 1 ≤ k ≤ 6.

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 ε0 ε1 ε2 ε3 ε4 ε5 ε6 ε7ι0 ?6 α1

ι1 ?6 α2 ι2 ?6 α3

ι3 ?6 α4 ι4 ?6 α5

ι5 ?6 α6 ι6 ?6 α7

ι7 ?6- - - - - - -+ + + + + +� � � � � � �

β1 β2 β3 β4 β5 β6 β7

For a (3, 2, 2) constraint code Ck, the set of past 2-tuples consistent with a 0 value for any incident variable is Ck (0) = {00, 11}, and similarly Ck (1) = {01, 10}. Therefore the sum-product update rule is

p(0 | r|P ) = p(0 | r|Pj� )p(0 | r|Pj�� ) + p(1 | r|Pj� )p(1 | r|Pj�� );

β

p(1 | r|P ) = p(0 | r|Pj� )p(1 | r|Pj�� ) + p(0 | r|Pj� )p(1 | r|Pj�� ),

where Pj� and Pj�� are the two “pasts” upstream of P .

Alternatively, following the hint, we may use the special rule for zero-sum nodes to obtainthe Hadamard transform of (p(0 | r|P ), p(1 | r|P )) simply by componentwise multiplicationof the Hadamard transforms of (p(0 | r|Pj� ), p(1 | r|Pj� )) and (p(0 | r|Pj�� ), p(1 | r|Pj�� )).

By either method, we obtain the following values for the forward messages αk = {α0k , α1k }and their Hadamard transforms {α0k + α1k = 1, α0k − α1k = Ak }, the backward messages

k = {β0k , β1k} and their Hadamard transforms {1, Bk }, and the extrinsic informationmessages εk = {ε0k , ε1k} and their Hadamard transforms {1, Ek}.

αk

αAk

1 = ι0

α0k α1k

0.55 0.45 α

1 +0.10 2 0.46 0.54

α1 −0.08

3 0.525 0.475 α

1 +0.05 4 0.515 0.485

α1 +0.03

5 0.51 0.49 α

1 +0.02 6 0.5035 0.4965

α1 +0.007

7 0.4975 0.5025 1 −0.005

2

Page 348: MIT Principal of Digital Communication

βk β0k β1k Bk

β7 = ι7 0.73 0.27 1 +0.46 β6 0.335 0.665 1 −0.33 β5 0.45 0.55 1 −0.10 β4 0.46 0.54 1 −0.08 β3 0.475 0.525 1 −0.05 β2 0.515 0.485 1 +0.03 β1 0.49 0.51 1 −0.02

εk ε0k ε1k Ek

ε0 = β1 0.49 0.51 1 −0.02 ε1 0.5015 0.4985 1 +0.003 ε2 0.5015 0.4985 1 +0.003 ε3 0.498 0.502 1 −0.004 ε4 0.4985 0.5015 1 −0.003 ε5 0.4965 0.5035 1 −0.007 ε6 0.5015 0.4985 1 +0.003 ε7 = α7 0.4975 0.5025 1 −0.005

Notice how the reliability of the forward and backward APP messages αk and βk degen-erates as more and more intrinsic information messages ιk are incorporated into them.

The APP vectors {p(Yk = 0 | r), p(Yk = 1 | r)} for the symbol variables Yk are ultimately obtained by componentwise multiplication of ιk and εk , normalized. We note that for all k, since ε0k ≈ ε1k ≈ 1

2 , we have {p(Yk = 0 | r), p(Yk = 1 | r)} ≈ {ι0k , ι1k }; i.e., the intrinsic information ιk dominates. Thus if hard decisions are made on each symbol, the result is the same as if hard decisions had been made symbol-by-symbol based solely on the channel outputs rk , and the resulting sequence of hard decisions is not a code sequence in the (8, 7, 2) code.

In contrast, suppose that we perform the max-product (equivalent to the min-sum) algo-rithm with this received sequence. We obtain the following values:

αk α0k α1k

α1 = ι0 0.55 0.45 α2 0.45 0.55 α3 0.55 0.45 α4 0.55 0.45 α5 0.55 0.45 α6 0.55 0.45 α7 0.45 0.55

3

Page 349: MIT Principal of Digital Communication

βk β0k β1k

β7 = ι7 0.73 0.27 β6 0.27 0.73 β5 0.35 0.65 β4 0.35 0.65 β3 0.35 0.65 β2 0.65 0.35 β1 0.35 0.65

εk ε0k ε1k

ε0 = β1 0.35 0.65 ε1 0.55 0.45 ε2 0.55 0.45 ε3 0.45 0.55 ε4 0.45 0.55 ε5 0.45 0.55 ε6 0.55 0.45 ε7 = α7 0.45 0.55

In this case, the reliability of a forward or backward message is the minimum reliability of any intrinsic information that is incorporated into it. Eventually, this means that the extrinsic information ε0 dominates the intrinsic information ι0 for the least reliable symbol Y0, so the original “hard decision” is “corrected” in this case. The same “correction” would be performed by the Viterbi algorithm or by Wagner decoding.

The max-product (min-sum) algorithm finds the maximum-likelihood code sequence, whereas the BCJR (sum-product) algorithm computes the APP vector of each bit. A bit decision based on the maximum APP minimizes the bit error probability, so the bit error probability could be (slightly) lower with the BCJR algorithm. ML sequence de-tection minimizes the probability of decoding to the wrong codeword. The sequence of maximum-APP bits from the BCJR algorithm may not be a codeword, as we have just seen.

Compare the complexity of BCJR decoding to Viterbi algorithm decoding (Problem 6.6).

The BCJR algorithm is considerably more complex. For each trellis segment, it has to compute the sum-product update rule three times. The straightforward sum-product update rule involves four multiplications and two additions; the simplified rule requires a single multiplication. By contrast, the VA requires four additions and two comparisons per trellis segment. Computation of the intrinsic APP vector is also more complex, and requires estimation of the noise variance σ2, which could be a problem. Finally, the logic of the BCJR algorithm is more complex, since it is two-way rather than one-way.

In short, the VA is significantly simpler than the BCJR algorithm. For this reason, the VA was preferred for trellis decoding for many years. The BCJR algorithm was resurrected with the advent of turbo codes, where the fact that it produces “soft” (APP) outputs is essential to its role as a part of iterative decoding algorithms.

(For this scenario, Wagner decoding is even simpler; see the solution to Problem 6.6.)

4

Page 350: MIT Principal of Digital Communication

Problem 9.1 (Iterative decoding on the BEC)

(a) Using a graph of the (8, 4, 4) code like that of Figure 1 of Chapter 13 for iterative decoding, decode the received sequence (1, 0, 0, ?, 0, ?, ?, ?).

We may use the equivalent normal graph of Figure 3(b) of Chapter 11, which may be converted to a directed normal graph (encoder) as shown in Figure 15 of Chapter 11, repeated below.

1-y0 =

0 y1 - =

HHHHHHHHHH

XXXXXXXXXX0 jz-

����������y2 - =

HHHHHHHHHH

+

91 y3 � j-=

HHHHHHHHHH

: +�XXXXXXXXXXXXXXXXXXXX���������������������0- � z-y4 = � j +XXXXXXXXXXXXXXXXXXXX

�����������

�y5 � = 91

� z-: +� ��

�����������1� �y6 � = �= � ��

0��y7 � �= �

The directed input edges show that (y0, y1, y2, y4) is an information set for this code. Given (y0, y1, y2, y4) = (1, 0, 0, 0), the sum-product algorithm fills in the erasures by following the directed state edges as shown above. On the first iteration, the first check yields y3 = 1; on the second iteration, the second and third checks yield y5 = y6 = 1; and on the third and last iteration, the last check yields y7 = 0.

Then try to decode the received sequence (1, 1, 1, 1, ?, ?, ?, ?). Why does decoding fail in the latter case? Give both a local answer (based on the graph) and a global answer (based on the code).

As shown in the graph below, iterative decoding stalls because at the initial iteration, the first check checks, and each of the last three checks has two or more erased inputs, so none of the checks yields any new symbol values. The symbols (y4, y5, y6, y7) and the last three checks are called a stopping set, because at least two of the symbols are involved in each of the three checks; therefore if all are erased, no progress can be made.

5

Page 351: MIT Principal of Digital Communication

1-y0 =

1 y1 - =

HHHHHHHHHH

XXXXXXXXXX1 jz-

����������y2 - =

HHHHHHHHHH

+

1y3 � 9 j-:=

HHHHHHHHHH

+�XXXXXXXXXXXXXXXXXXXX���������������������

- � z-y4 = � j +XXXXXXXXXXXXXXXXXXXXy�

5 � ����������

= 9 �� z-: +

� ��

������������ �y6 � = �= � ����y7 � �= �

In this case, however, even a global (ML) decoder must fail, because there are two code-words with (y0, y1, y2, y3) = (1, 1, 1, 1), namely 11110000 and 11111111.

(b) For the received sequence (1, 1, 1, 1, ?, ?, ?, 0), show that iterative decoding fails but that global (i.e., ML) decoding succeeds.

In this case, there is only one codeword with (y0, y1, y2, y3, y7) = (1, 1, 1, 1, 0), namely 11110000, so global (ML) decoding will succeed.

On the other hand, iterative decoding will fail, because the symbols (y4, y5, y6) and the last three checks form a stopping set of this graph:

: +�

��������������������

��

- -y4 = +�

y�

5 �

XXXXXXXXXXXXXXXXXXXX����������

= 9 �� z-: +

����������

�y6 � = = �

Problem 9.2 (Simulation of LDPC decoding on a BEC)

(a) Perform a simulation of iterative decoding of a regular (dλ = 3, dρ = 6) LDPC code on a BEC with p = 0.45 (i.e., on Figure 9 of Chapter 13), and show how decoding gets stuck at the first fixed point (q�→r ≈ 0.35, qr→� ≈ 0.89). About how many iterations does it take to get stuck?

We start with qr→� = 1 and use the sum-product update relationships developed for this case in Chapter 13:

q�→r = (0.45)(qr→�)2; qr→� = 1 − (1 − q�→r )

5 .

6

Page 352: MIT Principal of Digital Communication

We obtain the following sequence:

qr→� q�→r

1 0.45 0.949672 0.405844 0.925954 0.385826 0.912611 0.374786 0.904469 0.368129 0.899274 0.363912 0.895868 0.361161 0.893596 0.359331 0.892064 0.358100 0.891022 0.357264 0.890311 0.356694 0.889824 0.356304 0.889490 0.356036 0.889259 0.355852 0.889101 0.355725 0.888992 0.355638 0.888916 0.355577 0.888864 0.355536 0.888828 0.355507 0.888804 0.355487 0.888787 0.355474 0.888775 0.355464 0.888767 0.355458 0.888761 0.355453 0.888757 0.355450 0.888755 0.355448 0.888753 0.355447 0.888751 0.355446 0.888751 0.355445 0.888750 0.355444 0.888750 0.355444 0.888749 0.355444 0.888749 0.355444 . . . . . .

The point is that it takes a very finite number of iterations to get stuck, about 15–30 full iterations, depending on how we define “stuck.”

(b) By simulation of iterative decoding, compute the coordinates of the fixed point to six significant digits.

By the above simulation, the fixed point to six significant digits is at (qr→�, q�→r ) = (0.888749, 0.355444).

7

Page 353: MIT Principal of Digital Communication

� � � �

Problem 9.3 (Iterative decoding threshold)

By analysis or simulation, show that the smallest p such that the equation x = 1−(1−px2)5

∗has a solution in the interval 0 < x < 1 is p = 0.429.... Explain the significance of this calculation for iterative decoding of LDPC codes on a BEC.

A simulation such as that in Problem 9.2 will succeed for p = 0.429 and get stuck for ∗ p = 0.430. Therefore p is somewhere between these two values.

The significance of this calculation is that a rate-1/2 regular (dλ = 3, dρ = 6) LDPC code ∗with iterative decoding can be used on any BEC with p < p = 0.429.... This is not as

good as a random linear rate-1/2 code with an ML decoder, which should be able to be used on any BEC with p < 0.5, but it is pretty good.

It has now been shown that there exist irregular rate-1/2 LDPC codes that can be used with iterative decoding on any BEC with p < 0.5.

Problem 9.4 (Stability condition)

(a) Show that if the minimum left degree of an irregular LDPC code is 3, then the stability condition necessarily holds.

λdxd−1 = λ3x

2If λ(x) = +· · · , then λ′(0) = 0, so the stability condition pλ′(0)ρ′(1) < 1d necessarily holds.

(b) Argue that such a left degree distribution λ(x) cannot be capacity-approaching, in view of Theorem 13.2.

If λ(x) = λ3x2 + · · · , then in the neighborhood of the top right point (0, 0) of the EXIT

chart, the curve q�→r = pλ(qr→�) is approximately quadratic, q�→r ≈ pλ3(qr→�)2, whereas

the curve qr→� = 1−ρ(1 −q�→r ) is approximately linear, qr→� ≈ ρ′(1)q�→r. Therefore there must be a gap of nonnegligible area between these two curves in the neighborhood of the (0, 0) point. By the area theorem, if the gap between the two curves has a nonnegligible area, then capacity cannot be approached arbitrarily closely.

Problem 9.5 (Sum-product update rule for zero-sum nodes)

(a) Prove that the algorithm of Section 13.5.2 implements the sum-product update rule in,j in,jfor a zero-sum node, up to scale. [Hint: observe that in the product j (w0 − w1 ),

the terms with positive signs sum to wout, whereas the terms with negative signs sum to 0 out.]w1

Following the hint, we have

W out = W in,j = (w in,j in,j (w in,j in,j+ w1 ); W out = W in,j = − w1 ).0 0 0 1 1 0 j j j j

In the latter equation, we observe that the terms with positive signs sum to wout, whereas 0 outthe terms with negative signs sum to wout , so the second product equals wout − w1 .1 0

The same terms occur in the former equation, but all with positive signs, so the first , W outproduct equals wout + w1

out . Therefore the pair (W out ) is the Hadamard transform 0 0 1 out) from (W out, W outof (wout, wout), so we may obtain (wout, w ) by taking the inverse 0 1 0 1 0 1

out = W out + W out; wout = W out − W outHadamard transform (up to scale): w 1 .0 0 1 1 0

8

Page 354: MIT Principal of Digital Communication

� � �

� �

� � �

in,j(b) Show that if we interchange w0 and w1in,j in an even number of incoming APP

outvectors, then the outgoing APP vector {wout, w } is unchanged. On the other hand, 0 1 in,jshow that if we interchange w in,j and w1 in an odd number of incoming APP vectors, 0

then the components wout and w1out of the outgoing APP vector are interchanged. 0

in,jInterchanging w in,j and w1 changes the sign of W in,j , while leaving W in,j unchanged. 0 1 0

Therefore if there an even number of such interchanges, W out and W out are unchanged, 0 1

and so therefore are w0out and w1

out . If there an odd number of such interchanges, then the out and w1

out .sign of W out is changed, which results in an interchange between w1 0

(c) Show that if we replace APP weight vectors {w0, w1} by log likelihood ratios Λ = ln w0/w1, then the zero-sum sum-product update rule reduces to the “tanh rule”

Λ1 + tanh Λin,j /2

out = ln � j

1 − tanh Λin,j /2 ,

j

where the hyperbolic tangent is defined by tanh x = (ex − e−x)/(ex + e−x). in,j /win,jSince Λin,j /2 = ln(w )1/2, we have 0 1

(w in,j /win,j in,j /win,j )−1/2 in,j − w1in,j W in,j

1 = = .in,j /win,j )−1/2

tanh Λin,j /2 = (w

0in,j /w

1in,j

)1/2 − (w0 1 w0in,j + w1

in,j W in,j 0 1 )1/2 + (w0 1 w0 0

in,j in,j in,j = W in,j(Note that if (w in,j , w ) are normalized so that w0 + w1 = 1, then 0 1 0

tanh Λin,j /2 = W in,j .) Consequently 1

W in,j W out 1 1tanh Λin,j /2 =

W in,j = W out .

j j 0 0

It follows that

tanh Λin,j /2 W out + W out out 1ln

1 + � j= ln 0 = ln

w0 = Λout . W out − W out out1 − j tanh Λin,j /2 0 1 w1

(d) Show that the “tanh rule” may alternatively be written as

tanh Λout/2 = tanh Λin,j /2. j

As with the expression for tanh Λin,j /2 above, we have

W out 1tanh Λout/2 =

W out , 0

which we have shown above to be equal to j tanh Λin,j /2.

9

Page 355: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, May 4, 2005 MIT, Spring 2005 Handout #23

Due: never

Problem Set 10

Problem 10.1 (Mod-2 lattices and trellis codes)

(a) Let C be an (n, k, d) binary linear block code. Show that

ΛC = {x ∈ Zn | x ≡ c mod 2 for some c ∈ C}

is an n-dimensional sublattice of Zn (called a “Construction A” or “mod-2” lattice).

(b) Show that if C has Nd weight-d words, then the mod-2 lattice ΛC has the following geometrical parameters:

d2 min(ΛC ) = min{d, 4}; ⎧

K⎨ 2dNd, if d < 4;

min(ΛC ) = 2n, if d > 4; ⎩ 2dNd + 2n, if d = 4;

V (ΛC ) = 2n−k ; d2

min(ΛC )γc(ΛC ) =

2η(C) ,

where η(C) = 2(n − k)/n is the redundancy of C in bits per two dimensions.

(c) Show that the mod-2 lattices corresponding to the (4, 3, 2) and (4, 1, 4) binary linear block codes have coding gain 21/2 (1.51 dB) (these lattices are in fact versions of D4). Show that the mod-2 lattice corresponding to the (8, 4, 4) binary linear block code has coding gain 2 (3.01 dB) (this lattice is in fact a version of E8). Show that no mod-2 lattice has a nominal coding gain more than 4 (6.02 dB).

(d) Let C be a rate-k/n binary linear convolutional code with free distance d and Nd

minimum-weight code sequences per n dimensions. Define the corresponding mod-2 trellis code ΛC to be the set of all integer sequences x with D-transform x(D) such that x(D) ≡ c(D) mod 2 for some code sequence c(D) ∈ C.

(i) Show that an encoder as in Figure 5 of Chapter 14 based on the convolutional code C and the lattice partition Zn/2Z

n is an encoder for this mod-2 trellis code.

(ii) Show that ΛC has the group property.

(iii) Show that ΛC has the following parameters:

d2 min(ΛC ) = min{d, 4}; ⎧

K⎨ 2dNd, if d < 4;

min(ΛC ) = 2n, if d > 4; ⎩ 2dNd + 2n, if d = 4;

γc(ΛC ) = d2 ,min(ΛC )2−η(C)

where η(C) = 2(n − k)/n is the redundancy of C in bits per two dimensions.

1

Page 356: MIT Principal of Digital Communication

Problem 10.2 (Invariance of nominal coding gain)

Show that γc(Λ) is invariant to scaling, orthogonal transformations, and Cartesian prod-ucts; i.e., γc(αU Λm) = γc(Λ), where α > 0 is any scale factor, U is any orthogonal matrix,and m ≥ 1 is any positive integer. Show that γc(αU Zn) = 1 for any version αU Zn of anyinteger lattice Zn .

Problem 10.3 (Invariance of normalized second moment)

Show that G(R) is invariant to scaling, orthogonal transformations, and Cartesian prod-ucts; i.e., G(αU Rm) = G(R), where α > 0 is any scale factor, U is any orthogonalmatrix, and m ≥ 1 is any positive integer. Show that G(αU [−1, 1)n) = 1/12 for anyversion αU [−1, 1)n of any n-cube [−1, 1)n centered at the origin.

2

Page 357: MIT Principal of Digital Communication

6.451 Principles of Digital Communication II Wednesday, May 11, 2005MIT, Spring 2005 Handout #24

Problem Set 10 Solutions

Problem 10.1 (Mod-2 lattices and trellis codes)

(a) Let C be an (n, k, d) binary linear block code. Show that

ΛC = {x ∈ Zn | x ≡ c mod 2 for some c ∈ C}

is an n-dimensional sublattice of Zn (called a “Construction A” or “mod-2” lattice).

ΛC is evidently a subset of Zn . To show that it is a sublattice, we must prove that it has the group property. Suppose that x and x′ are two elements of ΛC that are congruent to codewords c ∈ C and c′ ∈ C, respectively. Then it is easy to see that x + x is congruent (mod 2) to c + c′, which must also be a codeword of C by the group property of a linear code C. Finally, ΛC is n-dimensional because it includes 2Z

n = {x ∈ Zn | x ≡ 0 mod 2},

which is n-dimensional.

(b) Show that if C has Nd weight-d words, then the mod-2 lattice ΛC has the following geometrical parameters:

d2 min(ΛC ) = min{d, 4}; ⎧

K⎨ 2dNd, if d < 4;

min(ΛC ) = 2n, if d > 4; ⎩ 2dNd + 2n, if d = 4;

V (ΛC ) = 2n−k; d2

min(ΛC )γc(ΛC ) =

2η(C) ,

where η(C) = 2(n − k)/n is the redundancy of C in bits per two dimensions.

By definition, ΛC is the union of the 2k cosets {2Zn + c | c ∈ C} of its sublattice 2Z

n .

Within any coset 2Zn + c, as within 2Z

4, the minimum squared distance is 4, and every element λ has 2n nearest neighbors at this distance of the type λ ± (2, 0, 0, . . . , 0).

The minimum squared distance between cosets is the minimum distance d of C, because two elements of 2Z

n + c and 2Zn + c′ must differ by at least ±1 wherever c and c′ differ.

For every codeword c ∈ C of weight d, there are 2d nearest neighbors of this type.

We conclude that if d < 4, then d2

dmin(ΛC ) = d and Kmin(ΛC ) = 2dNd; if d > 4, then

2 min(ΛC ) = 4 and Kmin(ΛC ) =min(ΛC ) = 4 and Kmin(ΛC ) = 2n; and if d = 4, then d2

2dNd + 2n.

Because ΛC is the union of the 2k cosets of 2Zn, it is 2k times as dense as 2Z

n . Since the volume of 2Z

n per lattice point is V (2Zn) = 2n, this implies that V (ΛC ) = 2n−k .

Defining η(C) = 2(n − k)/n, the nominal coding gain of ΛC is then

γc(ΛC ) = d2

min(ΛC ) V (ΛC )2/n

= d2

min(ΛC ) 22(n−k)/n

= d2

min(ΛC ) 2η(C)

.

1

Page 358: MIT Principal of Digital Communication

(c) Show that the mod-2 lattices corresponding to the (4, 3, 2) and (4, 1, 4) binary linear block codes have coding gain 21/2 (1.51 dB) (these lattices are in fact versions of D4). Show that the mod-2 lattice corresponding to the (8, 4, 4) binary linear block code has coding gain 2 (3.01 dB) (this lattice is in fact a version of E8). Show that no mod-2 lattice has a nominal coding gain more than 4 (6.02 dB).

min(Λ(4,3,2)) = 2 and η(4, 3, 2) = 1From the above expressions, we have d22 , so γc(Λ(4,3,2)) =

32 · 2−1/2 = 21/2 . Also, we have d2

2min(Λ(4,1,4)) = 4 and η(4, 1, 4) =

2 , so γc(Λ(4,1,4)) = 4 · −3/2 = 21/2 . (Note also that Kmin(Λ(4,3,2)) = 4·6 = 24 and Kmin(Λ(4,1,4)) = 16·1+8 = 24.)

Finally, we have d2 min(Λ(8,4,4)) = 4 and η(8, 4, 4) = 1, so γc(Λ(8,4,4)) = 4 · 2−1 = 2. (Note

also that Kmin(Λ(8,4,4)) = 16 · 14 + 16 = 240.)

min(ΛC ) ≤ 4 and η(C) ≥ 0, so γc(ΛC ) = d2Every mod-2 lattice has d2 min(ΛC )2

−η(C) ≤ 4.

(d) Let C be a rate-k/n binary linear convolutional code with free distance d and Nd

minimum-weight code sequences per n dimensions. Define the corresponding mod-2 trellis code ΛC to be the set of all integer sequences x with D-transform x(D) such that x(D) ≡ c(D) mod 2 for some code sequence c(D) ∈ C.

(i) Show that an encoder as in Figure 5 of Chapter 14 based on the convolutional code C and the lattice partition Zn/2Z

n is an encoder for this mod-2 trellis code.

The rate-k/n convolutional encoder puts out a sequence of binary n-tuples ck . Let each binary n-tuple ck select a coset 2Z

n + ck of 2Zn in Z

n. Thus the n-tuple sequence {. . . , ck , ck+1, . . . } selects the coset sequence {. . . , 2Z

n + ck , 2Zn + ck+1, . . . }, which is

precisely the set of all integer sequences that are congruent mod 2 to {. . . , ck , ck+1, . . . }. (ii) Show that ΛC has the group property.

Suppose that x(D) and x′(D) are two elements of ΛC that are congruent to codewords c(D) ∈ C and c′(D) ∈ C, respectively. Then it is easy to see that x(D)+x (D) is congruent (mod 2) to c(D) + c′(D), which must also be a codeword of C by the group property of a linear code C.

(iii) Show that ΛC has the following parameters:

d2 min(ΛC ) = min{d, 4}; ⎧

K⎨ 2dNd, if d < 4;

min(ΛC ) = 2n, if d > 4; ⎩ 2dNd + 2n, if d = 4;

γc(ΛC ) = d2 ,min(ΛC )2−η(C)

where η(C) = 2(n − k)/n is the redundancy of C in bits per two dimensions.

The proof is precisely as for part (b), above, except that by using the expression (14.18) for γc(ΛC ), we avoid having to define the volume of a trellis code.

2

Page 359: MIT Principal of Digital Communication

Problem 10.2 (Invariance of nominal coding gain)

Show that γc(Λ) is invariant to scaling, orthogonal transformations, and Cartesian prod-ucts; i.e., γc(αU Λm) = γc(Λ), where α > 0 is any scale factor, U is any orthogonal matrix,and m ≥ 1 is any positive integer. Show that γc(αU Zn) = 1 for any version αU Zn of anyinteger lattice Zn .

The minimum squared distance of a scaled n-dimensional lattice αΛ is d2 = min(αΛ) α2d2

d

min(Λ), and its volume is V (αΛ) = αnV (Λ), so γc(Λ) is invariant to scaling:2 α2d2min(αΛ) min(Λ)

γc(αΛ) = V (αΛ)2/n

= = γc(Λ). α2V (Λ)2/n

An orthogonal transformation preserves distances and volumes, so γc(Λ) is invariant under orthogonal transformations.

The minimum squared distance of a Cartesian-product lattice Λm is the same as that of Λ, because two elements of Λm may differ in any one of its m components by any element of Λ. The dimension of Λm is mn. The volume of Λm is V (Λm) = (V (Λ))m, because its generator matrix consists of m diagonal copies of G. Thus γc(Λ) is invariant under Cartesian products:

d2 d2 min(Λ

m) min(Λ)γc(Λ

m) = V (Λm)2/mn

= = γc(Λ). V (Λ)2/n

Since γc(Z) = 1, we have γc(αU Zm) = 1 for any version αU Zm of any integer lattice Zm .

Problem 10.3 (Invariance of normalized second moment)

Show that G(R) is invariant to scaling, orthogonal transformations, and Cartesian prod-ucts; i.e., G(αU Rm) = G(R), where α > 0 is any scale factor, U is any orthogonalmatrix, and m ≥ 1 is any positive integer. Show that G(αU [−1, 1)n) = 1/12 for anyversion αU [−1, 1)n of any n-cube [−1, 1)n centered at the origin.

A scaled n-dimensional region αR has average energy P (αR) = α2P (R) and volumeV (αR) = αnV (Λ), so G(R) is invariant to scaling:

P (αR) α2P (R)G(αR) =

V (αR)2/n = = G(R).

α2V (R)2/n

An orthogonal transformation preserves energy and volume, so G(Λ) is invariant under orthogonal transformations.

The average energy per dimension of a Cartesian-product region Rm is the same as that of R, because average energy scales with dimension. The dimension of Rm is mn. The volume of Rm is V (Rm) = (V (R))m. Thus G(R) is invariant under Cartesian products:

P (Rm) P (R)G(Rm) =

V (Rm)2/mn = = G(R).

V (R)2/n

Since P ([−1, 1)) = 1/3, V ([−1, 1)) = 2, we have G([−1, 1)) = 1/12. Thus G(αU [−1, 1)m) = 1/12 for any version αU [−1, 1)m of any m-cube [−1, 1)m centered at the origin.

3


Recommended