Energy-Optimal Information Transmission over Wireless Channels by Cem Erin Submitted to the Department of Mechanical Engineering in partial fulfillment of the requirements for the degree of Master of Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY January 2001 @ 2000 Massachusetts Institute of Technology. All rights reserved. Author ................ Depar ment of Mechanical Engineering Vi May 5, 2000 Certified by.............. Professor Haruhiko H. Asada Ford Professor of Mechanical Engineering Thesis Supervisor A ccepted by ................................................. Professor Ain A. Sonin Graduate Students Chairman, Department Committee onMASSACHUSETTS INSTITUTE OF TECHNOLOGY SEP 2 0 2000 LIBRARIES BARKER Energy-Optimal Information Transmission over Wireless Channels by Cem Erin Submitted to the Department of Mechanical Engineering on May 5, 2000, in partial fulfillment of the requirements for the degree of Master of Science Abstract Coding and modulation algorithms optimizing the energy efficiency in information transmission are presented. Portable communication devices transmit nonuniformprobability messages using nonuniform-energy signal sequences. Hence, energy-optimal information transmission can be achieved by representing higher-probability messages by lower-energy signal sequences. In this thesis, first, for low data rate transmission, this energy-optimal information transmission problem is formulated as a data compression problem and a memoryless data compression algorithm, namely Minimum Energy Coding (ME Coding), optimizing the energy efficiency in information transmission over noiseless channels is presented. Then, extensions of ME Coding are investigated for improving the energy efficiency at low data rates. Next, for high data rate transmission, the energy-optimal information transmission problem is formulated as a modulation system design problem and an optimization algorithm, namely joint code-constellation design (JCCD), is proposed as a method for designing optimal source coded modulation systems. Then, a sub-optimal modulation algorithm, namely Minimum Energy Modulation (ME Modulation), is proposed as an information transmission technique that achieves energy efficient information transmission at a reduced system complexity. Extensions of ME Modulation are investigated for improving the energy efficiency at high data rates. Next, the issue of energy efficient information transmission in the presence of channel noise is investigated. For powerlimited channels, low-rate energy-optimal information transmission is achieved via the use of error correcting codes. For bandwidth-limited channels, high-rate energyoptimal information transmission is achieved via the use of coded modulation schemes combined with multilevel and multidimensional signal constellations. In conclusion, energy-optimal information transmission can be achieved through proper coding and modulation. Thesis Supervisor: Professor Haruhiko H. Asada Title: Ford Professor of Mechanical Engineering 2 Contents 1 2 3 9 Introduction 1.1 Objective and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13 Problem Formulation 2.1 Signal Constellations . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2 Practical Signal Constellations . . . . . . . . . . . . . . . . . . . . . 16 2.3 Average Energy per Message . . . . . . . . . . . . . . . . . . . . . . 17 19 Energy-Optimal Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . 21 Optimality Bound to ME Coding . . . . . . . . . . . . . . . . . . . . 23 3.1 M E Coding 3.2 Fixed-Length ME Coding 3.3 25 4 Extensions of ME Coding 4.1 Extension and Concatenation . . . . . . . . . . . . . . . . . . . . 25 4.2 Mechanisms of Concatenation . . . . . . . . . . . . . . . . . . . . 26 4.3 Concatenation Theory . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5 Energy-Optimal Source Coded Modulation 34 5.1 Joint Code-Constellation Design (JCCD) . . . . . . . . . . . . . . . . 34 5.2 Optimization Procedure . . . . . . . . . . . . . . . . . . . . . . . . . 35 3 6 5.3 JCCD Methodology Flow Chart . . . . . . . . . . . . . . . . . . . . . 37 5.4 Optimality Condition for 2D Constellations 39 . . . . . . . . . . . . . . ME Modulation 41 6.1 ME Modulation Algorithm ............................. 41 6.2 Optimality of ME Modulation . . . . . . . . . . . . . . . . . . . . . . 43 7 Extensions of ME Modulation 8 7.1 Extension and Concatenation . . . . . . . . . . . . . . . . . . . . . . 46 7.2 Mechanisms of Concatenation . . . . . . . . . . . . . . . . . . . . . . 49 Energy-Efficient, Low-Rate, and Reliable Information Transmission over Power-Limited Wireless Channels 54 8.1 Setting the Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 8.1.1 The Channel . . . . . .. . . . . . . . . . . . . . . . . . . . . . 55 8.1.2 The Decoder and Error Probability . . . . . . . . . . . . . . . 57 8.1.3 The Main Energy Efficient Error Control Problem . . . . . . . 60 8.2 9 46 Energy Efficient Block Codes . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Minimum Energy Hamming Codes 8.2.2 Minimum Energy Golay Codes 62 . . . . . . . . . . . . . . . 63 . . . . . . . . . . . . . . . . . 67 8.2.3 Minimum Energy Reed-Muller Codes . . . . . . . . . . . . . . 71 8.2.4 Implementation of Block Codes . . . . . . . . . . . . . . . . . 74 8.3 Minimum Energy Convolutional Codes . . . . . . . . . . . . . . . . . 75 8.4 Minimum Energy Burst-Error-Correcting Codes . . . . . . . . . . . . 76 Energy-Efficient, High-Rate, and Reliable Information Transmission over Bandwidth-Limited Wireless Channels 78 9.1 Minimum Energy Multilevel Coded Modulation . . . . . . . . . . . . 78 9.2 Minimum Energy Block-Coded Modulation . . . . . . . . . . . . . . . 79 9.3 Minimum Energy Trellis-Coded Modulation . . . . . . . . . . . . . . 80 9.4 Minimum Energy Lattice Codes . . . . . . . . . . . . . . . . . . . . . 82 9.5 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4 10 Simulation Results 85 11 Conclusions 88 5 List of Figures 1-1 Portable Communication Device . . . . . . . . . . . . . . . . . . . 10 2-1 8-QAM Constellation . . . . . . . . . . . . . . . . . . . . . . . . . 15 2-2 Practical Signal Constellations . . . . . . . . . . . . . . . . . . . . 16 3-1 Lower Bound to ME Coding . . . . . . . . . . . . . . . . . . . . . 24 4-1 Direct Concatenation. (a) ME Coding, (b) Direct Concatenation. 26 4-2 ME Coding Example 4-3 Direct Concatenation Example . . . . . . . . . . . . . 28 4-4 Optimal Codebook for Direct Concatenation . . . . . 29 4-5 Probabilistic Optimization for Direct Concatenation . 30 4-6 Extension of ME Coding . . . . . . . . . . . . . . . . 31 4-7 Relations among different concatenation orders . . . . 33 5-1 JCCD Problem . . . . . . . . . . . . . . . . . . . . . 35 5-2 Optimization Procedure . . . . . . . . . . . . . . . . 36 5-3 Design Methodology Flow Chart . . . . . . . . . . . . 38 6-1 16-QAM Constellation .................. 42 7-1 Direct Concatenation. (a) ME Modulation, (b) Direct Concatenation. 47 7-2 ME Modulation Example . . . . . . . . . . . . . . . . 49 7-3 Direct Concatenation Example . . . . . . . . . . . . . 50 7-4 Direct Concatenation Codebook . . . . . . . . . . . . 51 7-5 Optimal Codebook for Direct Concatenation . . . . . 52 . . . . . . . . . . . . . . 6 27 7-6 Probabilistic Optimization for Direct Concatenation . 53 7-7 Extension of ME Modulation . . . . . . . . . . . . . 53 8-1 Block Diagram of a Communications System . . . . . 55 8-2 Discrete Memoryless Channel . . . . . . . . . . . . . 55 8-3 Binary Symmetric Channel . . . . . . . . . . . . . . . 56 8-4 Decoder ..... ......................... 58 8-5 The Main Energy Efficient Error Correction Problem 61 8-6 Single Error Correcting Hamming Codes . . . . . . . 63 8-7 Single Error Corre cting and Double Error Detecting Hamming Codes 66 8-8 EPROM Encoder 74 de........................... Logic Circuit Enco der . . . . . . . . . . . . . . . . . . . . . . 75 8-10 Convolutional Enc :)der . . . . . . . . . . . . . . . . . . . . . . 76 8-11 Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8-9 9-1 Block-Coded Modulation 80 9-2 Trellis Coded Modulation 81 9-3 Trellis Diagram . . . . . . 81 9-4 Coded Modulation System 83 10-1 Finger Ring Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 10-2 Ring Sensor Plethysmograph . . . . . . . . . . . . . . . . . . . . . . . 86 . . . . . . . . . . 87 10-3 Battery Energy: (1) ASCII Code, (2) ME Protocol 7 List of Tables 3.1 Minimum Codebook ....... 6.1 16-QAM ME Modulation Example 8.1 ME Hamming Code .................................. 8 ........................... 22 ................... 43 64 Chapter 1 Introduction 1.1 Objective and Scope Battery life optimization is a fundamental problem in the portable communication device industry. In portable communication devices, the trend is towards smaller and lighter devices offering increasingly demanding applications. This trend imposes stringent constraints on the available energy resources thereby resulting in rather impractical battery life times. Since the progress in battery technology is rather slow and since frequent battery re-charging is rather undesirable from the consumers' point of view, future market success of portable communication devices will heavily depend on new information transmission technologies that will make efficient use of the available energy resources. An effort to develop new energy efficient information transmission technologies requires understanding the operation of portable communication devices. Figure 1-1 shows a simplified block diagram of a portable communication device. In this figure, the two main components of a portable device are shown to be the information source and the transmitter [1, 2]. The information source selects messages from a set of possible messages to be delivered to the transmitter. The transmitter, which usually includes an encoder and a modulator, generates a unique signal sequence for each unique message. These signal sequences are then transmitted over the wireless channel to a receiving device. In many portable communication devices, transmit9 Transmitter Wireless Channel Source BtSkal., Conventional Approa New Approach Figure 1-1: Portable Communication Device ted energy in the signal sequences forms a major fraction of the total device energy consumption. Hence, the objective of this thesis is to develop new information transmission technologies that minimize the transmitted energy in portable communication devices. 1.2 Background Existing approaches to transmitted energy optimization can be grouped into two classes: (i) adaptive techniques, and (ii) algorithmic techniques. In the adaptive class, transmitted energy optimization is achieved by varying a set of system parameters as a function of the system states. Some specific techniques include transmitter power level adaptation [3], error control adaptation [4], or a combination of the two [5] for varying channel conditions. In the algorithmic class, recognizing that the transmission of higher-energy signals consumes more battery energy compared to the transmission of lower-energy signals, transmitted energy optimization is accomplished by designing modulators that transmit lower energy signals more frequently. Figure 1-1 shows the algorithmic approach, labeled as the conventional approach, as a mapping between bit sequences and transmitted signal sequences. One such algorithmic technique first divides the bit sequence produced by the encoder into nonuniform-length words according to a prefix code thereby introducing a probability distribution on the prefix words, and 10 then maps the prefix words to the transmitted signals such that shorter words having higher probabilities are assigned to lower energy signal sequences [6, 7]. Although this approach promises an improvement in energy efficiency, the fact that the number of data bits transmitted per unit time becomes a random variable leads to system problems such as buffering and delay that may outweigh any possible improvement in energy efficiency. Another technique is to divide the signal constellation into sub-constellations and provide a mapping between the bit sequences and signals that makes more frequent use of inner sub-constellations [8-11]. This approach also promises an improvement in energy efficiency; however, this improvement is achieved with a significant increase in system complexity due to the complicated nature of the bit sequence-to-signal mappings. Hence, a simple and practical coding and modulation algorithm that would optimize the transmitted energy with a minimum increase in system complexity is still in demand. 1.3 Approach This thesis introduces a new algorithmic approach to transmitted energy optimization that does not result in system problems and does not require a significant increase in system complexity. Furthermore, depending on the system, the new approach promises significant energy efficiency improvements over the previously proposed approaches. Recognizing that the very basic function of a portable communication device is to transmit unique messages using unique signal sequences and that different messages occur with different probabilities and different signal sequences are characterized by different energies, energy consumption in information transmission is optimized by mapping higher probability messages to lower energy signal sequences. Based on this new idea, new coding and modulation algorithms optimizing the energy efficiency in information transmission are presented. 11 1.4 Overview The thesis starts with an introduction to signal constellations in Chapter 2. For low data rate information transmission systems using On-Off Keying signal constellations, an energy-optimal data compression algorithm, Minimum Energy Coding, is proposed in Chapter 3. Chapter 4 investigates the extensions of this algorithm for improving the energy efficiency. For high data rate information transmission systems using generalized multilevel signal constellations, Chapter 5 proposes joint code-constellation design (JCCD) as an optimization algorithm that yields energy-optimal source coded modulation systems. Since JCCD generally results in impractical signal constellations that require a significant increase in system complexity, a sub-optimal practical source coded modulation algorithm is proposed in Chapter 6. Chapter 7 investigates the extensions of this algorithm for improving the energy efficiency. For energy efficient information transmission over noisy power-limited channels, Chapter 8 proposes the use of error correcting codes. For energy efficient information transmission over noisy bandwidth-limited channels, Chapter 9 proposes the use of coded modulation schemes. Chapter 10 demonstrates the attainable energy savings via the use of ME Coding over the conventional ASCII code. The thesis closes with some conclusions in Chapter 11. 12 Chapter 2 Problem Formulation In wireless communications, information transmission is accomplished via the use of signal sequences selected from a given signal constellation. In an effort to formulate the energy efficient information transmission problem, this chapter first provides an introduction to signal constellations and their accompanying performance metrics. Then, practical signal constellations that are frequently used in wireless communications are presented. Finally, a new performance metric for evaluating the energy performance of a portable communication device is introduced and the energy efficient information transmission problem is formulated as a coding and modulation problem. 2.1 Signal Constellations A signal constellation is a set of signals C = {c1 , c2 ,..., CM} that generates a Ddimensional space W(C) C L 2 [12]. The key parameters of finite signal constellations include average error probability per signal, normalized rate, and peak signal energy. Following is a list of definitions for these parameters. Average Error Probability per Signal (Pr(error)). The average error probability per signal Pr(error)of a signal constellation using an optimal detector is 13 evaluated using the union bound estimate. The union bound estimate is given as Pr(error)= E[Pr(errorjci)] d2 . Pr(errorci) ~ KminQ( ), where the expectation is over the signals ci in the constellation, (2.1) Q is the Gaussian error function, dmin is the minimum distance between ci and cj, i # j, and Kmin is the number of signals cj $ ci that are at a minimum distance dmin from ci. The union bound estimate is valid only (i) if the second nearest neighbors are at a significantly greater distance than the first nearest neighbors and (ii) if there are not many nearest neighbors. If any of these assumptions are violated, then further terms should be included in the estimate. Equation (2.1) suggests that the average error probability per signal of a signal constellation can be constrained by constraining the minimum distance dmin of the constellation. Normalized Rate (p). The normalized rate of a signal constellation with size M and dimension D is defined to be 2 p = - D log2 M (b/2D), (2.2) which is equal to its spectral efficiency measured in (b/s)/Hz. Physically, spectral efficiency measures how fast information is being transmitted. For example, if a QAM signal constellation of dimension D = 2 has M = 8 sinusoidal signals each at a given frequency and lasting 1 second, then transmission of each of the 8 signals results in a transmission rate of 10928 = 3 bits/s/Hz. If a signal constellation has 16 signals and all the other constellation parameters are kept the same, then the transmission rate becomes log2 16 = 4 bits/s/Hz. Hence, the more the number of signals in the signal constellation, the higher the transmission rate. 14 Q 2 -2 1 -1 2 -2 Figure 2-1: 8-QAM Constellation Peak Signal Energy. The peak signal energy of a signal constellation is equal to the energy of its maximum energy signal Ep = max1ci 1 2 = max ej. (2.3) 1 Since signals mostly take the form of electrical current or electrical voltage and since energy of a signal is proportional to its current amplitude or voltage amplitude squared, ||c,112 represents the energy of the signal. Figure 2-1 illustrates the above terminology on an 8-QAM signal constellation. In this figure, it is seen that the signal constellation is D = 2 dimensional, where the 2 dimensions are generated by the in-phase (I) and quadrature (Q) components of the harmonic signal (the constellation axis). The number of signals in the constellation is M = 8. The minimum distance, dmin, of the signal constellation is dmin = v/2 as seen by the Euclidean distance between the signal points. The normalized rate of the signal constellation is p = (2/2)1og28 = 3 b/2D. The peak signal energy is 4 units as seen by the squared Euclidean distance of the signal points on the coordinate axes from the origin. 15 2.2 Practical Signal Constellations In wireless communications, information transmission is accomplished via some information carrying signals selected from a practical signal constellation. Not all signal constellations are practical. The practicality of a signal constellation is determined by the ease with which the signals in the constellation are synthesized. The problem of designing practical signal constellations has been investigated in the 1960s and early 1970s [6,13-22]. Some of the practical signal constellations that have been designed until now are shown in Figure 2-2. In this figure, the in-phase axis, I, represents a Q PAM OOK 0 00 * 0 * S PSK 0 000 QAM Hexagonal Multidimensional Figure 2-2: Practical Signal Constellations sine wave, and the quadrature axis, Q, represents a cosine wave. In On-Off Keying Modulation (OOK), the two transmitted signals are the Off-signal, which is located at the origin, and the On-signal, which is located on the positive I axis. In Pulse Amplitude Modulation (PAM), the information is carried in the amplitude of the in-phase signal. In PSK Modulation, however, the information carrying signal is a 16 combination of in-phase and quadrature components, has an amplitude that is fixed, but is phase-shifted. In QAM Modulation, the signals are placed on a regular grid. The transmitted signals are linear superpositions of integral multiples of in-phase and quadrature signals. In hexagonal signal constellations, the signals are placed on the corners and centers of hexagons. Finally, in multidimensional signal constellations, dimensionality of the signal constellation is increased by extending the time or the frequency axis. 2.3 Average Energy per Message Formulation of the energy efficient information transmission problem is derived from the new idea that energy efficiency can be optimized by representing higher probability messages using lower energy signal sequences. Based on this new idea, a natural parameter for measuring the energy efficiency of a wireless device becomes average transmitted energy per message or, in short, average energy per message B. The average energy per message can be expressed as q E Piei, = (2.4) i=1 where P is the probability of the i-th message and ei is the energy of the i-th signal sequence assigned to the i-th message given as L ej = z |sijII 2 , (2.5) j=1 where |sIj | 2 is the energy of the j-th signal in the i-th signal sequence. Hence, based on the new performance metric being average energy per message, the energy-optimal information transmission problem can be stated as follows. Problem Statement. Given a q-message source S with a known probability distribution P, what is the optimal coding and modulation algorithm that minimizes the average energy per message? 17 As an immediate response to this question, looking at equation (2.4), the optimal coding and modulation algorithm would be one that " Chooses the signal sequences of lower energy to minimize ej, and " Assigns the higher probability messages to lower energy signal sequences to minimize E91 Piej. The next chapter investigates this problem for low rate information transmission systems using On-Off Keying Modulation, where each high bit (i.e., a 1) results in an On-signal and each low bit (i.e., a 0) results in an Off-signal. 18 Chapter 3 Energy-Optimal Data Compression In an effort to achieve energy-optimal low-rate information transmission, this chapter introduces Minimum Energy Coding combined with On-Off Keying Modulation as the energy-optimal data compression algorithm. Next, the optimality of ME Coding is proved. Then, a special practical case of ME Coding, fixed-length ME Coding, is described. Finally, the parameters determining the optimal performance and a lower bound on optimal performance are introduced. 3.1 ME Coding In On-Off Keying Modulation systems, battery energy is consumed only when high bits are transmitted, and virtually no energy is consumed when low bits are transmitted. Recognizing this fact, ME Coding is a data compression algorithm that aims to optimize the energy efficiency in information transmission by minimizing the average number of high bits used in coding the information source. ME Coding is generated through two distinct steps: Codebook Optimality and Probabilistic Optimality. The former is to determine a set of codewords, termed a codebook, that has fewest high bits, and the latter is to assign codewords having less high bits to messages with higher probability. The following two theorems underpin the theory of ME Coding. 19 Theorem 1: Probabilistic Optimality. Let S be a q-message i.i.d. source with message probabilities P = {P1 P2 > ... Pq-1 q P}. (3.1) Given a codebook of q codewords, each of which contains ni high bits, 1 < i < q, the optimal code that minimizes the average number of high bits fi = D niPi is given by assigning the codewords to messages such that n, :5 n2 <- --- < nq-i < nq. (3.2) Proof. This theorem can be proved in the same way as the optimality of Huffman Coding by replacing the codeword length by the number of high bits. See Appendix. The major difference from Huffman Coding stems from the codebook used. Let W be a codebook of q codewords arranged in the ascending number of high bits involved in each codeword. The code C(W, S) assigns the q codewords in codebook W to q messages in source S in such a manner that equations (3.1) and (3.2) determine the minimum A for the given W. Hence, the minimum of ii varies depending on properties of the codebook used. The remaining question is how to obtain a codebook that provides the overall minimum of ft. Let WO = {wi, W 2 , ... , the entire set of codewords that are usable for ME Coding; q Wi, ---, Wqo-1, Wqa} be q. < +oo. We first number each codeword in the ascending number of high bits involved in it, namely, ni n2 5 ... < ni < ... 5 no-1 nO, where ni is the number of high bits in codeword wi. Then, we generate the codebook used for ME Coding by taking the first q codewords having the least high bits. Definition: Minimum Codebook. Let the codewords of the whole codeword set Wo = {w 1 , w 2 , ... , w, ... , Wqo} be numbered in the ascending number of high bits involved in each codeword, n, 5 n 2 -<... < n 20 5 ... 5 nqo. A minimum codebook of q codewords, Wmin, consists of the first q codewords of the whole codeword set W. Wmin = {Wi, W2, (3.3) ---, Wq-1, Wq} C Wo. Theorem 2: Codebook Optimality. Let S be a q-message source and W be a codebook of q-codewords taken from the usable codewords set Wo = {W1, W 2, ... , Wqo.-, wqo}, q. < +oo; W C W0 . The necessary condition for a code C(W, S) to provide the q minimum average number of high bits ft = Z niPi is that the codebook W is a minimum codebook of Wo. Proof. See Appendix. Combining Theorems 1 and 2, the following Corollary is easily obtained. Corollary 1: ME Coding. Let S be a source and W. be the entire set of usable codewords, q < q. high bits f = Z= The optimal code C(W, S) that minimizes the average number of 1 niPi is given by (i) Using the minimum codebook Wmin of W. for the codebook; W = Wmin C W, and (ii) Assigning the q codewords of Wmin in the ascending order of number of high bits to the q messages in the descending order of probabilities. This optimal coding is referred to as ME Coding. Consider a special case where Pi = P2 = ... = Pq-i = Pq. The average number of high bits in this case equals the total number of high bits in the codebook divided by q. Therefore, the following Corollary holds. Corollary 2. A minimum codebook contains the minimum number of high bits; Min E_1 ni. wo 3.2 Fixed-Length ME Coding Of practical importance is ME Coding with fixed-length codewords. As shown by Theorem 2 and Corollary 1, use of a minimum codebook is the necessary condition for obtaining ME Coding. Thus, we must first generate a minimum codebook. For Lbit fixed-length codewords, Table 3.1 shows the entire set of usable codewords sorted 21 by the number of high bits; WO = {w 1 , ... , Wq 0 }. Note that the total number of usable Table 3.1: Minimum Codebook Codeword W1 Number of L Codewords W2 - WL+ WL+2 '.... L' L) Wq (L) (L L1 Codeword Pattern Message (L' / W2 L L NE- m1 m2 ... codewords is qo = 2L. The first column has only high bit, the second column has L = L (0 m] =1 codeword with zero L codewords with one high bit, and so on. All the codewords are numbered from 1 to 2 L in the ascending order of the number of high bits. The last codeword, W 2 L, consists of all high bits. Selecting the first q codewords from this exhaustive list of 2 L codewords yields the minimum codebook needed for ME Coding. It is clear from Table 3.1 that, as the codeword length L becomes longer, the total number of high bits involved in the first q codewords decreases. An extreme case is unary coding, where L is long enough to express all q messages using codewords with at most one high bit per codeword, e.g., 00010000. Since a longer codeword takes a longer transmission time if the bit period tb is kept constant, transmission rate decreases. Hence, this constitutes the trade-off between energy efficiency and transmission rate. 22 3.3 Optimality Bound to ME Coding In Sections 3.1 and 3.2, we proved the optimality of ME Coding and introduced fixed-length ME Coding. Since a closed form solution for the optimal performance of fixed-length ME Coding is not available, we derive the following optimality bound k(Hk-A) Bk (3.4) <1, where Hk is the source entropy and Bk is the codebook capacity defined as q Bk = Zk-", (3.5) i=1 where k is an arbitrary constant greater than 1. The derivation of this bound is included in the Appendix. Inequality (3.4) suggests that source entropy Hk and codebook capacity Bk provide a lower bound on the optimal energy performance. As the entropy Hk decreases and the codebook capacity Bk increases, the bound to average number of high bits becomes lower. For a codebook consisting of q codewords of fixed-length L, the maximum codebook capacity Max(Bk) can be obtained from Table 3.1. Namely, the minimum codebook consisting of the first q codewords in the table provides the maximum codebook capacity given by Max(Bk)= 1 L () I ( L where a and b are positive integers such that q = 1 =O ( L + bkal (3.6) + b. Note that any exchange of the first q codewords with the other (2 - q) codewords decreases the value of codebook capacity unless exchanging codewords within the (a+1)st column. Note also that, as the codeword length L increases, maximum codebook capacity Max(Bk) tends to increase, hence a longer codeword tends to lower the average number of high 23 n x - Exact Estimate S 0.5- 0.5--------- --------- I I I I 3 4 5 6 S2 -" L Figure 3-1: Lower Bound to ME Coding bits and the energy consumption. Figure 3-1 illustrates the compression performance of ME Coding in comparison with the lower bound in inequality (3.4). In this figure, the average number of high bits per message is plotted against the codeword length for the ME Coding of two distinct sources for k = 10. The first source S1 is a 6-message source having a probability distribution of P = {0.49, 0.29, 0.09, 0.07, 0.03, 0.03}, while the second source S2 is again a 6-message source having a probability distribution of P 2 = {0.35, 0.19,0.17,0.15,0.08, 0.06}. The entropies of the two sources are H = 1.71 bits and H2 = 2.13 bits, respectively. The exact ME Coding performance and the estimated ME Coding performance provided by the bound are shown in Figure 3-1. It is seen from both the exact performance and the estimate that higher entropy sources result in higher average number of high bits per message compared to lower entropy sources. Furthermore, it is also seen that as the ME Codebook codeword length increases the average number of high bits per message decreases. Finally, it is also seen that the lower bound provides a fairly good estimate of the exact ME Coding performance. For example, for the low entropy source, at L = 3, the bound is off by 14 %. In the next section, we will consider extensions of ME Coding for improving the energy efficiency. 24 Chapter 4 Extensions of ME Coding Chapter 3 introduced ME Coding as the optimal, memoryless data compression algorithm for energy-efficient information transmission. Given this optimal memoryless coding algorithm, this section takes a step further and introduces a technique, termed concatenationor extensions of ME Coding, that improves the energy-efficiency of memoryless ME Coding by using a simple memory mechanism. 4.1 Extension and Concatenation Definition: Concatenation. Let S' be an i.i.d. source with known statistics, coded using an L-bit fixed-length codebook W 1 . The p-th concatenation of S' and W' is a data compression algorithm that encodes the p-th extension of the source alphabet, SP, using a pL-bit fixed-length codebook, WP. Concatenation uses memory. One drawback of using memory is that it increases delay, which might be undesirable in some applications. Another issue is that concatenation becomes impractical as the concatenation order increases. Since the encoding is in the form of a look-up table, as the concatenation order increases, the source alphabet becomes very large resulting in impractical memory requirements and computational complexity. A special case of concatenation is direct concatenation. As illustrated in Figure 41, a new codeword of length pL is created by directly concatenating the p codewords 25 used in the original coding to form a single codeword of length pL (p=2 in Figure 4-1). Note that the bit stream of this elongated codeword is exactly the same as the original Pi P iP Jii Pi Pi (a) (b) Figure 4-1: Direct Concatenation. (a) ME Coding, (b) Direct Concatenation. bit stream. Direct concatenation results in codewords having a total number of high bits that is equal to the sum of the number of high bits in the original codewords. These newly formed codewords are assigned to messages having probabilities that are the product of the original message probabilities (source is i.i.d.). Higher-order direct concatenation of fixed-length ME Coding is performed in a similar manner. We will prove in Section 4.3 that direct concatenation results in energy efficiencies exactly equal to that of ME Coding. Next, we will utilize direct concatenation to elucidate the performance improvement mechanism in concatenation. 4.2 Mechanisms of Concatenation Concatenation intertwines two separate mechanisms that would yield improved energy efficiency: (i) variation in the number of high bits due to codeword elongation from L to pL, (ii) probability distribution alteration due to source extension from S' to SP. In this section, we will show, via an example, that direct concatenation, which results in identical energy performance as the original non-concatenated ME Code, is usually not optimal. Hence, energy efficiency improvement is possible through the sequential steps of codebook and probabilistic optimization over direct concatenation. Consider a 6-message source S' having the probability distribution PI = {45, 44, 5,4, 1, 1} 26 W0 Minimum Codebook Unused Codewords Codeword W1 000 w2 001 w3 010 W4 10 w5 01 w6 10 w7 11 0 w8 111 4 1 1 4I 14 O4 5 1 2 j Figure 4-2: ME Coding Example in percentages and coded using 3-bit codewords according to the ME Coding algorithm. Figure 4-2 shows the resulting ME Code. The first column lists the entire usable codewords arranged in the ascending number of high bits. The first q = 6 codewords form the minimum codebook, leaving two codewords w7 and w8 unused. Each square block representing a codeword indicates the number of high bits ni at the top left corner and the probability P of the message assigned to that codeword at the bottom right corner. The second order direct concatenation of this ME Code can be generated by arranging the same ME Code in a row and combining two codewords: one taken from the column and the other from the row, as shown by the shaded block in Figure 4-2. Repeating this process for all pairs of codewords results in the second order direct concatenation in Figure 4-3. For higher order direct concatenation, we would have cubes and higher order geometrical figures. In the following two steps, we investigate the codebook and probabilistic optimality of direct concatenation for this given example. A loss in optimality of either of the two will warrant energy efficiency improvement over the original ME Code. Step 1: Codebook Optimization. For a code C(W, S) to be optimal, the necessary 27 O 1 l1 1 19.80 2 19.36 2 1 2 2.20 2 2 2 2.25 1 1.80 1.76 2 0.45 3 2 3 [.4 2 2I3 2 0.45 0.45 2 1.76 3 2.20 0 44 3 0.44 3 4 0.25 2 0.20 3 0.05 3 0.05 3 4 2 3 3 3 4 ' 0.20 0.16 3 0.04 4 0.01 4 0.05 3 4 4 3 0.44 0.44 11 2.25 11.801 19.80 3 0.05 0.04 0.04 2 3 3 3 3 4 4 4 0.04 0.01 4 0.01 4 5 5 0.01 5 4 5 4 5 E] i Figure 4-3: Direct Concatenation Example condition is that the codebook W is a minimum codebook (Theorem 2). Hence, we check if the direct concatenation codebook is a minimum codebook. The codebook for direct concatenation is represented by the 6-by-6 matrix enclosed by the thick line in Figure 4-3. It is seen that direct concatenation uses codewords having a maximum of 4 high bits at the bottom right corner of the thick line, while the set of unused codewords contains codewords with {2, 2,3, 3} high bits indicated by the two solid round-edged rectangles in Figure 4-4. Thus, the codebook is not optimal and the unused codewords having less high bits should replace the ones with more high bits. In Figure 4-4, messages originally assigned to 4 high bit codewords (i.e., P=0.01) move to the newly available codewords having {2, 2,3, 3} high bits to achieve codebook optimality. Note, however, that the global code optimality is not guaranteed until the message-to-codeword assignment is optimized. Step 2: Probabilistic Optimization. The optimal coding proven in Theorem 1 is now applied to the minimum codebook in Figure 4-4. The assignments that don't conform with Theorem 1 are swapped in Figure 4-5. For example, the message having a probability of 19.36% was originally assigned to a 2 high bit codeword in the 28 1 1 112 2 2 3 1 222 1 2 2 3 1 2 22 3(3 3 2 3 3 3 '4 2 3 3 3 ',4 41 4 5 0. .01 3 3 4 4 4 5 4:E4 5 5 15 3_4 14 3 3 4 4 '1 4 5 6 Figure 4-4: Optimal Codebook for Direct Concatenation minimal codebook (w2 - W2 codeword), while a message having a probability of 1.80% was assigned to a 1 high bit codeword (wi - w4 codeword). Thus, the two messages are swapped to reduce the average number of high bits per message. Swapping is continued until the probabilistic optimality condition in Theorem 1 is achieved. The resulting code in Figure 4-6 is the optimal ME Code for second order concatenation. This two-step procedure elucidates the performance improvement mechanism in concatenation. 4.3 Concatenation Theory In this section, we present some theoretical results concerning analysis of concatenation mechanism. We first prove that direct concatenation yields an energy performance that is identical to the Memoryless ME Coding performance. Then, we show that concatenation always improves memoryless ME Coding performance, given some conditions on the codebook parameters. Next, using a counterexample, we show that 29 W1 W2 W3 1 2.2 2 9.3 2 2 2.20 1.76 3 1 2 2. 2 2 0.25 0.20 3 41 2 0.45 2 0.45 2 S 0.0 3 W6 W7 2 2 0.45 '- 119.80 2.25 F8 W5 12 1 W119.80 6 W4 .05 3 0.45 _000 3 0.01 3 0. W8 0.44 4 3 3 0.05 4 3 4 3 2 2 2 1.76 0.20 0.1 3 3 4 4 4 5 3 3 0.05 0.04 4 4 4 5 3 0.01 3 3 4 4 4 5 4 4 i z 5 5 D 3 0.44 3 0.44 3 0.05 0.04 0.04 0.04 Figure 4-5: Probabilistic Optimization for Direct Concatenation this improvement is not monotonic with concatenation order. Finally, we extend the ME Coding optimality bound to concatenations. Theorem 3: Direct Concatenation. Let S' be a q-message i.i.d. source, W1 be a codebook, and C 1 (W 1 , Sl) be a code representing the q messages in S1 by the q individual codewords in W 1 . Furthermore, let SP, WP, and CP(WP, SP) be the source, the codebook, and the code associated with the p-th extension of the original source and codebook. There exists at least one code, whose average number of high bits per message FP/p is equal to that of the fixed-length ME Coding of the original, non-extended case, MEY Vp ;> 2, 3 CP(WP, SP) such that - p = i ME (4.1) Proof. See Appendix. Theorem 4: Concatenation. Let S1 be a q-message i.i.d. source, W' be a codebook, and C'(W 1 , Sl) be a code representing the q messages in S' by the q indi30 19.80 1 2 1 2 2.25 1 2 3 2 0.45 3 2 0.44 3 3 4 2 1.76 2 3 3 3 4 0.01 4 3 4 4 4 5 4 4 4 5 3 4 4 4 5 4 5 5 5 6 2 0.44 3 3 0.04 4 0.05 3 3 0.05 0.04 3 4 3 3 0.16 3 0.44 0.01 3 0.01 0.20 2 0.20 0.45 20.45 0.441(l' 0.25 1.76 2 0.45 2.20 2 1.80 2.20 19.36 2 1.80 19.80 2.25 0.05 0.05 3 0.04 0.04 0.01 Figure 4-6: Extension of ME Coding vidual codewords in W 1 . Furthermore,let SP, Wp, and CP(WP, SP) be the source, the codebook, and the code associated with the p-th extension of the original source and codebook. There exists at least one code, whose average number of high bits per message iiP/p is less than that of the fixed-length ME Coding of the original, non-extended case, MY Vp > 2, 3 CP(WP, SP) such that - < i (4.2) if there exists at least one unused codeword in the originalfixed-length ME Codebook (i.e., q < 2L) and the number of used codewords is not equal to 1 or L + 1. Proof. See Appendix. Definition: Geometric Mean Property (GMP). Let S be a q-message i.i.d. source and W be an L-bit codebook. A code C(W, S) exhibits the geometric mean property, if the following two conditions hold. * If codewords i and j have equal number of high bits, ni = nj, then the messages 31 represented by those codewords should have equal probability Pi = P, V(i, j). * If three codewords are such that the number of high bits in one of the codewords is the arithmetic mean of that of the other two, ((ni + j) + (ni - j))/2 = ni, then the probability of the message represented by the arithmetic mean codeword must be the geometric mean of the probabilities of the messages represented by the other two codewords, P(nj + j)P(ni - j) = P(ni)2 V(ij). For example, the code comprising the source having the probability distribution P = {0.216, 0.144, 0.144, 0.144, 0.096, 0.096,0.096, 0.064} and coded via 3-bit codewords having the set of number of high bits N = {0, 1, 1, 1, 2, 2, 2, 3} via ME Coding exhibits GMP. Theorem 5: Concatenation and GMP. Let S be a q-message i.i.d. source, and W be an L-bit codebook, if the code does not exhibit GMP, and if q = 2 L, then there exists at least one concatenation order 2p, where A 2P/2p is less than that of the fixed-length ME Coding of the original, non-extended case, iiM. Proof. See Appendix. Remark 1. Average number of high bits per message for concatenation, i'PE/p, is not a monotonically decreasing function of the concatenation order p. The following is a counterexample. Let a source S' having the probability distribution P1 = {0.75, 0.17, 0.04, 0.01, 0.01, 0.01, 0.01} and originally coded with L = 3 bit codewords, be extended and coded according to the ME Coding algorithm. The resulting average numbers of high bits per message for the ME Codes for p = 1, 2, 3 and 4 are ME/P = 0.2800, 0.2671, 0.2584, and 0.2586, respectively. The average number of high bits per message increases as concatenation order increases from 3 to 4 (i.e., 0.2584 -+ 0.2586). Therefore, the average number of high bits per message of ME Codes is not a monotonically decreasing function of the concatenation order. This behavior is similar to that of Huffman Coding, for which counterexamples have been found [23]. In ME Coding, Theorem 4 guarantees that, under the mild conditions, concatenation of an arbitrary order decreases AilpE/p compared with the original ME Coding "'ME, but it does not say that the average number of high bits per 32 message always decreases from p to p+1. For the above counterexample, however, it can be shown by using Theorem 4 that Treating the concatenation ME/4. '2ME of order po =2 as an original ME Code, we can guarantee that iiE/Po is higher than that of concatenation for p = 2 po, 3 po, .... Figure 4-7 shows these relations among the first six concatenations. Each directed arc indicates that hP/P decreases from PO =- 2 2 P=1 4 3 5 6 *7 Figure 4-7: Relations among different concatenation orders the origin to the destination in concatenation order p. Note that there is no directed arc from p = 3 to p = 4, which agrees with the above counterexample. Remark 2. Optimality bound for fixed-length ME Coding can be extended to provide an optimality bound for concatenation. As a source and a codebook are extended according to concatenation, the following changes take place: (i) q -+ qP , (ii) L -+ pL, and (iii) H(S) -+ H(SP) = pH(S). Hence, making these substitutions into the original optimality bound (3.4) gives the following bound for concatenation (Hk- -) k P S<1. (4.3) The next chapter investigates energy-optimal high-rate information transmission via source coded modulation using practical signal constellations. 33 Chapter 5 Energy-Optimal Source Coded Modulation In an effort to achieve energy-optimal high-rate information transmission, this chapter introduces the Joint Code-Constellation Design Problem. An optimization procedure for designing energy-optimal source coded modulation systems is introduced and this design procedure is elucidated. 5.1 Joint Code-Constellation Design (JCCD) Joint Code-Constellation Design problem originates from the transmitted energy optimization problem that requires the minimization of average energy per message, E = E1Pjej. This expression suggests that minimization of average energy per message can be decomposed into two problems: " Energy-optimal constellation design problem: selection of the signal points that will form the signal sequences, and " Energy-optimal coding problem: mapping of the signal sequences to source messages. Figure 5-1 shows that the constellation design problem and the coding problem are coupled problems and the coupled nature of these problems can be explained as fol34 Probabilities Constellation Design Problem Coding Problem Signal Sequences Figure 5-1: JCCD Problem lows. The optimal signal constellation is determined by the mapping between the source messages and the signal sequences. This is due to the fact that the mapping between the source messages and the signal sequences induces a probability distribution on the signals in these sequences and these probabilities determine the optimal design of the signal constellation. Hence, this explains the dependency of optimal signal constellations on the coding. The optimal coding, on the other hand, is determined by the source message probabilities and the energies of the signal sequences. Since the energies of the signal sequences are determined by the constellation from which the signal sequences are chosen, optimal coding is affected by the signal constellation. Hence, this explains the dependency of optimal coding on the constellation. Recognizing that the coding and constellation design problems are coupled problems, we formulate these coupled problems as a constrained optimization problem. This coupled problem of designing the coding and the constellation is referred to as the JCCD problem. 5.2 Optimization Procedure Solution of the JCCD problem requires that an optimization procedure be developed. The objective of the JCCD problem is to minimize average energy per message, while satisfying average error probability per signal, peak signal energy, and normalized 35 rate constraints. Hence, the optimization procedure can be stated as follows: (5.1) m n E, implying a search over all signal constellations C subject to the constraints d(ci, cj) dmin P Pmin V i 0j (5.2) (5.3) (5.4) iI2 <;Ep. max||i i The first constraint on the minimum Euclidean distance of the constellation given in (5.2) assures that the average error probability per signal is lower bounded. The second constraint given in (5.3) is a constraint on normalized rate, which restricts the dimensionality of the signal constellation. For QAM transmission, this constraint basically restricts the length L = D/2 of the signal sequences. Hence, this constraint will not be a variable in the optimization routine and will only be used to determine the constant parameter L at the outset of the optimization. Finally, the inequality (5.4) is a constraint on peak energy due to transmitter hardware limitations. Figure 5-2 illustrates this optimization procedure. In this figure, it is shown that Ep Message F c Probabilities sC2 dnin C Signal 1 Messages 7Ep Signal 2 Transmitted Signal Sequences Figure 5-2: Optimization Procedure the source messages are mapped to the transmitted signal sequences (i.e., codewords) 36 of length L = 2 drawn from two identical QAM constellations. One such codeword is illustrated by the nodes of the path that connects the two constellations. It is the objective of this algorithm to find the optimal locations of the signal points {c1 , c2 , c3 , c4 } in this QAM constellation that will result in the code that has the minimum average energy per message. In designing the signal constellation {ci, c2 , c3 , c4 }, the optimiza- tion algorithms makes sure that (i) the signals are a minimum distance dmin apart to satisfy the constraint on average error probability per signal and (ii) the signals have energies that are less than Ep to satisfy the peak energy constraint. In designing the code, once a signal constellation is selected, first all available 2-signal codewords will be listed in increasing order of energy. Next, the first q codewords consuming the least energy will be selected to form the codebook. Finally, these codewords in increasing order of energy consumption are mapped to messages in decreasing order of probabilities. The optimization algorithm will search the QAM space for the optimum code and constellation until the space is exhausted. The constellation space search can be performed via discretization. 5.3 JCCD Methodology Flow Chart The overall design methodology flow chart that incorporates the optimization procedure is shown in Figure 5-3. In this figure, it is shown that the first step in the optimization procedure is to select an initial constellation and the length of signal sequences according to (5.3). Next, the algorithm checks to see if this initial constellation design satisfies the constraints in inequalities (5.2) and (5.4). If the constraints are not satisfied, then the algorithm checks to see if the maximum number of iterations has been exceeded; if it has, the algorithm simply terminates; if it hasn't, the algorithm modifies the constellation and starts over. In the case that the constraints are satisfied, the algorithm generates all L-signal sequences from this constellation, picks the q lowest-energy signal sequences ordered in increasing levels of energy and assigns these sequences to source messages in decreasing probabilities of occurrence. Once this mapping is performed, the average energy per message for this mapping is 37 SInitial Constellation Design Fail Check Constraints Not Fail Design Source Coded Modulation Modify Constellation Increase Check Average Energy per Message Decrease Update Constellation Not Exceeded -Check Maximum Iterations Exceeded End Figure 5-3: Design Methodology Flow Chart 38 calculated and stored in memory with the generating signal constellation if there are no previous values in the memory. If the memory contains a previous average energy per message and a signal constellation, the average energies of the two constellations are compared and the constellation having a higher average energy is discarded. Then, the algorithm checks to see if the optimization space is exhausted; if it has, then the algorithm terminates; if it hasn't the constellation is modified and all the previous steps are repeated in the search for a better constellation. Hence, at the end of the optimization algorithm, the designer obtains the constellation that will result in the source coded modulation system providing the optimal average energy per message for the given source message probabilities. 5.4 Optimality Condition for 2D Constellations In communication theory, it is well-known that zero-mean constellations are optimal for equiprobable signal usage [12]. In this section, we extend this result to non- equiprobable signal usage for the case where q < M(D/ 2 ). Theorem 6: Optimality of Zero-Mean Constellations. Let C = {ci, c2 , ... , CM} be a signal constellation containingM signals used with probabilitiesP = {P1, P-,..., P} and each spaced dmin apart. The necessary conditionfor the optimality of the constellation C is given as M Z Pcj = 0. (5.5) where ci is the coordinate in the constellation space. Proof. See Appendix. Although the JCCD procedure results in energy-optimal source coded modulation schemes, it has the drawback of requiring a significant increase in system complexity. This is due to the hardware difficulties in synthesizing the signals in the signal constellation. To avoid hardware problems, while still achieving significant energy savings, the next section introduces sub-optimal source coded modulation algorithms 39 that utilize practical signal constellations. 40 Chapter 6 ME Modulation 6.1 ME Modulation Algorithm ME Modulation is a new source coded modulation algorithm that optimizes the transmitted energy for a given signal constellation. ME Modulation achieves this by (i) choosing the minimum energy codewords from the given constellation, and (ii) mapping the minimum energy codewords in increasing order of energies to the source messages in decreasing order of message probabilities. The following example demonstrates the ME Modulation algorithm. Assume a transmission system using the 16-QAM constellation C = {c 1 ,..., c1 6 } in Figure 6-1, where the signals are ordered in the increasing order of signal energy. Signals having equal energies are in the same sub-constellations shown by the dashed borderlines. For this 16-QAM constellation there are three sub-constellations: the inner sub-constellation contains 4 signals ci-c4 with 2 units of energy, the middle sub-constellation contains 8 signals c5 -c 12 with 10 units of energy, and the outer sub-constellation contains 4 signals c13 -cI 6 with 18 units of energy. Assume that the system transmits messages from a q = 200 message source S = {mi, ... , m 2 0 0} having messages mi ordered in the decreasing order of message probabilities P = {P 1 > ... > P 200 } as shown in the first column of Table 6.1. After analyzing the signal constellation, the codeword length L = D/2 is determined from the minimum normalized rate constraint p = (2/D)log 2 M 41 > pmin. Assuming that the normalized Q C13 -- - - - - - -s C5 6C12 1 C11 L 9- C6 CI C 01C70 C4_ C3 - 0 C8 C9 C10 C16 1 C14 -3 C Figure 6-1: 16-QAM Constellation rate constraint requires the use of codewords of length L = 2, the whole set of available codewords Wo(C) = {(ci, cj)I1 i < 16, 1 < j < 16} containing 16 x 16 = 256 codewords is generated. This set is shown in the second column of Table 6.1. A closer look at this set reveals that there are 16 codewords with 2 + 2 = 4 units of energy, 64 codewords of 2 + 10 = 12 units of energy, 96 codewords of 10 + 10 = 2 + 18 = 20 units of energy, 64 codewords of 10 + 18 = 28 units of energy, and 16 codewords of 18+18 = 36 units of energy. These codeword energies and the number of codewords are shown in the third and fourth columns of Table 6.1, respectively. These codewords are ordered in the increasing order of energy; and the first 200 codewords having the least energy are chosen for the codebook. These 200 codewords, termed the minimum codebook, are mapped to source messages in the decreasing order of message probabilities as shown in the first two columns of Table 6.1. This mapping is called the ME Modulation Code. As demonstrated in the above example, ME Modulation algorithm requires the prior selection of a signal constellation. This signal constellation can be any practical QAM constellation [6,16]. Next, we prove that ME Modulation results in optimal modulation codes for a given signal constellation. 42 Table 6.1: 16-QAM ME Modulation Example Messages Codeword Set C.E. N.o.C. 16 4 {c 1 - c 4 } x {ci- c 4} S- m 16 32 12 {c - c4 } x {c 5 - c12 } M7- i 4 32 12 {c5 - c 12 } x {c 1 - c4 } M 4 9 -- M 80 16 20 } c {c } x c {c Mi81 - mn 16 13 4 8 16 20 {c 13 - c 16 } x {c 1 - c4 } M87 - i10 2 64 20 {c - c 12 } x {c 5 - c 12 } Mi103 - Mi176 32 28 } c {c 5 - c12 } x {c 13 M 200 M1- 7 16 32 28 c1 2 } S{c 1 3 - c1 6 } x {c 5 16 36 c16 } x {c 13 - c1 6 } S{c 13 - 6.2 Optimality of ME Modulation ME Modulation is the optimal source coded modulation algorithm for a given signal constellation. This optimality is determined by two distinct steps: Codebook Optimality and Probabilistic Optimality. The former is to determine a set of codewords or signal sequences, termed a codebook, having the least energy, and the latter is to assign codewords having less energy to messages with higher probability. The following two theorems underpin the theory of ME Modulation. Theorem 7: Probabilistic Optimality. Let S be a source with message probabilities P = {P1 --. > Pq-1 P2 > Pq}. (6.1) Given a signal constellationC that generates a codebook of q codewords each of which consumes ej units of energy, 1 < i < q, the optimal source coded modulation scheme that minimizes the average energy per message E = j is given by assigning 1 iej the codewords to messages such that el e2 < ... 43 < eq-1 < eq. (6.2) Let W(C) be a codebook of q codewords generated by a given signal constellation C = {c 1 , ..., cM}. Also let the codewords in W(C) be arranged in the order of ascend- ing energy. The code (W(C), S) assigns the q codewords to q messages in source S in such a manner that equations (6.1) and (6.2) determine the minimum E for the given W(C). Hence, the minimum of E varies depending on the properties of the codebook used. The remaining question is how to obtain a codebook that provides the overall minimum of B. Let the constellation C generate the entire set of codewords W 0 (C) = {w 1 , w 2 , q q. < +oo. ... , wi, ... , WqoW-1, Wq} that are usable for ME Modulation; We first number each codeword in the ascending order of energy, namely, el 5 e 2 5 ... 5 ej < ... < eg.-1 ! eqo, where ej is the energy of codeword wi. Then, we generate the codebook used for ME Modulation by taking the first q codewords having the least energy. Minimum Codebook. Definition: word set Wo(C) = {wi, w 2 , of energy, el 5 e2 5 ... ... , W, K eq ... Let the codewords of the whole code- , Wqo} be numbered in the ascending order < ... < eq0 . A minimum codebook of q code- words, Wmin(C), consists of the first q codewords of the whole codeword set W 0 (C), Wmin(C) = {Wi,W2, ---, Wq-1, Wq} C Wo(C). Theorem 8: Codebook Optimality. Let S be a q-message source and C be a signal constellation that generates a codebook W(C) of q-codewords taken from the usable codewords set W 0(C) = {W1,W2, ---,Wq-l,wqo}, q : qo < +oo; W(C) C W 0(C). The necessary condition for a code (W(C), S) to provide the minimum average energy per message E = (j Pej is that the codebook W(C) is a minimum codebook of WO(C). Proof. See Appendix. Combining Theorems 7 and 8, the following corollary is easily obtained. Corollary 3: ME Modulation. Let S be a q-message source, C be a finite signal constellation, and Wo(C) = {W1, codewords, q W2 , ... , Wq, ... , Wqo} be the entire set of usable q0 , derived from the signal constellation. The optimal code (W (C), S) that minimizes the average energy per message E= ( involved in the codeword wi, is given by 44 eiPi, where ej is the energy (i) Using the minimum codebook W.in(C) of W0 (C) for the codebook; W(C) = Wmin(C) C W 0 (C), and (ii) Assigning the q codewords of Wmin(C) in the ascending order of energy to the q messages in the descending order of message probabilities. This optimal mapping is referred to as ME Modulation. Next, we investigate the extensions of ME Modulation for improving energy efficiency. 45 Chapter 7 Extensions of ME Modulation Chapter 6 introduced ME Modulation as the energy-optimal source coded modulation algorithm for a given signal constellation. Given this optimal modulation algorithm, this section takes a step further and introduces extensions of ME Modulation that improves the energy efficiency of non-extended ME Modulation. The chapter starts with a formal definition of extensions of ME Modulation. Then, direct concatenation is described as a special type of extension that achieves identical energy performance as non-extended ME Modulation. Finally, an example elucidating the performance improvement mechanism in concatenation is presented. 7.1 Extension and Concatenation Definition: Concatenation. Let S' be a q-message i.i.d. source with known statistics and coded using an L-signal codebook W1 (C) generated from the constellation C = {c1 , ..., cm}. The p-th concatenation of S' and W 1 (C) is a source coded modu- lation algorithm that encodes the p-th extension of the message source, SP, using a pL-signal codebook, WP(C). Definition: Direct Concatenation. Direct concatenation is special type of concatenation that encodes message words (i.e., coupled messages) using the concatenated codewords that comprise the codewords that were assigned to the messages in these words in the original ME Modulation. This idea is clarified in Figure 7-1, 46 where direct concatenation is demonstrated for second order concatenation. In this figure, a new codeword of length 6 signals is created by directly concatenating the 2 codewords used in the original ME Modulation to form a single codeword. Note that (S ,l s i2, s i3) + (sj ,9SJ2, s j3) (s i Sl si2, s i3, si Psj2, sj3) (s ,Isj 2, sj 3 ) + (S; , Si2, si 3) (sj 1, Sj2, sj3, s (a) si2, S3 (b) Figure 7-1: Direct Concatenation. (a) ME Modulation, (b) Direct Concatenation. the signal sequence of this elongated codeword is exactly the same as the original signal sequence. Direct concatenation results in codewords having a total energy that is equal to the sum of the energies of the original codewords. These newly formed codewords are assigned to words of messages that include the original messages assigned to the original codewords. Higher-order direct concatenation is performed in a similar manner. Theorem 9: Direct Concatenation. Let S1 be a q-message i.i.d. source, W'(C) be a codebook having the set of energies E' = {ei, ..., eq}, and (W 1 (C), Si) be a code representing the q messages in S' by the q codewords in W'(C). Furthermore, let SP, WP(C), and (WP(C), SP) be the source, the codebook, and the code associated with the p-th extension of the original source and codebook. There exists at least one code, whose average energy per message RP/p is equal to that of the ME Modulation of the original, non-extended case, REy, RP Vp ;> 2, - (WP(C), SP) Proof. See Appendix. 47 such that -= p E. The average energy per message of direct concatenation is exactly the same as the non-extended ME Modulation. This means that concatenation can provide at least the same level of energy efficiency as non-extended ME Modulation and would provide a better efficiency by modifying the direct concatenation case. Direct concatenation does not guarantee codebook and probabilistic optimality introduced in Section 6.2. A loss of optimality in either of the two will warrant a reduction in average energy per message. Hence, to understand the energy efficiency improvement via concatenation, the codebook optimality and probabilistic optimality should be examined for direct concatenation. Codebook optimality is decoupled from probabilistic optimality, since it is determined only from the signal constellation C, the codeword length, pL, and the number of messages, qP, only. Direct concatenation uses a particular type of codewords restricted to the repeated pattern of the original codewords. Although there are MPL usable codewords, the codebook of direct concatenation uses only this restricted set of the whole usable codewords set. If there are some unused codewords having less energy, the codebook of direct concatenation is not a minimum codebook and reduction in the average energy per message becomes possible for the direct concatenation. Probabilistic optimality is determined by the mapping between the codewords and source messages. In direct concatenation, the message-to-codeword assignment is predetermined, and is not necessarily an optimal one. Since the energy in a concatenated codeword is the sum of the individual energies of the original codewords, while the joint probability is the product of the individual probabilities, the ascending order of energies may differ from the descending order of probabilities. Thus, the probabilistic optimality must be re-investigated. The following section uses an example to elucidate the performance improvement mechanism in concatenation. 48 7.2 Mechanisms of Concatenation Consider a source S' of q = 6 messages having the probability distribution P1 = {65,21,8, 4,1, 1} in percentages. Let this source be transmitted using L = 2 signal codewords drawn from a three signal constellation C {c1 , c2 , c3 }. Let these three = signals have energies of 1, 2, and 3 units, respectively. Then, the set of available codewords generated using this signal constellation will contain 9 codewords with the following set of energies Ei = {2, 3, 3, 4, 4, 4, 5, 5, 6}. This available codeword set is used to generate ME Modulation as shown in Figure 7-2. The first column lists the WO 25 3 Codeword 218 w2 C 45 14 14 23 5 6 01 70.i 4 21 2 3 Minimum Codebook . w2 cl w3 C21, 1 w4 c 2 ,c 2 4 w5 c 1 ,C 3 4 w6 C3 ,C 4 ,C 2 21 83 4 I Unused Codewords W7 C2 ,C3 w8 C3,'C2 w9 C3, C36 5 5 Figure 7-2: ME Modulation Example entire set of usable codewords arranged in the ascending order of energy. The first q = 6 codewords form the minimum codebook, leaving the three codewords w7 , W8 , and w9 unused. The third column consisting of square blocks indicates the energy ei at the top left corner and the probability P in percentages at the bottom right corner. Note that the probabilities have been assigned in descending order from the top, wi, 49 to the bottom, W6 . Note also that the square blocks are grouped into rectangles in terms of the energies, as shown by the thick lines in the figure. The second order direct concatenation of this ME Modulation can be generated by arranging the same ME Modulation in a row and combining two codewords: one taken from the column and the other from the row, as shown in Figure 7-2. For example, the shaded block in the figure is the concatenation of w2 from the column and w5 from the row having e2 + e5 = 3 + 4 = 7 units of energy and the probability of P2 x P5 = 0.21 x 0.01 = 0.0021. Repeating this process for all the pairs of the column and row codewords yields the complete direct concatenation of the original ME Modulation. As indicated by the thickest solid line in Figure 7-3, 36 codewords arranged in a 6-by-6 matrix are obtained. In the following two steps, we investigate the codebook and probabilistic optimality of direct concatenation for this given example. 4 5 5 6 4 13.65 5.20 W 5 6 6 7 7 7 1.64 0.84 0.z2 0.21 7 7 26 4.61 5 W 520 6 6 7 32 1j. HJ 0.6 1.6 6 6 65 .65 7 7 0.08 0.0 8 7] 110.081 0.65 I 9 818 8 18 9 9 9 9 6 17 8 8 10 10 7 0.21 7 0.08 0.04 8 0.04 0.01 8 0.01 0.01 6 0.65 8 0.01 9 9 1 7 8 8 9 9 9 10 1 1 7 8 10 1 12 8 9 9 1 0 0 1 FE]LJ Figure 7-3: Direct Concatenation Example Step 1: Codebook Optimization. For a code (W(C), S) to be optimal, the necessary condition is that the codebook W(C) is a minimum codebook. Hence, we check if the direct concatenation codebook is a minimum codebook. Elimination of 50 the probabilities from Figure 7-3 results in Figure 7-4, which illustrates the set of available codewords and the codebook for direct concatenation of ME Modulation. 5:5 4 6 6 6 j 5 51 6 6 6 6 7 7 7 7 7 7 6 7 7 8 8 8 6 77 8'88 7 7 8 1 8 8 6 7v I ff 9 7 7 00W 88 0.010.01 O 8 9 8 8 9 9 9 10 9 9 10 9 9 9 9 10 10 11 9 a 9n 10 10 11 9E9 1E lo 10l 11~ 11 Figure 7-4: Direct Concatenation Codebook The codebook for direct concatenation is represented by the 6-by-6 matrix enclosed by the thick dashed line. In this figure, it is seen that direct concatenation uses codewords having a maximum energy of 8 units, while the set of unused codewords contains codewords with energy 7 as marked by the two ellipses. Hence, the codebook is not optimal, since the total energy of the codebook can be reduced. Thus, these unused codewords having less energy should replace the ones with more energy to reduce the average energy per message. This results in the minimum codebook shown in Figure 7-5. As seen in this figure, messages originally assigned to 8 energy unit codewords (i.e., P=0.01) move to the newly available codewords having 7 units of energy. Note, however, that the global code optimality is not guaranteed until the message-to-codeword assignment is optimized. Step 2: Probabilistic Optimization. The probabilistic optimality proven in Theorem 7 is now applied to the minimum codebook. A code is not optimal, 51 5 5 4 5 5 6 16 6 6 7 17 7 7 7 7 7 8 8 6 66 6 700. 8 8 8 9 71 8 8 9 8 9 9 10 8 9 9 10 98 7 7 6 7 7 8 8 0 8 8 9 9 9 10 10 11 70 8 8 9 9 9 10 10 11 6 -- 8P9 10 10 1 o0 E111 Figure 7-5: Optimal Codebook for Direct Concatenation if there exists two message-to-codeword assignments (P, ei) and (Pj, ej), such that Pi > Pj and ej > ej. Hence, the mappings exhibiting the non-optimality condition (marked by ellipses in Figure 7-6) are swapped. For example, the message having a probability of 0.84 % was originally assigned to a codeword having 7 units of energy in the minimal codebook (w2 - W2 codeword), while a message having a probability of 0.65 % was assigned to a codeword (w1 - w4 codeword) having 6 units of energy. Thus, the two messages are swapped in Figure 7-7 to reduce the average energy per message. Swapping is continued until the non-optimality condition does not hold between any pairs of mappings. The resulting optimal code, i.e., ME Modulation, is shown in Figure 7-7. 52 5 5 13.65 5.20 5 6 6 5 5.20 6 6[ i6 7r 0.65 616 0.65 7 7 7 7 7 7 0.01 . 32 0.08 0.08 1.68 w 7 6 2.60 7 i 0.84 0.32 6 7 0.65 0. 1 0.08 8 8 (9.16) 8 7 (004 (0.04 0.21 10.08 7 .0 7 0.01 Figure 7-6: Probabilistic Optimization for Direct Concatenation 5 5 13.65 5.20 4.5 1 5 13.65 6 4.41 6 59 6 61 1.68 0.84 5.0 1.681 6 6 2.60 0.65 7 7 0.64 0.21 7 7 0.32 0.08 3100 -. 6 2.60 7 0.65 7 0.32 8 0.04 6 0.65 7 0.21 7 0.08 8 0.01 6 7 0.21 7 0.08 8 0.01 0.84 8 0.01 6 0.65 7 04 7 0.04 0. 7 0.21 7 0.08 00 8 0.01 7 0.16 Li. 0.04 7 Figure 7-7: Extension of ME Modulation 53 Chapter 8 Energy-Efficient, Low-Rate, and Reliable Information Transmission over Power-Limited Wireless Channels Previous chapters discussed the question of how to most efficiently encode source information for transmission over a noiseless channel. In this chapter, the issue of information transmission over a power-limited noisy channel is investigated, where errors introduced by channel noise have to be corrected. 8.1 Setting the Scene Figure 8-1 shows the major blocks of a communication system. The definitions that follow will explain each block in this model of a communication system. Previous chapters concentrated on the encoder and modulator block. However, this block was investigated only in terms of data compression and source coded modulation for noiseless channels. This chapter will first introduce the noisy channel, and then consider the encoder and decoder blocks in terms of energy efficient error correction. 54 Noise Source Information Source | Encoder WChannel d Decoder f- (dstain Modulatori P Hl) DemodulatorH i Figure 8-1: Block Diagram of a Communications System 8.1.1 The Channel The communication channel is the medium through which the information bearing signal is transmitted. This thesis considers information transmission over discrete memoryless channels. Definition: Discrete Memoryless Channel. A discrete memoryless channel consists of an input alphabet, an output alphabet, and a set of channel transition probabilities p(bj jai) satisfying t Zp(bjlai) = 1 j=1 for all i. Intuitively, we think of p(bj ai) as the probability that bj is received given that ai was sent through the channel. This is illustrated in Figure 8-2. ab 1 a2 b2 Channel a) a. 4p(bjI b3 b. as bt Transmitted Messages Received Messages Figure 8-2: Discrete Memoryless Channel 55 Furthermore, if a sequence of source messages aja 2 .. .a, represented as a codeword w = w1 w 2 .. .wn is transmitted and a codeword d = did 2 ...d, is received, the channel transition probability p(djw) is given by n 71p(dilwi). p(dlw) = i=1 One of the most important discrete memoryless channels is the binary symmetric channel, which has input and output alphabets {0, 1} and channel probabilities p(1|0) =p(0j1)=p and p(00)=P(1I1)= 1-p. These characteristics of the binary symmetric channel are summarized in the channel transition matrix given as P(bla) = [P00. P(110) LP(011) p(111), [i P P (8.1) I - p This channel is pictured in Figure 8-3. In this chapter, we focus on transmission over I-P 0, Transmitted Messages P 1190 Received Messages i-p Figure 8-3: Binary Symmetric Channel binary symmetric channels. The binary symmetric channel is a noisy channel that causes errors in transmission if p -$0. Let us first explain what we mean by single bit errorsor codeword errors. In the binary symmetric channel, a bit error occurs if a 0 is sent and a 1 is received or a 1 is sent and a 0 is received. Thus, the probability of a bit error, or the crossover probability, is p. This can be seen in Figure 8-3. When a codeword w consisting of 56 the string ww 2 ..-wn is sent through the channel and a codeword d consisting of the string did 2 ...dn is received, we say that a codeword error has occurred if wfd, and the incorrect d is not corrected. Next, we discuss the types of errors that may occur when transmitting over a noisy channel. Errors, in general, can be of four types: (i) isolated bit errors, (ii) burst errors, (iii) erasures, and (iv) insertions. Isolated bit errors, as the name implies, occur when the errors in transmission are independent. However, this can be unrealistic in certain situations, where there is a strong correlation among the bit errors. In this case, we speak of burst errors. For example, electrical interferences often last longer than the time it takes to transmit a single bit, defects on magnetic tape or disk are usually larger than the space required to store a single bit, and noise in wireless channels may corrupt multiple bits at the same time. The third type of errors, namely, erasures, are characterized by situations, where the decoder knows that a single bit is occurring at a point, but cannot determine its value. Finally, insertions occur when extra bits are inserted into the bit stream of transmitted data. Coding Theory aims to develop codes correcting certain types of errors. Much work has been put into developing structured codes correcting isolated bit errors. Hence, in this thesis we look into codes correcting isolated bit errors. 8.1.2 The Decoder and Error Probability Definition: Decoder. A decoder is a partial function f from the set of received words to the set of codewords. The word partial refers to the fact that f may not be defined for all received words. The intention is that if a word d is received, and if f(d) is defined, then the decoder decides that f(d) is the codeword that was sent. If f (d) is not the codeword that was sent, we say that a decoding error has been made. By letting Bi = f-1 (w) = {dlf (d) = w} be the set of all outputs for which we decide that the correct input was w, we can 57 also think of a decoder as a collection {Bw, ,..., Bw, } of disjoint subsets of the set of received words. This is illustrated in Figure 8-4. One important measure of decoder w2 0.d ow 2 2 .d4 -d4 Decoder Channel f(d) Transmitted Codewords Received Words Decoded Codewords Figure 8-4: Decoder performance is the error probability, hence we now define error probability. Definition: Error Probability. For any decoder, the error probability given that a codeword w is transmitted is given by P(errorjwsent) = E p(dlw). dof- 1 (w) Hence, the errorprobabilityfor the whole code, pe, is given by Pe = E P(errorlw)p(w)= E W w E p(dJw)p(w) djf-'(w) A desirable decoder is one that offers a minimal error probability in the most computationally practical way. In order to see how we can design a decoder that minimizes the error probability, let us compute this probability by conditioning on the output, rather than the input. If the output of the channel is d, then correct decoding will be made iff f(d) was the actual input. Hence, P(errord)= 1 - p(f (d)|d) 58 Averaging over all possible outputs, we have Pe = EP(errord)p(d)= 1 d p(f (d)d)p(d) d Now, this probability can be minimized by choosing a decision scheme that maximizes the sum on the far right. But since each term in the sum is nonnegative, and since the factors p(d) do not depend on the decoding algorithm, we can maximize the sum by choosing f(d) so that p(f(d)Id) is as large as possible for all d. Definition: Ideal Observer. For a given input distribution, any decoder f for which f(d) has the property that p(f (d)Id) = max p(wld) w for all received words d, is called an ideal observer. In words, an ideal observer is one for which f(d) is a codeword most likely to have been sent, given that d is received. The ideal observer decoder has the advantage that it yields optimal probability of error; however, it uses backward channel probabilities, which depend on the input distribution. This suggests that the ideal observer will be computationally impractical. Thus, we seek ways to eliminate this dependency on the input distribution. We can eliminate this dependency by assuming a uniform input distribution. This results in the desirable feature that maximizing the backward channel probabilities become equivalent to maximizing forward channel probabilities. This is extremely practical, because it reduces the computation requirements. The undesirable feature is that the error probability performance is not as good as the ideal observer. Definition: Maximum Likelihood Decoder. Any decoder f for which f(d) has the property that p(dlf (d)) = max p(dlw) w for all received words d, is called a maximum likelihood decoder. In words, f(d) is a transmitted codeword with the property that for no other codeword would it be more 59 likely that the output d was received. Although the maximum likelihood decoding eliminates the dependence of decoder on the input distribution, it still exhibits a coupling between the decoder and the forward channel probabilities. Thus, we seek ways to eliminate this coupling. First, let us define the Hamming Distance. Definition: Hamming Distance. Let x and y be codewords of the same length, over the same alphabet. The Hamming Distance d(x, y) between x and y is the number of positions in which x and y differ. For instance, if x= 10110 and y= 10101, then d(x, y) = 2, since the two codewords differ only in positions 4 and 5. We will now state without proof, a fundamental result in Coding Theory and use this result in deriving energy optimal codes for wireless communications. The fundamental result is that the maximum likelihood decoder reduces to minimum distance decoding for binary symmetric channels with crossover probability p < 1/2. This result is also true for binary erasure channels and some other channels of interest. However, at this point we will only consider binary symmetric channels. 8.1.3 The Main Energy Efficient Error Control Problem Before describing some coding schemes for energy efficient and reliable communication, we should describe the desirable characteristics of an efficient coding scheme and elucidate the main problem of energy efficient error correction. The characteristics of an efficient coding scheme can be summarized as " minimizing the energy consumption in the RF transmitter, " offering a desirable reliability performance in information transmission, " requiring a computationally feasible decoding scheme, " resulting in reasonable transmission rates. In designing energy efficient codes for wireless communications, we will initially focus on the first three requirements and will not concern ourselves with the fourth requirement. Our objective will be to design energy optimal codes, offering a given error 60 correction capability in a computationally feasible manner. Due to the computational feasibility requirement, we will consider linear block codes. The problem of energy efficient error correction is in fact a codebook design problem upon which ME Coding is performed. This problem is illustrated in Figure 8-5. For a given codeword length the set of available codewords is shown by all the larger 0o0 000" 0 0 0 0 0 09 0 00o 00 00 0 0 0 0 0 o0** 0 *0 0 0 0 0 04 0 o 00 0 0 0 00 0 0 00 0 0 0 0 0 0 0 0 o R-3 W 0 R-2 0 0 0 oR-1 0 0 0T 0 0 Rad i us t 0o 00 0 0 0 0 of 00Spheres 0 0 r a ns mi t t e d Codeword Used Codewords Hamming Distance Unused Codewords Figure 8-5: The Main Energy Efficient Error Correction Problem filled and the smaller unfilled circles in this figure. The larger filled spheres are the codewords used in the codebook and the smaller unfilled spheres are unused codewords. The problem is how to select the codewords such that all the codewords we have selected are (i) at least 2t+ 1 units apart in terms of Hamming Distance, and (ii) constitute the elements of a minimum codebook. Since we use linear block codes, the first requirement is automatically determined by the type of code we use. The second requirement is unfortunately not always satisfied by linear block codes. Satisfying the second requirement involves the use of nonlinear codes which are computationally impractical. This illustrates the tradeoff between energy efficiency and computational complexity. Since in our design computational feasibility is a hard constraint, we will ignore the second requirement for the time being. Going back to the first requirement, we see that this requirement is necessary for t-error correction. This t-error 61 correction can be explained as follows. Suppose a codeword w is transmitted as indicated in Figure 8-5 and suppose that all the used codewords are at least 2t + 1 units apart, meaning that the spheres of radius t around any used codewords will be non-intersecting. Thus, during the transmission, if e errors occur in transmission, e < t, the received codeword (R-1) will still be in the sphere of the sent codeword and can be decoded correctly as that codeword. However, if the number of errors in transmission is e > t, then the received codeword (R-2 or R-3) will not be in the sphere of radius t and will most probably not be decoded correctly. Thus, any number of error less than or equal to t will be corrected with this code of minimum distance 2t + 1. Once the codewords having a minimum distance of 2t + 1 are selected, energy efficiency in transmission will be optimized by performing ME Coding. That is the higher probability messages will be mapped to codewords with less high bits. This way, we will achieve optimal energy efficiency for a given reliability performance in a computationally feasible manner. Theorem 10: Codebook Optimality for Error Correcting Codes. Let S be a q-message source and W be a codebook of q-codewords taken from the usable codewords set W. = {w 1 ,w 2, ... , wq-1,7wqa}, q q. < +oo; W C Wo generated by an error correcting code. The necessary condition for a code C(W, S) to provide the minimum average number of high bits ii (L n1 P is that the codebook W is a minimum codebook of W. Proof. See Appendix. Next, we introduce energy efficient linear codes for reliable communication. 8.2 Energy Efficient Block Codes Many practical error-correcting codes used today are linear. The reasons why linear codes are so popular can be summarized as follows. " Evaluation of distance between codewords is much easier. " Encoding is fast and requires little storage. 62 " Determination of which errors are correctable/detectable is much easier. " Probability of correct decoding is much easier to calculate. " Very cunning decoding techniques exist for linear codes. Due to these advantages we will investigate the use of linear codes for energy efficient error recovery. 8.2.1 Minimum Energy Hamming Codes Hamming Codes are perfect linear block codes offering single error correction capability. Hamming Codes provide this single error correction capability due to their minimum distance of 3 bits. This is illustrated in Figure 8-6, where codewords 1 and 2 denote any two codewords in the Hamming codebook. Any single bit error in transHamming Distance 3 r Codeword 1 t Single Error Correction Codeword 2 Figure 8-6: Single Error Correcting Hamming Codes mission of a codeword results in a received codeword, which is on the circumference of the unit circles. Since this received codeword is still closest to the codeword that is originally transmitted, any single error can be corrected as it is seen in Figure 8-6. How do we combine ME Coding and Hamming Codes? Hamming Codes are basically usable codeword sets, Wos, for single error correction. Since Hamming Codes impose no constraints on the mapping between the codeword set and the source messages, we can combine ME Coding with Hamming Codes just by regarding the given Hamming Code as the usable codeword set WO in Theorem 2 and performing ME 63 Coding on this set. Rather than giving formal definitions and general descriptions of the coding and decoding algorithms of ME Hamming Codes, we will give an example that demonstrates these procedures. More detailed information on Hamming Codes and extended Hamming Codes can be found in [24,25] ME Hamming Code Example. Let S be a q = 10 messages source with probabilities given in Table 8.1. In order to generate a ME Hamming Code for this S m1 m2 M3 M4 M5 m6 m7 M8 Table 8.1: ME Hamming Code Prob. MEH S Prob. MEH 0.19 0000000 mg 0.04 0001111 0.02 0110011 0.15 0010110 mio 0111100 0.13 0011001 0.12 0100101 1010101 0.11 0.10 0101010 1000011 1011010 1100110 0.08 0.06 1001100 1110000 1101001 1111111 source, we first construct the set of usable codewords: the Hamming Code. Codebook Generation of ME Hamming Code. We construct this set of codewords by choosing the longest Hamming Code (i.e., longest L) that satisfies the transmission rate and error probability constraints and provides enough codewords to code all q messages. The error probability constraints are checked by trial and error. First, an error correcting code offering a certain amount of protection is used and the error performance of the code is checked. If desirable reliability performances are not achieved, then a different code offering more protection is used. We choose the longest code because this maximizes the number of codewords with less high bits, thereby optimizing the energy performance. Assuming that these constraints result in the Hamming (7, 4) Code being the only feasible code in this example, we generate the usable codeword set for this code and perform ME Coding. Hamming (7, 4) Code is a single error correcting code that accepts 4-bit information sequences and results in 7-bit codewords. The usable codeword set for the Hamming (7, 4) code is 64 generated using the parity check equations c HT (8.2) 0, = where c is each codeword in the codeword set W and HT is the transpose of the parity check matrix H. The parity check matrix for the Hamming (7, 4) Code is H= 0 0 0 1 0 1 1 0 0 1 1]. 1 0 1 1 1 0 1 1 0 1 (8.3) The resulting set of usable codewords, ordered in ascending number of high bits, is given in the third and sixth columns in Table 8.1. From this Hamming Code, we choose the minimum codebook consisting of the first 10 codewords, and assign codewords having less high bits to more probable messages. The resulting code is the ME Hamming Code (see Table 8.1). Decoding of ME Hamming Codes. The decoding of Hamming Codes is as follows. Assume that the codeword 0011101 containing a single bit error is received. This erroneous codeword is multiplied by the parity check matrix of the Hamming Code which results in the error vector e given as e=HwT = 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 [0 0 1 1 1 0 I]T = [1 0 1]T. This error vector represents the bit position of the error in binary coded decimal form. That is there is an error occurring in the fifth binary digit, and this bit can be complemented to correct this error: 0011101 -+ 0011001. Extended Hamming Codes. We should also note that Hamming Codes can be extended to provide double error detection by adding an overall parity check bit. This overall parity check bit merely increases the minimum distance of Hamming Codes to four bits, thereby enabling double error detection. Extended Hamming Codes are 65 illustrated in Figure 8-7, where we see that by achieving a minimum distance of 4, extended Hamming Codes realize that a codeword containing double errors is not a legal codeword and that a double error has occurred. Once the decoder detects a Hamming Distance 4 Double Error Detection Codeword 2 Codeword I Single Error Correction Figure 8-7: Single Error Correcting and Double Error Detecting Hamming Codes double error, it can ask for a retransmission. While constructing the ME Hamming Code, we realize the trade-off among the three performance metrics: energy efficiency, reliability, and transmission rate. The ME Hamming Code in Table 8.1 is using codewords having zero, three, and four high bits. This code clearly provides a degraded energy performance compared to ME Codes in Chapter 3, which would use zero, one, and two high bit codewords only. Hence, this illustrates the trade-off between energy efficiency and reliability. Furthermore, if the codeword length of the present ME Hamming Code is increased, more three high bit codewords would become available, thereby improving the energy efficiency of the current ME Hamming Code. However, this would degrade the transmission rate performance, re-introducing the trade-off between energy efficiency and transmission rate. Hence, energy efficient transmission is a trade-off among energy efficiency, reliability, and transmission rate. 66 8.2.2 Minimum Energy Golay Codes We start explaining Golay Codes with extended Golay Code. Extended Golay Code is used to correct three or fewer isolated bit errors. Extended Golay Code was in fact used in the Voyager spacecraft program in the early 1980's and brought us the close-up photographs of Jupiter and Saturn. Contrary to what we did in the previous section, in this and the next sections we will give formal definitions and generalized coding/decoding algorithms of ME Golay and Reed-Muller Codes. Definition: Extended Golay Codes. Let B be the (12 x 12) matrix Let G be the (12 x 24) matrix G = [I, B], where I is the (12 x 12) identity matrix. The linear code C with generator matrix G is called the extended Golay Code and will be denoted by C24. By inspection we see that BT = B; that is, B is a symmetric matrix. Characteristics of Extended Golay Codes and the Codebook Generation Algorithm. Let us now summarize some important facts about the extended Golay Code C24 with the generator matrix G = [I, B]: 1. C24 has length L = 24, dimension k = 12 and 212 = 4096 codewords. 67 2. A parity check matrix for C24 is the (24 x 12) matrix check matrix for C24 is the (24 x 12) matrix H = B B . Another parity . 3. Another generator matrix for C24 is the (12 x 24) matrix [B, I]. 4. The distance of C is 8. 5. C24 is a three-error-correcting code. Thus, spanning the generator matrix using all codewords of length 12 bits, we can obtain the (24, 12, 4) extended Golay Code. In other words, the Golay Code C24 can be obtained by using the following matrix equation C24 = uG where u represents all binary strings of length 12 and G = [I, B] is the generator matrix with I is the identity matrix of size (12 x 12). Thus, a binary string u=001010000000would result in the codeword 001010000000,101101001100 through simple matrix multiplication. Next, let us summarize the decoding algorithm for the extended Golay Code. Extended Golay Code Decoding Algorithm. Let oi be the word of length 12 with a 1 in the i-th position and Os elsewhere, e be the error vector, and bi be the i-th row of B. Then, the decoding algorithm of extended Golay Code comprises the following seven steps: 1. Compute the s = dH, where s is called the syndrome, d codeword, and H is the parity check matrix given by H = B is the received . 2. If wt(s) _< 3, then e = [s, 0], where wt(s) is the weight of the syndrome which is equal to the number of is in the syndrome. 3. If wt(s + bi) < 2 for some row bi of B, then e = [s + bi, oi]. 68 4. Compute the second syndrome sB. 5. If wt(sB) 3, then e = [0, sB]. 6. If wt(sB + bi) < 2 for some row bi of B, then e = [oi, sB + bi]. This algorithm requires at most 26 weight calculations in the decoding procedure. Of course, once e is determined, then no further steps in the algorithm need to be done. The transmitted codeword can simply be found by w = e + d. Let us give some examples illustrating this decoding procedure. Suppose a codeword d=10111110111,010010010010 is received. The syndrome is found to be s = dH = 101111101111 + 001111101110 = 100000000001, which has weight 2. Since wt(s) < 3, we find that e = [s, 0] = 100000000001, 000000000000 and conclude that the transmitted word is w = e + d = 001111101110, 010010010010. As another example suppose a codeword d=001001001101,101000101000 is received. The syndrome for this word is s = dH = 001001001101 + 111000000100 = 110001001001, 69 which has weight 5. Proceeding to step 3 of the decoding algorithm, we compute s + bi = 000110001100 s+ b2 = 011111000010 s+ b3 = 101101011110 s+ b4 = 001001100100 s+ b5 = 000000010010. Since wt(s + b5 ) < 2, we find that e = [s + b5 , 05] = 000000010010, 000010000000 and conclude that w = e + d = 001001011111, 101010101000 was the transmitted codeword. ME Extended Golay Codes. The extended Golay Code coding and decoding algorithms are used to derive a codebook enabling 3-error correction. The extended Golay Code enables us to transmit 212 different codewords, thereby enabling to code 212 messages. The procedure for constructing the ME Extended Golay Code is described in the following three steps: (i) generate the Extended Golay Codebook, (ii) choose the minimum codebook, and (iii) map the source messages to the minimum codebook according to the ME Coding algorithm. Hence, we can perform ME Coding for the available codewords in the extended Golay Code to achieve energy efficient transmission. Furthermore, if we have much less than 212 messages, we can simply encode extensions of the source alphabet using the extended Golay Code, which might enable further energy savings. Golay Codes. Another interesting 3-error correcting code can be obtained by puncturing C24, that is removing a digit from every word in C24. The same digit must 70 be removed from each word. We shall remove the last digit. Decoding of Golay Codes. Let B be the (12 x 11) matrix obtained from the matrix B by deleting the last column. Let G be the (12 x 23) matrix G = [I12, B]. The linear code with generator matrix G is called the Golay Code and is denoted by C23. The Golay Code has length n = 23, dimension k = 12, and contains 212 = 4096 codewords. The Golay Code has minimum distance of 7 and will correct any 3 bit or less errors. The decoding algorithm for the Golay Code is based on the decoding algorithm of the extended Golay Code. This algorithm can be summarized as follows 1. Form dO or dl, whichever has odd weight. 2. Decode di (i is 0 or 1) using the extended Golay Code decoding algorithm to codeword win C24. 3. Remove the last digit from w. ME Golay Codes. Golay Codes can be used for 3 or less error correction. These codes can be mapped to source messages using the ME Coding algorithm to provide energy efficient reliable transmission. The procedure for constructing the ME Golay Code is the same as that of ME Hamming Codes and ME extended Golay Codes: (i) generate the Golay Codebook, (ii) choose the minimum codebook, and (iii) map the source messages to the minimum codebook according to the ME Coding algorithm. In the following section, we will extend the Hamming and Golay Codes to t-error correcting Reed-Muller Codes, where t is any positive number. 8.2.3 Minimum Energy Reed-Muller Codes Definition: Reed-Muller Codes. The r-th order Reed-Muller Code of length 2' is RM(r, m), 0 < r K m. A recursive definition of the Reed-Muller Code is such that 1. RM(0, m) = {00...0, 11...1}, RM(m, m) = K 7 2. RM(r, m) = {(x, x + y)Ix E RM(r, m - 1, y E RM(r - 1, m - 1)}, 0 < r < m. 71 Codebook Generation of Reed-Muller Codes. Rather than using this definition of the Reed-Muller Code, we will use a recursive construction of the generator matrix of RM(r, m), which we will denote by G(r,m). For 0 < r < m, we define G(r,m) by G(r, n) = G(r, m - 1) L 0 G(r, m - 1) G(,r - 1, m - 1)j For r = 0 we define G(0, m) = [11...1] and for r = m, we define G(m,m) =G(m - 1, m) 0 ... 01 Characteristics of Reed-Muller Codes. Let us summarize the properties of an r-th order Reed-Muller Code RM(r, m). " Length L = 2" " Distance d = 2 "-r * Dimension k = E'= (') " RM(r - 1, m) is contained in RM(r, m), r > 0 " Dual code RM(m - 1 - r,m), r < M. By arbitrarily choosing the values for (r,m), we can construct a Reed-Muller code that can correct up to (2"-' - 1)/2 errors. 72 Let us now give some examples demonstrating the recursive construction of the Reed-Muller Code. The generator matrices for RM(0, 1) and R(1, 1) are G(0, 1) = [11] and G(1, 1) 1] 01 = Let m = 2, then the length is n = 22 = 4 and for r=1,2 we have G(1, 2)= [(1 1) L 0 G(1, 1)] G(0,1)] 1, G(2,2)= G(112) L0001 Substituting for G(0, 1) and G(1, 1), we get 1111 G(1, 2)= 01011 and 0101 G(2,2) = 0011 0011 0001 For m = 3, m = 23 = 8, we have G(0,3) = [11111111], G(3,3) = G(2,3) 0000000 G(1, 3) = G(j2) 0 G(1, 2)1 G(2, 3) = G(22) 0 G(0, 2) Thus, substituting for G(0, 2), G(1, 2) and G(2, 2), we get 11111111 G(1,3) = 01010101 00110011 00001111 73 G(2,2) G(1, 2) Considering the first order Reed-Muller Code RM(1, m), we realize that the code has a dimension 2' - m - 1, a distance of 4, and length 2 *. Thus, the first order Reed-Muller Code is an extended Hamming Code. The decoding of Reed-Muller Codes is a simple operation. However, explanation of the decoding operation requires some detailed background information. Hence, decoding of Reed-Muller Codes is not included here. A detailed treatment of the decoding operation in Reed-Muller Codes can be found in [25,26]. The use of Reed-Muller Codes for energy efficient information transmission is similar to that of Hamming and Golay Codes. Basically, Reed-Muller Code is used to the construct a codebook of codewords that are a given distance apart, and ME Coding is performed on this codebook to achieve energy efficient transmission. 8.2.4 Implementation of Block Codes Block codes can be implemented via two approaches: (i) Look-up Table Implementation, and (ii) Logic Circuit Implementation. The look-up table implementation is illustrated in Figure 8-8. The look-up table Information Sequence EPROM Wireless Transmitter Block Code Figure 8-8: EPROM Encoder implementation consists of an EPROM implementation of a mapping between the information sequences and the codewords of a given error correcting code. This approach is shown in Figure 8-8, where the information sequences are mapped to the coded bits in the encoder according to the ME Coding algorithm and then sent to the wireless transmitter. The logic circuit implementation is shown in Figure 8-9. The logic circuit im74 0 Wireless Transmitter Input u UO - -. U2 -* - ... k- Message Register U0 U POO AO U ...k-1,0 V0 POiI UI 11 U k-1 '' k-1,j UO **' Rn-k-l UI P1,n-k-1 U k-1 ...P-1,n-k-1 Vn-k-W1 VI Wireless Transmitter Figure 8-9: Logic Circuit Encoder plementation is such that the information bit sequence to be encoded is shifted into the message shift register and simultaneously into the wireless transmitter. As soon as the entire message has entered the message register, n - k parity check digits are formed at the output of n - k modulo-2 adders. These parity check digits are then serialized and shifted into the wireless transmitter. 8.3 Minimum Energy Convolutional Codes Convolutional codes have been the most popular error correcting codes due to their simplicity of decoding. Convolutional Codes are different from block codes since the codewords are generated via a finite state machine that introduces dependencies among multiple codewords. Convolutional codes can be combined with ME Coding given that some modifications to general convolutional code generating algorithm are performed. Hence, the algorithm for generating Minimum Energy Convolutional Codes can be stated as follow. First, check the existence of an (n, k, m) convolutional code. Next, obtain the connection vectors for that (n, k, m) convolutional code. Then, list the inputs sequences of 2 k binary information sequences. Continue by padding the information sequences with km zeros to form a block code equivalent of the convolutional encoder. Then, obtain the generator matrix for this block code equivalent 75 of this convolutional encoder. Next, obtain the finite state machine response (codewords) for the input information sequences. Finally, map the information sequences producing less high bits to source messages with higher probability. The convolutional encoder is shown in Figure 8-10. The encoder consists of k shift - 2) _ X( x(k) d ,0 s 2,0 d e cr.0 A s m 2.0 2.0 rb yt(I) F s 0in 0r, s o hesht0rg, an h -d) III III(2) tyt g(.} ~jg(.) ____ ____ ___ ___ ____ ___ ___ ttyt (n) Figure 8-10: Convolutional Encoder registers. The stage inputs to the shift registers are connected in a certain pattern to n multi-input modulo-2 adders. Since modulo-2 addition is linear, the convolutional encoder is called a linear encoder. A segment of k binary information bits is shifted serially or in parallel into the shift registers, and the n-bit encoder output bits are sampled and transmitted serially. 8.4 Minimum Energy Burst-Error-Correcting Codes In wireless communications, transmission errors usually occur in bursts. Hence, in this section we investigate the means of combining the existing burst error correcting codes with ME Coding. The most popular method of correcting burst errors in interleaving. In this section, interleaving will be combined with ME Coding. 76 * Transmission li I n-k k Figure 8-11: Interleaving The algorithm for combining interleaving with ME Coding can be summarized as follows. First, an (n, k) block code is selected. Next, minimum energy coding is performed on this block code. Then, information transmission is accomplished by selecting A codewords at a time and forming an array code of A - by - n matrix size. These array codewords are then transmitted column-by-column as shown in Figure 8-11. This way the burst errors are distributed into the individual codewords, and the error correction capability of the short codes take care of the bit errors that are formed within them. 77 Chapter 9 Energy-Efficient, High-Rate, and Reliable Information Transmission over Bandwidth-Limited Wireless Channels 9.1 Minimum Energy Multilevel Coded Modulation As it was discussed in the previous chapters, information transmission over wireless channels is accomplished by representing different messages via unique signal sequences. For information transmission over noiseless channels, as it was described in Chapters 3-7, there was no restriction on the individual signals in a given unique signal sequence. For information transmission over noisy power-limited channels, as it was described in Chapter 8, the restriction on the individual signals in the unique signal sequences is introduced via error correcting codes. For information transmission over bandwidth-limited channels the restriction on signal sequences will be introduced by coded modulation schemes. The following is a formal definition of coded modulation. 78 Definition: Coded Modulation. Coded modulation is a method of information transmission via unique signal sequences selected from a multilevel signal constellation, where individual signals in the signal sequences exhibit dependencies introduced by block codes, trellis codes, or lattice codes. Existing coded modulation schemes, as will be introduced in the following sections, offer sets of usable codewords generated from a given signal constellation. Hence, coded modulation can be combined with ME Modulation through the sequential steps of codebook optimality and probabilistic optimality. Thus, codebook optimality is a necessary condition for the overall optimality of the coded modulation and it is decoupled from the source message probabilities. Theorem 11: Codebook Optimality for Coded Modulation. Let S be a q-message source and C be a signal constellation that generates a codebook W(C) of q-codewords taken from the usable codewords set W 0 (C) = {w 1,w 2 , ---, Wq 0 -1,wq 0 }, qo < +oo; W(C) c W 0 (C). The necessary condition for a code (W(C), S) to q provide the minimum average energy per message R = Z 1 Pej is that the codebook W(C) is a minimum codebook of W 0 (C). Proof. See Appendix. 9.2 Minimum Energy Block-Coded Modulation Block-Coded Modulation is a digital data transmission technique that introduces dependencies among the signals in the transmission signal sequences via multiple Block Codes as shown in Figure 9-1. In Figure 9-1, first the information sequence is divided into information sub-sequences of length {ki, k2 , k 3 , k4 }. These information sequences are fed into n-bit Block Codes having distances {di, d2 , d3 , d4 }. These Block Codes produce n-bit codewords that form codeword arrays as shown in Figure 9-1. Columns of these codeword arrays are mapped to signals from a multilevel signal constellation and transmitted over the wireless channel. Exemplary Block-Coded Modulation schemes are given in [27-29]. Block-Coded Modulation can be combined with ME Modulation in the follow79 n,kj,dj) Array Code Signal Conte1ation n,k2,d)Informafion Sequence - Encoder ++ 4 + , k3,d3- n, k,d3) (n, k4 ,d4) Figure 9-1: Block-Coded Modulation ing manner. The set of all available codeword arrays and the corresponding signal sequences can be constructed. Each unique codeword array is mapped to a unique signal sequence. The codeword arrays are listed in ascending order of energy consumption and mapped to the source messages in descending order of probabilities. This algorithm is referred to as Minimum Energy Block-Coded Modulation. 9.3 Minimum Energy Trellis-Coded Modulation Trellis-Coded Modulation is a digital data transmission technique that introduces dependencies among the signals in the transmission signal sequences via convolutional codes as shown in Figure 9-2 [30-32]. In this figure, the m incoming bits are divided into two groups, one of length p and the other of length m - p. The first group of p bits are fed into a convolutional encoder to produce coded bits that will pick a 80 Mn-P M mM .n Signal Mapping In Select Signal xn Sn from Subset x Convolutional Encoder Select Subset Figure 9-2: Trellis Coded Modulation subset of the signal constellation and the second group of length m -p is the uncoded information bits that are directly mapped to signal points. The mapping between the coded bits coming out of the convolutional encoder and the subsets of the whole constellation is done via the Ungerboeck rules called mapping by set partitioning. A comprehensive treatment of these schemes can be found in the references [31,32]. The operation of the convolutional encoder is described by a trellis diagram as shown below. In the trellis diagram, the states represent the contents of the memory Start State End State Allowable Codeword Paths States x+p Figure 9-3: Trellis Diagram 81 (shift registers), the branches are labeled with the output bits of the convolutional encoder. At each stage the output is a function of the encoder state and the input bits. The output bits are mapped to subsets of the signal constellation via the well-known Ungerboeck rules. Signal sequences or codewords in a Trellis Code are represented by the path labels through the trellis in Figure 9-3. Each signal sequence or codeword is determined by the input information sequence and the initial state of the convolutional encoder (i.e., initial memory content of the convolutional encoder). Hence, codewords in a Trellis Code are not produced by unique signal sequences and there are dependencies among different codewords due to the initial memory content of the convolutional encoder. This form of Trellis Codes is not suitable for combination with ME Modulation that requires that unique signal sequences be determined solely by unique information sequences. Hence, Trellis Codes have to be modified into Block Codes for combination with ME Modulation. There are four well-known techniques of converting Trellis Codes to Block Codes. These techniques are direct truncation, zero-tail termination, tail biting, and generalizedtail biting as explained in [33]. Using these modified Trellis Codes, unique signal sequences can be constructed for unique information sequences and signal sequences consuming less energy can be mapped to source messages of higher probability. This algorithm is referred to as Minimum Energy Trellis-Coded Modulation. 9.4 Minimum Energy Lattice Codes Lattice Codes are frequently used for high rate information transmission [34,35]. Lattice Codes of different dimensions with their accompanying rules of construction are contained in the comprehensive reference [36]. Some of the most famous lattices are Z, A 2 , A 3 , D 4 , Dz, E 6 , E 7 , E 8 , K 12 , i 16 , and A 2 4. Recently, E8 lattice modems, Leech Lattice modems, and Barness-Wall Lattice modems have appeared in the market. The following example demonstrates how Lattice Codes can be combined with ME Modulation. 82 Assume a Lattice Code that receives L information bits of binary data and encodes it into eight values S1, S2, ..., S8 identifying it. The eight values are selected from pos- itive, negative, and zero integer values. The method of selection of these eight values defines a lattice code of dimension 8. The resulting set of 8-tuples (Si, S2, ..., S8) is called the Lattice Code of dimension 8. In one such case the eight values S1, S2, ... , S8 are chosen such that they are either (i) all even or all odd integers or (ii) the total of the integral values must be Omodulo4. These rules in fact describe the densest known packings in 8 dimensions. The 8-tuples obeying these rules can be stored in an EPROM as a look-up table and transmitted via a QAM system two coordinates at a time in the form of 4 signals. Each of the two coordinates would modulate the amplitudes of the sine and cosine waveforms to generate the QAM signals. The ME Modulation for these 8-tuples can be formed as follows. First, the minimum codebook of the Lattice Code must be generated according to the Lattice Code rules. Then, the codewords in this codebook are ordered in ascending order of energy consumption and mapped to source messages in descending order of probabilities. This algorithm is referred to as Minimum Energy Lattice Codes. 9.5 Implementation The coded modulation schemes described in this chapter can be implemented via the QAM system shown in Figure 9-4. In this figure, analog data (message) is converted sin fc Message ----0 ROM-1 SeA/uen ce -- Mapper -:Parallel Sterial -Rgster Serial ROM-2 Parallel Signal Register -,Mapper - A/D LPF + ZA/ Z LPFC Transmitter 0 Figure 9-4: Coded Modulation System to digital data via an A/D converter. This digital data is shifted out of the A/D converter in parallel and fed into the address lines of ROM-1 containing a mapping 83 between the digital representation of the messages and the codewords of the coded modulation scheme. The L-bit codewords are shifted out in parallel and then in turn converted to serial format via a parallel-to-serial converter. Then, a serial-toparallel converter converts groups of log2 M bits into parallel format. These log2M bits select signal points from the constellation in ROM-2. The bit sequence-to-signal point mapping is such that the memory contains a combination of certain coordinates (X, Y) that represent the amplitudes of the in-phase and quadrature components of the QAM signal. ROM-2 shifts these two amplitude values out in parallel and generates an analog value for these amplitudes via a D/A converter. These values are coupled with low pass filters that are in turn coupled to hardware modulator circuits. The modulated waveforms are added to form the transmitted QAM waveform and transmitted over the wireless channel. 84 Chapter 10 Simulation Results This research developed coding and modulation algorithms that are applicable to all energy critical applications. As an immediate application, however, ME Coding is developed for patient monitoring systems in health-care applications. In patient monitoring systems, effective technologies for remotely and continuously monitoring the patients is in demand. To answer this demand, a wearable health monitoring system in the form of a finger ring sensor is under development at the d'Arbeloff Laboratory for Information Systems and Technology at MIT [37]. The ring sensor shown in Figure 10-1 senses the physiologic data of remotely located patients, transmits the data wireless to a home computer that is connected to a doctor's office or a nursing home through the Internet or some other health-care network. Since the ring sensor Figure 10-1: Finger Ring Sensor 85 is designed to operate wireless for non-invasive monitoring, energy efficient operation is a key design constraint. Hence, the achievable energy savings via ME Coding is demonstrated by comparing the energy performance of the current ring prototype using the ASCII Code with the future prototype that will use ME Coding. Figure 10-2 shows some typical data obtained from the ring sensor. This data Figure 10-2: Ring Sensor Plethysmograph contains a rich variety of information from which a class of cardiac and circulatory disorders can be detected. In the current prototype of the ring sensor, this data is transmitted wireless using the standard ASCII Code combined with on/off keying. ASCII Code encodes the digitized ring signal into eight-bit binary codewords in binary coded decimal format. This scheme being unaware of the relative energy consumptions of the high bits and the low bits results in inefficient operation in terms of energy. Therefore, the attainable energy saving by replacing ASCII Code with ME Coding is simulated . The simulation is performed as follows. First, samples of long-duration ring sensor data are collected from different patients, and a statistical analysis to obtain the source message probabilities is performed. In this case, the source messages are the data values sampled from the ring sensor plethysmograph. Then, these messages are encoded using ME Coding. Next, a random set of data is collected from a random 86 patient and using ii = 1 Pini, the energy performance of ME Coding and ASCII Code is simulated on this data set. Since the two codes use the same transmission hardware and operating conditions, the power consumption coefficient Ct and the bit period tb are the same for both codes. The only difference results from the two codes having different average number of high bits per message 'h. Figure 10-3 illustrates the results of one such simulation. This figure shows the battery energy Figure 10-3: Battery Energy: (1) ASCII Code, (2) ME Protocol left in two different ring sensors, one employing ASCII Code and the other employing ME Coding, after transmitting the same amount of data. In this case, it is seen that the performance improvement via ME Coding is almost 300%. This is due to the fact that the ASCII Code represents the most frequent messages using large high bit codewords. Hence, ME Coding, which will be employed in the future prototype, will code these most frequent messages using less high bits codewords, thereby enabling significant energy savings. 87 Chapter 11 Conclusions This thesis investigated the problem of energy-optimal information transmission over wireless channels. The major findings and conclusions of this investigation are as follows. Basic Idea. Energy-optimal information transmissionis achieved by representinghigher-probability messages via lower-energy signal sequences. Energy-Optimal Data Compression. " For low data rate transmission, ME Coding is proposed as a new memoryless coding algorithm that provides energy optimal codes for sources with known statistics. * The conditions and parameters determining the optimality of ME Coding are identified and a lower bound on optimal performance is derived. " Concatenation is introduced as a technique that improves the memoryless performance via a simple memory mechanism. " Energy efficiency improvement via concatenation is clearly explained and the conditions of improvement are determined. 88 Energy-Optimal Source Coded Modulation. " For high data rate transmission, ME Modulation is proposed as a new modulation algorithm that provides energy optimal source coded modulation schemes for sources with known statistics. " Extensions of ME Modulation are investigated for improving the energy efficiency and the energy efficiency improvement by extensions is clearly explained. Energy-Optimal Information Transmission over Noisy Wireless Channels. " For power-limited channels, energy-optimal information transmission is accomplished via the use of error correcting codes. These codes include block codes, convolutional codes, and burst error correcting codes. * For bandwidth-limited channels, energy-optimal information transmission is accomplished via the use of coded modulation techniques. These techniques include block coded modulation, trellis coded modulation, and lattice codes. In conclusion, energy-optimal information transmission can be accomplished via proper coding and modulation. 89 Bibliography [1] C. E. Shannon. A mathematical theory of communication. Bell Systems Technical Journal,27:379-424 and 623-657, July and October 1948. [2] C. E. Shannon. Communication in the Presence of Noise. Proceedings of the IRE, 37:10-21, January 1948. [3] J. M. Rulnick and N. Bambos. Mobile Power Management For Wireless Communication Networks. Wireless Networks, 3(1):3-14, 1997. [4] P. Lettieri, C. Fragouli, and M. B. Srivastava. Low Power Error Control for Wireless Links. In MobiCom 1997. Proceedings of the Third Annual ACM/IEEE International Conference on Mobile Computing and Networking, pages 139-150, 1997. [5] P. Agrawal, B. Narendran, J. Sienicki, and S. Yajnik. An Adaptive Power Control and Coding Scheme For Mobile Radio Systems. In Proceedings of the 1996 IEEE InternationalConference on Personal Wireless Communications,pages 283-288. IEEE, Feb 19-21 1996. [6] G. D. Forney, R. G. Gallager, G. R. Lang, F. M. Longstaff, and S. U. Qureshi. Efficient Modulation for Band-Limited Channels. IEEE Journal on Selected Areas in Communications, 2(5):632-647, September 1984. [7] F. R. Kschischang and S. Pasupathy. Optimum Nonuniform Signaling for Gaussian Channels. IEEE Transactions on Information Theory, 39(3):913-929, May 1993. 90 [8] G. D. Forney. Symbol Coding Apparatus, 1985. US Patent 4, 562, 426. [9] G. R. Lang, G. D. Forney, S. Qureshi, F. M. Longstaff, and C. H. Lee. Signal Structures with Data Encoding/Decoding for QCM Modulations, 1985. US Patent 4, 538, 284. [10] R. G. Gallager. Source Coded Modulation System, 1986. US Patent 4, 586, 182. [11] A. R. Calderbank and L. H. Ozarow. Nonequiprobable Signaling on the Gaussian Channel. IEEE Transactions on Information Theory, 36(4):726-740, July 1990. [12] G. D. Forney. Principles of Digital Communications. Unpublished Course Notes, 1999. [13] C. C. Cahn. Performance of Digital Phase Modulation Communication Systems. IRE Transactions on Communication Systems, CS-7:3-6, May 1959. [14] C. C. Cahn. Combined Digital Phase and Amplitude Modulation Communication Systems. IRE Transactions on Communication Systems, CS-8:150-154, 1960. [15] J. C. Hancock and R. W. Lucky. Performance of Combined Amplitude and Phase Modulated Communication Systems. IRE Transactions on Communication Systems, CS-8:232-237, 1960. [16] C. N. Campopiano and B. G. Glazer. A Coherent Digital Amplitude and Phase Modulation Scheme. IRE Transactions on Communication Systems, CS-10:9095, 1962. [17] J. M. Wozencraft and I. M. Jacobs. Principles and Communication Engineering. Wiley, 1965. [18] J. Salz, J. R. Sheehan, and D. J. Paris. Data Transmission by Combined AM and PM. Bell System Technical Journal,50(7):2399-2419, 1971. 91 [19] K. Kawai, S. Shintani, and H. Yanagidaira. Optimum Combination of Amplitude and Phase Modulation Scheme. IEEE International Conference on Communications, pages 29-6-29-11, 1972. [20] C. M. Thomas. Amplitude Phase-Keying with M-ary Alphabets: A Technique for Bandwidth Reduction. International Telemetering Conference Proceedings, pages 289-300, October 1972. [21] M. K. Simon and J. G. Smith. Hexagonal Multiple Phase-and-Amplitude-ShiftKeyed Signal Sets. IEEE Transactions on Communications, COM-21(10):11081115, October 1973. [22] G. J. Foschini, R. D. Gitlin, and S. B. Weinstein. Optimization of Two- Dimensional Signal Constellations in the Presence of Gaussian Noise. IEEE Transactions on Communications, COM-22:28-38, 1974. [23] P. M. Fenwick. Huffman Code Efficiencies for Extensions of Sources. IEEE Transactions on Communications, 43(2-4):163-165, Feb-Apr 1995. [24] R. W. Hamming. Coding and Information Theory. Prentice-Hall, 1986. [25] J. Baylis. Error-CorrectingCodes: A Mathematical Introduction. Chapman and Hall Mathematics, 1998. [26] S. G. Wilson. Digital Modulation and Coding. Prentice Hall, 1996. [27] H. Imai and S. Hirakawa. A new multilevel coding method using error-correcting codes. IEEE Transactionson Information Theory, IT-23(3):371-377, 1977. [28] S. I. Sayegh. A class of optimum block codes in signal space. IEEE Transactions on Communications, Com-34(10):1043-1045, October 1986. [29] R. M. Tanner. Method and apparatus for combining encoding and modulation. Patent Number 4,882,733, November, 21 1989. [30] G. Ungerboeck. Channel coding with multilevel/phase signals. IEEE Transactions on Information Theory, 28(1):55-67, January 1981. 92 [31] G. Ungerboeck. Trellis Coded Modulation with Redundant Signal Sets Part I: Introduction. IEEE Communication Magazine, 25(2):5-11, February 1987. [32] G. Ungerboeck. Trellis Coded Modulation with Redundant Signal Sets Part II: State of the Art. IEEE Communication Magazine, 25(2):12-21, February 1987. [33] H. H. Ma and J. K. Wolf. On tail biting convolutional codes. IEEE Transactions on Communications, COM-34(2):104-111, February 1986. [34] F. M. Longstaff and G. R. Lang. Data transmission with block coding. Patent Number 4,630,288, December, 16 1986. [35] F. M. Longstaff. Block coding into 24 coordinates and detection of transmitted signals. Patent Number 4,733,401, March, 22 1988. [36] J. H. Conway and N. J. A. Sloane. Sphere Packings, Lattices and Groups. Springer, third edition, 1999. [37] B.-H. Yang, S. Rhee, and H. H. Asada. A Twenty-four Hour Tele-nursing System using a Ring Sensor. In Proceedings of the 1998 IEEE InternationalConference on Robotics and Automation, volume 1, pages 387-392. IEEE, 1998. 93 Appendix Proof of Theorem 1 Let i and j be arbitrary integers such that 1 < i < j q. From equations (3.1) and (3.2), Pi Pj and ni<nj. (11.1) Consider the two terms involved in f = E 1 Pini, Old: Pini + Pjnj. Interchanging the codewords for the i-th and j-th messages yields New: Pinj + Pjni. Subtracting Old from New and using (11.1), the net change in the average number of high bits due to this re-assignment becomes New - Old = (Pi - Pj)(nj - ni) > 0. Since the average number of high bits, h, does not decrease for any interchange of codewords, this coding algorithm provides optimal codes for a given codebook with respect to energy consumption. 0 Proof of Theorem 2 Let ni < n 2 5 through wq ... :5 ni 5 n be the number of high bits in the codewords w, involved in the minimum codebook Wmin. The proof is given by showing that replacing an arbitrary codeword wi involved in Wmin with an arbitrary codeword wj not involved in Wmin does not decrease the minimum average number of high bits A. Since 1 <i q <j gq and ni ni+1 < ... < nq 5 nj, the following inequalities 94 hold nj+j - ni 0, ni+2- Multiplying Pi, Pi+1 , ... , nj~i+ ---, , nq-nq-1 0, nj - q > 0- (11.2) Pq by the above inequalities individually and summing them yield Pi(nj+ 1 - ni) + ... + Pq-(nq- nq-) + P(nj - nq) 0 or Pini + Adding Pin1 P i n, + + ... ... Pii+i+ ... + P-inq + Pqnj. + Pqflnq-1 + Pqnq + Pjinj-1 to both sides, ... Pi-ini- 1 + Pinj+... + Pq-ilnq1 + Pnq < Pin+... + Pjini_ + Piji + ... + Pqirnq + Pqnj. (11.3) The left hand side gives ii for the minimum codebook, while the right hand side gives n for a non-minimum codebook, where wi is replaced by wj. The former is always smaller than or equal to the latter. Therefore, the codebook must be a minimum codebook in order to minimize ii. Derivation of ME Coding Optimality Bound Consider the binomial bound given by 1=k-i1. (k + 1 L i=1 k+1 95 (11.4) Using this inequality, we define numbers Q, through Qq, (11.5) Qi= L K(k+1 k) which sum to 1, E= 1 Qi = 1. These numbers may be regarded as a probability distribution, hence, the following Gibbs inequality applies: Q2. q < 0. \Ijg, (11.6) Expanding the logarithmic term and dividing both sides by log 2 k yields the source entropy separated from the rest of the above inequality, q 1 q (-P) Pi1o9k k 1 >Pi1og9k (11.7) Substituting (11.4) and (11.5) into (11.7) yields the lower bound to the average number of high bits, ft = E Pni, ft > Hk - lOgkBk, (11.8) where Bk is a characteristic parameter of the codebook, referred to as codebook capacity, given by q Bk= k. (11.9) i=1 Inequality (11.8) can also be expressed in an exponential form, k(Hk -) B Bk Hence, this completes the derivation. 96 <1. (11.10) Proof of Theorem 3 The average number of high bits for the ME Code is given by ZE l ! Pini. Let the p-th concatenation be performed via direct concatenation, where the number of high bits involved in each new codeword is given by nil + ni + 2 probability by Pi P ... 2 ... + ni,, and its Pi,. Therefore, the average number of high bits for the p-th direct concatenation is given by q S= q ... E Pi2 EPi i1=1 ... Pip (nil + ni2 + .. + nip)(11.11) ip=1 Separating the terms including nil from others yields IP Pinil)( = i1=1 i2=1 Pi i1=1 i2=1 ...E Pi2 --ip=1 Pi (ni2 + .. + nip)) q + (ini) E ... EP2 i=1 + E ip=1 q q = Pi2 --- Pi) ...E i2=1 . Pi(ni ip=1 2 + ... +nip) Repeating this process for i 2 through ip yields q 59p = p Eini = pfjs. (11.12) i=1 Hence, RME = HP/p. This completes the proof. Proof of Theorem 4 From Theorem 3 it follows that for any source S1 and any codeword length L, direct concatenation results in codes having hP/p = iiME. Let nrmax be the maximum number of high bits in N 1 ; nma ;> ni, 1 < i < q. Then, among all unused codewords, the unused codeword with the minimum number of high bits must have either nma or (nma + 1) high bits (This can be seen in Figure 4-2). When the p-th concatenation is generated according to direct concatenation, the resulting codebook includes a codeword with p x nma high bits, that is, the largest number of high bits. Since the 97 minimum number of high bits in unused codewords, umin, is either nmax or (nmax + 1), this unused codeword has fewer high bits than that of the used codeword with p x nmax high bits; umin < p x nmax. Note that, when q = L +1, nmax = 1 and Umin = 2, hence this inequality does not hold for p = 2. Thus, for (q, L) pairs, where (i) q 0 1, (ii) q 0 L + 1, and (iii) q < 2 L, the codebook for direct concatenation is not minimum in any concatenation order. Hence, the unused codewords having less high bits (nmax or (nmax + 1)) can be incorporated into the codebook to reduce the total number of high bits ni + ... + nq-1+ (nmax + 1) < ni + ... + nqP-1+ pxnmax (11.13) Multiplying this equation through by the source message probabilities shows that concatenation always improves the energy efficiency of the original unconcatenated ME Code ft = Pn + ... + PqplnqP1 + Pqp(nmax + 1) < Pin + ... + Pq -1nqP + Pqp (pxnmax) = hdirect = PhME This is true for any p, such that p > 2. Hence, this proves Theorem 4. I Proof of Theorem 5 We prove Theorem 5 by first showing that GMP does not hold if the second condition does not hold, and then by showing that if the second condition does not hold, i will decrease for some concatenation order 2p since Theorem 1 will not hold for direct concatenation. The first condition of GMP requires that if two codewords i and j have equal number of high bits, ni = nj, then the messages represented by those codewords must have equal probabilities P = Pj V(i, j). If this condition does not hold, that is if for some ni and nj, ni = nj, and Pi 5 Pj, then P(ni + s)P(nj - s) 0 P(ni)2 for at least one (i,j, s). This suggests that the first condition is a necessary condition for the second 98 condition and GMP does not hold whenever the second condition does not hold. The second condition does not hold either if (i) P(ni - j) = aU, P(ni) = a + 6, and P(ni +j) = a/(b]) or if (ii) P(ni - j) = ab, P(ni) = a -6, and P(ni+j) = a/(bJ), or if (iii) P(ni - j) = abi +6, P(ni) = a, and P(ni + j) = a/(bi), or if (iv) P(ni - j) = ab' - 6, P(ni) = a, and P(n + j) = a/(bi), or if (v) P(nj - j) = abi, P(ni) = a, and P(n +j) = a/(bJ) +6, or if (vi) P(nj -j) = abi, P(ni) = a, and P(nj +j) = a/(bJ) -6. We should prove that for all of these 6 cases, there will be a decrease in ii for some 2p. The proof is accomplished by showing that for direct concatenation, Theorem 1 is violated for some concatenation order 2p. Since the proofs for different cases are similar, we include the first two cases only. For the 2p-th direct concatenation of case 1, a message having a probability (a + 6)2P is represented by a codeword having pni + pni = 2pni high bits, while a message having a probability of (ab)P+'(a/(bi))P-1 is represented by a codeword having (p + 1)(ni - j)+(p -1)(ni+j) = 2pni -2j high bits. It is easily seen that 2pni > 2pni -2j. Taking the ratio of the probabilities of the two messages, we see that the ratio is less than 1 for some 2p (abi)P+1(a/(bi))P-1 a 2 a 2 (a + 6)2P (a+6 P K +6 -6)K±6) a+ J 2p-2 b2 < 1 ' (11.14) since 2p-2 << 1 a+6 (11.15) for some large p. Thus, the two message-to-codeword assignments are swapped to satisfy coding optimality of Theorem 1. Hence, if GMP does not hold through case 1, ii will decrease for some concatenation order 2p. For the 2p-th direct concatenation of case 2, a message having a probability (a 6)2P is represented by a codeword having pni + pni = 2pni high bits, while a message having a probability of (abi)P-1(a/(bi))P-1 is represented by a codeword having (p 1)(ni -j)+(p+1)(ni+j) = 2pni+2j high bits. It is easily seen that 2pni < 2pni+2j. 99 Taking the ratio of the probabilities of the two messages, we see that the ratio is less than 1 for some p a (ab')P-1(a/(b'))P+1 (a - 2p-2 a- a- J)2p a 2 b->1 1-6 since 2p-2 6) a>>(11.17) for some large p. Thus, the two message-to-codeword assignments are swapped to satisfy coding optimality of Theorem 1. Hence, if GMP does not hold through case 2, i will decrease for some concatenation order 2p. Hence, this completes the proof. E Proof of Theorem 6 We prove that non-zero mean constellations are not optimal, since translations of these constellations providing zero-mean constellations reduce the average energy per signal. Suppose C' = {c', c',..., c'} is a constellation having signal probabilities P = {P', P2,..., P, } resulting in a mean signal a given as M a= Pi'c(, (11.18) i=1 where ci represents the coordinates of the i-th signal. Thus, the average energy of this constellation can be written as E[ic 112 ] = E [(c', c()]. (11.19) Let C be a translate of the signal constellation C', where all the signal points in C' are shifted according to the rule ci = c( - a. This translation will result in C being a 100 zero-mean constellation. Thus, substituting this expression into equation (11.19) and simplifying we obtain the following result. E [(c', c')] = E [(ci + a, ci + a)] (11.20) E [(ci, ci)] = E [IIcII12] + E [(ci, a)] + E [(a, ci)] + I1a1|2 (11.21) E [(c', ci)] = E [IIcII 2] + 11a|12 (11.22) since E [(ci, a)] and E [(a, ci)] are both equal to zero due to C being a zero-mean constellation. Equation (11.22) shows that the average energy of a zero-mean constellation C is always smaller than the average energy of its translate non-zero mean constellation. Thus, the necessary condition for the optimality of a non-equiprobable constellation is for it to be zero-mean. Proof of Theorem 7 We will prove Theorem 7 by showing that any interchange of codeword-to-message assignment does not decrease the average energy per message. Let i and j be arbitrary integers such that 1 < i < j 5 q. From equations (6.1) and (6.2), Pi > Pj and Consider the two terms involved in i = Old: ej < ej. Pej, Pej + Pjej. Interchanging the codewords for the i-th and j-th messages yields New : Pej + Pjei. 101 (11.23) Subtracting Old from New and using (11.23), the net change in the average energy per message due to this re-assignment becomes New - Old = (Pi - Pj)(ej - ej) > 0. Therefore, the average energy per message, fi, does not decrease for any interchange of codewords. Hence, this coding algorithm provides optimal source coded modulation schemes for a given signal constellation with respect to energy consumption. L Proof of Theorem 8 Let el 5 e 2 5 Wq ... < ej 5 ... < eq be the energy in the codewords w1 through involved in the minimum codebook Wmin(C). The proof is given by showing that replacing an arbitrary codeword wi involved in Wmin (C) with an arbitrary codeword wj not involved in Wmin (C) does not decrease E. Since 1 < i < q < j <q 0 ej :5 ej+j and ...: eq < ej, the following inequalities hold e±i+ - ej > 0, ei+2 - ei+ 1 > 0, Multiplying P, Pi+,, ... .., eq -eq-1 0, ej - eq > 0. , Pq by the above inequalities individually and summing them yield Pj(ej+j - ej) + ... + Pq-(eq - eql) + Pq(ej - eq) 0 or Pie + ... + P-ieq-i+ Pqeq 5 Pjej+1 + ... + Pq-ieq + Pej. Adding Pie1 + ... + Pj1 ei- 1 to both sides, P i e, + ... Pi_1ei-1 + Piei+... + Pq-ieq-_ + Pqeq < Pie,+ ... + Pi-jej- 1 + Pe i+ + 102 ... + Pqieq + Pej. The left hand side gives the average energy per message for the minimum codebook, while the right hand side provides the average energy per message for a non-minimum codebook, where wi is replaced by wj. The former is always smaller than or equal to the latter. Therefore, the codebook must be a minimum codebook in order to minimize R. L Proof of Theorem 9 The average energy per message for the ME Modulation is given by E9 - E5 = Pjej. Let the p-th concatenation be performed via direct concatenation, where the energy involved in each new codeword is given by ej, + ei + ... + ei,, and its probabil- 2 ity by PiPi 2 ... Pip. Therefore, the average energy per message for the p-th direct concatenation is given by q P= E q ... ii=1 Pi 2 EPi ... Pip (eil + ei2 + + ei) ... ip=1 Separating the terms including ej, from others yields q EP = (EPi 1 .E... ej, =1 12=1 q Pi2 .--Pi) + ip=i q q i2=1 ... E Pi2 ip= 1 Pi i1=1 . Pip(ei 2 + ... + ei,) q = (Piei) i=1 ... Pi2 H i2=1 ...Pi(ei2 + ip=1 ... + ei,)) Repeating this process for i2 through ip yields q EP = p Pe= PMEE. i=1 Simplifying gives P --- ME. This completes the proof. 0 103 Proof of Theorem 10 Let ni < n2 through wq ... _ < ni 5 ... nq be the number of high bits in the codewords w, involved in the minimum codebook Wmin of an error correcting code. The proof is given by showing that replacing an arbitrary codeword wi involved in Wmin with an arbitrary codeword wj not involved in Wmin does not decrease the minimum average number of high bits ii. Since 1 < i < q < j qO and ni 5 ni+1 < ... < nq nj, the following inequalities hold ni+1 - ni 0, ni+ 2 - ni+> Multiplying Pi, Pi+,, ... 0, ... , nq -nq-1 _ 0, nj - nq 0. (11.24) , Pq by the above inequalities individually and summing them yield Pi(ni+1 - ni) + ... + Pq_1(nq - nq-_)+ Pq(nj -n) 0 or Pini + Adding Pin, + + Pq-inq_ ... ... + Pqnfq 5 ini+1 + ... + Pqifnq + Pnj. + Piini- 1 to both sides, Pin, + ... Pi-ini_1 + Pini+...+ Pq-in-li + Pnq < Pin,+ ... + i-ini_1 + Pini+1 + ... + P-inq + Pnj. (11.25) The left hand side gives ii for the minimum codebook of the error correcting code, while the right hand side gives i for a non-minimum codebook of the error correcting code, where wi is replaced by wj. The former is always smaller than or equal to the latter. Therefore, the codebook must be a minimum codebook to minimize i. 104 L Proof of Theorem 11 Let el < e2 5 Wq ... 5 ej < ... < eq be the energy in the codewords w, through involved in the minimum codebook Wmin(C) of the coded modulation scheme. The proof is given by showing that replacing an arbitrary codeword wi involved in Wmin(C) with an arbitrary codeword wj not involved in Wmin(C) does not decrease q <j :5q and ej 5 e1 i~ < ... < eq 5 ej, the following inequalities E. Since 1< i hold e±i+ - ej 0, ei+ 2 - ei+1 ! 0, ..., eq - eq-1 > 0, ej - eq> 0. Multiplying Pi, P+1 , ..., Pq by the above inequalities individually and summing them yield Pi(ei+l - ei) + ... + Pq_1(eq - eq_1) + P(ej - eq) _> 0 or Pje + ... + Pq-ieq_1 + Pqeq 5 Piei+l + Adding Pie1 + ... + Pi_1ei_1 to both sides, ... + Pq-ieq + Pqej. Pie1 + ... Pi- 1e-i1 + Piei+...+ Pq-ieq-1 + Pqeq Pie,+ ... + Pj1 ej_ 1 + Piej+j + ... + Pqieq + Pej. The left hand side gives the average energy per message for the minimum codebook of the coded modulation scheme, while the right hand side provides the average energy per message for a non-minimum codebook, where wi is replaced by wj. The former is always smaller than or equal to the latter. Therefore, the codebook must be a minimum codebook in order to minimize E. 105 0