An important text that offers an indepth guide to how information theory sets the boundaries for data communication In
518 110 8MB
English Pages 368 [363] Year 2019
Table of contents :
Cover
INFORMATION AND
COMMUNICATION
THEORY
Copyright
CONTENTS
PREFACE
1 INTRODUCTION
2 PROBABILITY THEORY
3 INFORMATION MEASURES
4 OPTIMAL SOURCE CODING
5 ADAPTIVE SOURCE CODING
6 ASYMPTOTIC EQUIPARTITION
PROPERTY AND CHANNEL
CAPACITY
7 CHANNEL CODING
8 INFORMATION MEASURES
FOR CONTINUOUS VARIABLES
9 GAUSSIAN CHANNEL
10 DISCRETE INPUT GAUSSIAN
CHANNEL
11 INFORMATION THEORY
AND DISTORTION
APPENDIX A.
PROBABILITY DISTRIBUTIONS
APPENDIX B.
SAMPLING THEOREM
BIBLIOGRAPHY
INDEX
Index2
INFORMATION AND COMMUNICATION THEORY
IEEE Press 445 Hoes Lane Piscataway, NJ 08854 IEEE Press Editorial Board Ekram Hossain, Editor in Chief Giancarlo Fortino David Alan Grier Donald Heirman Xiaoou Li
Andreas Molisch Saeid Nahavandi Ray Perez Jeffrey Reed
Linda Shafer Mohammad Shahidehpour Sarah Spurgeon Ahmet Murat Tekalp
INFORMATION AND COMMUNICATION THEORY ¨ STEFAN HOST Lund University, Sweden
Copyright © 2019 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved. Published by John Wiley & Sons, Inc., Hoboken, New Jersey. Published simultaneously in Canada. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate percopy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 7508400, fax (978) 7504470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 7486011, fax (201) 7486008, or online at http://www.wiley.com/go/permission. Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 7622974, outside the United States at (317) 5723993 or fax (317) 5724002. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our web site at www.wiley.com. Library of Congress CataloginginPublication Data is available. ISBN 9781119433781
Printed in the United States of America. 10 9 8 7 6 5 4 3 2 1
CONTENTS PREFACE
ix
CHAPTER 1
INTRODUCTION
1
CHAPTER 2
PROBABILITY THEORY
5
2.1 Probabilities 5 2.2 Random Variable 7 2.3 Expectation and Variance 9 2.4 The Law of Large Numbers 2.5 Jensen’s Inequality 21 2.6 Random Processes 25 2.7 Markov Process 28 Problems 33 CHAPTER 3
17
INFORMATION MEASURES
37
3.1 Information 37 3.2 Entropy 41 3.3 Mutual Information 48 3.4 Entropy of Sequences 58 Problems 63 CHAPTER 4
OPTIMAL SOURCE CODING
4.1 Source Coding 69 4.2 Kraft Inequality 71 4.3 Optimal Codeword Length 4.4 Huffman Coding 84 4.5 Arithmetic Coding 95 Problems 101 CHAPTER 5
69
80
ADAPTIVE SOURCE CODING
5.1 The Problem with Unknown Source Statistics 5.2 Adaptive Huffman Coding 106 5.3 The Lempel–Ziv Algorithms 112 5.4 Applications of Source Coding 125 Problems 129
105 105
v
vi
CONTENTS
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL
CAPACITY
133
6.1 Asymptotic Equipartition Property 133 6.2 Source Coding Theorem 138 6.3 Channel Coding 141 6.4 Channel Coding Theorem 144 6.5 Derivation of Channel Capacity for DMC Problems 164 CHAPTER 7
CHANNEL CODING
169
7.1 ErrorCorrecting Block Codes 7.2 Convolutional Code 188 7.3 ErrorDetecting Codes 203 Problems 210 CHAPTER 8
155
170
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
8.1 Differential Entropy and Mutual Information 8.2 Gaussian Distribution 224 Problems 232 CHAPTER 9
CHAPTER 10
237
244 256
DISCRETE INPUT GAUSSIAN CHANNEL
10.1 MPAM Signaling 265 10.2 A Note on Dimensionality 10.3 Shaping Gain 276 10.4 SNR Gap 281 Problems 285 CHAPTER 11
213
GAUSSIAN CHANNEL
9.1 Gaussian Channel 237 9.2 Parallel Gaussian Channels 9.3 Fundamental Shannon Limit Problems 260
265
271
INFORMATION THEORY AND DISTORTION
11.1 RateDistortion Function 11.2 Limit For Fix Pb 300 11.3 Quantization 302 11.4 Transform Coding 306 Problems 319
213
289
289
CONTENTS APPENDIX A
A.1 A.2
323
Discrete Distributions 323 Continuous Distributions 327
APPENDIX B
B.1
PROBABILITY DISTRIBUTIONS
vii
SAMPLING THEOREM
The Sampling Theorem
337
337
BIBLIOGRAPHY
343
INDEX
347
PREFACE Information theory started as a topic in 1948 when Claude E. Shannon published the paper “A mathematical theory of communication.” As the name reveals, it is a theory about what communication and information are in a mathematical sense. Shannon built a theory first to quantify and measure the information of a source. Then, by viewing communication as reproduction of information, the theory of communication came into view. So, without information, or choices, there cannot be any communication. But these two parts go hand in hand. The information measure is based on the amount of data needed for reconstruction, and communication is based on the amount of data needed to be transmitted to transfer a certain amount of information. In a mathematical sense, choices mean probabilities, and the theory is based on probability theory. Humans have always strived to simplify the process of communication and spreading knowledge. In the 1450s when Gutenberg managed to get his printing press in operation, it simplified the spreading of the written words. Since then, we have seen many different technologies that have spread the information—from the telegraph, via the telephone and television, to the Internet as we know it today. What will come next we can only speculate, but all these existing and forthcoming technologies must comply with the theories that Shannon stated. Therefore, information theory as a topic is the base for everyone working with communication systems, both past, present, and forthcoming. This book is intended to be used in a first course in information theory for communication engineering students, typically in higher undergraduate or lower graduate level. Since the theory is based on mathematics and probability theory, a certain level of maturity in these subjects is expected. This means that the students should have a couple of mathematics courses in their trunk, such as basic calculus and probability theory. It is also recommended, but not required, that they have some understanding of digital communication as a concept. This together will give a solid ground for understanding the ideas of information theory. The first requirement of a level of maturity in mathematics comes from information theory that sets up a mathematical model of information in very general terms, in the sense that it is valid for all kinds of communication. On some occasions, the theory can be seen as pretty abstract by students the first time they engage with it. Then, to have some understanding of communication on a physical layer beforehand might help the understanding. The work with this book, as well as the content, has grown while lecturing the course on information and communication. By the time it started, I used one of the most recommended books in this field. But it lacked the engineering part of the course, such as the intuitive understanding and a description of what it means in reality. The ix
x
PREFACE
theory sets up bounds for how much a source can be compressed and how much data can be transmitted over a noisy channel. This is the pure information theory. The understanding of what this means when designing a communication system is one of the most important results from the theory. Information theory has grown since its origin in 1948, particularly in the subjects of compressing a source and getting a high data rate on the communication link. Therefore, I wanted to include the basics of data compression and errorcorrecting codes in the course that I lectured. Since I did not find a book on these topics, I started writing about data compression and the Lempel–Ziv algorithms, as a complementary material to the students. Since not all students have the uptodate knowledge of probability theory, I also wrote a couple of pages about this. With this at hand, and the slides I used during the lectures, I started working on a somewhat wider scope with the material. After some time, while working with the material as lecture notes, I realized that I had almost all the material I needed for a course. Then I decided to use this as the main course literature, and the text continued to develop during the years. I feel now that the text is mature enough to take the next step and worth publishing to a broader audience. The work with this book has taken about 10 years, and over the years I have had a lot of help and discussions to learn and understand the subject. Especially, I would like to thank all the students who have passed the course and patiently endured my attempts to find intuitive explanations for the theory. It has not always been the best at the first attempt. It is interesting that even after working with the material for long time, I still get new inputs and questions from the students that challenge my understanding and help with the description. Second, I would like to thank all my colleagues and coworkers those who have enlightened me during discussions and explanations over the years, to name a few: Rolf Johannesson, Viktor Zyablov, Michael Lentmaier, John B Andersson, Fredrik Rusek, PerErik Eriksson, Miguel Berg, Boris Dortchy, and Per Ola B¨orjesson. A special thank goes to John B. Andersson, without his encouragement this book would have never been completed. I am also grateful to reviewers for their many relevant comments on the manuscript. I would also like to thank the teaching assistants associated with the course over the years, who have detected and corrected many mistakes: Adnan Prlja, Eduardo Medeiros, Yezi Huang, and Umar Farooq. Finally, I want to thank my wife and children, Camilla, Karla, and Filip, for all their support and understanding throughout the years of working on the manuscript. ¨ Stefan Host Lund, Sweden
CHAPTER
1
INTRODUCTION
A
T SOME POINT in the scientific history, new revolutionary ideas serve as starting points of new topics. Information theory started in 1948 when Claude Shannon’s paper “A mathematical theory of information” was published in the Bell System Technical Journal [1]. The objectives in the article in many ways were pioneering, but the first thoughts in this direction started more than 20 years earlier. In 1924 and 1928, Nyquist [2, 3] showed that a signal with a bandwidth W Hz and a durability of T seconds could not contain more than 2WT distinguishable pulses. This was later reformulated into what is today known as the sampling theorem. This is an important concept of all systems converting between discrete and analog representations of signals and is widely used in signal processing and communication theory. In 1924, Hartley was first to propose a measure of information in his paper “Transmission of information” [4]. In this study, he realized that the limiting factor in communication is the noise. Without noise there would not be any problem. And then, 20 years later, Claude Shannon further developed the concepts and concluded that a measure of information must be based on probability theory. The idea is that without choices there is no information. If a variable can have only one outcome, it does not give any information to an observer. If there are multiple outcomes, their presence is determined by their probabilities, and the information measure is therefore derived from the distribution on which the symbol is generated. That means the developed information measures are purely probabilistic functions. At first glance, it might be surprising that the information measure developed, and on which communication systems still rely, does not have anything to do with the content of a sequence. The measure can instead be interpreted as the amount of information required to determine, or reproduce, the sequence. In that perspective, a completely random sequence also contains a lot of information, even though it does not have a meaning to us. The strength in this view is that the theory is valid for all types of information sources and thus all types of communications. Information theory deals with two closely related terms: information and communication. As stated above, the information measure will depend on the amount of information needed to reproduce the source sequence. Then, if the aim is to transport this sequence or message from a source to a destination, it is only this amount of information that is needed to be transported. In his paper, Shannon expressed that the “fundamental problem of communication is that of reproducing at one point exactly
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
1
2
CHAPTER 1
Figure 1.1
INTRODUCTION
A communication system.
or approximately a message selected at another point.” In this rather general statement, a point can be referred to as place and time, meaning that the message selected at on place and one time should be reproduced at another place and another time. In Figure 1.1, an example of communication is shown. It shows someone recording a video with a computer and then uploading it to a server, e.g., Youtube. Then, at later time someone else downloads the video and displays it on a screen. In this case, the stated another point refers to the time and place where the video is displayed. The video that is uploaded is typically compressed using a video compression format, e.g., H.264 or MPEG. Videos are typically compressed quite hard, using a lossy compression. When the video is downloaded and decompressed, it differs quite a lot from the raw video recorded at the source. But for the human eye and perception ability, it should look approximately the same. If the message transmitted was a text or a computer program, the same principle can be used, the text is saved on a server and downloaded at a later time. But in case of a program, the reconstruction needs to be an exact copy of the uploaded file. This depicts the difference between the statement exactly or approximately in the cited case above. In the world of information theory and communication theory, Figure 1.1, and most other communication situations, is better represented by Figure 1.2. There the source is the recording of the (raw) video that gives the sequence X. To save disk space as well as uploading and downloading time, the source sequence X should be compressed through a source encoder. The aim of the source encoder is to extract the pure information, and in the case of lossy compression a representation with less
X
Source
Source encoder
Y
Channel encoder
U
Figure 1.2
X
Source decoder
›
Destination
›
Channel
Y
Channel decoder
Shannon’s model for a communication system.
V
INTRODUCTION
3
information gives approximately the same experience as the raw video. Since pure information is very sensitive to errors in transmission and storage, it is protected by a channel code. The purpose of this code is to introduce redundancy such that the channel decoder can correct errors. In the case of the video uploading to a data center, there are several occasions of encoding and decoding. First when the file is uploaded, there is encoding and decoding in the transmission protocols. At the data center, there are often errorcorrecting codes, protecting from hard drive failure. At downloading, there is again the transmission protocol using errorcorrecting codes. Finally at the destination, the compressed sequence is decompressed and sent to the screen. The aim of this text is to give an introduction to the information theory and communication theory. It should give an understanding of the information measures and the bounds given by them, e.g., bounds on source coding and channel coding. It also describes source coding and channel coding on the basis of some wellknown algorithms. Chapter 2 gives a short review of probability theory, where most of the basic theory needed in the text is presented. The intention is to present a quick and handy lookup of the theory regarding probabilities. Even though there are attempts to explain intuitively the theory, most of the mathematical proofs are omitted. For a more thorough treatment of the subject, the reader should refer to the literature, e.g., [5, 6]. The chapter is complemented by an appendix where some of the most common distributions are shown, both discrete and continuous. In Chapter 3, the information measures used in the theory are defined. It also presents their relations, and how they can be interpreted. In Chapter 4, the measures are used to set up bounds on source coding. For the case of vectors with identical and independently distributed (i.i.d.) variables, a simple, yet optimal, code construction due to Huffman is given. Even though Huffman’s code construction gives optimal codes for the i.i.d. case, in reality sources for compression are seldom independent variables and the distribution is seldom known. In Chapter 5, adaptive compression methods are described. These include the widely used the Lempel–Ziv algorithm, that is used in, for example, zip, png, and other wellknown standards. In Chapter 6, the concept of asymptotic equipartition property is presented, which is a consequence of the law of large numbers. It will give the possibility to show two of the most important theorems on information theory, i.e., the sourcecoding theorem and the channelcoding theorem. In this chapter, the channel capacity will also be introduced as the possible amount of information carried in a transmission over a noisy channel. In Chapter 7, the concepts of errorcorrecting codes are discussed, introducing both block codes and convolutional codes. In Chapter 8, the information measures defined in Chapter 3 for discrete variables are extended to the continuous case. The relation between the interpretations for the measures in the discrete and continuous cases is discussed. Depending on the logical level of the channel model, it can be discrete or continuous. The discrete channels were treated in Chapter 6, whereas in Chapter 9 the continuous counterpart is discussed, with a special focus on the case for Gaussian noise. To reach the channel capacity for this case, it turns out that the transmitted variable should be Gaussian distributed, whereas in reality it is often both discrete and uniformly distributed. This case is treated specially in Chapter 10, where a closer relationship is presented with
4
CHAPTER 1
INTRODUCTION
practically used modulation schemes like pulse amplitude modulation and quadrature amplitude modulation. In Chapter 11, the concept of distortion is introduced. In reality, it is often acceptable with a certain amount of distortion, e.g., in image and video coding the human eye will tolerate distortions and in a communication scenario there might be tolerance for few errors in the transmission. This is incorporated in the previous theory by using the rate distortion functions. The chapter is concluded with a description of lossless compression and an introduction to transform decoding, used in, e.g., jpeg. Over the years there has been several books written in the subject of information theory, e.g., [11, 13, 67, 71, 80, 81, 84, 86, 92]. The aim of this book is to present the theory for both discrete and continuous variables. It also aims at applying the theory towards communication theory, which is especially seen in Chapter 10 where discrete input Gaussian channels are considered.
CHAPTER
2
PROBABILITY THEORY
O
NE OF THE MOST important insights when setting up a measure for information is that the observed quantity must have multiple choices to contain information [4]. These multiple choices are best described by means of probability theory. This chapter will recapitulate the parts of probability theory that are needed throughout the rest of the text. It is not, in any way, a complete course, for that purpose the reader may refer to standard textbooks, e.g., [5, 6].
2.1
PROBABILITIES
In short, a probability is a measure of how likely an event may occur. It is represented by a number between zero and one, where zero means it will not happen and one that it is certain to happen. The sum of the probabilities for all possible events is one, since it is certain that one of them will happen. It was the Russian mathematician Kolmogorov who in 1933 proposed the axioms for the theory as it is known today. The sample space Ω is the set of all possible outcomes of the random experiment. For a discrete source, the sample space is denoted as Ω = {𝜔1 , 𝜔2 , … , 𝜔n } where 𝜔i are the outcomes. An event is a subset of the sample space, ⊆ Ω, and the event is said to occur if the outcome from the random experiment is found in the event. Examples of specific events are r The certain event Ω (the full subset) and r The impossible event ∅ (the empty subset of Ω). Each of the outcomes in the sample space, 𝜔1 , 𝜔2 , … , 𝜔n , are also called elementary events or, sometimes, atomic events. To each event, there is assigned a Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
5
6
CHAPTER 2
PROBABILITY THEORY
Figure 2.1 Two disjoint sets and , where ∩ = ∅.
Ω
A
B
probability measure P, where 0 ≤ P ≤ 1, which is a measure of how probable the event is to happen. The probabilities of the certain event and the impossible event are P(Ω) = 1 P(∅) = 0 If and are two disjoint events (see Figure 2.1), then the probability for the union is P( ∪ ) = P() + P(), where ∩ = ∅ This implies that P() =
∑
P(𝜔i )
(2.1)
(2.2)
𝜔i ∈
If the sets and are not disjoint, i.e., ∩ ≠ ∅ (see Figure 2.2), the probability for the union is P( ∪ ) = P() + P() − P( ∩ )
(2.3)
where the probability for the intersection ∩ is represented in both P() and P() and has to be subtracted. An important concept in probability theory is how two events are related. This is described by the conditional probability and is related to the probability of event , when it is known that event has occurred. Then, the atomic events of interest are those in both and , i.e., ∩ . Since the certain event now is , which should give probability 1, the conditional probability should be normalized with P(). The definition becomes P( ∩ ) (2.4) P() = P() Ω
Figure 2.2
A
A∩B
B
Two sets and , where ∩ ≠ ∅.
2.2 RANDOM VARIABLE
7
If the two events and are independent, the probability for should not change if it is conditioned on or not. Hence, P() = P()
(2.5)
Applying this to the definition of conditional probabilities (2.4), it is concluded that and are independent if and only if the probability of their intersection is equal to the product of the individual probabilities: P( ∩ ) = P() ⋅ P()
2.2
(2.6)
RANDOM VARIABLE
A random variable, or a stochastic variable, X is a function from the sample space onto a specified set, most often the real numbers, X:Ω→
(2.7)
where = {x1 , x2 , … , xk }, k ≤ n, is the set of possible values. To simplify notations, the event {𝜔X(𝜔) = xi } is denoted by {X = xi }. To describe the probability distribution of the random variable, for the discrete case the probability function is used, pX (x) = P(X = x), and for the continuous case the density function fX (x) is used. The distribution function for the variable is defined as
which can be derived as1 FX (x) =
∑
FX (x) = P(X ≤ x)
(2.8)
pX (k),
(2.9)
discrete case
k≤x x
FX (x) =
∫−∞
fX (𝜈)d𝜈,
continuous case
(2.10)
On many occasions later in the text, the index (⋅)X will be omitted, if the intended variable is definite from the content. In Appendix A, the probability or density functions of some common probability distributions are listed together with some of their important properties. To consider how two or more random variables are jointly distributed, view a vector of random variables. This vector will represent a multidimensional random variable and can be treated the same way. So, in the twodimensional case, consider (X, Y), where X and Y are random variables with possible outcomes = {x1 , x2 , … , xM } and = {y1 , y2 , … , yN }, respectively. Then the set of joint outcomes is } { (2.11) × = (x1 , y1 ), (x1 , y2 ), … , (xM , yN ) 1 Often
in this chapter, the result is given for both discrete and continuous random variables, as done here.
8
CHAPTER 2
PROBABILITY THEORY
Normally, for the discrete case, the joint probability function pX,Y (x, y) means the event P(X = x and Y = y). In the continuous case, the joint density function is denoted by fX,Y (x, y). The marginal distribution is derived from the joint distribution as pX (x) =
∑
pX,Y (x, y),
discrete case
(2.12)
fX,Y (x, y)dy,
continuous case
(2.13)
y
fX (x) =
∫ℝ
for the discrete and continuous case, respectively. Analogous to (2.4), the conditional probability distribution is defined as pXY (xy) = fXY (xy) =
pX,Y (x, y) pY (y) fX,Y (x, y) fY (y)
,
discrete case
(2.14)
,
continuous case
(2.15)
This gives a probability distribution for the variable X when the outcome for the variable Y is known. Repeating this iteratively concludes the chain rule for the probability of an ndimensional random variable as P(X1 … Xn−1 Xn ) = P(Xn X1 … Xn−1 )P(X1 … Xn−1 ) = P(X1 )P(X2 X1 ) ⋯ P(Xn X1 … Xn−1 ) n ∏ = P(Xi X1 … Xi−1 )
(2.16)
i=1
Combining the above results, two random variables X and Y are statistically independent if and only if pX,Y (x, y) = pX (x)pY (y),
discrete case
(2.17)
fX,Y (x, y) = fX (x)fY (y),
continuous case
(2.18)
for all x and y. If X and Y are two random variables and Z = X + Y their sum, then the distribution of Z is given by the convolution pZ (z) = (pX ∗ pY )(z) =
∑
pX (k − z)pY (k),
discrete case
(2.19)
continuous case
(2.20)
k
fZ (z) = (fX ∗ fY )(z) =
∫ℝ
fX (t − z)fY (t)dt,
for the discrete and continuous case, respectively.
2.3 EXPECTATION AND VARIANCE
9
Example 2.1 Consider two exponentially distributed random variables, X ∼ Exp(𝜆) and Y ∼ Exp(𝜙). Their density functions are fX (x) = 𝜆e−𝜆x
(2.21)
fY (y) = 𝜙e
(2.22)
−𝜙y
Let Z = X + Y, then the density function of Z is fZ (z) =
∫ℝ z
=
∫0
fX (z − t)fY (t)dt 𝜆e−𝜆(z−t) 𝜙e−𝜙t dt
= 𝜆𝜙e−𝜆z = 𝜆𝜙e−𝜆z
z
∫0
e(𝜆−𝜙)t dt
) 𝜆𝜙 ( −𝜙z e(𝜆−𝜙)z − 1 − e−𝜆z = e 𝜆−𝜙 𝜆−𝜙
(2.23)
If X and Y are equally distributed, X ∼ Exp(𝜆) and Y ∼ Exp(𝜆), the density function of Z = X + Y can be derived from (2.23) by using the limit value, given by l’Hospital’s rule, e𝛼z − 1 = lim ze𝛼z = z 𝛼→0 𝛼→0 𝛼
(2.24)
fZ (z) = 𝜆2 ze−𝜆z
(2.25)
lim
as
which is the density function for an Erlang distributed variable, indicating that Z ∼ Er(2, 𝜆).
2.3
EXPECTATION AND VARIANCE
Consider an example where a random variable X is the outcome of a roll with a fair die, i.e. the probabilities for each outcome are 1 , x = 1, 2, … , 6 (2.26) 6 A counterfeit version of the die can be obtained by inserting a small weight close to one side. Let Y be the a random variable, describing the outcome for this case. Simplifying the model, assume that the number one will never occur and number six will occur twice as often as before. That is, pY (1) = 0, pY (i) = 16 , i = 2, 3, 4, 5, and pX (x) =
pY (6) = 13 . The arithmetic mean of the outcomes for both cases becomes X=Y=
1∑ x = 3.5 6 x
(2.27)
10
CHAPTER 2 PROBABILITY THEORY
However, intuitively the average value of several consecutive rolls should be larger for the counterfeit die than the fair. This is not reflected by the arithmetic mean above. Therefore, introducing the expected value, which is a weighted mean where the probabilities are used as weights, ∑ xpX (x) (2.28) E[X] = x
In the case with the fair die, the expected value is the same as the arithmetic mean, but for the manipulated die it becomes E[Y] = 0 ⋅ 1 +
1 6
⋅2+
1 6
⋅3+
1 6
⋅4+
1 6
⋅5+
1 3
⋅ 6 ≈ 4.33
(2.29)
Later, in Section 2.4, the law of large numbers is introduced, stating that the arithmetic mean of a series of outcomes from a random variables will approach the expected value as the length grows. In this sense, the expected value is a most natural definition of the mean for the outcome of a random variable. A slightly more general definition of the expected value is as follows: Definition 2.1 Let g(X) be a realvalued function of a random variable X, then the expected value of g(X) is [ ] ∑ g(x)pX (x), discrete case (2.30) E g(X) = x∈
[
]
E g(X) =
∫ℝ
g(𝜈)fX (𝜈)d𝜈,
continuous case
(2.31)
Returning to the true and counterfeit die, the function g(x) = x2 can be used. This will lead to the socalled secondorder moment for the variable X. In the case for the true die E[X 2 ] =
6 ∑ 1
i2 ≈ 15.2
(2.32)
1 i2 + 62 = 21 3
(2.33)
i=1
6
and for the counterfeit E[Y 2 ] =
5 ∑ 1 i=2
6
Also other functions can be useful, for example, the Laplace transform of the density function can be expressed as ( ) [ ] fX (x) = E e−sX = f (x)e−sx dx (2.34) ∫ℝ X In (2.20), it is stated that the density function for Z = X + Y is the convolution of the density functions for X and Y. Often it is easier to perform a convolution as a multiplication in the transform plane, ] [ ] [ ] [ (2.35) E e−sZ = E e−sX E e−sY
2.3 EXPECTATION AND VARIANCE
For the discrete case, the transform can be used in a similar way as [ ] [ ] [ ] E z−Z = E z−X E z−Y
11
(2.36)
As an alternative to the derivations in Example 2.1, in the next example the Laplace transform is used to derive the density function of the sum.
Example 2.2 Let X ∼ Exp(𝜆) and Y ∼ Exp(𝜙). The Laplace transforms for the density functions can be derived as [ ] E e−sX = 𝜆
∞
𝜆 s+𝜆 ∞ [ ] 𝜙 E e−sY = 𝜙 e−(s+𝜙)x dx = ∫0 s+𝜙 ∫0
e−(s+𝜆)x dx =
Thus, the transform of fZ (z) of the sum Z = X + Y, is ) ] [ 𝜙 𝜆𝜙 ( 1 𝜆 1 ⋅ = − E e−sZ = s+𝜆 s+𝜙 𝜆−𝜙 s+𝜙 s+𝜆
(2.37) (2.38)
(2.39)
where the inverse transform is given by fZ (z) =
) 𝜆𝜙 ( −𝜙z − e−𝜆z e 𝜆−𝜙
(2.40)
If the variables are equally distributed, X ∼ Exp(𝜆) and Y ∼ Exp(𝜆), the transform of fZ (z) becomes [ ] ( 𝜆 )2 E e−sZ = (2.41) s+𝜆 which gives the inverse transform2 fZ (z) = 𝜆2 ze−𝜆z
The expected value for the multidimensional variable is derived similar to the onedimensional case, using the joint distribution. In the case of a twodimensional vector (X, Y), it becomes [ ] ∑ g(x, y)pX,Y (x, y), discrete case (2.42) E g(X, Y) = x,y
[
]
E g(X, Y) = 2 From
∫ℝ2
g(𝜈, 𝜇)fX (𝜈, 𝜇)d𝜈d𝜇,
a Laplace transform pair lookup table, e.g., [7], 1 s+𝛼 1 , te−t𝛼 u(t) ⟷ (s + 𝛼)2 e−t𝛼 u(t) ⟷
where u(t) is the unit step function.
continuous case
(2.43)
12
CHAPTER 2 PROBABILITY THEORY
From the definition of the expected value, it is easy to verify that the expected value is a linear mapping, i.e. ∑ E[aX + bY] = (ax + by)pXY (x, y) x,y
=
∑
axpXY (x, y) +
∑
x,y
=a
∑ ∑ ∑ ∑ x pXY (x, y) + b y pXY (x, y) x
=a
bypXY (x, y)
x,y
∑
y
xpX (x) + b
x
∑
y
x
ypY (y)
y
= aE[X] + bE[Y]
(2.44)
In Theorem 2.1, a more general version of this result is stated. For the case when X and Y are independent, the expectation of their product equals the product of their expectations, ∑ E[XY] = xypX,Y (x, y) x,y
=
∑
xypX (x)pY (y)
x,y
=
∑ x
xpX (x)
∑
xpY (y) = E[X]E[Y]
(2.45)
y
While the expected value is a measure of the weighted mean for the outcome of a random variable, there is also a need for a measure showing how the outcome varies. This is the variance, and it is defined as the expected value of the squared distance to the mean. Definition 2.2 Let X be a random variable with an expected value E[X], then the variance of X is [ ] V[X] = E (X − E[X])2 (2.46)
The variance is often derived from [ ] V[X] = E (X − E[X])2 [ ] = E X 2 − 2XE[X] + E[X]2 = E[X 2 ] − 2E[X]E[X] + E[X]2 = E[X 2 ] − E[X]2
(2.47)
where E[X 2 ] is the secondorder moment of X. In many descriptions, the expected value is denoted by m, but here the notation E[X] is presented as a case of clarity. Still, it should be regarded as a constant in the derivations.
2.3 EXPECTATION AND VARIANCE
13
The variance is a measure of the squared deviation to the mean value. To get a measure in the same scale as the mean, the standard deviation is defined as the square root of the variance: √ 𝜎X = V[X]. (2.48) For the true and counterfeit die described earlier in this section, the variances become V[X] = E[X 2 ] − E[X]2 ≈ 2.9 V[Y] = E[Y 2 ] − E[Y]2 ≈ 2.2
(2.49) (2.50)
and the standard deviations 𝜎X = 𝜎Y =
√ √
V[X] ≈ 1.7
(2.51)
V[Y] ≈ 1.5
(2.52)
To understand more about the variance, first one of its relatives, the covariance function, is considered. This can be seen as a measure of the dependencies between two random variables. Definition 2.3 Let X and Y be two random variables with expected values E[X] and E[Y]. The covariance between the variables is [ ] Cov(X, Y) = E (X − E[X])(Y − E[Y]) (2.53)
Similar to (2.47), the covariance can be derived as [ ] Cov(X, Y) = E (X − E[X])(Y − E[Y]) [ ] = E XY − XE[Y] − E[X]Y + E[X]E[Y] = E[XY] − E[X]E[Y]
(2.54)
Hence, for independent X and Y, the covariance is zero, Cov(X, Y) = 0. The variance for a linear combination aX + bY can now be derived as [ ] V[aX + bY] = E (aX + bY)2 − E[aX + bY]2 [ ] ( )2 = E a2 X 2 + b2 Y 2 + 2abXY − aE[X] + bE[Y] = a2 E[X 2 ] + b2 E[Y 2 ] + 2abE[XY] −a2 E[X]2 − b2 E[Y]2 − 2abE[X]E[Y] = a2 V[X] + b2 V[Y] + 2abCov(X, Y)
(2.55)
For independent X and Y, the covariance disappears, and the result is V[aX + bY] = a2 V[X] + b2 V[Y]
(2.56)
14
CHAPTER 2 PROBABILITY THEORY
f X( x)
fX (x)
x
m
Figure 2.3 variance.
x
̃ = (X − m)∕𝜎 to achieve zero mean and unit Normalization of fX (x) by X
Example 2.3 Sometimes it is suitable to consider a normalized random variable with zero mean and unit variance. This can be obtained from the function ̃ = X−m (2.57) X 𝜎 where E[X] = m and V[X] = 𝜎 2 . Then the expectation and variance become ( ) ̃ = 1 E[X] − m = 0 (2.58) E[X] 𝜎 ̃ = 1 E[(X − m)2 ] = 1 V[X] (2.59) 𝜎2 The procedure is illustrated in Figure 2.3. The results in (2.44), (2.55), and (2.56) can be generalized using similar derivations as explained above to hold for N variables, which are stated in the next theorem. Theorem 2.1 Given a set of N random variables Xn and scalar constants 𝛼n , n = 1, 2, … , N, the sum Y=
N ∑
𝛼n Xn
(2.60)
n=1
is a new random variable with the expected value E[Y] =
N ∑
𝛼n E[Xn ]
(2.61)
n=1
and variance V[Y] =
N ∑
𝛼n2 V[Xn ] + 2
∑
𝛼n 𝛼m Cov(Xn , Xm )
(2.62)
m a) ≤
E[X] a
(2.81)
To show the theorem, begin with the expected value of X, E[X] = ≥
∞ ∑
kp(k) ≥
k=0 ∞ ∑ k=a+1
∞ ∑
kp(k)
k=a+1
ap(k) = a
∞ ∑
p(k) = aP(X > a)
(2.82)
k=a+1
which presents the result. If instead of the expected value, the variance is considered, and the positive constant a is replaced with 𝜀2 , where 𝜀 is a positive number, ) E[(X − E[X])2 ] V[X] (( )2 P X − E[X] > 𝜀2 ≤ = 2 𝜀2 𝜀
(2.83)
Equivalently, this can be stated as in the following theorem, which is called as Chebyshev’s inequality. Theorem 2.3 (Chebyshev’s inequality) Let X be a nonnegative random variable with a finite expected value E[X] and a finite variance V[X]. Then, for any positive 𝜀 ( ) V[X]   P X − E[X] > 𝜀 ≤ 2   𝜀
(2.84)
As stated previously, Chebyshev’s inequality can be used to present the first proof of the weak law of large numbers. Consider a sequence of independent and identically distributed (i.i.d.) random variables, Xi , i = 1, 2, … , n. The arithmetic mean of the sequence can be viewed as a new random variable, 1∑ X Y= n i=1 i n
(2.85)
From Theorem 2.1, it is seen that the expected value and variance of Y can be expressed as E[Y] = E[X] [ ] V X V[Y] = n
(2.86) (2.87)
2.4 THE LAW OF LARGE NUMBERS
19
Applying Chebyshev’s inequality yields n ) V[X] ( ∑  1 P  Xi − E[X]> 𝜀 ≤  n n𝜀2 i=1
(2.88)
As n increases, the righthand side will tend to be zero, bounding the arithmetic mean near to the expected value. Stated differently, n ( ∑ )  1 Xi − E[X]< 𝜀 = 1 lim P  (2.89)  n n→∞ i=1
which gives the weak law of large numbers. This type of probabilistic convergence p
is often called convergence in probability and denoted by →. Hence, the relation in (2.89) can be stated in the following theorem: Theorem 2.4 (Weak law of large numbers) Let X1 , X2 , … , Xn be a set of i.i.d. ∑ random variables with finite expectation E[X]. Then the arithmetic mean Y = 1n i Xi converges in probability to E[X], p
Y → E[X],
n → ∞.
(2.90)
It should be noted that the proof given above requires that the variance is finite, but the same result can be obtained without this restriction. This result is presented in the previous theorem. To visualize the theorem, consider n consecutive rolls with a fair die, giving the results vector x = (x1 , … , xn ). In Figure 2.4, the average value of such a test is ∑ shown where 1 ≤ n ≤ 500. It is clearly seen that the average value yn = 1n i xi of the results is approaching the expected value E[X]. It should be mentioned that the series of attempts are restarted for each value n. Another way to view the results in Theorem 2.4 is to consider the number of outcomes of a certain value in a sequence. In the next example, the probability for the number of occurrences of ones and zeros is determined.
6
yn =
1 n
Figure 2.4 Average of n consecutive rolls with a fair die.
∑i xi
5 E[X] = 3.5
4 3 2 1 100
200
300
400
500
n
20
CHAPTER 2 PROBABILITY THEORY
P(k) k 0 1 2 3 4 5
P(k) = ( 5k )
2k 35
0.33
0.0041 0.0412 0.1646 0.3292 0.3292 0.1317 0
1
2
3
4
5
k
Figure 2.5 Probability distribution for k 1s in a vector of length 5, when p(1) = 2∕3 and p(0) = 1∕3.
Example 2.6 Let X = (X1 , X2 , … , Xn ) be a length n vector of i.i.d. binary random variables, where pX (0) = 1∕3 and pX (1) = 2∕3. According to the binomial distribution, the probability for a vector to have k ones is ( ) k ( )( ) ( ) n 2 n 2 k 1 n−k = . (2.91) P(k ones in X) = k 3n k 3 3 In Figure 2.5, the probability distribution of a number of ones in a vector of length n = 5 is shown both as a table and in a graphical version. It is most likely that a vector with three or four ones occur. Also, it is interesting to observe that it is less probable to get all five ones than three or four, even though the all one vector is the most probable vector. In Figure 2.6, the distribution for the number of ones is shown when the length of the vector is increased to 10, 50, 100, and 500. With increasing length, it becomes more evident that the most likely outcome will be about n ⋅ E[X] ones. It also becomes more evident that although the all one vector is the most probable vector, the probability for the event of having all ones in a vector is much smaller than having about 2n ones. This is of course because there is only one vector with all ones and many 3
more with 2n ones. For a large n, it becomes meaningless to consider specific vectors. 3 Instead, vectors of a certain type, here the number of ones, should be considered.
It would be unfair not to mention the central limit theorem when discussing the arithmetic mean of i.i.d. random variables. This theorem and the law of large numbers are two main limits in probability theory. However, in this description the theorem is given without a proof (as also done in many basic probability courses). The result is that the arithmetic mean of a sequence of i.i.d. random variables will be normal distributed, independent of the distribution of the variables. Theorem 2.5 (Central limit theorem) Let X1 , X2 , … , Xn be i.i.d. random variables with finite expectation E[X] = m and finite variance V[X] = 𝜎 2 . From the arithmetic
21
2.5 JENSEN’S INEQUALITY
P(k)
P(k) 0.26
0.12
7
1
10
k
1
(a) P(k)
33 (b)
50
k
333 (d)
500
k
P(k) 0.038
0.084
67
1
100
k
1
(c)
Figure 2.6 Probability distributions for k 1s in a vector of length 10 (a), 50 (b), 100 (c) and 500 (d), when p(1) = 2∕3 and p(0) = 1∕3.
∑ mean as Y = 1n i Xi , then, as n increases to infinity, Y becomes distributed according to a normal distribution, i.e., Y −m √ ∼ N(0, 1), 𝜎∕ n
2.5
n → ∞.
(2.92)
JENSEN’S INEQUALITY
In many applications like, for example, optimization theory, convex functions are of special interest. A convex function is defined in the following definition: Definition 2.4 (Convex function) A function g(x) is convex in the interval [a, b] if, for any x1 , x2 such that a ≤ x1 ≤ x2 ≤ b, and any 𝜆, 0 ≤ 𝜆 ≤ 1, ( ) (2.93) g 𝜆x1 + (1 − 𝜆)x2 ≤ 𝜆g(x1 ) + (1 − 𝜆)g(x2 ) Similarly, a function g(x) is concave in the interval [a, b] if −g(x) is convex in the same interval.
22
CHAPTER 2 PROBABILITY THEORY
g(x)
g(x1)
Figure 2.7 A graphical view of the definition of convex functions.
λg(x1) + (1 – λ)g(x2) g(x2)
g λx1 + (1 – λ)g(x2)
x1
x2
x
λx1 + (1 – λ)x2
The inequality in the definition can be viewed graphically in Figure 2.7. Let x1 and x2 be two numbers in the interval [a, b], such that x1 < x2 . Then, mark the function values, g(x1 ) and g(x2 ), on the plot of g(x). For 𝜆 in [0, 1], x1 ≤ 𝜆x1 + (1 − 𝜆)x2 ≤ x2
(2.94)
with equality to (the left if 𝜆 = 1 and ) to the right if 𝜆 = 0. In the figure also mark the function value g 𝜆x1 + (1 − 𝜆)x2 . While 𝜆x1 + (1 − 𝜆)x2 is a value between x1 and x2 , the corresponding value between g(x1 ) and g(x2 ) is 𝜆g(x1 ) + (1 − 𝜆)g(x2 ). That is, the coordinates ( ) 𝜆x1 + (1 − 𝜆)x2 , 𝜆g(x1 ) + (1 − 𝜆)g(x2 ) (2.95) ( ) ( ) describe a straight line between x1 , g(x1 ) and x2 , g(x2 ) for 0 ≤ 𝜆 ≤ 1. Since the inequality in (2.93) holds for all possible x1 and x2 in the interval, a convex function is typically shaped like a bowl. Similarly, a concave function is the opposite and looks like a hill.
Example 2.7 The functions x2 and ex are typical convex functions. On the other hand, the functions −x2 and log x are concave functions. Similarly, sin(x) is concave at the interval [0, 𝜋] and convex at the interval [𝜋, 2𝜋]. In the literature, the names convex ∪ and convex ∩, as well as convex up and convex down, are also used. To determine whether a function is convex, or concave, the second derivative can be considered. Considering Figure 2.7, a convex function is bending upward at the whole interval. Then the derivative is constantly increasing, which means that the second derivative is positive, or at least, nonnegative. This can be stated as a theorem.
2.5 JENSEN’S INEQUALITY
23
Theorem 2.6 A function g(x) is convex in the interval [a, b] if and only if its second derivative is nonnegative in the interval, 𝜕2 g(x) ≥ 0, 𝜕x2
a≤x≤b
(2.96)
Similarly, the function g(x) is concave in the interval [a, b] if and only if its second derivative is nonpositive in the interval, 𝜕2 g(x) ≤ 0, 𝜕x2
a≤x≤b
(2.97)
The convex functions in Example 2.7 have the nonnegative second derivatives: 𝜕2 2 x = 2 > 0, x ∈ ℝ 𝜕x2 𝜕2 x e = ex ≥ 0, x ∈ ℝ 𝜕x2
(2.98) (2.99)
The second derivatives for the concave functions are nonpositive, 𝜕2 − x2 = −2 < 0, x ∈ ℝ 𝜕x2 −1 𝜕2 log x = 2 ≤ 0, x ∈ ℝ+ 2 𝜕x x ln 2
(2.100) (2.101)
From the definition of the convex function follows Jensen’s inequality. Theorem 2.7 (Jensen’s inequality) variable,
If g(x) is a convex function and X a random
E[g(X)] ≥ g(E[X])
(2.102)
If g(x) is a concave function and X a random variable, E[g(X)] ≤ g(E[X])
(2.103)
Jensen’s inequality will be an important tool in the theory described later, and in the following a proof of the result is shown. Even though it will only be shown for the discrete case here, the result is also valid in the continuous case. Proof: First, consider a binary( random variable) X with outcomes x1 and x2 , and probabilities 𝜆 and 1 − 𝜆. Then g 𝜆x1 + (1 − 𝜆)x2 and 𝜆g(x1 ) + (1 − 𝜆)g(x2 ) constitute the expected values g(E[X]) and E[g(X)], respectively. That means, the result is true for the binary case.
24
CHAPTER 2 PROBABILITY THEORY
To show that the theorem also holds for distributions with more than two outcomes, induction can be used. Assume that for a set of positive numbers a1 , a2 , … , an , ∑ where i ai = 1, it holds that (∑ ) ∑ ai xi ≤ ai g(xi ) (2.104) g i
i
where g(x) is a convex function. Let p1 , p2 , … , pn+1 be a probability distribution for X with n + 1 outcomes. Then n+1 n+1 ) ( ) (∑ ∑ ( ) pi xi = g p1 x1 + pi xi g E[X] = g i=1
( = g p1 x1 + (1 − p1 )
i=2 n+1 ∑
) pi xi 1 − p1
i=2 n+1 (∑
≤ p1 g(x1 ) + (1 − p1 )g ≤ p1 g(x1 ) + (1 − p1 )
i=2 n+1 ∑ i=2
=
n+1 ∑
) pi xi 1 − p1
pi g(x ) 1 − p1 i
[ ] pi f (xi ) = E f (X)
(2.105)
i=1
where the first inequality follows from the convexity of g(x), and the second from the p induction assumption. What is left to show is that ai = 1−pi , satisfying the require1 ments in the assumption. Clearly, since pi is a probability, ai ≥ 0. The second requirement follows from n+1 ∑ i=2
n+1 pi 1 ∑ 1 = pi = (1 − p1 ) = 1 1 − p1 1 − p1 i=2 1 − p1
(2.106)
which completes the proof.
Example 2.8 Since g(x) = x2 is a convex function, it follows that E[X 2 ] ≥ E[X]2 . Then V[X] = E[X 2 ] − E[X]2 ≥ 0 shows that the variance is a nonnegative function. Clearly, the above example comes as no surprise since it is already evident from the definition of variance. A somewhat more interesting result from Jensen’s inequality is the socalled logsum inequality. The function g(t) = t log t is in fact a convex function, which is seen from the second derivative, 1 𝜕2 t log t = ≥ 0, 2 t ln 2 𝜕t
t≥0
(2.107)
2.6 RANDOM PROCESSES
25
Then, if 𝛼i forms a probability distribution, it follows from Jensen’s inequality that ∑ (∑ ) (∑ ) 𝛼i ti log ti ≥ 𝛼i ti log 𝛼i ti (2.108) i
i
i
This can be used to get ∑ b a ∑ ∑ bi ai ai log i = j bj log i ∑ ai bi j bj bi i i ∑ bi ai ∑ ∑ bi ai ≥ j bj log ∑ ∑ j bj bi j bj bi i i ∑ ∑ ai = ai log ∑i j bj i where the identities 𝛼i =
a ∑i j bj
and ti =
ai bi
(2.109)
are used in (2.108). The above is sum
marised in the following theorem. Theorem 2.8 (logsum inequality) Let a1 , … , an and b1 , … , bn be nonnegative numbers. Then ∑ (∑ ) ∑ ai a ai log i ≥ ai log ∑i (2.110) bi i bi i i
2.6
RANDOM PROCESSES
So far, it has been assumed that the generated symbols in a sequence are independent. It is often also useful to consider how symbols in a sequence depend on each other, i.e. a dynamic system. To show the essence, an example taken from Shannon’s paper in 1948 [1] illustrates how the letters in a text depend on the surrounding letters. Shannon assumed an alphabet with 27 symbols, i.e., 26 letters and 1 space. To get the zeroorder approximation, a sample text was generated with equal probability for the letters.
Example 2.9 [Zeroorder approximation] with equal probability.
Choose letters from the English alphabet
XFOML RXKHRJFFJUJ ZLPWCFWKCYJ FFJEYVKCQSGHYD QPAAMKBZAACIBZLHJQD
Clearly, this text does not have much in common with normal written English. So, instead, count the number of occurrences per letter in normal English texts, and estimate the probabilities. The probabilities are given by Table 2.1.
26
CHAPTER 2 PROBABILITY THEORY
TABLE 2.1
Probabilities in percent for the letters in English text.
X
P
X
P
X
P
A B C D E F G H I
8.167 1.492 2.782 4.253 12.702 2.228 2.015 6.094 6.966
J K L M N O P Q R
0.153 0.772 4.025 2.406 6.749 7.507 1.929 0.095 5.987
S T U V W X Y Z
6.327 9.056 2.758 0.978 2.360 0.150 1.974 0.074
Then, according to these probabilities, a sample text for the firstorder approximation can be generated. Here, the text has a structure of more English text, but still far from readable. Example 2.10 [Firstorder approximation] Choose the symbols according to their estimated probability (12% E, 2% W, etc.): OCRO HLI RGWR NMIELWIS EU LL NBNESEBYA TH EEI ALHENHTTPA OOBTTVA NAH BRL
The next step is to extend the distribution, so the probability depends on the previous letter, i.e. the probability for the letter at time t becomes P(St St−1 ). Example 2.11 [Secondorder approximation] abilities conditioned on the previous letter:
Choose the letters according to prob
ON IE ANTSOUTINYS ARE T INCTORE ST BE S DEAMY ACHIN D ILONASIVE TUCOOWE AT TEASONARE FUSO TIZIN ANDY TOBE SEACE CTISBE
Similarly, the thirdorder approximation conditions on the two previous letters. Here the structure of such text becomes more like English. Example 2.12 [Thirdorder approximation] two previous symbols:
Choose the symbols conditioned on the
IN NO IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME OF DEMONSTRURES OF THE REPTAGIN IS REGOACTIONA OF CRE
2.6 RANDOM PROCESSES
27
If instead of letters, the source of the text is generated from probabilities for words. The firstorder approximation uses the unconditioned probabilities. Example 2.13 [Firstorder word approximation] Choose words independently (but according to an estimated probability distribution): REPRESENTING AND SPEEDILY IS AN GOOD APT OR COME CAN DIFFERENT NATURAL HERE HE THE A IN CAME THE TO OF TO EXPERT GRAY COME TO FURNISHES THE LINE MESSAGE HAD BE THESE
If the probabilities for words are conditioned on the previous word, a much more readable text is obtained. Still, without any direct meaning, of course. Example 2.14 [Secondorder word approximation] the two previous word:
Choose words conditioned on
THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD FOR THE LETTERS THAT THE TIME OF WHO EVER TOLD THE PROBLEM FOR AN UNEXPECTED
The above examples show that in many situations it is important to view sequences instead of individual symbols. In probability theory, this is called a random process, or a stochastic process. In a general form, a discrete time process can be defined as follows: Definition 2.5 (Random process) A discrete random process is a sequence of random variables, {Xi }ni=1 , defined as the same sample space. There can be an arbitrary dependency among the variables, and the process is characterized by the joint probability function ) ( P X1 , X2 , … , Xn = x1 , x2 , … , xn = p(x1 , x2 , … , xn ), n = 1, 2, … (2.111) As a consequence of introducing dependencies along the sequence, generalizations of the secondorder moment and variance are needed. The autocorrelation function reflects the correlation in time and is defined as [ ] (2.112) rXX (n, n + k) = E Xn Xn+k If the mean and the autocorrelation function are time independent, i.e. for all n E[Xn ] = E[X] rXX (n, n + k) = rXX (k)
(2.113) (2.114)
28
CHAPTER 2 PROBABILITY THEORY
the process is said to be wide sense stationary (WSS). The relation with the secondorder moment function is that rXX (0) = E[X 2 ]. The same relation for the variance comes with the autocovariance function, defined for a WSS process as [ ] cXX (k) = E (Xn − E[X])(Xn+k − E[X]) (2.115) It is directly observed that cXX (k) = rXX (k) − E[X]2 and that cXX (0) = V[X]. The class of WSS processes is a very powerful tool when modeling random behaviors. However, sometimes even stronger restriction on the time invariance is imposed. A process is stationary if the probability distribution does not depend on the time shift. That is, if ( ) ( ) P X1 , … , Xn = x1 , … , xn = P Xl+1 , … , Xl+n = x1 , … , xn (2.116) for all n and time shifts 𝓁. Clearly, this is a subclass of WSS processes.
2.7
MARKOV PROCESS
A widely used class of the discrete stationary random processes is the class of Markov processes. The process has unit memory, i.e. the probability for a symbol depends only on the previous symbol. With this simplification, a system is achieved that is relatively easy to handle from a mathematical and computer implementation point of view, while still having time dependency in the sequence to be a powerful modeling tool. Definition 2.6 (Markov chain) A Markov chain, or Markov process, is a stationary random process with a unit memory, i.e. ) ( ( (2.117) P xn xn−1 , … , x1 = P xn xn−1 ) for all xi . In this text, only timeinvariant Markov chains will be considered. That is, the distribution for the conditional probabilities does not change over time, P(Xn = xa Xn−1 = xb ) = P(Xn+𝓁 = xa Xn−1+𝓁 = xb )
(2.118)
for all relevant n, 𝓁, xa , and xb . Using the chain rule for probabilities (2.16), the joint probability function for a Markov chain can be written as p(x1 , x2 , … , xn ) =
n ∏
p(xi xi−1 )
i=1
= p(x1 )p(x2 x1 )p(x3 x2 ) ⋯ p(xn xn−1 )
(2.119)
2.7 MARKOV PROCESS
29
The unit memory property of a Markov chain results a process characterized by r A finite set of states X ∈ {x1 , x2 , … , xk }
(2.120)
where the state determines everything about the past. This represents the unit memory of the chain.
r A state transition matrix
and
∑
P = [pij ]i,j∈{1,…,k} , where pij = p(xj xi ) j pij
(2.121)
= 1.
In this description, the state is directly the output of the model. Sometimes, it is desirable to use a hidden Markov chain, where the output is a function of the state. The behavior of a Markov chain can be visualized in a state transition graph consisting of states and edges, labeled with probabilities. The next example is intended to show the procedure. Example 2.15
Consider a threestate Markov chain described by the three states X ∈ {x1 , x2 , x3 }
(2.122)
and a state transition matrix 1
⎛3 ⎜ P = ⎜ 14 ⎜1 ⎝2
2 3
0 1 2
0⎞ 3⎟ 4⎟ ⎟ 0⎠
(2.123)
From the matrix P, it is observed that, conditioned on the previous state x1 , the probability for x1 is 1∕3, x2 is 2∕3, and x3 is 0. This can be viewed as transitions in a graph from state x1 to the other states according to the said probabilities (see Figure 2.8). Figure 2.8 A state transition graph of a threestate Markov chain.
1/3
x1
1/2
2/3 1/4 1/2
x3
3/4
x2
30
CHAPTER 2 PROBABILITY THEORY
Similarly, the other rows in the state transition matrix describe the probabilities for transitions from the other states. The structure of the process is often more visible when viewed as a state transition graph. For a Markov chain with k states, the transition probability matrix will be a k × k matrix where each row constitutes a probability distribution. Assume that the initial probabilities for the states at time 0 are ) ( (2.124) 𝝅 (0) = 𝜋1(0) ⋯ 𝜋k(0) where 𝜋i(0) = P(X0 = i). Then the probability for being in state j at time 1 becomes ∑ P(X1 = jX0 = i)P(X0 = i) 𝜋j(1) = P(X1 = j) = i
=
∑ i
pij 𝜋i(0)
( =
𝜋1(0) … 𝜋1(k)
)⎛ p1j ⎞ ⎜⋮ ⎟ ⎜ ⎟ ⎝ pkj ⎠
(2.125)
That is, the vector describing the state probabilities at time 1 becomes 𝝅 (1) = 𝝅 (0) P,
(2.126)
where P is the state transition matrix. Similarly, letting 𝝅 (n) be the state probabilities at time n, 𝝅 (n) = 𝝅 (n−1) P = 𝝅 (n−2) P2 = ⋯ = 𝝅 (0) Pn
(2.127)
is needed. Hence, the matrix Pn describes the probabilities for the process to through state j at time n, conditioned on the starting state i at time 0, [ ] Pn = P(Xn = xj X0 = xi ) (2.128) i,j∈{1,2,…,k}
In the next example, the state transition matrices from time 0 to time 1, 2, 4, 8, and 16, respectively, are derived. It is observed that the columns of the matrix becomes more and more independent of the starting distribution.
Example 2.16 Continuing with the Markov chain from Example 2.15, the state transition matrix is ⎛1 ⎜3 P = ⎜ 14 ⎜ ⎜1 ⎝2
2 3
0 1 2
0⎞ ⎟ 3⎟ 4⎟ ⎟ 0⎠
(2.129)
It shows the probabilities for the transitions from time 0 to time 1. If instead Pn is considered, the transition probabilities from time 0 to time n are obtained. The transition
2.7 MARKOV PROCESS
31
probabilities to time 2, 4, 8, and 16 are as follows: ⎛ 20 ⎜ 72 33 2 P = PP = ⎜ 72 ⎜ ⎜ 21 ⎝ 72 ⎛ ⎜ P4 = P2 P2 = ⎜ ⎜ ⎜ ⎝
16 72 39 72 24 72 1684 5184 1947 5184 1779 5184
36 72
⎞ ⎛ 0.2778 ⎟ ⎜ 0 ⎟ ≈ ⎜ 0.4583 ⎟ ⎜ 27 ⎟ ⎝ 0.2917 72 ⎠ 1808 5184 2049 5184 1920 5184
⎛ 0.3485 ⎜ P = P P ≈ ⎜ 0.3491 ⎜ ⎝ 0.3489 8
P
16
4 4
⎛ 0.3488 ⎜ = P P ≈ ⎜ 0.3488 ⎜ ⎝ 0.3488 8 8
1692 5184 1188 5184 1485 5184
0.3720 0.3721 0.3722 0.3721 0.3721 0.3721
0.5000 ⎞ ⎟ 0 ⎟ ⎟ 0.3750 ⎠
0.2222 0.5417 0.3333
⎞ ⎛ 0.3248 ⎟ ⎜ ⎟ ≈ ⎜ 0.3756 ⎟ ⎜ ⎟ ⎝ 0.3432 ⎠
0.3488 0.3953 0.3704
(2.130)
0.3264 ⎞ ⎟ 0.2292 ⎟ (2.131) ⎟ 0.2865 ⎠
0.2794 ⎞ ⎟ 0.2788 ⎟ ⎟ 0.2789 ⎠
(2.132)
0.2791 ⎞ ⎟ 0.2791 ⎟. ⎟ 0.2791 ⎠
(2.133)
Already for 16 steps in the process, numbers in each column are equal up to four decimals (actually, this is true already for P12 ). This means that for 16 steps or more in the graph the probability for a state is independent of the starting state. For any starting distribution 𝝅 (0) , the probabilities for the states after 16 steps are ( 𝝅 (16) = 𝝅 (0) P16 = 0.3488
0.3721
) 0.2791
(2.134)
To get higher accuracy in the derivations, a higher order of the exponent is required, but eventually it will stabilize. As presented in Example 2.16, the asymptotic distribution 𝝅 = (𝜋1 , … , 𝜋k ) is reached by ⎛ 𝝅 ⎞ ⎛ 𝜋1 ⎜𝝅 ⎟ ⎜𝜋 lim P = ⎜ ⎟ = ⎜ 1 ⋮ ⋮ n→∞ ⎜ ⎟ ⎜ ⎝ 𝝅 ⎠ ⎝ 𝜋1 n
⋯ ⋯ ⋱ ⋯
𝜋k ⎞ 𝜋k ⎟ ⋮⎟ ⎟ 𝜋k ⎠
(2.135)
It can be shown [8] that if there exists an n0 for which Pn0 has only strictly positive entrences, the limit in (2.135) exists. The requirement of Pn0 being strictly positive means that, with a positive probability, there is a path from every state to every other state in n0 steps. If this is true for n0 steps, it will also be true for n steps, where n ≥ n0 . Eventually, the asymptotic distribution will be reached.
32
CHAPTER 2 PROBABILITY THEORY
Assuming the asymptotic distribution exists, then as n → ∞, ⎛𝝅 ⎞ ⎛𝝅 ⎞ ⎜ ⋮ ⎟ = Pn = Pn+1 = Pn P = ⎜ ⋮ ⎟P ⎜ ⎟ ⎜ ⎟ ⎝𝝅 ⎠ ⎝𝝅 ⎠
(2.136)
Consider one row in the left matrix to conclude 𝝅 = 𝝅P
(2.137)
which is the stationary distribution of the system. The next theorem establishes the relationship between the stationary and the asymptotic distributions. Theorem 2.9 Let 𝝅 = (𝜋1 𝜋2 … 𝜋r ) be an asymptotic distribution of the state probabilities. Then r 𝝅 is a stationary distribution, i.e., 𝝅P = 𝝅. r 𝝅 is a unique stationary distribution for the source.
The first property is already discussed above, but the second, on uniqueness, still needs some clarification. ∑ Assume that 𝝂 = ( 𝜈1 ⋯ 𝜈k ) is a stationary distribution, i.e. it fulfills i 𝜈i = 1 and 𝝂P = 𝝂. Then, as n → ∞, the equation 𝝂 = 𝝂Pn can be written as (
𝜈1
…
) ( 𝜈k = 𝜈1
…
)⎛ 𝜋 1 𝜈k ⎜ ⋮ ⎜ ⎝ 𝜋1
⋯ ⋯
𝜋j ⋮ 𝜋j
⋯ ⋯
𝜋k ⎞ ⋮⎟ ⎟ 𝜋k ⎠
(2.138)
This implies that 𝜋 )⎛ j ⎞ 𝜈k ⎜ ⋮ ⎟ ⎜ ⎟ ⎝ 𝜋j ⎠ = 𝜈1 𝜋j + ⋯ + 𝜈k 𝜋j = 𝜋j (𝜈1 + ⋯ + 𝜈k ) = 𝜋j ⏟⏞⏞⏞⏞⏟⏞⏞⏞⏞⏟
( 𝜈j = 𝜈1
…
(2.139)
=1
That is, 𝝂 = 𝝅, which proves uniqueness. To derive the stationary distribution, start with the equation 𝝅P = 𝝅. Equivalently, it can be written as 𝝅(P − I) = 0
(2.140)
However, since 𝝅 ≠ 0 it is seen that the matrix P − I cannot have full rank and at least one more equation is needed to solve the equation system. It is natural to use ∑ j 𝜋j = 1, which gives { 𝝅(P − I) = 0 ∑ (2.141) j 𝜋j = 1.
PROBLEMS
33
Again use the state transition matrix from Example 2.15,
Example 2.17
1
⎛3 ⎜ P = ⎜ 14 ⎜1 ⎝2
2 3
0⎞ 3⎟ 4⎟ ⎟ 0⎠
0 1 2
(2.142)
Starting with 𝝅(P − I) = 0 2 3
1
⎛⎛ 3 ⎜⎜ 𝝅 ⎜⎜ 14 ⎜⎜ 1 ⎝⎝ 2
0 1 2
2 0⎞ ⎞ ⎛−3 ⎟ ⎜ 3⎟ − I ⎟ = 𝝅 ⎜ 14 4⎟ ⎟ ⎟ ⎜ 1 0⎠ ⎠ ⎝ 2
2 3
−1 1 2
0 ⎞ 3 ⎟ =0 4 ⎟ ⎟ −1 ⎠
(2.143)
In P − I column 2 plus column 3 equals column 1. Therefore, exchange column 1 ∑ with the equation j wj = 1, ⎛1 ⎜ 𝝅⎜ 1 ⎜ ⎝1
2 3
0 ⎞ ) ⎟ ( −1 34 ⎟ = 1 0 0 ⎟ 1 −1 ⎠ 2
(2.144)
This is solved by 2
( 𝝅= 1
0
⎛1 3 )⎜ 0 ⎜ 1 −1 ⎜ 1 ⎝1 2
0
⎛ )⎜ 43 42 0 ⎜ 43 ⎜ 36 ⎝ 43
15
(
= 1
16 43 − 24 43 4 43
−1
0 ⎞ 3 ⎟ 4 ⎟ ⎟ −1 ⎠
12 43 − 18 43 − 40 43
⎞ ⎟ ( 15 ⎟ = 43 ⎟ ⎠
16 43
12 43
) (2.145)
Derived with four decimals, the same result is obtained as earlier when the asymptotic distribution was discussed, ( ) 𝝅 ≈ 0.3488 0.372 0.2791 (2.146)
PROBLEMS 2.1
(a) Let X be a binary stochastic variable with P(X = 0) = P(X = 1) = 12 , and let Y be another independent binary stochastic variable with P(Y = 0) = p and P(Y = 1) = 1 − p. Consider the modulo two sum Z = X + Y mod 2. Show that Z is independent of Y for all values of p. (b) Let X be a stochastic variable uniformly distributed over {1, 2, … , M}. Let Y be independent of X, with an arbitrary probability function over {1, 2, … , M}. Consider the sum Z = X + Y, mod M. Show that Z is independent of Y.
34
CHAPTER 2 PROBABILITY THEORY
2.2
Two cards are drawn from an ordinary deck of cards. What is the probability that neither of them is a heart?
2.3
Two persons flip a fair coin n times each. What is the probability that they have the same number of Heads?
2.4
The random variable X denotes the outcome of a roll with a fivesided fair die and Y the outcome from a roll with an eightsided fair die. (a) What is the distribution of Za = X + Y? (b) What is the distribution of Zb = X − Y? (c) What is the distribution of Zc = X − Y?
2.5
Flip a fair coin until Heads comes up and denote the number of flips by X. (a) What is the probability distribution of the number of coin flips, X? (b) What is the expected value of the number of coin flips, E[X]? (c) Repeat (a) and (b) for an unfair coin with P(head) = p and P(tail) = q = 1 − p.
2.6
Let X be Poissondistributed, [ ] [ ]X ∼ Po(𝜆) (see Appendix A). Show that the expectation and variance are E X = V X = 𝜆.
2.7
Let X be exponentially distributed, X ∼ Exp(𝜆) [ ] [ ] (see Appendix A). Show that the expectation and variance are E X = 𝜆1 and V X = 𝜆12 .
2.8
Show that the secondorder moment around a point c is minimized by the variance, i.e., [ ] [ ] E (X − c)2 ≥ E (X − m)2 with equality if and only if c = m, where m = E[X].
2.9
Consider a binary vector of length N = 10 where the bits are i.i.d. with P(X = 0) = p = 0.2. Construct a table where you list, for each possible number of zeros in the vector, the number of vectors with that number of zeros, the probability for each vector and the probability for the number of zeros.
2.10
An urn has 10 balls, seven white and three black. Six times after each other a ball is drawn from the urn. What is the probability of the number of black balls drawn in the series, if (a) the ball is replaced in the urn after each draw? (b) drawn balls are not replaced?
2.11
Use Jensen’s inequality to show 1
(x1 x2 ) 2 ≤
x1 + x2 , 2
x1 x2 ∈ ℤ+ .
Hint: The logarithm is a concave function. 2.12
At some places in the textbook, Stirling’s approximation is used to relate the binomial function with the binary entropy, defined in Chapter 3. There are different versions of this approximation in the literature, with different accuracy (and difficulty). Here, one of the basic versions is derived. (a) Consider the logarithm of the faculty function y(n) = ln n!
PROBLEMS
1/4
Figure 2.9 A state transition graph for a Markov process.
1/2 s0
s1
1/2
1/4
1/4
35
1/4
1/2
1/3
1/4 s3
s2
2/3
1/4 View y(n) as a sum and interprete it as a trapezoid approximation of an integral. Use this to show that 1 ln n! ≈ n ln n − n + 1 + ln n 2 or, equivalently, √ ( n )n n! ≈ e n e (b) To improve the approximation for large n, use the limit value ( )n √ 1 e = 2𝜋 lim n! √ n→∞ n n Show how this gives the more common version of Stirling’s approximation ( )n √ n n! ≈ 2𝜋n e (c) Use the result in (b) to estimate the approximation error in (a) for large n. 2.13
A Markov process is defined by the state transition graph in Figure 2.9. (a) Give the state transition matrix, P. (b) Derive the steady state distribution, 𝝅 = (𝜋0 𝜋1 𝜋2 𝜋3 ).
2.14
Often in communication systems, the transmission is distorted by bursty noise. One way to model the noise bursts is through the so called Gilbert–Elliott channel model. It consists of a time discrete Markov model with two states, Good and Bad. In the Good state, the transmission is essentially error free, whereas in the Bad state the error probability is high, e.g., 0.5. The probability for transition from Good to Bad is denoted by Pgb , and from Bad to Good is Pgb (see Figure 2.10). (a) Derive the steadystate distribution for the Markov model. (b) What is the expected time duration for a burst? (c) What is the expected time between two consecutive bursts?
Pe ≈ 0 1 − Pgb
Good
Pgb Pbg
Pe ≈ 0.5 Bad
1 − Pbg
Figure 2.10 Gilbert–Elliott channel model for bursty noise.
36
CHAPTER 2 PROBABILITY THEORY
p
p q
s1
s0 q
Figure 2.11 2.15
p s2
q
p sk
··· q
p
q
··· q
Markov chain for an infinite state random walk.
Consider an infinite random walk process with states sk , k ≥ 0. If the process is in state sk it will take onestep backward to sk−1 with probability q or onestep forward to sk+1 with probability p. For state s0 , the step backward leads back to itself. The graph of the Markov process is presented in Figure 2.11. Assume that p < q and q = 1 − p and derive the steadystate distribution.
CHAPTER
3
INFORMATION MEASURES
I
NFORMATION THEORY is a mathematical theory of communication, based on probability theory. It was introduced by Claude Shannon in his landmark paper A Mathematical Theory of Communications in 1948 [1]. The theory is centered around two fundamentally important questions:
r What is information? r What is communication? Even if common knowledge gives an interpretation and understanding of information and communication, it is not the same as defining it in a mathematical context. As an example, one can consider an electronic copy of Shannon’s paper in pdf format. The one considered here has the file size of 2.2 MB. It contains a lot of information about the subject, but the aim here is to measure the information contents of the file. One way to look at the information content is to compress the file as much as possible. This size can serve as a measure of the amount of information required to reproduce the file. In an experimental test using the zip format, the same file can be stored with 713 kB. To quantify the amount of information in the paper, the pdf version contains at least 1.5 MB data that is not necessary to describe the text. Is then the number 713 kB a measure of the contained information? From a mathematical point of view, it will get close to the truth. However, the information measure here is related to describing the file and not the actual content in it. In comparison, a text of the same size containing only randomly chosen letters, uniformly chosen, will have more or less the same size of the compressed files. The question is then, do they contain the same amount of information? These semantic doubts are not considered in the mathematical model. Instead, the question answered is the amount of data needed to describe the text.
3.1
INFORMATION
In his paper, Shannon sets up a mathematical theory for information and communication, based on probability theory. He gave a quantitative measure of the amount of information stored in a variable and gave limits of how much information can be transmitted from one place to another over a given communication channel. Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
37
38
CHAPTER 3 INFORMATION MEASURES
Already 20 years earlier, in 1928, Hartley stated that a symbol can contain information only if it has multiple choices [4]. That is, he realized the important fact that the symbol must be a random variable. If a random symbol, X, has k alternatives, a vector of n independent such symbols (X1 , … , Xn ) has kn alternatives. To form a measure of information, Hartley noticed that if the symbol X has the information I, then the vector should have the information nI, since there are n variables. The conclusion of this observation was that an appropriate information measure should be based on the logarithm of the number of alternatives, IH (X) = log k
(3.1)
IH (X1 , … , Xn ) = log kn = n log k = nIH (X)
(3.2)
In that way,
Example 3.1 Consider an outcome of a throw with a fair die. It has six alternatives, and hence, the information according to Hartley is1 IH (Die) = log2 6 ≈ 2.585 bit
(3.3)
In this example, Hartley’s information measure makes sense, since it is the number of bits needed to point out one of the six alternatives. But there can be other situations where it is less intuitive, like in the next example.
Example 3.2 Let the variable X be the outcome of a counterfeit coin, with the probabilities P(X = Head) = p and P(X = Tail) = 1 − p. According to Hartley, the information is IH (X) = log2 (2) = 1 bit
(3.4)
In the case when the outcomes from the coin flip are equally likely, i.e. p = 12 , the measure is intuitive, since 1 bit is the amount of data needed to describe the outcome. If the probability for Head is small, say p = 14 , it is expected that the result is Tail. That means, when the result is Tail, the result is as expected, and there is not much information in it. On the other hand, when the result is Head, the moment of surprise is higher and there should be more information in the event. That is, the uncertainty is connected to our expectations, or the distribution, the outcomes and should also be reflected by the information measure. So, even if Hartley’s information measure was groundbreaking at that time, it did not considered the probability distribution of the experiment.
1 Hartley did not specify the basis of the logarithm. Using the binary base, the information measure has the unit bits. In this way, it specifies the number of bits required to distinguish the alternatives.
3.1 INFORMATION
39
When Shannon 20 years later introduced his information measure, it is based on a probabilistic view about how two random variables are related. Consider two outcomes, A and B, the probability P(A) describes the probability that outcome A occurs and P(AB) the probability that outcome A occurs if it isknown that outcome B has occurred. The difference between these two probabilities describes how the knowledge about that B has occurred, affecting the probability of outcome A. This probability change for A then reflects an information propagation from event B to event A. Definition 3.1 I(A; B), is
The mutual information between event A and event B, denoted as
I(A; B) = log2
P(AB) P(A)
(3.5)
where it is assumed P(A) ≠ 0 and P(B) ≠ 0 If nothing is stated, the logarithmic base 2 will be utilized to achieve the unit bit (binary digit). In this text, the binary logarithm will be denoted as log x. The binary unit bit was first used in Shannon’s paper, but it is also stated that it was John W. Tukey who coined the expression. The base in the logarithm can be changed through x = aloga x = blogb x = aloga b logb x
(3.6)
where the last equality follows from b = aloga b . This leads to loga x = loga b logb x
⇒
logb x =
loga x loga b
(3.7)
Especially, it is convenient to use log2 x = It is also worth noting that log2 e = derived by the command log2(n).
Example 3.3
log10 x ln x = ln 2 log10 2
1 . ln 2
(3.8)
In, e.g., Matlab, the binary logarithm can be
The outcome of a die is reflected by the two random variables:
X = Number and Y = Odd or even number The information achieved about the event X = 3 from the event Y = Odd is I(X = 3; Y = Odd) = log
P(X = 3Y = Odd) P(X = 3)
= log
1∕3 = log 2 = 1 bit 1∕6
(3.9)
40
CHAPTER 3 INFORMATION MEASURES
In other words, by knowing that the number is odd, the set of outcomes is split into two halves, which means that 1 bit of information is given about the event that the number is 3. The symmetry of the information measure follows from I(A; B) = log
P(AB) P(BA) P(A, B) = log = log = I(B; A) P(A) P(A)P(B) P(B)
(3.10)
That is, the information gained about event A by observing event B is the same as the information about event B by observing event A. This is the reason why it is called mutual information.
Example 3.4
The information from the event X = 3 about the event Y = Odd is I(Y = Odd; X = 3) = log
P(Y = OddX = 3) P(Odd)
= log
1 = log 2 = 1 bit 1∕2
(3.11)
The knowledge about X = 3 gives full knowledge about the outcome of Y, which is a binary choice with two equally sized parts. To specify one of the two outcomes of Y, it is required 1 bit. The mutual information between the events A and B can be bounded by −∞ ≤ I(A; B) ≤ min{− log P(A), − log P(B)}
(3.12)
The bound follows from the varying P(AB) between 0 and 1. Since the logarithm is a strictly increasing function, the two end cases give the following result: P(AB) = 0 ⇒ I(A; B) = log
0 = log 0 = −∞ P(A)
(3.13)
P(AB) = 1 ⇒ I(A; B) = log
1 = − log P(A) P(A)
(3.14)
Similarly, by letting P(BA) = 1, the information is I(A; B) = − log P(B). If P(A) and P(B) are not equal, there are two bounds, − log P(A) and − log P(B), where the minimum should be used. Notice that since 0 ≤ P(A) ≤ 1 the value − log P(A) is positive. If I(A; B) = 0, the events A and B are statistically independent since it implies P(AB) =1 P(A)
⇒
P(AB) = P(A).
(3.15)
To get a measure for the information related to event A, consider the mutual information between A and A. That is, the amount of information achieved about the event by observing the same event. This quantity is called the selfinformation.
3.2 ENTROPY
Definition 3.2
41
The selfinformation in the event A is defined as I(A) = I(A; A) = log
P(AA) = − log P(A). P(A)
(3.16)
That is, − log P(A) is the amount of information needed to determine that the event A has occurred. The selfinformation is always a positive quantity, and as long as the outcome is not deterministic, i.e., P(A) = 1 for some event A, it is strictly positive.
3.2
ENTROPY
The above quantities deal with information related to specific events. An interesting measure then is the average required information to determine the outcome of a random variable. This is directly achieved from the expected value of the selfinformation, as stated in the following important definition: Definition 3.3
The entropy of a random variable X is ∑ p(x) log p(x). H(X) = EX [− log p(X)] = −
(3.17)
x
In the derivations, the convention that 0 log 0 = 0 is used, which follows from the corresponding limit value. It is sometimes convenient to use the notation H(p1 , p2 , … , pk ) = −
k ∑
pi log pi ,
(3.18)
i=1
when considering the entropy function for a probability distribution given as a vector p = (p1 , p2 , … , pk ). The entropy is the average amount of information needed to determine the outcome of a random variable. As such, it can also be interpreted as the uncertainty of the outcome. Since the selfinformation is nonnegative so is its average, H(X) ≥ 0
(3.19)
In other words, the uncertainty cannot be negative. In many cases, a random variable describes a binary choice, e.g., a flip of a coin. The entropy function for this case is so widely used that it often gets a definition of its own. Definition 3.4
The binary entropy function for the probability p is defined as h(p) = −p log p − (1 − p) log(1 − p)
(3.20)
The binary entropy function has its maximum for h( 12 ) = 1. In Figure 3.1, a plot of the function is shown, where the maximum value is depicted. It can be seen from the
42
CHAPTER 3 INFORMATION MEASURES
Figure 3.1 function.
h(p)
The binary entropy
1
1
1/2
p
figure that the function is symmetric in p, i.e. h(p) = h(1 − p), which is also evident directly from the definition. In the case of a coin flip, the uncertainty is maximized for a fair coin, i.e., P(Head) = p = 12 . If p increases, a natural initial guess is that the outcome would be Head, and the uncertainty decreases. Similarly, if p decreases the uncertainty should also decrease. At the end points, where p = 0 or p = 1, the outcome is known and the uncertainty is zero, corresponding to h(0) = h(1) = 0.
Example 3.5 Let X be the outcome of a fair die. Then P(X = x) = 1∕6, x = 1, 2, … , 6. The entropy is H(X) = −
∑1 x
6
log
1 = log 6 = 1 + log 3 ≈ 2.5850 bit 6
(3.21)
Let Y be the outcome of a die with a small weight inside, such that the probabilities are P(Y = 1) = 0, P(Y = 6) = 1∕3, and P(Y = i) = 1∕6, i = 2, 3, 4, 5. Then, the corresponding uncertainty of the outcome is 1 4 1 4 1 H(Y) = − log − log = + log 3 ≈ 2.2516 bit 3 3 6 6 6
(3.22)
Again, since there is a high probability for the outcome to be 6, there is less information is this outcome. Furthermore, since X = 1 will not happen, there is only five possible outcomes compared to six for the fair die. So, in total the uncertainty of the outcome has decreased compared to the fair die.
The definition of the entropy is also valid for vectorized random variables, such as (X, Y) with the joint probability function p(x, y).
3.2 ENTROPY
43
Definition 3.5 The joint entropy for a pair of random variables with the joint distribution p(x, y) is ∑ p(x, y) log p(x, y) (3.23) H(X, Y) = EXY [− log p(X, Y)] = − x,y
Similarly, in the general case with an ndimensional vector X = (X1 , … , Xn ), the joint entropy function is ∑ p(x) log p(x) (3.24) H(X1 , … , Xn ) = EX [− log p(X)] = − x
Example 3.6 Let X and Y be the outcomes from two independent fair dice. Then the joint probability is P(X, Y = x, y) = 1∕36 and the joint entropy ∑ 1 1 log = log 36 = 2 log 6 ≈ 5.1699 (3.25) H(X, Y) = − 36 36 x,y Clearly, the uncertainty of the outcome of two dice is twice the uncertainty of one die. Let Z be the sum of the dice, Z = X + Y. The probability distribution can be derived as the convolution of the distributions for the two dice, as shown in the following table: Z:
2
3
4
5
6
7
8
9
10
11 12
P(Z) :
1 36
2 36
3 36
4 36
5 36
6 36
5 36
4 36
3 36
2 36
The entropy of Z is H(Z) = H
(
1 36
1 2 3 4 5 6 5 4 3 2 1 ) , , , , , , , , , , 36 36 36 36 36 36 36 36 36 36 36
1 1 2 2 3 3 log − 2 log − 2 log 36 36 36 36 36 36 4 5 5 6 6 4 − 2 log − log − 2 log 36 36 36 36 36 36 5 23 5 + log 3 − log 5 ≈ 3.2744 (3.26) = 18 3 18 The uncertainty of the sum of the dice is less than the outcomes of the pair of dice. This is natural, since several outcomes of the pair X, Y give the same sum Z. = −2
In (3.19), it was seen that the entropy function is a nonnegative function. To achieve an upper bound, the following inequality will help. Lemma 3.1 (ITinequality)
For every positive real number r log(r) ≤ (r − 1) log(e)
with equality if and only if r = 1.
(3.27)
44
CHAPTER 3 INFORMATION MEASURES
y
y=r–1
Figure 3.2 Graphical interpretation of the ITinequality.
y = ln(r)
r
1 –1
Proof: Consider the two functions y1 = r − 1 and y2 = ln r as shown in Figure 3.2. It is easy to verify that at r = 1 the two curves coincide, ln r = r − 1. To show that in all other cases ln r < r − 1, notice that the derivative of r − 1 is always 1 and the derivative of ln r is { >1, r < 1 ⇒ ln r < r − 1 1 d (3.28) ln r = = dr r < 1, r > 1 ⇒ ln r < r − 1 Hence, for 0 < r < 1 the curve for ln r is steeper than r − 1 and for r > 1 it is flatter. So in all cases but r = 1, the curve for ln r must be strictly lower than r − 1. Hence, it has been shown that ln r ≤ r − 1 with equality if and only if r = 1. Rewriting into the binary logarithm completes the proof. From the previous examples, a natural guess is that the maximum value of the entropy occurs when the outcomes have equal probabilities. In that case, a random variable X with k outcomes, {x1 , … , xk }, has the probabilities P(X = xi ) = 1k . The entropy is ∑1 1 log = log k. H(X) = − k k i To show that this value is a maximum over all distributions, consider ∑ ∑ p(x) log p(x) − p(x) log k H(X) − log k = − x
=
∑
x
p(x) log
x
1 p(x)k
(
) 1 − 1 log e p(x)k x (∑ ) 1 ∑ = p(x) log e − k x x
≤
∑
p(x)
= (1 − 1) log e = 0
(3.29)
3.2 ENTROPY
where the inequality follows from the ITinequality with r = if and only if
1 p(x)k
1 , p(x)k
45
implying equality
= 1. In other words, it is shown that H(X) ≤ log k
(3.30)
with equality if and only if p(x) = 1k . Combining (3.19) and (3.30), the following theorem can be stated. Theorem 3.1
If X is a random variable with k outcomes, then 0 ≤ H(X) ≤ log k
(3.31)
with equality to the left if and only if there exists some i where p(xi ) = 1, and with equality to the right if and only if p(xi ) = 1∕k for all i = 1, 2, … , k. To be able to consider also dependencies between random variables, the conditional entropy is introduced. This is defined as the average selfinformation for the event A conditioned on the event B, that is E[− log p(XY)]. Since there are two random variables, the average needs to be taken over the joint probability distribution. Definition 3.6
The conditional entropy for X conditioned on Y is ∑ p(x, y) log p(xy) H(XY) = EXY [− log p(XY)] = −
(3.32)
x,y
where p(x, y) and p(xy) are the joint and conditional probability functions, respectively. Using the chain rule for probabilities, p(x, y) = p(xy)p(y), the formula can be rewritten as ∑∑ ∑∑ p(x, y) log p(xy) = − p(xy)p(y) log p(xy) H(XY) = − x
=
∑ y
y
x
( ∑ ) p(y) − p(xy) log p(xy)
y
(3.33)
x
By introducing the entropy of X conditioned on the event Y = y, ∑ H(XY = y) = − p(xy) log p(xy)
(3.34)
x
the conditional entropy can be written as ∑ H(XY = y)p(y) H(XY) = y
(3.35)
46
CHAPTER 3 INFORMATION MEASURES
Example 3.7
The joint distribution of the random variables X and Y is given by
P(X, Y) X
Y=0 Y=1
0
0
1
1 8
3 4 1 8
The marginal distributions of X and Y can be derived as p(x) = ∑ x p(x, y) giving X
P(X)
Y
P(Y)
0
3 4 1 4
0
1 8 7 8
1
1
∑
y p(x, y)
and p(y) =
The individual entropies are ( ) H(X) = h 14 ≈ 0.8113
(3.36)
( ) H(Y) = h 18 ≈ 0.5436
(3.37)
( ) 9 3 H(X, Y) = H 0, 34 , 18 , 18 = − log 3 ≈ 1.0613 4 4
(3.38)
and the joint entropy is
To calculate the conditional entropy H(XY), first consider the conditional probabilp(x,y) ities, derived by p(xy) = p(y) P(XY) X
Y=0 Y=1
0
0
1
1
6 7 1 7
Then H(XY = 0) = h(0) = 0 ( ) H(XY = 1) = h 17 ≈ 0.5917
(3.39) (3.40)
3.2 ENTROPY
47
Putting things together, the conditional entropy becomes H(XY) = H(XY = 0)P(Y = 0) + H(XY = 1)P(Y = 1) ( )7 1 = h(0) + h 17 = 0.5177 8 8 Similarly, the probability for Y conditioned on X is given by
(3.41)
P(YX) X 0 1
Y=0 Y=1 0
1
1 2
1 2
Then H(YX = 0) = h(0) = 0 ( ) H(YX = 1) = h 12 = 1
(3.42) (3.43)
and the conditional entropy becomes H(YX) = H(YX = 0)P(X = 0) + H(YX = 1)P(X = 1) ( )1 1 1 = h(0) + h 12 = 2 4 4
(3.44)
The chain rule for probabilities can also be used to achieve a corresponding chain rule for entropies, ∑ ∑ H(X, Y) = − p(x, y) log p(x, y) = − p(x, y) log p(xy)p(y) x,y
=−
∑
x,y
p(x, y) log p(xy) −
x,y
∑
p(y) log p(y)
y
= H(XY) + H(Y)
(3.45)
Rewriting the result yields H(XY) = H(X, Y) − H(Y). That is, the conditional entropy is the difference between the uncertainty of the pair (X, Y) and the information gained by observing Y. A more general version of (3.45) can be stated as the chain rule for entropies in the following theorem. It follows directly from the general chain rule for probabilities (see (2.16)). Theorem 3.2 Let X1 , … , Xn be an ndimensional random variable drawn according to p(x1 , … , xn ). Then the chain rule for entropies states that H(X1 , … , Xn ) =
n ∑ i=1
H(Xi X1 , … , Xi−1 )
(3.46)
48
CHAPTER 3 INFORMATION MEASURES
Example 3.8 [Continued from Example 3.7] derived as
The joint entropy can alternatively be
H(X, Y) = H(XY) + H(Y) =
( ) 9 3 7 (1) h 7 + h 18 = − log 3 ≈ 1.0613 8 4 4
(3.47)
or H(X, Y) = H(YX) + H(X) =
3.3
( ) 9 3 1 + h 14 = − log 3 ≈ 1.0613 4 4 4
(3.48)
MUTUAL INFORMATION
The entropy was obtained by averaging the selfinformation for a random variable. Similarly, the average mutual information between the random variables X and Y can be defined as follows: Definition 3.7 defined as
The mutual information between the random variables X and Y is
[ ] ∑ p(x, y) p(X, Y) p(x, y) log I(X; Y) = EX,Y log = p(X)p(Y) p(x)p(y) x,y
(3.49)
Utilizing that p(x, y) = p(x)p(yx) = p(y)p(xy), the function can also be written as the fraction between the conditional and the nonconditional probabilities, [ [ ] ] p(XY) p(YX) = EX,Y log I(X; Y) = EX,Y log p(X) p(Y)
(3.50)
The mutual information describes the strength in the relation between two variables. From the definition, it is clear that it is a symmetric measure, I(X; Y) = I(Y; X).
(3.51)
3.3 MUTUAL INFORMATION
49
Splitting the logarithm argument in the definition, it is possible to derive the mutual information from the entropies as [ ] p(X, Y) I(X; Y) = EX,Y log p(X)p(Y) = EX,Y [log p(X, Y) − log p(X) − log p(Y)] = EX,Y [log p(X, Y)] − EX [log p(X)] − EY [log p(Y)] = H(X) + H(Y) − H(X, Y) = H(X) − H(XY) = H(Y) − H(YX)
(3.52)
where the last two equalities follows from the chain rule of entropies.
Example 3.9 [Continued from Example 3.7] derived as
The mutual information can be
I(X; Y) = H(X) + H(Y) − H(X, Y) ≈ 0.5436 + 0.8113 − 1.0613 = 0.2936
(3.53)
Alternatively, I(X; Y) = H(X) − H(XY) ≈ 0.5436 −
1 = 0.2936 4
(3.54)
The mutual information between two random variables X and Y can be affected by observing a third variable Z. This is reflected in the conditional mutual information. Definition 3.8 The conditional mutual information between the random variables X and Y, when Z is observed, is defined as [ ] p(X, YZ) I(X; YZ) = EX,Y,Z log p(XZ)p(YZ) ∑ p(x, yz) = p(x, y, z) log (3.55) p(xz)p(yz) x,y,z Similar to the unconditional case, the conditional mutual information can be derived from the entropies as I(X; YZ) = H(XZ) + H(YZ) − H(X, YZ) = H(XZ) − H(XYZ) = H(YZ) − H(YXZ).
(3.56)
50
CHAPTER 3 INFORMATION MEASURES
Both the entropy and the mutual information are important measures of information. The entropy states how much information is needed to determine the outcome of a random variable. It will be shown later that this is equivalent to the number of bits needed to describe the variable on average. In other words, this is a limit of how much a symbol can be compressed without any information being lost. The mutual information, on the other hand, describes the amount of information achieved about the variable X by observing the variable Y. In a communication system, a symbol, X, is transmitted. The received symbol Y is then a distorted version of X and used by a receiver to estimate X. The mutual information is a measure of how much information about X can be obtained from Y, i.e. how much information that can be transmitted to the receiver. It will lead to the concept of the channel capacity. To get more knowledge about these quantities, introduce the relative entropy. It was first considered by Kullback and Leibler in 1951 [9]. Definition 3.9 Given two probability distributions p(x) and q(x) for the same sample set . The relative entropy, or the Kullback–Leibler divergence, is defined as [ ] ∑ p(x) p(X) p(x) log = D(pq) = Ep log q(X) q(x) x
(3.57)
In the derivations, it is used that 0 log 0 = 0 and 0 log 00 = 0. In the next example, the Poisson distribution is considered. Assume that the result from a random experiment is Poisson distributed with intensity 𝜆. Then if the experimentally estimated intensity is 𝜆0 , the example shows the relative entropy from the true distribution to the estimated. It will later be shown that this value reflects the penalty at a compression rate due to the estimation mismatch.
Example 3.10 Consider a random variable that is Poisson distributed, i.e. the probability function is p(k) =
𝜆k e−𝜆 , k!
k = 0, 1, 2, …
(3.58)
Then compare this distribution with another Poisson distribution with the parameter 𝜆0 , i.e.
p0 (k) =
𝜆k0 e−𝜆0 k!
,
k = 0, 1, 2, …
(3.59)
3.3 MUTUAL INFORMATION
51
The relative entropy from p(k) to p0 (k) is then D(pp0 ) =
∑ 𝜆k e−𝜆 k!
k
log
𝜆k e−𝜆 k! 𝜆k0 e−𝜆0 k!
) ∑ 𝜆k e−𝜆 ( 𝜆 k log = + 𝜆0 log e − 𝜆 log e k! 𝜆0 k = log
∑ 𝜆k e−𝜆 𝜆 ∑ 𝜆k e−𝜆 k + (𝜆0 − 𝜆) log e 𝜆0 k k! k! k
= 𝜆 log
𝜆 −𝜆 𝜆 + 0 𝜆0 ln 2
where in the last equality it is used that E[k] = 𝜆,
(3.60) ∑ k
p(k) = 1 and log e =
1 . ln 2
The relative entropy can be regarded as a divergence from one distribution to another. However, one should be careful here since it is not a distance in a natural meaning. From a mathematical point of view, a distance should be seen as a metric. That is, if a function g(x, y) is a metric between x and y, it should hold that r g(x, y) ≥ 0 with equality if and only if x = y (i.e., nonnegative), r g(x, y) = g(y, x) (i.e., symmetry), and r g(x, y) + g(y, z) ≥ g(x, z) (i.e., triangular inequality). A divergence does not have to fulfill the symmetry and triangular inequality criteria, which is the case for the relative entropy. In Theorem 3.4, it will be stated that the relative entropy is nonnegative. The other two criteria are easily shown not to hold. In the next example, it is shown that the relative entropy is not symmetric.
Example 3.11 Consider a binary random variable, X ∈ {0, 1}, and compare two distributions. First assume that the values are equally probable, p(0) = p(1) = 1∕2 and, second, assume a skew distribution, q(0) = 1∕4 and q(1) = 3∕4. The relative entropy from p to q is then D(pq) =
1∕2 1 1∕2 1 log + log 2 1∕4 2 3∕4
=1−
1 log 3 ≈ 0.2075 2
(3.61)
52
CHAPTER 3 INFORMATION MEASURES
On the other hand, the relative entropy from q to p is D(qp) = =
1∕4 3 3∕4 1 log + log 4 1∕2 4 1∕2 3 log 3 − 1 ≈ 0.1887 4
(3.62)
That is, the relative entropy is not a symmetric measure. While the previous example shows that the relative entropy is, in general, nonsymmetric, the next example shows that the triangular inequality does not hold.
Example 3.12
Consider three binary distributions p, q, and r defined by p(0) = 1∕2
p(1) = 1∕2
q(0) = 1∕3
q(1) = 2∕3
r(0) = 1∕6
r(1) = 5∕6
Then D(pq) = 0.085, D(qr) = 0.119, and D(pr) = 0.424. Hence, D(pq) + D(qr) ≱ D(pr)
(3.63)
which contradicts the triangle inequality. Hence, in general, the relative entropy does not satisfy the triangle inequality. In statistics, it is important to find a measure describing the symmetric relation between two distributions. In Problem 3.16, it is shown that modified versions of the relative entropy can be used for this purpose. Even though the relative entropy cannot be viewed as a measure of difference between distributions, it is often very helpful in deriving properties for the other information measures. The mutual information can be expressed as a special case of the relative entropy as [ ] p(X, Y) = D(p(X, Y)p(X)p(Y)) (3.64) I(X; Y) = EXY p(X)p(Y) The mutual information is the information divergence from the joint distribution to the independent case, i.e. the information divergence describes the relation between X and Y. Another aspect of the relative entropy to consider is the relationship with the entropy function. Consider a random variable with k possible outcomes and probability distribution p(x). Let u(x) = 1∕k be the uniform distribution for the same set of
3.3 MUTUAL INFORMATION
outcomes. Then, H(X) = −
∑
p(x) log p(x) = log k −
x
∑
53
p(x) log p(x)k
x
= log k −
∑
p(x) log
x
p(x) = log k − D(pu) u(x)
(3.65)
That is, the relative entropy from p(x) to u(x) is the difference between the entropy based on the true distribution and the maximum value of the entropy. Since the maximum value is achieved by the uniform distribution, the relative entropy is a measure of how much p(x) diverges from the uniform distribution. By using the ITinequality in Lemma 3.1, it can be shown that the relative entropy is a nonnegative function. The outcomes with p(x) = 0 will not give any contribution to the sum, but to avoid any problems in the derivations let p be the set of x such that p(x) > 0, i.e., p = {xp(x) > 0}. Then D(pq) =
∑
p(x) q(x)
p(x) log
x∈p
=−
∑
p(x) log
x∈p
≥−
∑
p(x)
=
(∑
q(x) p(x)
( q(x)
x∈p
p(x)
p(x) −
x∈p
(3.66)
∑
) − 1 log e ) q(x) log e ≥ (1 − 1) log e = 0
(3.67)
x∈p q(x)
with equality if and only if p(x) = 1, i.e. when p(x) = q(x) for all x. The result is expressed in the next theorem. Theorem 3.3 Given two probability distributions p(x) and q(x) for the same sample set, the relative entropy is nonnegative D(pq) ≥ 0
(3.68)
with equality if and only if p(x) = q(x) for all x. An alternative proof of the above theorem can be derived from the logsum inequality, Theorem 2.8, as ∑ ∑ p(x) p(x) ∑ 1 = 1 log = 0 D(pq) = p(x) log p(x) log ∑x ≥ (3.69) q(x) 1 x q(x) x x Since the mutual information can be expressed as the relative entropy, the following corollary follows immediately.
54
CHAPTER 3 INFORMATION MEASURES
Corollary 3.1 The mutual information for two random variables, X and Y, is a nonnegative function, I(X; Y) ≥ 0
(3.70)
with equality if and only if X and Y are independent. By knowing the mutual information is nonnegative, the relation between the conditional and unconditioned entropy can be further examined. Since I(X; Y) = H(X) − H(XY) ≥ 0
(3.71)
the conditioned entropy cannot exceed the unconditioned. The result can be stated as a corollary. Corollary 3.2 entropy, i.e.
The conditional entropy is upper bounded by the unconditional H(XY) ≤ H(X)
(3.72)
with equality if and only if X and Y are independent. Interpreted as uncertainty, it means the uncertainty about a random variable X will not increase by viewing the side information Y. If this side information does not have anything to do with the considered variable, meaning that they are independent, the uncertainty will not change. From (3.72), together with (3.45), the joint entropy does not exceed the sum of the individual entropies, H(X, Y) = H(XY) + H(Y) ≤ H(X) + H(Y)
(3.73)
Generalization of ndimensional vectors gives the following theorem. Theorem 3.4 Let X = (X1 , … , Xn ) be an ndimensional random vector drawn according to p(x1 , … , xn ). Then H(X1 , … , Xn ) ≤
n ∑
H(Xi )
(3.74)
i=1
with equality if and only if all Xi are independent. That is, the uncertainty is minimized when considering a random vector as a whole, instead of individual variables. In other words, the relationship between the variables should be taken into account when minimizing the uncertainty.
3.3.1
Convexity of Information Measures
In Definition 2.4, the terminology of convex functions was introduced. It is a class of function with special interest in, for example, optimization since there are no local
3.3 MUTUAL INFORMATION
55
optima in the interval. In this section, the convexity of the information measures will be investigated. First, the relative entropy will be shown to be convex. With this as a tool, the entropy can be shown to be concave and then the convexity of the mutual information is investigated. Our previous definition of a convex function is stated for onedimensional functions. Therefore, to start with a generalization of the definition is given. A straightforward way is to say that a multidimensional function is convex if it is convex in all dimensions. For the twodimensional case, the function surface resembles a bowl. Comparing with Figure 2.7, the twodimensional argument 𝜆(x1 , y1 ) + (1 − 𝜆)(x2 , y2 ), for 0 ≤ 𝜆 ≤ 1, describes a straight line between the points (x1 , y1 ) and (x2 , y2 ) in the argument plane. The coordinates for this line can be rewritten as (𝜆x1 + (1 − 𝜆)x2 , 𝜆y1 + (1 − 𝜆)y2 ) for 𝜆 between 0 and 1. Considering the twodimensional function g(x, y), the values corresponding to the endpoints are z1 = g(x1 , y1 ) and z2 = g(x2 , y2 ). If the function value along the argument line, g(𝜆(x1 , y1 ) + (1 − 𝜆)(x2 , y2 )) never exceeds the corresponding value at the line, 𝜆g(x1 , y1 ) + (1 − 𝜆)g(x2 , y2 ), the function g(x, y) is a convex function. That is, g(x, y) is convex over the region if g(𝜆(x1 , y1 ) + (1 − 𝜆)(x2 , y2 )) ≤ 𝜆g(x1 , y1 ) + (1 − 𝜆)g(x2 , y2 )
(3.75)
for all 𝜆 such that 0 ≤ 𝜆 ≤ 1 and all (x1 , y1 ), (x2 , y2 ) ∈ . Here denotes a twodimensional convex region, i.e. a straight line between two points in the region should never be outside the region. The regions considered in this text are easily verified to satisfy this criterion. The above reasoning for convexity of functions can easily be generalized for ndimensional functions. Definition 3.10 Let x(1) = (x1(1) , … , xn(1) ) and x(2) = (x1(2) , … , xn(2) ) be two ndimensional vectors in the region and g(x) an ndimensional function. Then, g(x) is a convex function in if ) ( ) ( ) ( 𝜆g x(1) + (1 − 𝜆)x(2) ≤ g 𝜆x(1) + (1 − 𝜆)g x(2)
(3.76)
for all 𝜆 such that 0 ≤ 𝜆 ≤ 1 and all x(1) , x(2) ∈ . The relative entropy is a twodimensional function in the probability pair (p, q) and can thus be checked for convexity. Then, consider the four probability distributions p1 (x), p2 (x), q1 (x), and q2 (x) over the same sample space . For 𝜆 between 0 and 1, two new distributions can be formed as p𝜆 (x) = 𝜆p1 (x) + (1 − 𝜆)p1 (x)
(3.77)
q𝜆 (x) = 𝜆q1 (x) + (1 − 𝜆)q1 (x)
(3.78)
56
CHAPTER 3 INFORMATION MEASURES
Considering the relative entropy from p𝜆 to q𝜆 , it can be seen that ( ) ( ) D p𝜆 q𝜆 = D 𝜆p1 + (1 − 𝜆)p2 𝜆q1 + (1 − 𝜆)q2 = ≤
∑ 𝜆p (x) + (1 − 𝜆)p2 (x) (𝜆p1 (x) + (1 − 𝜆)p2 (x)) log 1 𝜆q 1 (x) + (1 − 𝜆)q2 (x) x ∑
𝜆p1 (x) log
x
∑
𝜆p1 (x) ∑ (1 − 𝜆)p1 (x) (1 − 𝜆)p1 (x) log + 𝜆q1 (x) (1 − 𝜆)q1 (x) x
∑ p1 (x) p (x) p1 (x) log 1 + (1 − 𝜆) q1 (x) q1 (x) x x ) ( ) ( = 𝜆D p1 q1 + (1 − 𝜆)D p2 q2 =𝜆
p1 (x) log
(3.79)
where the inequality is a direct application of the logsum inequality in Theorem 2.8. Hence, as stated in the next theorem, the relative entropy is a convex function. Theorem 3.5
The relative entropy is convex in (p, q).
From (3.65), the entropy can be expressed as Hp (X) = log k − D(pu), where u is uniformly distributed. Again using p𝜆 (x) = 𝜆p1 (x) + (1 − 𝜆)p1 (x) to get ( ) Hp𝜆 (X) = log k − D 𝜆p1 + (1 − 𝜆)p2 u ( ) ( ) ≥ log k − 𝜆D p1 u − (1 − 𝜆)D p2 u = 𝜆(log k − D(p1 u)) + (1 − 𝜆)(log k − D(p2 u)) = 𝜆Hp1 (X) + (1 − 𝜆)Hp2 (X)
(3.80)
where the inequality follows from the convexity of the relative entropy. The above result is stated in the following theorem. Theorem 3.6
The entropy is concave in p.
The mutual information can be written as I(X; Y) = H(Y) − H(YX). Hence, it consists of two parts that needs to be treated separately. The first case to consider is two distributions on X, p1 (x) and p2 (x), while the conditional probability on Y, p(yx), is fixed. Then, again form p𝜆 (x) = 𝜆p1 (x) + (1 − 𝜆)p2 (x). The unconditional probability on Y then becomes ∑ p𝜆 (x)p(yx) p𝜆 (y) = x
=𝜆
∑
p1 (x)p(yx) + (1 − 𝜆)
x
= 𝜆p1 (y) + (1 − 𝜆)p2 (y)
∑
p2 (x)p(yx)
x
(3.81)
3.3 MUTUAL INFORMATION
57
Meaning that introducing p𝜆 (x) gives Hp𝜆 (y) (Y) ≥ 𝜆Hp1 (y) (Y) + (1 − 𝜆)Hp2 (y) (Y)
(3.82)
since the entropy is concave. On the other hand, the conditional entropy is ∑ Hp𝜆 (x) (YX) = − p𝜆 (x)p(yx) log p(yx) x,y
= −𝜆
∑
p1 (x)p(yx) log p(yx)
x,y
− (1 − 𝜆)
∑
p2 (x)p(yx) log p(yx)
x,y
= 𝜆Hp1 (x) (YX) + (1 − 𝜆)Hp2 (x) (YX)
(3.83)
Putting things together concludes Ip𝜆 (x) (X; Y) = Hp𝜆 (y) (Y) − Hp𝜆 (x) (YX) ≥ 𝜆Hp1 (y) (Y) + (1 − 𝜆)Hp2 (y) (Y) − 𝜆Hp1 (x) (YX) − (1 − 𝜆)Hp2 (x) (YX) = 𝜆Ip1 (x) (X; Y) + (1 − 𝜆)Ip2 (x) (X; Y)
(3.84)
That is, for fixed p(yx) the mutual information I(X; Y) is concave in p(x). Similarly, if p(x) is fixed and considering two distributions on the conditional probability, p1 (yx) and p2 (yx), introduce p𝜆 (yx) = 𝜆p1 (yx) + (1 − 𝜆)p2 (yx)
(3.85)
The corresponding joint and marginal probabilities are p𝜆 (x, y) = p(x)p𝜆 (yx) = 𝜆p1 (x, y) + (1 − 𝜆)p2 (x, y) and p𝜆 (y) =
∑
p(x)p𝜆 (yx) = 𝜆p1 (y) + (1 − 𝜆)p2 (y)
(3.86)
(3.87)
x
∑ where pi (x, y) = p(x)pi (yx) and pi (y) = x p(x)pi (yx). Then by writing the mutual information as the relative entropy and using its convexity gives Ip𝜆 (yx) (X; Y) = D(p𝜆 (X, Y)p(X)p𝜆 (Y)) ≤ 𝜆D(p1 (X, Y)p(X)p1 (Y)) + (1 − 𝜆)D(p2 (X, Y)p(X)p2 (Y)) = 𝜆Ip1 (yx) (X; Y) + (1 − 𝜆)Ip2 (yx) (X; Y)
(3.88)
That is, for fixed p(x) the mutual information is convex in p(yx). The convexity of the mutual information can be summarized in the following theorem.
58
CHAPTER 3 INFORMATION MEASURES
Theorem 3.7 The mutual information I(X; Y) is r concave in p(x) if p(yx) is fixed. r convex in p(yx) if p(x) is fixed.
3.4
ENTROPY OF SEQUENCES
In the previous section, the information measures are defined for random variables. Often it is desirable to use as well for random processes where the variables in a sequence are statistically dependent. Then, to generalize the entropy measure complete sequences must be considered. In this section, first a famous result on data processing will be derived, called the dataprocessing lemma. After this, the entropy rate will be defined, which is the corresponding entropy measure for random processes. For the first part, consider a Markov chain with three variables X, Y, and Z. Their dependencies are described in Figure 3.3. The process A transforms X into Y, and process B transforms Y into Z. These processes are very general and can, for example, represent preprocessing, postprocessing, or transmission of data. The assumed Markov property gives that X and Z are independent when conditioned on Y, i.e. P(XZY) = P(XY)P(ZXY) = P(XY)P(ZY)
(3.89)
where the second equality follows from the Markov condition. Then the mutual information between the end points can be derived and bounded in two ways, I(X; Z) = H(X) − H(XZ) ≤ H(X) − H(XYZ) = H(X) − H(XY) = I(X; Y) and
(3.90)
I(X; Z) = H(Z) − H(ZX) ≤ H(Z) − H(ZXY) = H(Z) − H(ZY) = I(Z; Y)
(3.91)
This result is stated as the dataprocessing lemma. Lemma 3.2 (DataProcessing Lemma) form a Markov chain, X → Y → Z. Then
Let the random variables X, Y, and Z
I(X; Z) ≤ I(X; Y)
(3.92)
I(X; Z) ≤ I(Y; Z)
(3.93)
An interpretation of the lemma can be viewed in the following way. Assume first that X is transformed into Y by process A. This, for example, can be a transmission of data over a channel distorting the signals (e.g., wired or wireless X
Process A
Y
Process B
Z
Figure 3.3 The dependencies used in the dataprocessing lemma.
3.4 ENTROPY OF SEQUENCES
59
communication or writing and reading of a CD, DVD, or flash memory). The aim of the receiver is then to get as much information about X by observing Y. It is common to perform postprocessing, which in this model is represented by process B. The dataprocessing lemma states that the information about X by viewing Z cannot exceed the information about X by viewing Y. In other words, the information about X will not increase by postprocessing, it can only decrease. In practice, however, postprocessing is often used to transform the information into another representation where the information is easier accessible for interpretation. For example, it is easier to understand an image when viewed on a screen than it is from the data received. Similarly, process A can represent preprocessing and process B the transmission. Then, the dataprocessing lemma states that the information cannot increase by the preprocessing. Still, in practice it is common to use preprocessing in communication systems to transform data into appropriate representations. Summarizing, the lemma states that the information cannot increase by neither pre nor postprocessing. The information can only decrease in the processing.
3.4.1
Entropy Rate
Next, the description will go to a more general description of information measure for sequences. In many cases, there is a dependency between symbols in a sequence, which can be modeled by a random process. In this section, two natural generalizations of the entropy function will be introduced. It turns out that these two definitions are in fact equivalent. The measure can in many cases be used and interpreted in the same way for a random process as the entropy for random variables. A natural way to define the entropy per symbol for a sequence is by treating the sequence as a multidimensional random variable and averaging over the number of symbols. As the length of the sequence tends to be infinity, the following definition is obtained. Definition 3.11
The entropy rate of a random process is H∞ (X) = lim
n→∞
1 H(X1 X2 … Xn ) n
(3.94)
To see that this is a natural generalization of the entropy function where the variables in a sequence are considered independent, consider a sequence of i.i.d. variables as in the next example. Example 3.13 Consider a sequence of i.i.d. random variables with entropy H(X). Then the entropy rate equals the entropy function since 1 1∑ H(Xi X1 … Xi−1 ) H∞ (X) = lim H(X1 … Xn ) = lim n→∞ n n→∞ n i 1∑ 1∑ H(Xi ) = lim H(X) 1 = H(X) n→∞ n n→∞ n i i
= lim
(3.95)
60
CHAPTER 3 INFORMATION MEASURES
An alternative definition for the entropy of one symbol in a random process is to consider the entropy of the nth variable in the sequence, conditioned on all the previous case. By letting n → ∞, it is the entropy of one symbol conditioned on an infinite sequence. Definition 3.12
The alternative entropy rate of a random process is H(XX ∞ ) = lim H(Xn X1 X2 … Xn−1 ) n→∞
(3.96)
Clearly, for the case of i.i.d. symbols in the sequence this alternative definition also gives the entropy H(X). To see how the two definitions relates, rewrite the entropy with the chain rule, 1∑ 1 H(Xi X1 … Xi−1 ) (3.97) H(X1 … Xn ) = n n i The righthand side is the arithmetic mean of H(Xi X1 … Xi−1 ). By the law of large numbers, as n → ∞ this will approach H(XX ∞ ). Hence, asymptotically as the length of the sequence grows to infinity, the two definitions for the entropy rate are equal. This important result is stated in the next theorem. In the continuation of the text, the notation from the first definition will be adopted. Theorem 3.8
The entropy rate and the alternative entropy rate are equivalent, i.e. H∞ (X) = H(XX ∞ )
(3.98)
Consider a stationary random process, then H(Xn X1 … Xn−1 ) ≤ H(Xn X2 … Xn−1 ) = H(Xn−1 X1 … Xn−2 )
(3.99)
where the last equality follows since from the stationarity of the process. Hence, H(Xn X1 … Xn−1 ) is a decreasing function in n and a lower bound for the entropy function is obtained from H(Xn X1 … Xn−1 ) ≤ ⋯ ≤ H(X2 X1 ) ≤ H(X1 ) = H(X) ≤ log k
(3.100)
Finally, since the entropy is a nonnegative function, the following relation between the entropy rate and the entropy can be concluded. Theorem 3.9
For a stationary random process, the entropy rate is bounded by 0 ≤ H∞ (X) ≤ H(X) ≤ log k
(3.101)
In Figure 3.4, the relation between log k, H(X), H(Hn X1 … Xn−1 ) and H∞ (X) is shown as a function of n. One natural conclusion is that the uncertainty of the sequence is less, if the dependency between symbols is taken into consideration.
3.4 ENTROPY OF SEQUENCES
logk H(X)
61
H(Xn│X1 . . . Xn−1)
H∞(X) n Figure 3.4
3.4.2
The relation between H∞ (X) and H(X).
Entropy Rate of Markov Models
So far the entropy rate has been treated for the class of stationary random processes. If the theory is limited to the often used Markov chains, it is possible to be more specific on derivations of the entropy rate. From the unit memory property and stationarity of a Markov process, the conditional entropy can be written as H(Xn X1 … Xn−1 ) = H(Xn Xn−1 ). Then, the entropy rate is H∞ (X) = lim H(Xn X1 … Xn−1 ) n→∞
= lim H(Xn Xn−1 ) = H(X2 X1 ) n→∞ ∑ = P(X1 = xi , X2 = xj ) log P(X2 = xj X1 = xi ) i,j
=
∑
P(X1 = xi )
i
=
∑
∑
P(X2 = xj X1 = xi ) log P(X2 = xj X1 = xi )
j
H(X2 X1 = xi )P(X1 = xi )
(3.102)
i
where H(X2 X1 = xi ) =
∑
P(X2 = xj X1 = xi ) log P(X2 = xj X1 = xi )
(3.103)
j
In (3.102), the transition probability is given by the state transition matrix for the Markov chain P = [pij ]i,j∈{1,2,…,k} ,
(3.104)
where pij = P(X2 = xj X1 = xi ) and k is the number of states. With the stationary distribution given by 𝜋i = P(X1 = xi ), the entropy rate for a Markov chain can be derived as stated in the next theorem.
62
CHAPTER 3 INFORMATION MEASURES
Theorem 3.10 For a stationary Markov chain with stationary distribution 𝝅 and transition matrix P = [pij ], the entropy rate can be derived as ∑ 𝜋i H(X2 X1 = xi ) (3.105) H∞ (X) = i
where H(X2 X1 = xi ) = −
∑
pij log pij .
(3.106)
j
In the next example, the Markov chain used in Chapter 2 is reused.
The Markov chain shown in Figure 2.8 has the state transition
Example 3.14 matrix
⎛ 13 ⎜ P = ⎜ 14 ⎜1 ⎝2
2 3
0 1 2
0⎞ 3⎟ 4⎟ ⎟ 0⎠
In Example 2.17, the steadystate distribution was derived as ) ( 16 12 𝝅 = 15 43 43 43 The conditional entropies are derived rowwise in P, ( ) H(X2 X1 = s1 ) = h 13 = log 3 − 23 ( ) H(X2 X1 = s2 ) = h 14 = 2 − 34 log 3 ( ) H(X2 X1 = s3 ) = h 12 = 1
(3.107)
(3.108)
(3.109) (3.110) (3.111)
and the entropy rate becomes H∞ (X) = 𝜋1 H(X2 X1 = s1 ) + 𝜋2 H(X2 X1 = s2 ) + 𝜋3 H(X2 X1 = s3 ) ( ) ( ) ( ) = 15 h 13 + 16 h 14 + 12 h 12 43 43 43 =
3 43
log 3 +
34 43
≈ 0.9013 bit/symbol
(3.112)
In this example, the entropy of the stationary distribution is H
( 15 16 12 ) , , ≈ 1.58 43 43 43
(3.113)
PROBLEMS
63
which can be seen as a measure of the entropy when the relations between the symbols are neglected. The uncertainty per symbol is lower when the relations in the sequence are considered.
PROBLEMS 3.1
The socalled ITinequality is in the text described as a consequence of the fact that the functions ln x lower than x − 1, with equality if and only if x = 1. Show that this relation x − 1 ≥ logb x,
b>1
only holds for the natural base, i.e., when b = e. 3.2
Use the ITinequality to show that, for all positive x, ln x ≥ 1 − only if x = 1.
3.3
The outcome of a throw with a fair die is denoted by X. Then, let Y be 𝖤𝗏𝖾𝗇 if X is even and 𝖮𝖽𝖽 otherwise. Determine
1 x
with equality if and
(a) I(X = 2; Y = 𝖤𝗏𝖾𝗇), I(X = 3; Y = 𝖤𝗏𝖾𝗇), I(X = 2 or X = 3; Y = 𝖤𝗏𝖾𝗇). (b) I(X = 4), I(Y = 𝖮𝖽𝖽). (c) H(X), H(Y). (d) H(X, Y), H(XY), H(YX). (e) I(X; Y). 3.4
Let X1 and X2 be two variables describing the outcome of a throw with two dice and let Y = X1 + X2 be the total number. (a) What is the probability function for the stochastic variable Y? (b) Determine H(X1 ) and H(Y). (c) Determine I(Y; X1 ).
3.5
The joint probability of X and Y is given by P(X, Y) X 0 1
Y=a Y=b Y=c 1 12 1 4
1 6
0
1 3 1 6
Calculate (a) P(X), P(Y), P(XY), and P(YX) (b) H(X) and H(Y) (c) H(XY) and H(YX) (d) H(X, Y) (e) I(X, Y).
64 3.6
CHAPTER 3 INFORMATION MEASURES
The joint probability of X and Y is given by P(X, Y) X
Y=a
Y=b
Y=c
A
1 12
0
B
0
C
1 18
1 6 1 9 1 4
1 5 2 15
Calculate (a) P(X), P(Y), P(XY), and P(YX) (b) H(X) and H(Y) (c) H(XY) and H(YX) (d) H(X, Y) (e) I(X, Y). 3.7
In an experiment, there are two coins. The first is a fair coin, while the second has Heads on both sides. Choose with equal probability one of the coins, and flip it twice. How much information do you get about the identity of the coin by studying the number of Heads from the flips?
3.8
An urn has 18 balls; ten blue, five red, and three green. Someone draws one ball from the urn and puts it in a box without looking. Let the random variable X denote the color of this first ball. Next, you draw a ball from the urn and let Y denote the color of this second ball. (a) What is the uncertainty of X? (b) What is the uncertainty of Y if you first open the box to get the color of the first ball? (c) What is the uncertainty of Y if you do not open the box? (d) Assume that you do not open the box. How much information about X do you get from Y?
3.9
Consider two dice where the first has equal probability for all six numbers and the second has a small weight close to the surface of number 1. Let X be the outcome of a roll with one of the dice, then the corresponding probability distributions for the dice are given below. x:
1
2
3
4
5
6
p(x) :
1 6 1 14
1 6 1 7
1 6 1 7
1 6 1 7
1 6 1 7
1 6 5 14
q(x) :
(a) What is the entropy of a throw with the fair die and the manipulated die, respectively? (b) What is D(pq)? (c) What is D(qp)?
PROBLEMS
3.10
65
The joint distribution of X and Y is given by p(x, y) = k2 2−(x+y) ,
x, y = 0, 1, 2, …
(a) Determine k. (b) Derive P(X < 4, Y < 4). (c) Derive the joint entropy. (d) Derive the conditional probability H(XY). 3.11
The two distributions p(x, y) and q(x, y) are defined over the same set of outcomes. Verify that ( ) ( ) ∑ ( ) D p(x, y)q(x, y) = D p(x)q(x) + D p(yx)q(yx) p(x) x
( ) ∑ ( ) = D p(y)q(y) + D p(xy)q(xy) p(y) y
and that, if X and Y are independent, ( ) ( ) ( ) D p(x, y)q(x, y) = D p(x)q(x) + D p(y)q(y) . 3.12
Sometimes a function called Cross Entropy, closely related to the relative entropy, is used. It is defined as ∑ p(x) log q(x). H(p, q) = − x
Show that
3.13
( ) H(p, q) = D pq − Hp (X).
(a) Show that if 𝛼, 𝛽, and 𝛾 form a probability distribution, then ( ) 𝛽 . H(𝛼, 𝛽, 𝛾) = h(𝛼) + (1 − 𝛼)h 1−𝛼 (b) Show that if p1 , p2 , p3 , … , pn form a probability distribution, then ( ) p p p H(p1 , p2 , … , pn ) = h(p1 ) + (1 − p1 )H 1−p2 , 1−p3 , … , 1−pn , . 1
3.14
1
1
Consider two urns, numbered 1 and 2. Urn 1 has four white balls and three black balls, while Urn 2 has three white balls and seven black. Choose one of the urns with equal probability, and draw one ball from it. Let X be the color of that ball and Y the number of the chosen urn. (a) Derive the uncertainty of X. (b) How much information is obtained about Y when observing X? (c) Introduce a third urn, Urn 3, with only one white ball (and no black). Redo problems (a) and (b) for this case.
3.15
Show that I(X; Y, Z) = I(X; Y) + I(X; ZY)
3.16
In statistics, sometimes it is desirable to compare distributions and have a measure of how different they are. One way is, of course, to use the relative entropy D(pq) as a measure. However, the relative entropy is not a symmetric measure. Since, symmetry
66
CHAPTER 3 INFORMATION MEASURES
Figure 3.5 A Markov graph for the source in Problem 3.18.
3/4
S1/A 1/4
1/4
3/4
S3/C
1/2
S2/B
1/2
is one of the basic criterion for a metric this property is desirable. Below are given two symmetric measures based on the relative entropy. (a) One direct way to get a symmetric measurement of the difference between two distributions is the Jeffrey’s divergence [9] DJ (pq) = D(pq) + D(qp) named after the statistician Harold Jeffreys. Show that it can be written as (for discrete distributions) ∑ p(x) (p(x) − q(x)) log . DJ (pq) = q(x) x (b) To get around the problem that there can occur infinite values in the Jeffrey’s divergence, Lin introduced in 1991 the so called Jensen–Shannon [10] divergence, ( p + q) ( p + q) 1 1 + D q . DJS (pq) = D p 2 2 2 2 Show that an alternative way to write this is ( p + q ) H(p) + H(q) − DJS (pq) = H . (3.114) 2 2 3.17 Let p(x) and q(x) be two probability functions for the random variable X. Use the relative entropy to show that ∑ p2 (x) x
q(x)
≥1
with equality if and only if p(x) = q(x) for all x. 3.18
A Markov source with output symbols {A, B, C}, is characterized by the graph in Figure 3.5. (a) What is the stationary distribution for the source? (b) Determine the entropy of the source, H∞ . (c) Consider a memoryless source with the same probability distribution as the stationary distribution calculated in (a). What is the entropy for the memoryless source?
3.19
The engineer Inga is going to spend her vacation in an archipelago with four main islands. The islands are connected with four different boat lines, and one sightseeing tour around the largest island (see the map in Figure 3.6).
PROBLEMS
67
Figure 3.6 A map over the islands and the boat connections.
N W E S
To avoid planning the vacation route too much, she decides to take a boat every day. She will choose one of the boat lines going out from the island with equal probability. All the boat lines are routed both ways every day, except the sightseeing tour that is only one way. (a) When Inga has traveled around in the archipelago for a long time, what is the probabilities for being on each of the islands? (b) Inga has promised to write home and tell her friends about her travel. How many bits, on average, does she need to write per day to describe her route? Assume that she will choose a starting island for her vacation according to the distribution in (a). 3.20
A man climbs an infinitely long ladder. At each time instant, he tosses a coin. If he gets Head he takes a step up on the ladder but if he gets Tail he drops down to the ground (step 0). The coin is counterfeit with P(Head) = p and P(Tail) = 1 − p. The sequence of where on the ladder the man stands forms a Markov chain. (a) Construct the state transition matrix for the process and draw the state transition graph. (b) What is the entropy rate of the process? (c) After the man has taken many steps according to the process you call him and ask if he is on the ground. What is the uncertainty about his answer? If he answers that he is not on the ground, what is the uncertainty of which step he is on? (You can trust that he is telling the truth.)
3.21
Four points are written on the unit circle (see Figure 3.7). A process moves from the current point to one of its neighbors. If the current point is Φ = 𝜑i , the next point is Figure 3.7
φ1 = π/2
φ0 = 0
φ2 = π
φ3 = 3π/2
Four points on the unit circle.
68
CHAPTER 3 INFORMATION MEASURES
chosen with probabilities +
Φ =
{ 𝜑i + 𝜋2 , p+ = 𝜑i − 𝜋2 , p− =
2𝜋−𝜑i 2𝜋 𝜑i
(3.115)
2𝜋
Derive the entropy rate for the process. 3.22
Consider a discrete stationary (time invariant) random process, X1 X2 … Xn , where Xi ∈ {x1 , x2 , … , xk } and k finite. Define the two entropy functions Hn (X) = 1n H(X1 … Xn )
H(XX n ) = H(Xn X1 … Xn−1 ) As n → ∞, these functions approach the entropy rate functions H∞ (X) and H(XX ∞ ). In the course, it has been shown that these limits exist and are equal, H∞ (X) = H(XX ∞ ). In this problem, the same result is derived in an alternative way. (a) Show that Hn (X) ≥ H(XX n ). (b) Show that Hn (X) is a decreasing function, i.e. that Hn (X) ≤ Hn−1 (X). Remark: This shows 0 ≤ H∞ (X) ≤ Hn (X) ≤ Hn−1 (X) ≤ H(X) ≤ log k, and that the limit exists. (c) Show that for any fixed integer 𝜇, in 1 ≤ 𝜇 < n, Hn (X) ≤ 𝜇n H𝜇 (X) +
n−𝜇 H(XX 𝜇 ). n
(d) Use the results above to show that for all 𝜇 ≪ n H(XX ∞ ) ≤ H∞ (X) ≤ H(XX 𝜇 ). Remark: By letting 𝜇 → ∞ this gives H∞ (X) = H(XX ∞ ).
CHAPTER
4
OPTIMAL SOURCE CODING
I
N PRACTICE, IMAGES or texts contain redundant data. A text, for example, is most often still readable if every fourth letter is replaced with an erasure symbol, e.g., ⋆. That means these letters can be removed, and the text only takes about three fourth of the space in the memory. The same reasoning holds, e.g., for images or video where there is a lot of dependencies between the pixels. The aim of source coding is to remove as much redundancy as possible to achieve only the information in a file. In the previous chapter, the entropy was interpreted as the average amount of information needed to describe the random variable. This should then mean that the entropy is a lower bound for how much the data, or the outcome from a random variable, can be compressed. One of the main results in Shannon’s paper is the source coding theorem, where it is shown that for a vector of length n the compressed codeword length per symbol can approach the entropy as n grows to infinity. In this chapter, it will be shown that with the requirement of unique decompression, it is possible to achieve the average codeword length arbitrarily close to the entropy, but not less. A simple algorithm will also be given to construct a code, the Huffman code, that is optimal in terms of codeword length for a source with independent and identically distributed (i.i.d.) symbols. The chapter is concluded with a description of arithmetic coding.
4.1
SOURCE CODING
In Figure 4.1, a block model for a source coding system is shown. The symbols from the source is fed to the source encoder where the redundancy is removed, i.e., the sequence is compressed. The source decoder is the inverse function, and the source data are reconstructed. In the figure, X is a random variable with k outcomes. In general, X can be a vector, where the length n is also a random variable. The corresponding codeword, Y, is an 𝓁dimensional vector of random variables Yj with D outcomes. The codeword length 𝓁 is viewed as a random variable, and the average codeword length is L = E[𝓁]. Normally, the code symbols will be considered to be drawn from the alphabet ℤD = {0, 1, … , D − 1}. Since the algorithms often are implemented in computers, it is common to use binary vectors, i.e., D = 2.
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
69
70
CHAPTER 4 OPTIMAL SOURCE CODING
Source Figure 4.1
X
Encoder
Y
Decoder
Xˆ
Block model for source coding system.
̂ In case of lossless source coding, The decoder estimates the source vector as X. ̂ = X. This is typically the case when the source is a text or a the aim is to have X program code that needs to be flawlessly reconstructed at the receiver side. A typical example of this is zip compression and variants thereof. If it is acceptable with a certain limit of distortion lossy source coding can be used, which is the case in image, video, or audio coding, e.g., jpeg, mpeg, and mp3. Then the reconstructed message ̂ ≈ X. What “similar enough” means varies should be similar enough to the original, X from case to case. For example, the same sound quality is not expected in a phone as for a stereo equipment. Then the phone audio can be much compressed than the sound on a music file. In this section, only lossless source coding will be considered. Lossy compression will be revisited in Chapter 11 where the concept of distortion is introduced. In the previous chapter, the entropy was considered to be a measure of the uncertainty of the outcome of a random variable. This can be interpreted as the amount of information needed to determine the outcome. It is then natural to view the entropy as a limit for how much it is possible to compress the data, in view of this statistics. In the following, it will not only be shown that indeed the entropy is a lower bound on the codeword length but also that it is a reachable bound. The latter is shown by Shannon’s source coding theorem, stated in Shannon’s paper from 1948 [1]. However, there it was shown using the law of large numbers and asymptotic equipartition property (AEP) whereas in this chapter a more natural construction will be used. In Chapter 6, AEPs are introduced and both the source coding theorem and the channel coding theorem derived from it. In this chapter, the source symbols will be fixed in size, which most often is one letter from a fixed alphabet, and the codewords varying length vectors of Dary symbols. This means the source symbols can be considered as a random variable, and source coding can be defined as follows. Definition 4.1 (Source coding) A source code is a mapping from the outcomes of a random variable X ∈ {x1 , … , xk } to a vector of variable length, y = (y1 , … , y𝓁 ), where yi ∈ {0, 1, … , D − 1}. The length of the codeword y corresponding to the source symbol x is denoted as 𝓁x . Since the source symbols are assumed to have fixed length, the efficiency of the code can be measured by the average codeword length, [ ] ∑ L = E 𝓁x = p(x)𝓁x (4.1) x
In a more general description, the input X can be viewed as a random vector with a random length n. In that case, both the input vector and the codeword vector are
71
4.2 KRAFT INEQUALITY
allowed to vary in length. In that case, a more suitable measure of the code efficiency can be expressed as R=
E[n] E[𝓁]
(4.2)
This will be often used in the next chapter while considering Lempel–Ziv codes.
4.2
KRAFT INEQUALITY
In Table 4.1, the probability function for a random variable X is given. There are also five different examples of codes for this variable. The first code, 1 , is an example of a direct binary mapping with equal lengths, not taking the distribution into account. With four source symbols, it is needed at least log 4 = 2 bits in a vector to have unique codewords. This can be used as a reference code, representing the uncoded case. Since all codewords are equal in length, the average codeword length will also be L(1 ) = 2. In the other codes, symbols with high probability are mapped to short codewords, since this will give a low average codeword length. The second code, 2 , has two symbols, x1 and x2 , that are mapped to the same codeword. This means that it is impossible to find a unique decoding, and even though it has a short average length such code should be avoided. The third code in Table 4.1, 3 , has an average codeword length ∑ L(2 ) = p(x)𝓁x = 1.25 bit (4.3) x
which is considerably lower than for the reference code 1 . All the code sequences are distinct, which is classified as a nonsingular code. The generated codeword sequence is a direct concatenation of the codewords, without any spaces or other separating symbols. Consider then the code sequence y = 00110 …
(4.4)
Even though all codewords are distinct, there might be a problem with decoding here as well. Since no codeword contain any double zeros, it is easy to see that the first zero corresponds to the symbol x1 . But then the next pair of bits, 01, can either mean the combination x1 , x2 , or the single symbol x3 . It is not possible to make a clear decision between the alternatives, which means the code is not uniquely decodable. TABLE 4.1
Some different codes.
x
p(x)
1
2
3
4
5
x1 x2 x3 x4
1∕2 1∕4 1∕8 1∕8
00 01 10 11
0 0 1 11
0 1 01 10
0 01 011 0111
0 10 110 111
72
CHAPTER 4 OPTIMAL SOURCE CODING
The problem has occurred because there are unequal lengths in the codewords, and no separator between the codewords. The fourth code, 4 , has unique codewords for all symbols, hence it is nonsingular. Since all codewords starts with a zero, and this is the only occurrence of zeros, any code sequence can be uniquely decoded, which is normally classified as a uniquely decodable code. The average codeword length is L(4 ) = 1.875. The only flaw with the code is that it is not possible see the end of a codeword until the start of the next codeword. Hence, to decode one codeword one must look ahead to see the start of the next codeword. In general, the requirement for a uniquely decodable code is that any codeword sequence should have a unique mapping to a sequence of source symbols. That means all codeword sequences can be uniquely decoded. A drawback is that it might imply that the complete codeword sequence is read before the decoding starts. Finally, the fifth code, 5 , is both nonsingular and uniquely decodable. Apart from this, it has the property that no codeword is a prefix to any other codeword, which denotes a prefix code. For decoding, as soon as a complete codeword is found in the code sequence, it can be mapped to the corresponding source symbol. For example, if the code sequence is y = 01011010111 …
(4.5)
the first 0 corresponds to x1 . Then 10 gives x2 , and after that 110 gives x3 . Continuing, the sequence can be decoded as follows: y = 0 10 110 10 111… x  x  1
2
x3
 x  2
x4

(4.6)
To summarize, the following classes of codes can be distinguished: r Nonsingular codes. Each source symbol is mapped to a distinct code vector. r Uniquely decodable codes. Each sequence of source symbols is mapped to a sequence of code symbols, different from any other valid code sequence that might appear. r Prefix codes.1 No codeword is a prefix to any other codeword. From the above reasoning, it can be concluded that prefix codes are desirable since they are easily decoded. Clearly, the class of prefix codes is a subclass of the uniquely decodable codes. One basic criterion for a code to be uniquely decodable is that the set of codewords is nonoverlapping. That is, the class of uniquely decodable codes is a subclass of the nonsingular code. Finally, the class of nonsingular codes is a subclass of all codes. In Figure 4.2, a graphical representation of the relation between the classes is shown. 1 The
notation of prefix code is a bit misleading since the code should not contain prefixes. However, it is today the most common notation of this class of codes (see, e.g., [11, 12]) and will therefore be adopted in this text. Sometimes in the literature, it is mentioned as a prefix condition code (e.g., [13]), a prefixfree code (e.g., [14]), or an instantaneous code (e.g., [15]).
4.2 KRAFT INEQUALITY
73
All codes Nonsingular codes Uniquely decodable codes Prefix codes
Figure 4.2 All prefix codes are uniquely decodable, and all uniquely decodable codes are nonsingular.
In the continuation of this section, mainly prefix codes will be considered. In the coming pages, it will be shown that to optimize the average codeword length, there is no advantage with uniquely decodable codes compared with prefix codes. That is, given a uniquely decodable code, the same set of codeword lengths can be used to build a prefix code. For this analysis, a tree structure is needed to represent the codewords. A general tree has a root node, which may have one or more child nodes. Each child node may also have one or more child nodes and so on. A node that does not have any child nodes is called a leaf. In a Dary tree, each node has either zero or D child nodes. In Figure 4.3, two examples of Dary trees are shown, the left with D = 2 and the right with D = 3. Often a 2ary tree is mentioned as a binary tree. Notice that the trees grow to the right from the root. Normally, in computer science trees grow downwards, but in many topics related to information theory and communication theory they are drawn from left to right. The branch labels are often read as codewords, and then it is natural to read from left to right. The depth of a node is the number of branches back to the root node in the tree. Starting with the root node, it has depth 0. In the left tree of Figure 4.3, the node labeled A has depth 2 and the node labeled B has depth 4. A tree is said to be full if all leaves are located at the same depth. In Figure 4.4, a full binary tree of depth 3 is shown. In a full Dary tree of depth d, there are Dd leaves.
B A (a) Binary (D = 2) tree Figure 4.3
Examples of binary and 3ary tree.
(b) 3ary tree
74
CHAPTER 4 OPTIMAL SOURCE CODING
Figure 4.4 depth 3.
Example of a full binary tree of
A prefix codes of alphabet size D can be represented in a Dary tree. The first letter of the codeword is represented by a branch stemming from the root. The second letter is represented by a branch stemming from a node at depth 1 and so on. That is, the labels of the branches represent the symbols of the codeword, and the codeword is read from the root to the leaf. In this way, a structure is built where each sequence from root to leaf in the tree gives a codeword. In that way, a codeword cannot be a prefix of another codeword. In Figure 4.5, the prefix code 5 from Table 4.1 is shown in a binary tree representation. In this representation, the probabilities for each source symbol is also added. The labeling of the tree nodes is the sum of the probabilities for the source symbols stemming from that node, i.e. the probability that a codeword passess through that node. Among the codes in Table 4.1, the reference code 1 is also a prefix code. In Figure 4.6, a representation of this code is shown in a tree. Since all codewords are of equal length, it is a full binary tree. There are many advantages with the tree representation. One is that it gives a graphical interpretation of the code, which in many occasions is a great help for the intuitive understanding. It is also a helpful tool in the derivations of the code properties. For example, according to the next lemma, the average codeword length can be derived from the tree representation.
x x1 x2 x3 x4
p (x) 1/2 1/4 1/8 1/8
C5
0 10 110 111
1/2
0
x1 1/4
1
1
1/2
0 1
1/4
x2
1
Figure 4.5
1/8
x3
1/8
x4
0
Representation of the prefix code 5 in a binary tree.
4.2 KRAFT INEQUALITY
x
p (x)
C1
x1 x2 x3 x4
1/2 1/4 1/8 1/8
00 01 10 11
3/4
1
0
1/2
x1
1/4
x2
1/8
x3
1/8
x4
0
1
1 1/4
0 1
75
Figure 4.6 Representation of the code 1 in a (full) binary tree.
Lemma 4.1 (Path length lemma) In a tree representation of a prefix code, the average codeword length L = E[𝓁x ] equals the sum of probabilities for the inner nodes, including the root. Before stating a proof of the lemma, the next example describes the general idea of why the lemma works.
Example 4.1 be derived as
Consider again the prefix code 5 . The average codeword length can L=
∑ x
p(x)𝓁x = 12 1 + 14 2 + 18 3 + 18 3 = 1.75
(4.7)
The derivations can be rewritten as L=
1 2
⏟⏟⏟
+
+ 14 + 18 + 18 + 18 + 18 + 18 + 18 ⏟⏟⏟ ⏟⏞⏞⏟⏞⏞⏟ ⏟⏞⏞⏟⏞⏞⏟
x1
=
1 2
1 4
x2 1 4
1 8
1 8
x3 1 4
1 8
x4 1 8
1 8
1 8
+ + + + + + + + = 1.75 ⏟⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏟ ⏟⏞⏞⏟⏞⏞⏟ ⏟⏟⏟ 1
1∕2
(4.8)
1∕4
That is, by rearranging the terms of the sum in equality two, it can be seen that each leaf probability is present in each of the nodes on the path to the leaf. Hence, by summing up all inner node probabilities the contribution from a leaf probability is the probability times its depth. A more formal proof for Lemma 4.1 is as follows, based on induction. The proof only deals with binary trees, but the lemma is also true for arbitrary Dary trees. Proof: First assume a code tree with two leaves at depth 1 and one inner node, i.e., the root, with probability 1. Clearly, the lemma is true for this case since the root probability is one and the depth of the leaves is one. This is the only tree with two leaves that is considered. All other trees with two leaves can be viewed as higher order trees with all but two leaf probabilities set to zero.
76
CHAPTER 4 OPTIMAL SOURCE CODING
To show the lemma for higher order trees with k > 2 leaves, first assume that the lemma holds for any binary tree with k − 1 leaves. Consider a tree with k leaves denoted by {x1 , … , xk }. In Problem 4.4, it is shown that a binary tree with k leaves has k − 1 inner nodes. Denote the inner leaves in the tree with k leaves by {q1 , … , qk−1 }. From this tree, construct a reduced tree by removing two sibling leaves, say xi and xj , and denote the parent node by qm . Denote {̃x1 , … , x̃ k−1 } and {̃q1 , … , q̃ k−2 } as the leaves and inner nodes, respectively, in the reduced tree, and let x̃ n = qm . From the assumption presented above, the lemma holds for the reduced tree, and ∑ [ ] ∑ ̃ px̃ 𝓁x̃ = pq̃ (4.9) L = E 𝓁x̃ = x̃
q̃
Since the parent node probability equals the sum of the sibling node probabilities, px̃ n = pqm = pxi + pxj and 𝓁x̃ n = 𝓁qm = 𝓁xi − 1 = 𝓁xj − 1, the average codeword length for the tree with k leaves can be written as [ ] ∑ L = E 𝓁x = px 𝓁x =
∑
x
px 𝓁x + pxi 𝓁xi + pxj 𝓁xj
x≠xi ,xj
=
∑
x≠xi ,xj
=
∑ x̃
𝓁x̃ n
px̃ n
∑ x̃ ≠̃xn
=
px 𝓁x + (pxi + pxj ) (𝓁xi − 1) + pxi + pxj ⏟⏞⏞⏟⏞⏞⏟ ⏟⏞⏟⏞⏟ ⏟⏞⏟⏞⏟ pqm
px̃ 𝓁x̃ + px̃ n 𝓁x̃ n + pqm
px̃ 𝓁x̃ + pqm =
∑ q̃
pq̃ + pqm =
∑ q≠qm
pq + pqm =
∑
pq
(4.10)
q
Hence, the lemma is true for the tree with k leaves, which completes the proof. Since the sum of all leaf probabilities equals the root probability, an alternative formulation can be given where the average length is the sum of all node probabilities except the root. This is used later when considering adaptive compression methods. It is now time to state and show a famous result, first derived in a master thesis’s project by Leon Kraft in 1949 [16]. It meets the requirement of the codeword lengths used to form a prefix code. Theorem 4.1 (Kraft inequality) There exists a prefix Dary code with codeword lengths 𝓁1 , 𝓁2 , … , 𝓁k if and only if k ∑
D−𝓁i ≤ 1
(4.11)
i=1
To show this, consider a Dary prefix code where the longest codeword length is 𝓁max = maxx 𝓁x . This code can be represented in a Dary tree. A full Dary tree of
4.2 KRAFT INEQUALITY
⎫ ⎪ ⎪ ⎪ ⎪ ⎬
xi
⎪ ⎪ ⎪ ⎪ ⎭ i
77
Dmax – i leaves
max – i
Remove subtree
Figure 4.7
Tree construction for a general prefix code.
depth 𝓁max has D𝓁max leaves. In the tree representation, the codeword corresponding to symbol xi is a length 𝓁i path from the root. Since it should be a prefix code, the subtree spanned with xi as a root is not allowed to be used by any other codeword, hence it should be removed from the tree (see Figure 4.7). So, when including the codeword for symbol xi , D𝓁max −𝓁i leaves are removed from the tree. The number of removed leaves cannot exceed the total number of leaves in the full Dary tree of depth 𝓁max , ∑ D𝓁max −𝓁i ≤ D𝓁max (4.12) i
By cancelling
D𝓁max
on both sides, this proves that for a prefix code ∑ D−𝓁i ≤ 1
(4.13)
i
To show that if the inequality is fulfilled, it is possible to construct a prefix code, ∑ start by assuming i D𝓁i ≤ 1 and order the codeword lengths as 𝓁1 ≤ 𝓁2 ≤ ⋯ ≤ 𝓁k , where 𝓁k = 𝓁max . Then use the same construction as above; start with the shortest codeword and remove the subtree. After m < k steps, the number of nonused leaves left at depth 𝓁max in the tree is D𝓁max −
m ∑ i=1
m ( ) ∑ D𝓁max −𝓁i = D𝓁max 1 − D−𝓁i > 0 i=1
(4.14)
∑ −𝓁i < 1. In other where the last inequality comes from the assumption, i.e., m i=1 D words, as long as i < k, there is at least one leaf left at depth 𝓁max . The last codeword only needs one leaf since it is of maximum length, which shows that it is always possible to construct a prefix code if the inequality is fulfilled.
78
CHAPTER 4 OPTIMAL SOURCE CODING
0
x
C1
x1 x2 x3 x4 x5
00 01 10 110 1110
2 2 2 3 4
0 1
1
0
x1 x2 x3
1
0 1
x4 0
x5
1
Figure 4.8
A code with codeword lengths {2, 2, 2, 3, 4}.
Notice that the second part of the proof of Kraft inequality is constructive. It describes a method to find a tree representation for a prefix code when the codeword lengths are given. Example 4.2 To construct a binary prefix code with codeword lengths 𝓁 ∈ {2, 2, 2, 3, 4}, first check that it is possible according to Kraft inequality. The derivation ∑ 1 2−𝓁i = 2−2 + 2−2 + 2−2 + 2−3 + 2−4 = 3 14 + 18 + 16 = 15 1 (4.17) 16 i
Since Kraft inequality is not fulfilled, it is not possible to construct a prefix code with these codeword lengths. In the last part of the previous example, the set of codeword lengths does not fulfill Kraft inequality, and it is not possible to construct a prefix code. It should then be noted that Kraft inequality can be extended to hold for uniquely decodable codes, a result due to McMillan [17]. That means, any set of codeword lengths that can be implemented with a uniquely decodable code can also be implemented with a prefix code.
4.2 KRAFT INEQUALITY
79
Theorem 4.2 (McMillan inequality) There exists a uniquely decodable Dary code with codeword lengths 𝓁1 , 𝓁2 , … , 𝓁k if and only if k ∑
D−𝓁i ≤ 1
(4.18)
i=1
Since a prefix code is also uniquely decodable, the existence of such a code follows directly from Theorem 4.1. To show that a uniquely decodable code satisfies the inequality, assume that the codeword lengths in the code are 𝓁1 , … 𝓁k and that the maximum length is 𝓁max = maxi 𝓁i . The sum can be rewritten as k ∑
𝓁max −𝓁i
D
=
i=1
∑
wj D−j
(4.19)
j=1
where wj denotes the total number of codewords of length j. The nth power of this sum equals k (∑
D−𝓁i
)n =
max (𝓁∑
i=1
wj D−j
)n
j=1 𝓁max
=
∑
𝓁max
⋯
j1 =1
∑
(wj1 ⋯ wjn )D−(j1 +⋯+jn )
jn =1
∑
n𝓁max
=
W𝜏 D−𝜏
𝜏=n
where W𝜏 =
∑
(4.20)
(wj1 ⋯ wjn )
(4.21)
j1 +⋯+jn =𝜏
is the total number of code sequences of length 𝜏 obtained by concatenating n codewords. Since the code is uniquely decodable, all vectors must be distinct, and the number of length 𝜏 code vectors cannot exceed the total number length 𝜏 vectors, W𝜏 ≤ D𝜏 . In other words, W𝜏 D−𝜏 ≤ 1 and k (∑
−𝓁i
)n
D
∑
n𝓁max
=
𝜏=n
i=1
∑
n𝓁max −𝜏
W𝜏 D
≤
𝜏=n
1 ≤ n𝓁max
(4.22)
√ ∑ Taking the nth root of this expression gives ki=1 D−𝓁i ≤ n n𝓁max , which should hold for any number of concatenated codewords n. Considering infinitely long code sequences completes the proof of McMillans inequality, k ∑ i=1
D−𝓁i ≤ lim
n→∞
√ n n𝓁max = 1
(4.23)
80
CHAPTER 4 OPTIMAL SOURCE CODING
In the continuation of this chapter, results based on Kraft inequality are often stated for prefix codes, although McMillan inequality shows that they also hold for the larger class of codes, the uniquely decodable codes. The reason is that it is often much easier to construct and make use of prefix codes, and in light of McMillan’s inequality there is no gain in the average codeword length to consider uniquely decodable codes. That is, given a uniquely decodable code, it is always possible to construct a prefix code with the same set of codeword lengths.
4.3
OPTIMAL CODEWORD LENGTH
With Kraft inequality, a mathematical foundation needed to consider an optimization function for the codeword lengths is obtained. One standard method for minimization of a function with some side criterion is the Lagrange multiplication method (see, e.g., [18]). Assign an optimization function to optimize the average codeword length with the side condition that Kraft inequality applies, (∑ ) ∑ p(xi )𝓁i + 𝜆 D−𝓁i − 1 (4.24) J= i
i
Setting the derivative of J equal zero for each 𝓁i gives an equation system, 𝜕 J = p(xi ) − 𝜆D−𝓁i ln D = 0 𝜕𝓁i
(4.25)
or, equivalently, D−𝓁i =
p(xi ) 𝜆 ln D
(4.26)
The condition from Kraft inequality gives ∑ p(xi ) ∑ 1 D−𝓁i = = =1 𝜆 ln D 𝜆 ln D i i
(4.27)
Combine (4.26) and (4.27) to get 1 = p(xi ) 𝜆 ln D Thus, the optimal codeword length for codeword i is obtained as D−𝓁i = p(xi )
(opt)
𝓁i
= − logD p(xi )
(4.28)
(4.29) becomes2
The optimal average codeword length for a prefix code then ∑ ∑ H(X) (opt) Lopt = p(xi )𝓁i =− p(xi ) logD p(xi ) = HD (X) = log D i i 2 The
notation HD (X) =
∑ x
p(x) logD p(x) =
∑ x
p(x)
log p(x) log D
is used for the entropy when derived over the base D instead of base 2.
=
H(X) log D
(4.30)
4.3 OPTIMAL CODEWORD LENGTH
81
To verify that the entropy HD (X) is a lower bound, i.e. that it is a global minimum, consider an arbitrary set of codeword lengths 𝓁1 , … , 𝓁k such that Kraft inequality is satisfied. Then, ∑ ∑ HD (X) − L = − p(xi ) logD p(xi ) − p(xi )𝓁i =
∑ i
=
∑
i
i
∑ 1 p(xi ) logD p(xi ) logD D𝓁i − p(xi ) i p(xi ) logD
i
≤
∑
( p(xi )
i
∑( D−𝓁i =
) D−𝓁i − 1 logD e p(xi ) ) − p(xi ) logD e
i
=
(∑
D−𝓁i p(xi )
D−𝓁i −
i
∑
) p(xi ) logD e ≤ 0
(4.31)
i
⏟⏞⏟⏞⏟
⏟⏞⏟⏞⏟ ≤1
=1
which implies that L ≥ HD (X) for all prefix codes. In the first inequality the ITinequality was used and in the second Kraft inequality. Both inequalities are satisfied with equality if and only if 𝓁i = − logD p(xi ). When deriving the optimal codeword lengths, the logarithmic function in general will not give integer values, so in practice it might not be possible to reach this lower limit. The above result is summarized in the following theorem. Theorem 4.3 The average codeword length L = E[𝓁x ] for a prefix code is lower bounded by the entropy of the source, L ≥ HD (X) =
H(X) log D
(4.32)
with equality if and only if 𝓁x = − logD p(x). From the previous theorem on the optimal codeword length and the construction method in the proof of Kraft inequality, it is possible to find an algorithm for a code (opt) design. The codeword length for source symbol xi is 𝓁i = − logD p(xi ). To assure that the codeword length is an integer use instead ⌈ ⌉ 𝓁i = − logD p(xi ) (4.33) From the following derivation it can be seen that Kraft inequality is still satisfied, which shows that it is possible to construct a prefix code, ∑ ∑ ∑ ∑ D−𝓁i = D−⌈− logD p(xi )⌉ ≤ D−(− logD p(xi )) = p(xi ) = 1 (4.34) i
i
i
i
82
CHAPTER 4 OPTIMAL SOURCE CODING
This code construction is often named the Shannon–Fano code. Since the codeword length is the upper integer part of the optimal length, it can be bounded as − logD p(xi ) ≤ 𝓁i < − logD p(xi ) + 1 Taking the expectation of the above gives ] [ ] [ ] [ E − logD p(X) ≤ E 𝓁 ≤ E − logD p(X) + 1
(4.35)
(4.36)
which can also be expressed as HD (X) ≤ L ≤ HD (X) + 1
(4.37)
That is, the above code construction gives a code with average codeword length L < HD (X) + 1. It is reasonable to define an optimum prefix code as a prefix code with the minimum average codeword length over all prefix codes for that random variable. Such optimum code can clearly not exceed the Shannon–Fano average codeword length. Together with the result in Theorem 4.3, the following theorem is obtained. Theorem 4.4 code satisfies
The average codeword length, L = E[𝓁x ], for an optimal Dary prefix HD (X) ≤ L < HD (X) + 1
(4.38)
Even though the Shannon–Fano code construction is used to bound an optimal code, it is important to note that in general this code construction is not optimal. But since an optimal code cannot have a longer average codeword length, it can be used as an upper bound. In the next example, it is seen that the Shannon–Fano code construction can give a suboptimal code. Example 4.3 Consider a random variable with four outcomes according to the table below. In the table, it is also listed the optimal codeword lengths and the lengths for the codewords in a Shannon–Fano code. x
p(x)
− log p(x)
𝓁 = ⌈− log p(x)⌉
x1 x2 x3 x4
0.45 0.25 0.20 0.10
1.152 2 2.32 3.32
2 2 3 4
Since Kraft inequality is fulfilled, ∑ 2−𝓁 = 14 + 14 + 𝓁
1 8
+
1 16
=
11 16
0 ≥0
(4.50)
̃ L
where ̃ L is the length when the codewords are swapped. This shows that by swapping the codewords L ≥ ̃ L, with equality when 𝓁i = 𝓁j . Hence, in an optimal code, codewords corresponding to less probable symbols are not shorter than codewords corresponding to more probable symbols.
88
CHAPTER 4 OPTIMAL SOURCE CODING
pk p˜ k – 1
0
xk
x˜k – 1 1 p k–1 xk – 1 Figure 4.13
A code tree for an optimal code.
The second observation is that in a tree corresponding to an optimal code, there are no unused leaves. This can be seen by assuming a code with an unused leaf in the tree. Then the parent node of this leaf has only one branch. By removing this last branch and placing the leaf at the parent node, a shorter codeword is obtained, and therefore the average length decreases. Hence, the assumed code cannot be optimal. The third observation is that the two least probable codewords are of the same length, and that a code tree can be constructed such that they differ only in the last bit. This can be seen by assuming that the least probable symbol has a codeword according to y1 … y𝓁−1 0. Then since there are no unused leaves, there exists a codeword y1 … y𝓁−1 1. If this is not the second least probable codeword, it follows from the first observation that the second least probable codeword has the same length. So, this codeword can be swapped with y1 … y𝓁−1 1 and to get the desired result. Then a binary code for a random variable X with k outcomes corresponds to a binary tree with k leaves, since there are no unused leaves. The two least probable symbols, xk and xk−1 , corresponding to probabilities pk and pk−1 , can be assumed to be located as siblings in the tree (see Figure 4.13). The parent node for these leaves has the probability p̃ k−1 = pk + pk−1 . Then, a new code tree with k − 1 leaves can be constructed by replacing the codewords for xk and xk−1 by its parent node, called x̃ k−1 in the figure. Denote by L the average length in the original code with k codewords and L̃ the average length in the new code. From the path length lemma L = L̃ + p̃ k−1 = L̃ + (pk + pk−1 )
(4.51)
Since pk and pk−1 are the two least probabilities for the random variable, the code with k codewords can only be optimal if the code with k − 1 elements is optimal. Continuing this reasoning until there are only two codewords left, the optimal code has the codewords 0 and 1. The steps taken here to construct an optimal code are exactly the same steps used in the Huffman algorithm. Hence, it is concluded that a Huffman code is an optimal code. Theorem 4.7
A binary Huffman code is an optimal prefix code.
On many occasions, there can be more than one way to merge the nodes in the algorithm. For exampl,e if there are more than two nodes with the same least probability. That means the algorithm can produce different codes depending on which merges
4.4 HUFFMAN CODING 0.4 0.6 0.4 1
0 1
0.6
1
0
x1
0.2
0 1
0.4
x1
0.2
1
0
1
x3
0.2
0.1
0 1
0.1
0.4
x4
1
x5
Alternative 1
0.2
x2
0.2
x3
0
0.1
x4
0.1
x5
0
0.2
1
x2 1
Figure 4.14
0
89
Alternative 2
Two alternative Huffman trees for one source.
are chosen. Independent of which code is considered, the codeword length remains minimal, as mentioned in the following example.
Example 4.6
The random variable X with five outcomes has the probabilities x:
x1
x2
x3
x4
x5
p(x) :
0.4
0.2 0.2
0.1
0.1
The Huffman algorithm can produce two different trees, and thus two different codes for this statistics. In Figure 4.14, the two trees are shown. The difference in the construction becomes evident after the first step of the algorithm. Then there are three nodes with least probability, x2 , x3 , and x1 x2 . In the first alternative, the nodes x3 and x1 x2 are merged into x3 x4 x5 with probability 0.4, and in the second alternative the two nodes x2 and x3 are merged to x2 x3 . The average codeword length for the both alternatives will give the same calculation L1 = L2 = 1 + 0.6 + 0.4 + 0.2 = 2.2 bit
(4.52)
In Example 4.6, both codes give the same codeword lengths and both codes are optimal. However, the difference can be of importance from another perspective. Source coding gives variations in the length of the coded symbols, i.e. the rate of the symbol varies from the encoder. In, for example, video coding, this might be an important design factor when choosing codes. For standard definition (SD), the rate is approximately 2–3 Mb/s on average but the peak levels can go up to as high as 6–8 Mb/s. For high definition (HD), the problem is even more pronounced. In most communication schemes, the transmission is done with a fixed maximum rate. To handle this mismatch, the transmitter and receiver is often equipped with buffers. At the same time, the delays in the system should be kept as small as possible, and therefore the buffer sizes should also be small. This implies that the variations in the rates from the source encoder should be as small as possible. In the example, for the first alternative of the code tree, the variation in length is larger than
90
CHAPTER 4 OPTIMAL SOURCE CODING
in the second alternative. This will be reflected in the variations in the rates of the code symbol. One way to construct minimum variance Huffman codes is to always merge the shortest subtrees when there is a choice. In the example, alternative 2 is a minimum variance Huffman code and might be preferable to the first alternative. As noted in Example 4.5, a requirement for the optimal code to reach the entropy is that − log p(x) are integers, i.e. that the probabilities are powers of two. Especially for sources with few outcomes, or very skew distributions, the gap toward the entropy can be large. Considering a binary source, the Huffman code will always be built from a binary tree of depth one. That means the optimal codeword length is still one, and the gap toward the entropy becomes 1 − h(p), where p is the probability for one of the outcomes. To circumvent this obstacle and force the codeword length toward the entropy, the source sequence can be viewed as a sequence of vectors of length n instead of symbols. Then there is a distribution for the vectors instead, on which a Huffman code can be built. This is the idea of Theorem 4.6, where the upper bound of the average codeword length is H(X) + 1n . In the next example, such construction will be shown.
Example 4.7 Consider a source with three outcomes distributed according to P ∈ {0.6, 0.25, 0.15}. Clearly, a Huffman code can be constructed as x
p(x)
y(x)
1 2 3
0.6 0.25 0.15
1 01 00
The average codeword length for this code is L = 1.4 bit, whereas the entropy is H(X) = 1.3527 bit. The gap between the obtained codeword length and the entropy is 0.05 bit/symbol. Even though this is only 3.5% of the entropy, it is an unnecessary gap for optimal coding. So, instead of constructing the code symbolwise, group pairs of symbols and construct a Huffman code for this case. (x1 x2 )
p(x1 x2 )
y(x1 x2 )
𝓁x 1 x 2
11 12 13 21 22 23 31 32 33
0.36 0.15 0.09 0.15 0.0625 0.0375 0.090 0.0375 0.0225
1 010 0001 011 0011 00001 0010 000000 000001
1 3 4 3 4 5 4 6 6
4.4 HUFFMAN CODING
91
Figure 4.15 Average codeword length for Huffman coding by vectors of length up to n = 12.
Ln 15 10 5
2
4
6
n
8 10 12
The average codeword length of this code is L2 = 2.7775 bit, which gives L2(1) = L2 ∕2 = 1.3887 bit/symbol. Even more improvements can be obtained if vectors of length three, (x1 x2 x3 ), are used in the Huffman construction. Then the average codeword length is L3 = 4.1044 bits, and the average codeword length per symbol is L3(1) = L3 ∕3 = 1.3681 bit/symbol. As seen, the efficiency of the code increases and the codeword length per symbol is getting closer to the entropy. In Figure 4.15, the average codeword lengths are shown when vectors of lengths n = 1, 2, … , 12 are used in the Huffman code. In Figure 4.16, the corresponding average codeword length per symbol is shown. Here the upper and lower bounds are also shown as H(X) ≤ Ln(1) ≤ H(X) +
1 n
(4.53)
Clearly, there is an improvement in terms of codeword lengths per symbol, and the larger n becomes the closer to the entropy it can get. However, the price paid here is the extra complexity for building the code tree for vectors instead of symbols. The number of vectors will grow exponentially with n, and the tree for n = 12 in this example is built with 312 = 531 441 leaves. In the Section 4.5, the principles of Arithmetic coding will be described. The idea is to perform encoding over vectors in a Figure 4.16 Average codeword length per symbol for Huffman coding by vectors of length up to n = 12.
( 1)
Ln
H (X) +
1 n
1.5 1.4 H (X) 1.3
2
4
6
8 10 12
n
92
CHAPTER 4 OPTIMAL SOURCE CODING
slightly suboptimal way. The results are comparable to Huffman coding over vectors, but without the exponential complexity growth.
4.4.1
Nonbinary Huffman Codes
So far only binary Huffman codes have been considered. In most applications, this is enough but there are also cases when a larger alphabet is required. In these cases, nonbinary, or Dary, Huffman codes can be considered. The algorithm and the theory are in many aspects very similar. Instead of a binary tree, a Dary tree is constructed. Such a tree with depth 1 has D leaves. Then it can be expanded by adding D children to one of the leaves. In the original tree, one leaf has become an internal node and there are D new leaves, in total there are now D − 1 additional leaves. Every following such expansion will also give D − 1 additional leaves, which gives the following lemma. Lemma 4.2
The number of leaves in a Dary tree is D + q(D − 1)
(4.54)
for some nonnegative integer q. This means there can be unused leaves in the tree, but for an optimal code there must be at most D − 2. Furthermore, these unused leaves must be located at the same depth and it is possible to rearrange such that they stem from the same parent node. This observation corresponds to the binary case that there are no unused leaves. The code construction for the Dary case can then be shown in a similar way as for the binary case. Although not shown here, the constructed code is optimal. The algorithm for constructing a Dary Huffman code is given below.
Algorithm 4.2 (Dary Huffman code) To construct the code tree for a random variable with k outcomes: 1. Sort the source symbols according to their probabilities. Fill up with zero probable nodes so that the total number of nodes is K = D + q(D − 1). 2. Connect the D least probable symbols in a Dary tree and remove them from the list. Add the root of the tree as a symbol in the list. 3. If only one symbol left in the list STOP Else GOTO 2
The procedure is shown with an example.
4.4 HUFFMAN CODING
x
y
x1 x2 x3 x4 x5 x6
0 1 20 21 220 221
Figure 4.17 A 3ary tree for a Huffman code.
0.27
0 1
1 2
93
x1
0.23
x2
0.50
0.20
x3
0 1
0.15
x4
2
0.15
0.10
x5
0
0.05
1
x6
2 0
x7
Example 4.8 Construct an optimal code with D = 3 for the random variable X with k = 6 outcomes and probabilities x:
x1
p(x) : 0.27
x2
x3
x4
x5
x6
0.23
0.20
0.15
0.10
0.05
First, find the number of unused leaves in the tree. There will be K = D + q(D − 1) leaves in the tree where K is the least integer such that K ≥ k and q integer. That is, ⌉ ⌈ ⌉ ⌈ ⌉ ⌈ 6−3 3 k−D = = =2 (4.55) q= D−1 3−1 2 and the number of leaves in the 3ary tree is K = 3 + 2(3 − 1) = 7
(4.56)
Since there are only six codewords used, there will be one unused leaf in the tree. To incorporate this in the algorithm add one symbol, x7 , with probability 0. Then the code tree can be constructed as in Figure 4.17. The branches are labeled with the code alphabet {0, 1, 2}. In the figure, the tree representation is also translated into a code table. The average length can as before be calculated with the path length lemma, L = 1 + 0.5 + 0.15 = 1.65
(4.57)
As a comparison, the lower bound of the length is the 3ary entropy, H3 (X) =
H(X) 2.42 ≈ = 1.52 log 3 1.59
(4.58)
Even though the lower bound is not reached, this is an optimal code and it is not possible to find a prefix code with less average length. To start the algorithm, the number of unused leaves in the tree must be found. The relation between the number of source symbol alternatives k and the number of leaves
94
CHAPTER 4 OPTIMAL SOURCE CODING
in the tree is D + (q − 1)(D − 1) < k ≤ D + q(D − 1)
(4.59)
By rearrangement, this is equivalent to q−1
0. Hence, the arithmetic mean of n i.i.d. random variables approaches the expected value of the distribution as n grows. Consider instead the logarithmic probability for a vector x = (x1 , x2 , … , xn ) of length n, consisting of i.i.d. random variables. From the weak law of large numbers −
∏ 1 1 p(xi ) log p(x) = − log n n i 1∑ = − log p(xi ) n i [ ] p → E − log p(X) = H(X)
(6.5)
or, equivalently, ( [ ] )  1 lim P − log p(x) − E X < 𝜀 = 1   n n→∞
(6.6)
for an arbitrary 𝜀 > 0. That is, for all sequences, the mean of the logarithm for the probability approaches the entropy as the length of the sequence grows. For finite sequences, not all will fulfill the criteria set up by the probabilistic convergence. But those that fulfill are the ones that are the most likely to happen, and are called typical sequences. This behavior is named the asymptotic equipartition property [19]. It is defined as follows.
6.1 ASYMPTOTIC EQUIPARTITION PROPERTY
135
Definition 6.1 (AEP) The set of 𝜀typical sequences A𝜀 (X) is the set of all ndimensional vectors x = (x1 , x2 , … , xn ) of i.i.d. variables with entropy H(X), such that  1  − log p(x) − H(X) ≤ 𝜀  n 
(6.7)
for a real number 𝜀 > 0. The requirement in (6.7) can also be written as 1 −𝜀 ≤ − log p(x) − H(X) ≤ 𝜀 n
(6.8)
2−n(H(X)+𝜀) ≤ p(x) ≤ 2−n(H(X)−𝜀)
(6.9)
which is equivalent to
In this way, the AEP can alternatively be defined as follows. Definition 6.2 (AEP, Alternative definition) The set of 𝜀typical sequences A𝜀 (X) is the set of all ndimensional vectors x = (x1 , x2 , … , xn ) of i.i.d. variables with entropy H(X), such that 2−n(H(X)+𝜀) ≤ p(x) ≤ 2−n(H(X)−𝜀)
(6.10)
for a real number 𝜀 > 0. The two definitions above are naturally equivalent, but will be used in different occasions. In the next example, an interpretation of the 𝜀typical sequences is given.
Example 6.1 Consider a binary vector of length n = 5 with i.i.d. elements where pX (0) = 13 and pX (1) = 23 . The entropy for each symbol is H(X) = h(1∕3) = 0.918. In Table 6.1, all possible vectors and their probabilities are listed. As expected, the all zero vector is the least possible vector, while the all one vector is the most likely. However, even this most likely vector is not very likely to happen, it only has a probability of 0.1317. Picking one vector as a guess for what the outcome will be, this should be the one, but even so, it is not likely to make a correct guess. In the case when the order of the symbols is not important, it appears to be better to guess on the type of sequence, here meaning the number of ones and zeros. The probability for a vector containing k ones and 5 − k zeros is given by the binomial distribution as ( ) k ( )( ) ( ) n 2 n 2 k 1 n−k = (6.11) P(k ones) = k 3n 3 k 3
136
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
TABLE 6.1
Probabilities for binary vectors of length 5.
x
p(x)
x
p(x)
00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010
0.0041 0.0082 0.0082 0.0165 0.0082 0.0165 0.0165 0.0329 0.0082 0.0165 0.0165
01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101
0.0329 0.0165 0.0329 0.0329 0.0658 0.0082 0.0165 0.0165 0.0329 0.0165 0.0329
⋆
⋆ ⋆ ⋆ ⋆
⋆
x
p(x)
10110 10111 11000 11001 11010 11011 11100 11101 11110 11111
0.0329 0.0658 0.0165 0.0329 0.0329 0.0658 0.0329 0.0658 0.0658 0.1317
⋆ ⋆ ⋆ ⋆ ⋆ ⋆ ⋆ ⋆
⋆
which is already discussed in Chapter 2 (see Figure 2.5). Viewing these numbers in a table gives k
P(k) =
0 1 2 3 4 5
0.0041 0.0412 0.1646 0.3292 0.3292 0.1317
(5) 2k k 35
Here it is clear that the most likely vector, the all one vector, does not belong to the most likely type of vector. When guessing of the number of ones, it is more likely to get 3 or 4 ones. This is of course due to the fact that there are more vectors that fulfill this criteria than the single all one vector. So, this concludes that vectors with 3 or 4 ones are the most likely to happen. The question then is how this relates to the definitions of typical sequences. To see this, first a value on 𝜀 must be chosen. Here 15% of the entropy is used, which gives 𝜀 = 0.138. The interval in Definition 6.2 is given by 1 −5(h( )+0.138) 3
≈ 0.0257
(6.12)
1 −5(h( )−0.138) 3 2
≈ 0.0669
(6.13)
2−n(H(X)+𝜀) = 2 2−n(H(X)−𝜀) =
Thus, the 𝜀typical vectors are the ones with probabilities between these numbers. In Table 6.1, these vectors are marked with a ⋆. Notably, it is the same vectors as earlier intuitively concluded to be the most likely to happen, i.e. vectors with 3 or 4 ones.
6.1 ASYMPTOTIC EQUIPARTITION PROPERTY
137
In the previous example, it was seen that the typical vectors constitute the type of vectors that are most likely to appear. In the example, very short vectors were used to be able to list all of them, but for longer sequences it can be seen that the 𝜀typical vectors are just a fraction of all vectors. On the other hand, it can also be seen that the probability for a random vector to belong to the typical set is close to one. More formally, the following theorem can be stated. Theorem 6.2 Consider length n sequences of i.i.d. random variables with entropy H(X). For each 𝜀 > 0, there exists an integer n0 such that, for each n > n0 , the set of 𝜀typical sequences, A𝜀 (X), fulfills ) ( (6.14) P x ∈ A𝜀 (X) ≥ 1 − 𝜀   (6.15) (1 − 𝜀)2n(H(X)−𝜀) ≤ A𝜀 (X) ≤ 2n(H(X)+𝜀)   where A𝜀 (X) denotes the cardinality of the set A𝜀 (X). The first part of the theorem, (6.14), is a direct consequence of the law of large numbers stating that − 1n log p(x) approaches H(X) as n grows. That means there exists an n0 , such that for all n ≥ n0 ( )   1 P − log p(x) − H(X) < 𝜀 ≥ 1 − 𝛿 (6.16)   n for any 𝛿 between zero and one. Replacing 𝛿 with 𝜀 gives ( )   1 P − log p(x) − H(X) < 𝜀 ≥ 1 − 𝜀 (6.17)   n which is equivalent to (6.14). It shows that the probability for a randomly picked sequence being a typical sequence can be made arbitrarily close to 1 by choosing large enough n. To show the second part, that the number of 𝜀typical sequence is bounded by (6.15), start with the lefthand side inequality. According to (6.14), for large enough n0 ∑ ( ) 1 − 𝜀 ≤ P x ∈ A𝜀 (X) = p(x) x∈A𝜀 (X)
∑
≤
−n(H(X)−𝜀)
2
x∈A𝜀 (X)
  = A𝜀 (X)2−n(H(X)−𝜀)  
(6.18)
where the second inequality follows directly from the lefthand side inequality in (6.10). Similarly, the righthand side of (6.15) can be shown by ∑ ∑ p(x) ≥ p(x) 1= x
≥
∑
x∈A𝜀 (X)
x∈A𝜀 (X)
  2−n(H(X)+𝜀) = A𝜀 (X)2−n(H(X)+𝜀)  
(6.19)
The next example, inspired by [32], shows the consequences of the theorem for longer sequences.
138
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
Example 6.2 Let n be the set of all binary random sequences of length n with i.i.d. variables, where p(0) = 13 and p(1) = 23 . Let 𝜀 = 0.046, i.e. 5% of the entropy
h( 13 ). The true number of 𝜀typical sequences and their bounding functions are given in the next table for lengths of n = 100, n = 500, and n = 1000. As a comparison, the fraction of 𝜀typical sequences compared to the total number of sequences is also shown. From the table, it is seen that for large n the 𝜀typical sequences only constitute a small fraction of the total number of sequences.
n 100 500 1000
(1 − 𝜀)2n(H(X)−𝜀)
A𝜀 (X)
2n(H(X)+𝜀)
A𝜀 (X)∕ n 
1.17 × 1026 1.90 × 10131 4.16 × 10262
7.51 × 1027 9.10 × 10142 1.00 × 10287
1.05 × 1029 1.34 × 10145 1.79 × 10290
5.9 × 10−3 2.78 × 10−8 9.38 × 10−15
Next, the probability for the 𝜀typical sequences is given together with the probability for the most probable sequence, the allone sequence. Here it is clearly seen that the most likely sequence has a very low probability and is in fact very unlikely to happen. Instead, the most likely event is that a random sequence is taken from the typical sequences, for which the probability approaches one.
n 100 500 1000
6.2
P(A𝜀 (X))
P(x = 11 … 1)
0.660 0.971 0.998
2.4597 × 10−18 9.0027 × 10−89 8.1048 × 10−177
SOURCE CODING THEOREM
In Chapter 4, it was shown that a symbol from a source can, on average, be represented by a binary vector, or sequences, of the same length as the entropy, which is stated as the source coding theorem. It was also shown that the entropy is a hard limit and that the average length cannot be shorter if the code should be uniquely decodable. In Chapter 4, the result was shown using the Kraft inequality and Shannon–Fano coding. In this section, the source coding theorem will be shown using AEP. To construct a source code, consider source symbols as ndimensional vectors of i.i.d. variables. In the previous section, it was seen that the typical sequences constitute a small fraction of all sequences, but they are also the most likely to happen. The list of all sequences can be partitioned into two parts, one with the typical
6.2 SOURCE CODING THEOREM
All sequences
139
Nontypical sequences ≤ kn sequences x∉Aε ≤ n log k + 2 bits
Typical sequences ≤ 2n(H(X) + ε) sequences x∈Aε ≤ n(H(X) + ε) + 2 bits Figure 6.1
Principle of Shannon’s sourcecoding algorithm.
sequences and other with the nontypical. Each of the sets is listed and indexed by binary vectors. To construct the codewords, use a binary prefix stating which set the codeword belongs to, e.g., use 0 for the typical sequences and 1 for the nontypical. The following two tables show the idea of the lookup tables: Typical x Index vec
Nontypical x Index vec
x0 x1 ⋮
xa xb ⋮ ⋮
0 0 … 00 0 0 … 01 ⋮
1 0 … … 00 1 0 … … 01 ⋮ ⋮
The number of the typical sequences is bounded by A𝜀 (X) ≤ 2n(H(X)+𝜀) , and, hence, the length of the codewords is ⌈ ⌉ ( )     𝓁x∈A𝜀 = logA𝜀 (X) + 1 ≤ logA𝜀 (X) + 2 ≤ n H(X) + 𝜀 + 2    
(6.20)
Similarly, the length for codewords corresponding to the nontypical sequences can be bounded by ⌈ ⌉ 𝓁x∉A𝜀 = log kn + 1 ≤ log kn + 2 = n log k + 2
(6.21)
where k is the number of outcomes for the variables in the source vectors. In Figure 6.1, the procedure is shown graphically. The idea is that most of the time the source vector will be a typical sequence, which leads to a short codeword. In some rare occasions, it can happen that a nontypical sequence occurs and then there has to be a codeword for this as well. But since the nontypical source vectors are very rare, this will have a negligible effect on the average value of the codeword length.
140
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
The average codeword length can be bounded as [ ] ∑ L = E 𝓁x = p(x)𝓁x =
∑ x∈A𝜀 (X)
≤
∑
x
p(x)𝓁x∈A𝜀 +
∑ x∉A𝜀 (X)
p(x)𝓁x∉A𝜀
∑ ( ) ( ) p(x) n(H(X) + 𝜀) + 2 + p(x) n log k + 2
x∈A𝜀 (X)
x∉A𝜀 (X)
( ) ( ) = P x ∈ A𝜀 (X) n(H(X) + 𝜀) + P x ∉ A𝜀 (X) n log k + 2 ) ( 2 ≤ n(H(X) + 𝜀) + 𝜀n log k + 2 = n H(X) + 𝜀 + 𝜀 log k+ n ⏟⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏟ 𝛿
( ) = n H(X) + 𝛿
(6.22)
where 𝛿 can be made arbitrary small for sufficiently large n. Hence, the average codeword length per symbol in the source vector can be chosen arbitrarily close to the entropy. This can be stated as the source coding theorem. Theorem 6.3 Let X be a length n vector of i.i.d. random variables and probability function p(x). Then, there exists a code that maps the outcome x into binary sequences such that the mapping is invertible and the average codeword length per symbol is [ ] 1 (6.23) E 𝓁x ≤ H(X) + 𝛿 n where 𝛿 can be made arbitrarily small for sufficiently large n, In the above reasoning, it is assumed that the symbols in the vectors are i.i.d. If, however, there is a dependency among the symbols random processes have to be considered. In [19], it was shown that every ergodic source has the AEP. Hence, if x = x1 , x2 , … , xn is a sequence from an ergodic source, then p 1 − log p(x) → H∞ (X), n
n→∞
(6.24)
The set of typical sequences should then be defined as sequences such that   1 − log p(x) − H∞ (X) ≤ 𝜀   n
(6.25)
This leads to the source coding theorem for ergodic sources [19], which is stated here without further proof. Theorem 6.4 Let X be a stationary ergodic process of length n and x a vector from it. Then there exists a code that maps the outcome x into binary
6.3 CHANNEL CODING
141
sequences such that the mapping is invertible and the average codeword length per symbol [ ] 1 (6.26) E 𝓁(x) ≤ H∞ (X) + 𝛿 n where 𝛿 can be made arbitrarily small for sufficiently large n. Generally, the class of ergodic processes is the largest class of random processes where the law of large numbers is satisfied.
6.3
CHANNEL CODING
In Figure 1.2, the block diagram of a communication system is shown. It was stated that the source coding and the channel coding can be separated, which is one important result of information theory. In Chapters 4 and 5, source coding was treated, and in the previous section AEP was used to show the source coding theorem. In this section, the analysis will be concentrated on the channel coding of the communication system. In Figure 6.2, a block diagram with the channel encoder, the channel, and the channel decoder is shown. The channel is a mathematical model representing everything that can occur in the actual transmission including, e.g., background noise, scratches on the surface of a CD, or erasures due to overflow in router buffers. The aim of the channel encoder is to introduce redundancy in such way that the decoder can detect, or even correct, errors that occurred on the channel. The encoding scheme can be described as follows: r The information symbols U are assumed to be taken from a set = {u1 , u2 , … , uM } of M symbols. r The encoding function x : → is a mapping from the set to the set of codewords . Denote the codewords as x(ui ), i = 1, 2, … , M. In the most cases in this text, the codewords are binary vectors of length n and M = 2k for an integer k. r As the codeword is transmitted over the channel, errors occur and the received vector is y ∈ . In many situations, the received symbols are taken from a larger alphabet than the code symbols. It can be that are real values detected by the receiver, whereas the code symbols are discrete, e.g., binary. r The decoding function is then a (typically nonlinear) mapping from the received word to an estimate of the transmitted codeword or the initial set, g : → .
U
Figure 6.2
Channel encoder
X
Channel
Y
A model of the channelcoding system.
Channel decoder
Uˆ
142
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
If there are M possible information symbols,   = M = 2k , and the codewords are ndimensional vectors, it is said to be an (n, k) code. In this environment, the code rate is defined as R = nk . The code rate is a positive real number less than one, 0 < R ≤ 1. If R < 1 not all possible vectors of length n are codewords and there is a built in redundancy in the system. More formally, the set of codewords spans a kdimensional subspace of the ndimensional vector space. The idea with the decoding function is to use this redundancy when estimating the transmitted codeword. The simplest such code is the repetition code, which will be described in the next example.
Example 6.3 Consider a system where the information is 1 bit, U ∈ {0, 1}. The encoder maps this 1 bit to a length 3 vector of identical bits, i.e. 0 → 000 and 1 → 111. The code rate is R = 13 , meaning that one information bit is represented by three code
bits on the channel, or for each codebit transmitted there is 13 information bit. As the code bits are transmitted over the channel, errors might occur. Assume that each bit has an error probability of 𝜀, and that it is a small number (i.e., 𝜀 ≪ 0.5). The most likely event is that the codeword will be received unchanged, in which case the decoding back to information bit is straightforward. If there is an error event during the transmission of a codeword, the most likely error is to alter one of the 3 bits. If, for example, the information bit u = 1 should be transmitted, the codeword is x = 111. Assuming that the channel corrupts the second bit, the received word is y = 101. The receiver can directly see that this is not a codeword and conclude that there has been an error event during the transmission, i.e. it has detected an error. Furthermore, since the error probability 𝜀 is assumed to be small, the receiver can conclude that the most likely transmitted codeword was x̂ = 111, which maps to the estimated information bit û = g(101) = 1, and the decoder has corrected the error. On the other hand, in the case when two code bits are erroneously received, the decoder will make a wrong decision and a decoding error occurs. Again assume that the codeword x = 111 is transmitted, and that both the second and the third bits are altered, i.e. the received word is y = 100. Then the decoder should assume the most likely event that one error in the first bit has occurred and correct to x̂ = 000, which maps back to the estimated information bit û = g(100) = 0. The error probability, i.e. the probability that the decoder makes an erroneous decision, is an important measure of the efficiency of a code ( ) Pe = P g(Y) ≠ uU = u
(6.27)
In all error detection or error correction schemes, there will be a strictly positive probability that the decoder makes a wrong decision. However, the error probability can be arbitrarily small. A code rate is said to be achievable if there exists a code such that the error probability tends to zero as n grows, Pe → 0, n → ∞.
143
6.3 CHANNEL CODING
An important result for bounding the error probability is given in Fano’s lemma. It upper bounds the uncertainty about the information symbol when the estimate from the decoder is given. ̂ be two random variables with the same Lemma 6.1 (Fano’s Lemma) Let U and U ̂ ≠ U) the error probability. Then alphabet of size M, and Pe = P(U ̂ ≤ h(Pe ) + Pe log(M − 1) H(UU)
(6.28)
To show this result, first introduce a binary random variable Z that describes the error, { ̂ 0, U = U (6.29) Z= ̂ 1, U ≠ U Then the conditioned entropy of U is given by ̂ = H(UZU) ̂ = H(ZU) ̂ + H(UUZ) ̂ H(UU) ̂ ≤ H(Z) + H(UUZ) ̂ Z = 0) P(Z = 0) + H(UU, ̂ Z = 1) P(Z = 1) = H(Z) + H(UU, ⏟⏟⏟ ⏟⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏟ ⏟⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏟ ⏟⏞⏟⏞⏟ h(Pe )
≤log(M−1)
=0
≤ h(Pe ) + Pe log(M − 1)
Pe
(6.30)
where in the first inequality it is used that ̂ = H(UU) ̂ + H(ZU U) ̂ = H(UU) ̂ H(UZU)
(6.31)
̂ there is no uncertainty about Z. Furthermore, it is used that since given both U and U, ̂ and Z = 1, U can take only M − 1 values and the entropy is upper conditioned on U bounded by log(M − 1). To get an understanding of the interpretation of the lemma, first plot the function F(p) = h(p) + p log(M − 1)
(6.32)
and set the derivative equal to zero 1−p 𝜕 F(p) = log + log(M − 1) = 0 𝜕p p
(6.33)
which gives an optima for p = M−1 , where F( M−1 ) = log M. At the end points, M M F(0) = 0 and F(1) = log(M − 1). To see that this is really a maximum, take the derivative ones again to get 1 𝜕2 F(p) = ≤ 0, p(p − 1) ln 2 𝜕p2
0≤p≤1
(6.34)
144
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
Figure 6.3 A plot of the inequality of Fano’s lemma.
h(Pe) + Pe log(M − 1) log(M) log(M−1)
M−1 M
1
Pe
Since the second derivative is negative in the whole interval, it is concluded that the function is concave; hence it must be a global maximum. In Figure 6.3, the function is plotted. Notice that the function is nonnegative and that it spans the same interval ̂ as H(UU), ̂ ≤ log M 0 ≤ H(UU)
(6.35)
which is interpreted as the uncertainty about the transmitted symbol U when receiv̂ Therefore, whatever value this uncertainty takes, it is possible to map it to a ing U. positive value for the error probability. One consequence is that the only time it is possible to get a zero error probability is when the uncertainty is zero, i.e. when there are either no disturbances on the channel or completely known disturbances. And this is never the case in a real communication situation. In the next section, the channel coding theorem will be introduced, which gives the necessary and sufficient condition for when it is possible to get arbitrarily small Pe . It will also be seen that it is possible to give a bound on how much information is possible to transmit over a given channel.
6.4
CHANNEL CODING THEOREM
Shannon defined communication as transmitting information from one place and time to another place and time. This describes a lot of scenarios, for example, a telephone call, saving, and extracting data from a USB stick, but also a normal facetoface conversation or even a text like this document. In all of those scenarios, there is a probability of errors along the actual transmission. In the case of telephone call, there can be disturbances along the line, for a normal conversation there are typically background noise and in most texts there are typos. The channel of the transmission is a statistical model representing all these disturbances. There are of course numerous types of channels, and they can be made arbitrarily complicated depending on the
6.4 CHANNEL CODING THEOREM
X
Y
P(Y X)
Figure 6.4
145
A discrete memoryless channel.
level of the modeling. This chapter will concentrate on discrete memoryless channels (DMC). Definition 6.3 A discrete channel is a mathematical system (, P(YX), ), where is the input alphabet and the output alphabet. The actual transmission is described by a transition probability distribution P(YX). The channel is memoryless if the probability distribution is independent of previous input symbols. In Figure 6.4, a block diagram of a discrete memoryless channel is shown. One of the most wellknown channels, the binary symmetric channel (BSC), is described in the next example.
Example 6.4 [BSC] Consider a channel where both the input and the output alphabets are binary, X ∈ {0, 1} and Y ∈ {0, 1}, and that the error probability equals p, i.e. the transition probabilities are described by the following table: X
P(YX) Y=0 Y=1
0 1
1−p p
p 1−p
The probability for having an error, i.e. transmitting 0 and receiving 1 or transmitting 1 and receiving 0, is p and the probability for no error, i.e. receiving the same as transmitting, is 1 − p. This channel model is often denoted by the binary symmetric channel, where the symmetry reflects that the probability of error is independent of transmitted symbol. The channel can be viewed graphically as in Figure 6.5, where X is the transmitter side and Y the receiver side. A measure of the amount of information that is possible to transmit over a channel can be obtained by the mutual information between the receiver and transmitter
0 X
1−p p
Y
p 1
Figure 6.5 the BSC.
0
1−p
1
A graphical interpretation of
146
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
sides, I(X; Y). It measures the average amount of information about the transmitted symbol X obtained by observing the received symbol Y, that is, the information about X that the decoder can extract from the received symbol Y. This measure depends on the distribution of X, which is controlled by the transmitter. By altering the distribution, the mutual information might be changed, and the maximum over all distributions is defined as the information channel capacity. Definition 6.4 is
The information channel capacity of a discrete memoryless channel C = max I(X; Y)
(6.36)
p(x)
where the maximum is taken over all input distributions. The information channel capacity for the binary symmetric channel is derived in the next example.
Example 6.5 For the binary symmetric channel, the mutual information between transmitted and received variable is I(X; Y) = H(Y) − H(YX) = H(Y) −
= H(Y) −
1 ∑ i=0 1 ∑
P(X = i)H(YX = i)
P(X = i)h(p)
i=0
= H(Y) − h(p) ≤ 1 − h(p)
(6.37) 1 . 2
where there is equality if and only if P(Y = 0) = P(Y = 1) = Since the capacity is obtained by maximizing over all input distributions, the probability of Y should be viewed in terms of the probability of X, P(Y = 0) = (1 − p)P(X = 0) + pP(X = 1)
(6.38)
P(Y = 1) = pP(X = 0) + (1 − p)P(X = 1)
(6.39)
From symmetry, it is seen that P(Y = 0) = P(Y = 1) = 1 . 2
1 2
is equivalent to P(X = 0) =
P(X = 1) = Since there is a distribution of X giving the maximizing distribution for Y, the capacity for this channel becomes C = max I(X; Y) = 1 − h(p) p(x)
(6.40)
In Figure 6.6, the capacity is plotted as a function of the error probability p. It is seen that the capacity is 0 for p = 1∕2. That is, with equal error probabilities on the channel there can be no information about the transmitted symbol extracted from the received symbol, and when trying to estimate the transmitted symbol, the decoder is not helped by the received Y. On the other hand, if p = 0 or p = 1 there
147
6.4 CHANNEL CODING THEOREM
Figure 6.6 Capacity of a BSC as a function of the error probability p.
CBSC = 1 − h(p) 1
1/2
1
p
are no uncertainty about the transmitted symbol when given the received Y, and the capacity is 1 bit per transmission, or channel use. To upper bound the capacity, it can be used that the mutual information is upper bounded by I(X; Y) = H(Y) − H(YX) ≤ H(Y) ≤ log kY 
(6.41)
where kY is the number of possible outcomes for Y. Similarly, I(X; Y) ≤ log kX , where kX is the number of possible outcomes of X. To summarize, the capacity can be bounded as in the next theorem. Theorem 6.5
For a DMC (, P(YX), ), the channel capacity is bounded by 0 ≤ C ≤ min{log kX , log kY }
(6.42)
Often the transmitted symbols are binary digits, and then the capacity is limited by C ≤ 1. In the following, Shannon’s channel coding theorem will be introduced, which relates the information channel capacity to the coding rate. For this purpose, the AEP and typical sequences need to be extended as jointly typical sequences. The idea is to consider a sequence of pairs of X and Y and say that each of the sequences should be typical and that the sequence of pairs, viewed as a random variable, should also be typical. Then the set of sequences of pairs (X, Y) that are the most likely to actually happen can be used for decoding and the achievable code rates can be derived. Definition 6.5 The set of all jointly typical sequences A𝜀 (X, Y) is the set of all pairs of ndimensional vectors of i.i.d. variables x = (x1 , x2 , … , xn ) and
y = (y1 , y2 , … , yn )
148
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
All sequences (x, y) x ∈ Aε(X)
x, y ∈ Aε(X, Y)
y ∈ Aε(Y)
Figure 6.7 The set of jointly typical sequences.
such that each of x, y and (x, y) are 𝜀typical, i.e.  1  − log p(x) − H(X) ≤ 𝜀,  n    1 − log p(y) − H(Y) ≤ 𝜀,   n   1 − log p(x, y) − H(X, Y) ≤ 𝜀   n ∑ ∑ ∏ where p(x, y) = i p(xi , yi ), p(x) = y p(x, y) and p(y) = x p(x, y).
(6.43) (6.44) (6.45)
In Figure 6.7, the big rectangle represents the set of all sequences (x, y). Then all sequences where x is typical are gathered in the left subset, x ∈ A𝜀 (X), and all sequences where y is typical in the right subset, y ∈ A𝜀 (Y). The intersection, marked as light gray, containing all sequences where both x or y are typical. Among those there are sequences where also the sequence of the pairs is typical, which is represented by the dark gray area, x, y ∈ A𝜀 (X, Y). As before, the definition of typical sequences can be given in an alternative form. Definition 6.6 (Equivalent definition) The set of all jointly typical sequences A𝜀 (X, Y) is the set of all pairs of ndimensional vectors of i.i.d. variables x = (x1 , x2 , … , xn ) and
y = (y1 , y2 , … , yn )
such that each of x, y, and (x, y) are 𝜀typical, i.e. 2−n(H(X)+𝜀) ≤ p(x) ≤ 2−n(H(X)−𝜀) 2−n(H(Y)+𝜀) ≤ p(y) ≤ 2−n(H(Y)−𝜀)
(6.46) (6.47)
2−n(H(X,Y)+𝜀) ≤ p(x, y) ≤ 2−n(H(X,Y)−𝜀)
(6.48)
6.4 CHANNEL CODING THEOREM
149
As for the onedimensional case, the set of typical sequences is a small fraction of all sequences but their probability is close to one. In the next theorem, this is described. Theorem 6.6 Let (X, Y) be sequences of length n drawn i.i.d. vectors according to ∏ p(x, y) = i p(xi , yi ). Then, for sufficiently large n, ) ( 1. P (x, y) ∈ A𝜀 (X, Y) ≥ 1 − 𝜀. 2. (1 − 𝜀)2n(H(X,Y)−𝜀) ≤ A𝜀 (X, Y)) ≤ 2n(H(X,Y)+𝜀) . ̃ Y) ̃ be distributed according to p(x)p(y), i.e. X̃ and Ỹ are independent 3. Let (X, with the marginals derived from p(x, y). Then ( ) (1 − 𝜀)2−n(I(X;Y)+3𝜀) ≤ P (̃x, ỹ ) ∈ A𝜀 (X, Y) ≤ 2−n(I(X;Y)−3𝜀)
To show the first part of the theorem, use the weak law of large numbers. Then, there exists an n1 such that for all n ≥ n1 ( ) 𝜀   P1 = P − 1n log p(x) − H(X) > 𝜀 < (6.49)   3 Similarly, there exists an n2 such that for all n ≥ n2 ( ) 𝜀   P2 = P − 1n log p(y) − H(Y) > 𝜀 <   3 and there exists an n3 such that for all n ≥ n3 ( ) 𝜀   P3 = P − 1n log p(x, y) − H(X, Y) > 𝜀 <   3
(6.50)
(6.51)
Then, for n ≥ max{n1 , n2 , n3 } ( ) (   P (x, y) ∉ A𝜀 (X, Y) = P − 1n log p(x) − H(X) > 𝜀,     1 ∪− n log p(y) − H(Y) > 𝜀,   )   1 ∪− n log p(x, y) − H(X, Y) > 𝜀   ≤ P1 + P2 + P3 < 𝜀 where in the second last inequality follows from the union bound1 was used. 1 The
union bound states that for the events 1 , … , n the probability that at least one is true is n n ) ∑ (⋃ i ≤ P(i ) P i=1
i=1
(6.52)
150
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
To show the second part of the theorem, a similar argument as for the singlevariable case can be used. The righthand side of the inequality can be shown by ∑ 1≥ p(x, y) x,y∈A𝜀
≥
∑
2−n(H(X,Y)+𝜀) = A𝜀 (X, Y)2−n(H(X,Y)+𝜀)
(6.53)
x,y∈A𝜀
The lefthand side can be shown, for sufficiently large n, by ∑ 1−𝜀 ≤ p(x, y) x,y∈A𝜀
≤
∑
2−n(H(X,Y)−𝜀) = A𝜀 (X, Y)2−n(H(X,Y)−𝜀)
(6.54)
x,y∈A𝜀
∑ For (̃x, ỹ ) distributed according to p(x)p(y), where p(x) = y p(x, y) and p(y) = x, ỹ ) to be a jointly typical sequence x p(x, y), respectively, the probability for (̃ ∑ ( ) P (̃x, ỹ ) ∈ A𝜀 (X, Y) = p(x)p(y)
∑
x,y∈A𝜀
∑
≤
2−n(H(X)−𝜀) 2−n(H(Y)−𝜀)
x,y∈A𝜀
≤ 2−n(H(X)−𝜀) 2−n(H(Y)−𝜀) 2n(H(X,y)+𝜀) = 2−n(H(X)+H(Y)−H(X,Y)−3𝜀) = 2−n(I(X;Y)−3𝜀)
(6.55)
which shows the righthand side of the third property. The lefthand side can be obtained by ∑ ( ) P (̃x, ỹ ) ∈ A𝜀 (X, Y) = p(x)p(y) x,y∈A𝜀
≥
∑
2−n(H(X)+𝜀) 2−n(H(Y)+𝜀)
x,y∈A𝜀
≥ 2−n(H(X)+𝜀) 2−n(H(Y)+𝜀) (1 − 𝜀)2n(H(X,Y)−𝜀) = (1 − 𝜀)2−n(H(X)+H(Y)−H(X,Y)+3𝜀) = (1 − 𝜀)2−n(I(X;Y)+3𝜀)
(6.56)
which completes the proof of Theorem 6.6. The jointly typical sequences play an important role when showing the channel coding theorem. It relates the necessary coding rate used in the communication system used with the channel information capacity. Theorem 6.7 (Channel coding theorem) For a given code rate R, there exists a code with probability of error approaching zero if and only if R < C = max I(X; Y) p(x)
(6.57)
6.4 CHANNEL CODING THEOREM
Y X
151
Figure 6.8 The decoding region of y mapping to the codeword x via the decoding regions (x).
D(x)
x
What this theorem means is that for a discrete memoryless channel with capacity C, and a (n, nR) code is used, where R is the code rate (information symbols per code symbols), then as n grows, r it is possible to find a code such that the error probability is arbitrarily low, if R < C. r it is not possible to find a code such that the error probability is arbitrarily low, if R > C. The proof of the theorem is quite extensive. Before going into details of this an intuitive explanation is given. In Figure 6.8, the sets of ndimensional transmit vectors x and received vectors y are shown. The transmitted codeword is taken from the left set and the received vector from the right set. The decoding rule is decided by decoding regions. If the received vector y is in the decoding region for x, (x), which is a subset of the received vectors, the gray area in the figure, the estimated transmitted codeword is x. One way to define the decoding regions for a received vector y is to find an x such that the pair (x, y) ∈ A𝜀 (X, Y) is jointly typical. If such x exists and is unique, decode to x. Since typical sequences are used in the decoding, when neglecting 𝜀, the number of such possible mappings is (x, y) ∈ A𝜀 (X, Y) = 2nH(X,Y) . On the other hand, transmitting random sequences, the number of typical sequences is x ∈ A𝜀 (X) = 2nH(X) . That means, in each decoding region (x) the number of possible received decodable sequences is N=
2nH(X,Y) = 2n(H(X,Y)−H(X)) 2nH(X)
(6.58)
But, the number of typical received sequences is y ∈ A𝜀 (Y) = 2nH(Y) . Optimally, with disjoint decoding regions the number of codewords is 2k =
y ∈ A𝜀 (Y) ≤ 2n(H(X)+H(Y)−H(X,Y)) = 2nI(X;Y) N
(6.59)
152
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
That is, the optimal code rate is R = nk ≤ I(X; Y) ≤ C. The more formal proof uses roughly the same argumentation. Proof. Starting with the existence part of the proof, apply a random coding argument. With the capacity given by C = maxp(x) I(X; Y) let p∗ (x) be the optimizing distribution of X, p∗ (x) = arg max I(X; Y)
(6.60)
p(x)
Consider a code with rate R. With a codeword length of n there are 2nR codewords, hence an (n, nR) code. The codewords are chosen randomly according to the distribution ∏ p∗ (x) (6.61) p(x) = i
The decoding of a received vector y is done by finding a codeword x such that (x, y) ∈ A𝜀 (X, Y). If such codeword does not exist or is not unique, an error has occurred. Introduce the event that the pair (x, y) is a jointly typical sequence { } (6.62) Ex,y = (x, y) ∈ A𝜀 (X, Y) For a pair (x0 , y) of a codeword and a received vector, an error occurs if they are not jointly typical, (x0 , y) ∈ Exc ,y , or if the decoding is not unique, (x0 , y) ∈ Ex0 ,y and 0 (x, y) ∈ Ex,y for x ≠ x0 (i.e., two equally likely codewords). In the previous case, (⋅)c denotes the complementary set. An error event for codeword x0 can be denoted as )) ( (⋃ Ee = Exc ,y ∪ Ex0 ,y ∩ (6.63) Ex,y 0
x≠x0
The mathematical structure (( ), , ∅, ∩, ∪,c ), where ( ) is the power set, i.e. the set of all subsets of , is a Boolean algebra. Hence, the error event can be rewritten as2 ) (⋃ (6.64) Ee = Exc ,y ∪ Ex,y 0
x≠x0
The probability of error is then the probability of the event Ee and from the union bound )) ( (⋃ ( ) ∑ ( ) ≤ P Exc ,y + Ex,y P Ex,y (6.65) Pe = P(Ee ) = P Exc ,y ∪ 0
x≠x0
0
2 In
x≠x0
a Boolean algebra (, 1, 0, ∧, ∨,′ ), where ∧ is AND, ∨ is OR, and ′ complement, the two rules consensus and absorption give
a′ ∨ (a ∧ b) = a′ ∨ (a ∧ b) ∨ b = a′ ∨ b ⋃ The result is obtained by letting a = Ex0 ,y and b = x≠x0 Ex,y .
6.4 CHANNEL CODING THEOREM
153
The two probabilities included can be bounded as ( ) P(Exc ,y ) = P (x0 , y) ∉ A𝜀 (X, Y) → 0, n → ∞ 0 ( ) P(Ex,y ) = P (x, y) ∈ A𝜀 (X, Y) ≤ 2−n(I(X;Y)−3𝜀) = 2−n(C−3𝜀)
(6.66) (6.67)
where the last equality is obtained since X is distributed according to the maximizing distribution p∗ (x). In the limit as n → ∞, (6.65) becomes Pe =
∑ ( ) ∑ −n(C−3𝜀) P Ex,y ≤ 2 x≠x0 nR
= (2
x≠x0 −n(C−3𝜀)
− 1)2
< 2n(R−C+3𝜀)
(6.68)
To achieve reliable communication, it is required that Pe → 0 as n → ∞. That is, ( )n 2R−C+3𝜀 → 0
(6.69)
which is equivalent to 2R−C+3𝜀 < 1, or R − C + 3𝜀 < 0. This gives R < C − 3𝜀
(6.70)
Since a random code was used, there exists at least one code that fulfills this requirement. To show the converse, i.e. that it is not possible to achieve reliable communication if the coding rate exceeds the capacity, first assume that R > C and that the 2nR codewords are equally likely. The latter assumption implies the information symbols are equally likely, and that the channel coding scheme is preceded by perfect source coding. Also assume that the codewords and received words are ndimensional ̂ be a random variable describing the estimated transmitted codeword. vectors. Let X If this uniquely maps to an estimated information symbol, the error probability is ̂ where X is the transmitted codeword. According to Fano’s lemma Pe = P(X ≠ X), ( ) ̂ ≤ h(Pe ) + Pe log 2nR − 1 H(XX)
(6.71)
̂ = H(X) − H(XX) ̂ I(X; X)
(6.72)
On the other hand,
which leads to an expression for the lefthand side of Fano’s inequality ̂ = H(X) − I(X; X) ̂ ≥ H(X) − I(X; Y) H(XX)
(6.73)
154
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
where the dataprocessing lemma is used in the last equality. The mutual information over the channel can be written as I(X; Y) = H(Y) − H(YX) n ∑ = H(Y) − H(Yi Y1 … Yi−1 X) 1=1
= H(Y) −
n ∑
H(Yi Xi )
1=1
=
n ∑
H(Yi ) − H(Yi Xi ) =
1=1
n ∑
I(Xi ; Yi ) ≤
1=1
n ∑
C = nC
(6.74)
1=1
where the third equality follows since the channel is memoryless. From the assumption of equally likely codewords, the entropy of X is H(X) = log 2nR = nR. Hence, (6.73) can be bounded as ̂ ≥ nR − nC = n(R − C) H(XX)
(6.75)
With Fano’s inequality in (6.71)
( ) h(Pe ) + Pe log 2nR − 1 ≥ n(R − C) > 0
(6.76)
where the strict inequality follows from the assumption that R > C. This means that the lefthand side is strictly positive and therefor Pe > 0. Hence, if R > C the error probability will not go to zero as n goes to infinity, whatever code is chosen. This concludes the proof of the channel coding theorem. The first part of theorem only shows the existence of a code that meets the bound. It does not say anything about how it should be found. Since 1948 when the results were published, there has been a lot of research on errorcorrecting codes, and today there are codes that can come very close to the capacity limit. The focus then becomes to reduce the computational complexity in the system. In Chapter 7, a short introduction to channel coding is given. An interesting extension of the channel coding theorem is to have a system with a dedicated feedback channel from the receiver to the transmitter, as shown in Figure 6.9. Then the transmitter can see the previous received symbol Yi−1 , so the transmitted symbol is Xi = X(U, Yi−1 ). In reality, the feedback can have a significant meaning, making the decoding easier, but the transmission rate is not improved compared to the case without feedback. To derive the capacity for this case, the above proof has to be adjusted a bit. The
U
Figure 6.9
Channel encoder
X
DMC
A channel with feedback.
Y
Channel decoder
Uˆ = g(Xˆ )
6.5 DERIVATION OF CHANNEL CAPACITY FOR DMC
155
first part, the existence, does not depend on the feedback and can be reused entirely. But for the converse part, it cannot be assumed I(X; Y) ≤ nC. Instead, consider the ̂ Then Fano’s lemma can be written as error probability Pe = P(U ≠ U). ( ) ̂ ≤ h(Pe ) + Pe log 2nR − 1 (6.77) H(UU) but it can also be seen ̂ = H(U) − I(U; U) ̂ ≥ H(U) − I(U; Y) H(UU)
(6.78)
where the inequality follows from the dataprocessing lemma. The mutual information between the information symbol and the received vector can be written as ∑ ∑ H(Yi ) − H(Yi Y1 … Yi−1 U) I(U; Y) = H(Y) − H(YU) ≤ =
∑
H(Yi ) −
i
=
∑ i
∑
i
i
H(Yi Y1 … Yi−1 UXi )
i
H(Yi ) −
∑
H(Yi Xi ) =
i
∑
I(Xi ; Yi ) ≤ nC
(6.79)
i
Then, similar to the case with no feedback, ̂ ≥ H(U) − I(U; Y) ≥ nR − nC = n(R − C) H(UU)
(6.80)
which leads back to the same argument as before, and the code rate is not achievable if R > C. Summarizing, the following theorem has been shown. Theorem 6.8 channel,
The capacity for a feedback channel is equal to the nonfeedback CFB = C = max I(X; Y) p(x)
6.5
(6.81)
DERIVATION OF CHANNEL CAPACITY FOR DMC
In Example 6.5, the information capacity for the BSC was derived as C = 1 − h(p), where p is the bit error probability on the channel. From the channel coding theorem, it is seen that this is a hard limit for what coding rates are possible to achieve reliable communication. For example, if the bit error probability on the channel is p = 0.1 the capacity is C = 1 − h(0.1) = 0.9192. Then reliable communication is possible if and only if R < 0.9192. In this section, the capacity will be derived for some of the most common channels.
Example 6.6 [Binary erasure channel] In the binary erasure channel (BEC), there is one more output symbol, Δ, than for the BSC, interpreted as an erasure. The idea is that the decoder will get the information that the received signal was not trustworthy. The probability of an erasure is 𝛼, and the probability for correct received symbol is
156
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
0
1−α 0 X
P(Y ∣X)
α ∆ Y
α 1
X
Y=0
Y=∆
Y=1
0 1
1−α 0
α α
0 1−α
1−α 1
Figure 6.10
The binary erasure channel.
1 − 𝛼. It is assumed that the probability for incorrect received symbol, i.e. transmitting a 0 and receiving a 1, and vice versa, is negligible and therefore set to zero. The graphical representation of the channel and its probability distribution is shown in Figure 6.10. The mutual information between X and Y can be written as I(X; Y) = H(Y) − H(YX) ∑ H(YX = x)P(X = x) = H(Y) − x
= H(Y) − h(𝛼)
(6.82)
since H(YX = x) = H(1 − 𝛼, 𝛼, 0) = h(𝛼), both for x = 0 and x = 1. That is, maximizing I(X; Y) is equivalent to maximizing H(Y) for varying p = P(X = 1). The maximum entropy is H(Y) ≤ log 3, but this requires equiprobable Y, and contrary to the case for the BSC, this cannot be guaranteed. To derive H(Y), first get the distribution of Y, expressed in terms of the distribution of X. Assume that P(X = 1) = p, then with p(x, y) = p(x)p(yx) and p(y) = ∑ x p(x, y) the distributions are obtained as P(X, Y) X 0 1
Y=0 (1 − p)(1 − 𝛼) 0
Y=Δ (1 − p)𝛼 p𝛼
Y=1 0 p(1 − 𝛼)
and Y:
0
Δ
1
P(Y) : (1 − p)(1 − 𝛼) 𝛼 p(1 − 𝛼) Hence, the entropy of Y is H(Y) = H((1 − p)(1 − 𝛼), 𝛼, p(1 − 𝛼)). Naturally, this function can be optimized by letting the derivative to be equal to zero. But, it can
6.5 DERIVATION OF CHANNEL CAPACITY FOR DMC
157
Figure 6.11 The capacity of the BEC as a function of the erasure probability.
CBEC = 1 − α 1
1
p
also be noted that H(Y) = −(1 − p)(1 − 𝛼) log(1 − p)(1 − 𝛼) −𝛼 log 𝛼 − p(1 − 𝛼) log p(1 − 𝛼) ( ) = (1 − 𝛼) −p log p − (1 − p) log(1 − p) −𝛼 log 𝛼 − (1 − 𝛼) log(1 − 𝛼) = (1 − 𝛼)h(p) + h(𝛼) which is maximized by p =
1 . 2
The capacity is
C = max H(Y) − h(𝛼) = max(1 − 𝛼)h(p) = 1 − 𝛼 p
(6.83)
p
(6.84)
In Figure 6.11, the capacity for the BEC is plotted as a function of the erasure probability 𝛼. If 𝛼 = 0, the capacity equals one, since then there are not any errors. On the other hand, if 𝛼 = 1 all of the received symbols will be erasures and there is no information about the transmitted sequence and hence the capacity is zero. In the general case, to find the capacity, standard optimization techniques must be used, i.e. taking the derivative of I(X, Y) equal to zero. However, there are also many cases where there are builtin symmetries in the channel, which can be used to ease the calculations. In the previous examples, the capacity was derived by considering the entropy of the received variable as a function of the distribution of the transmitted variable. To formalize these derivations, a definition of a symmetric channel3 is needed. Definition 6.7 (Symmetric channels) A discrete memoryless channel, with N input alternatives X ∈ {x1 , … , xN } and M output alternatives Y ∈ {y1 , … , yM }, is symmetric if, in the graphical representation 3 In
the literature, there is no unified naming for different types of channel symmetries. In this text, the notation given in [11] will be followed
158
CHAPTER 6
Figure 6.12
1−p
0
1−p
1
p
X
Y
1−p
2 p
A symmetric channel.
0
p
1
3
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
2
p 1−p
3
r The set of branches leaving a symbol x have the same set of probabilities i {q1 , q2 , … , qM } for all i = 1, … , N. r The set of branches entering a symbol y has the same set of probabilities j {p1 , p2 , … , pN } for all j = 1, … , M. Seen from the transition matrix perspective, all rows are permutations of each other and all columns are permutations of each other. The BSC is an example of a symmetric channel. In the next example, another popular channel, also symmetric, is introduced.
Example 6.7 Consider a channel with four different inputs X ∈ {0, 1, 2, 3}, and the same set of outputs Y ∈ {0, 1, 2, 3}. The transmitted value is received correctly with probability 1 − p and as the next following symbol (modulo 4) with probability p. In Figure 6.12, the channel is shown. The transition probability table is P(YX) X 0 1 2 3
Y=0 Y=1 1−p p 0 1−p 0 0 p 0
Y=2 Y=3 0 0 p 0 1−p p 0 1−p
The mutual information between X and Y is given by ∑ I(X; Y) = H(Y) − H(YX) = H(Y) − H(YX = x) p(x) x ⏟⏞⏞⏞⏞⏟⏞⏞⏞⏞⏟ h(p)
= H(Y) − h(p) ≤ log 4 − h(p) = 2 − h(p)
(6.85)
6.5 DERIVATION OF CHANNEL CAPACITY FOR DMC
with equality if and only if p(y) = 14 . Assume that p(x) = p(y) =
∑
p(yx)p(x) =
∑1
x
4
x
p(yx) =
1 4
159
for all x, then
1 1 1 p + (1 − p) = 4 4 4
(6.86)
hence the distribution of X maximizing I(X; Y) is the uniform distribution, p(x) = 14 , and the capacity for the channel is C = 2 − h(p)
(6.87)
The derivation of the capacity in the previous example is typical for a symmetric channel. Assume a symmetric channel with N inputs and M outputs. Then, following the previous example, the mutual information is ∑ H(YX = x)p(x) (6.88) I(X; Y) = H(Y) − H(YX) = H(Y) − x
Since the channel is symmetric, the outgoing transitions from a given input symbol x is the same independent of the x. The entropy function does not take the order of the probabilities, i.e. the semantics of the message, into consideration. Therefore, the entropy of Y conditioned on x is the same for all x, H(YX = x) = H(p1 , p2 , … , pN ) = H(r)
(6.89)
where r = (p1 , p2 , … , pN ) is one row in the table of P(YX). The mutual information can then be written as I(X; Y) = H(Y) − H(r) ≤ log M − H(r) with equality if and only if p(y) = of X is uniform, i.e. p(x) = p(y) =
1 . N
where the constant value A = over Y gives ∑
1 . As in Example 6.7, assume that the distribution M
Then the probability of Y becomes
∑ x
(6.90)
p(x)p(yx) =
∑
x p(yx)
p(y) =
y
∑ y
1 ∑ 1 p(yx) = A N x N
(6.91)
follows from the symmetry. Summing this A
1 M =A =1 N N
(6.92)
which gives that p(y) = M1 . Since it is possible to find a distribution on X such that Y will have a uniform distribution, the capacity is CSym = max I(X; Y) = log M − H(r) p(x)
(6.93)
With this at hand, the symmetry in Example 6.7 can be used to get the capacity as C = log 4 − H(1 − p, p, 0, 0) = 2 − h(p)
(6.94)
160
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
Also the BSC is symmetric, with M = 2 and r = (1 − p, p). Hence, the capacity is CBSC = log 2 − H(1 − p, p) = 1 − h(p)
(6.95)
Actually, in the previous derivation of CSym it is not used that the incoming transitions for all the receiving symbols y have the same distribution, it is only used that the sum is constant for all y. Therefore, a weaker definition of symmetry is given below, still giving the same result on the capacity. Definition 6.8 (Weakly symmetric channels) weakly symmetric if
A discrete memoryless channel is
r The set of branches leaving a symbol x has the same set of probabilities i {q1 , q2 , … , qM } for all i = 1, … , N. r The set of branches entering a symbol y has the same sum of probabilities j ∑ x px for all j = 1, … , M. Seen from the transition probability table perspective, all rows are permutations ∑ of each other and all columns have the same sum x p(yx). Naturally, all symmetric channels are also weakly symmetric. The result on the capacity is then stated as a theorem. Theorem 6.9 If a discrete memoryless channel is symmetric, or weakly symmetric, the channel capacity is C = log M − H(r)
(6.96)
where r is the set of probabilities labeling branches leaving an input symbol X, or, equivalently, one row in the transition probability table. The capacity is reached for the uniform distribution p(x) = N1 . In the next example, a weakly symmetric channel is considered.
Example 6.8 In Figure 6.13, a channel with two erasure symbols, one closer to symbol 0 and one closer to symbol 1, is shown. The corresponding transition probability table is
X 0 1
P(YX) Y = 0 Y = Δ0 Y = Δ1 1∕3 1∕6
1∕4 1∕4
1∕4 1∕4
Y=3 1∕6 1∕3
6.5 DERIVATION OF CHANNEL CAPACITY FOR DMC
Figure 6.13 A binary double erasure channel that is weakly symmetric.
0 1/3 0 1/6
X
1/6 1
1/4 1/4
161
∆0 Y ∆1
1/4 1/4 1/3
1
The two rows of the matrix have the same set of probabilities. Summing each column gives the constant value 1∕2, concluding that the channel is weakly symmetric. There are M = 4 output alternatives, and the capacity for this channel is calculated as ( ) C = log 4 − H 13 , 14 , 14 , 16 ≈ 2 − 1.9591 = 0.0409 (6.97) This is a very low value on the capacity, which is not surprisingly since all the crossover probabilities are in the same order. To reach reliable communication, it will require a large overhead in terms of a low code rate. In all of the channels considered above, H(YX = x) has been constant. This is true when the distribution for the outgoing branches in the channel model has the same set of probabilities. This section will be concluded by considering two channels that do not have the symmetry property. In this case, the derivations fall back to standard optimization methods. If the channel is even more complicated, it might be better to solve the calculations with numerical methods. In that case, it should be noted that the mutual information is a convex function, which simplify calculations.
Example 6.9 Consider the three input and three output DMC described in Figure 6.14. To derive the capacity, a distribution for X has to be assigned over which the 1
p 0
Figure 6.14
0
1/3 X
1 − 2p 1
p 2
1/3 1/3
1
1
2
Y
A ternary channel.
162
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
mutual information can be optimized. In a general approach, probability variables for two of the values for X would be introduced. However, even though the channel is not symmetric by definition, there is a structural symmetry in the channel that can be used together with the fact that the mutual information is convex in the probabilities. Therefore, the probability for 0 and 2 should be equal to the optimization. Hence, let P(X = 0) = P(X = 2) = p and P(X = 1) = 1 − 2p. The mutual information equals I(X; Y) = H(Y) − H(YX) ) ( = H(Y) − 2ph(0) − (1 − 2p)H 13 , 13 , 13 = H(Y) − (1 − 2p) log 3 The distribution of Y can be found by P(Y = 0) = P(Y = 2) = p + and P(Y = 1) =
1−2p , 3
(6.98) 1 (1 − 2p) 3
=
1+p 3
leading to an expression for the mutual information as ( 1 + p 1 + p 1 − 2p ) − (1 − 2p) log 3 I(X; Y) = H , , 3 3 3 1+p 1 + p 1 − 2p 1 − 2p = −2 log − log − (1 − 2p) log 3 (6.99) 3 3 3 3 To maximize, set the derivative equal to zero,
1+p 1 − 2p 2 2 2 2 𝜕 I(X; Y) = − − log + + log + 2 log 3 𝜕p 3 ln 2 3 3 3 ln 2 3 3 1 − 2p 2 + 2 log 3 = 0 (6.100) = log 3 1+p ) ) 𝜕f (p) ( 𝜕 ( where it is used that 𝜕p f (p) log f (p) = 𝜕p ln12 + log f (p) . The above equation is equivalent to 1 − 2p 1 = 1+p 27
(6.101)
which leads to p=
26 55
(6.102)
3 So the optimizing distribution of X is P(X = 0) = P(X = 2) = 26 and P(X = 1) = 55 . 55 To get the capacity insert in I(X; Y), to get ) ( 3 27 27 1  − C = I(X; Y) 26 = H , , log 3 ≈ 1.0265 (6.103) p= 55 55 55 55 55
The derivation shows that inputs 0 and 2 should be used for most of the transmissions, which is intuitive since they are errorfree. A bit more surprising is that input 1 should be used, even though the outputs are uniformly distributed. The final example is related to the BSC. If the requirement on symmetry is removed, a general form of a binary input and binary output channel is given.
6.5 DERIVATION OF CHANNEL CAPACITY FOR DMC
1−α
0
α
X
A graphical interpretation of a
Y
β 1
Figure 6.15 BSC.
0
163
1
1−β
Example 6.10 [Binary asymmetric channel] In a binary transmission scheme, the received symbol Y is estimated based on detecting the transmitted signal in the presence of noise from the transmission. If everything is tuned and the system is working properly, the thresholds in the receiver should be such that the error probability is symmetric, which is modeled by a BSC. If, for some reason, everything is not as it should, there might be an asymmetry in the error probability and the crossover probability for 0 and 1 are not equal, a binary asymmetric channel can be modeled. Assume the error probabilities are P(Y = 1X = 0) = 𝛼 and P(Y = 0X = 1) = 𝛽. In Figure 6.15, the graphical view of such channel is shown. To derive the capacity for this channel start by assuming a probability for X, so lets assign P(X = 0) = p. Then the probability for Y is given by P(Y = 0) = p(1 − 𝛼) + (1 − p)𝛽 = p(1 − 𝛼 − 𝛽) + 𝛽 P(Y = 1) = p𝛼 + (1 − p)(1 − 𝛽) = (1 − p)(1 − 𝛼 − 𝛽) + 𝛼
(6.104) (6.105)
The mutual information can be written as I(X; Y) = H(Y) − H(YX) ( ) = h p(1 − 𝛼 − 𝛽) + 𝛽 − ph(𝛼) − (1 − p)h(𝛽) Using that
𝜕 h(x) 𝜕x
(6.106)
= log 1−x , the optimizing p is given by the following equation: x
(1 − p)(1 − 𝛼 − 𝛽) + 𝛼 𝜕 I(X; Y) = (1 − 𝛼 − 𝛽) log − h(𝛼) + h(𝛽) = 0 𝜕p p(1 − 𝛼 − 𝛽) + 𝛽 (6.107) To simplify notations, the variable A = is given by
h(𝛼)−h(𝛽) 1−𝛼−𝛽
is introduced and the optimizing p
( ) 1 − 𝛽 1 + 2A p = ( ) (1 − 𝛼 − 𝛽) 1 + 2A ∗
(6.108)
The argument of the binary entropy function in the expression of I(X; Y) is then p∗ (1 − 1 𝛼 − 𝛽) + 𝛽 = 1+2 A and the capacity becomes ) ( 1  + p∗ h(𝛼) + (1 − p∗ )h(𝛽) C = I(X; Y) ∗ = h (6.109) p=p 1 + 2A
164
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
With the results in the previous example, the capacity can be derived for all DMC with binary inputs and outputs. For example, the BSC has 𝛼 = 𝛽 = 𝛿, which 1−2𝛿 1 1 = 12 and 1+2 gives A = 0, and consequently p∗ = (1−2𝛿)2 A = 2 , which leads to a capacity of C = h( 12 ) − h(𝛿) = 1 − h(𝛿).
PROBLEMS 6.1
Consider a binary memoryless source where P(0) = p and P(1) = q = 1 − p. For large n, the number of 1s in a sequence of length n tends to nq. (a) How many sequences of length n has the number of ones equal to nq? (b) How many bits per source symbol is required to represent the sequences in (a). (c) Show that as n → ∞ the number bits per source symbol required to represent the sequences in (a) equals the entropy, h(q) = h(p). √ Hint: Use Stirling’s formula to approximate n! ≈ 2𝜋n( ne )n .
6.2
Show that for all jointly 𝜀typical sequences, (x, y) ∈ A𝜀 (X, Y), 2−n(H(XY)+2𝜀) ≤ p(xy) ≤ 2−n(H(XY)−2𝜀)
6.3
A binary memoryless source with P(X = 0) = of length n = 100. Let 𝜀 =
1 50
49 50
and P(X = 1) =
1 50
generates vectors
log 7.
(a) What is the probability for the most probable vector? (b) Is the most probable vector 𝜀typical? (c) How many 𝜀typical vectors are there? 6.4
A string is 1 m long. It is split in two pieces where one is twice as long as the other. With probability 3∕4 the longest part is saved and with probability 1∕4 the short part is saved. Then, the same split is done with the saved part, and this continues the same way with a large number of splits. How large share of the string is in average saved at each split during a long sequence of splits? Hint: Consider the distribution of saved parts for the most common type of sequence.
6.5
In Shannon’s original paper from 1948, the following discrete memoryless channels are given. Calculate their channel capacities.
X
0
1/2 1/2
1
1/2 1/2 1/2
2 2
3
1/
1/2 1/2
(a) Noisy typewriter
0 1 2 3
1/3
1/6 1/6
X 1
1
1/6 1/6 1/3 1/3
(b) Soft decoding
Y
X 1
2 3
1/2
0
1/3
0 Y
0
2
1/3 1/6 1/6
1/2
1/3 1/3 1/6 1/2
(c) 3ary channel
0 1 Y 2
PROBLEMS
6.6
165
Calculate the channel capacity for the extended binary erasure channel shown below. 1−p−q
0
0
q
p
X
∆ p
Y
q
1 1−p−q
6.7
1
Determine the channel capacity for the following channel. 1
0
0
1/2
X
Y
1/2
1
1
Hint: D(h(p)) = D(p) log( 1−p ). p 6.8
The random variable X ∈ {0, 1, … , 14} is transmitted over an additive channel, Y = X + Z,
mod 15
where p(Z = 1) = p(Z = 2) = p(Z = 3) = 13 . What is the capacity for the channel and for what distribution p(x) is it reached? 6.9
Cascade two binary symmetric channels as in the following picture. Determine the channel capacity. 1−p
0 p p
X 1
6.10
0
0
1−p p p
Y 1−p
Z 1−p
1
0
1
1
A discrete memoryless channel is shown in Figure 6.16. (a) What is the channel capacity and for what distribution on X is it reached? (b) Assume that the probability for X is given by P(X = 0) = 1∕6 and P(X = 1) = 5∕6, and that the source is memoryless. Find an optimal code to compress the sequence Y. What is the average codeword length?
166
CHAPTER 6
ASYMPTOTIC EQUIPARTITION PROPERTY AND CHANNEL CAPACITY
1/4
0 X
1/4
A discrete memoryless channel.
B
1/4
1
Figure 6.16
A
1/2
Y
1/4
C
1/2
D 6.11
Two channels are cascaded, one BSC and one BEC, according to Figure 6.17. Derive the channel capacity.
0 X
0
α α
1 6.12
1− α
1−α
Y 1
1−β β
Figure 6.17 in cascade.
0 ∆
β 1−β
One BSC and one BEC
Z
1
Use two discrete memoryless channels in parallel (see Figure 6.18). That is, the transmitted symbol X is transmitted over two channels and the receiver gets two symbols, Y and Z. The two channels work independently in parallel, i.e. P(yx) and P(zx) are independent distributions, and hence, P(yx, z) = P(yx) and P(zx, y) = P(zx)). However, it does not mean Y and Z are independent, so in general p(yz) ≠ p(y). (a) Consider the information about X the receiver gets by observing Y and Z, and show that I(X; Y, Z) = I(X; Y) + I(X; Z) − I(Y; Z) (b) Consider the case when both the channels are BSC with error probability p, and let P(X = 0) = P(X = 1) = 12 . Use the result in a and show that I(X; Y, Z) = H(Y, Z) − 2h(p) 2p2 2(1 − p)2 + (1 − p)2 log 2 2 + (1 −( p) p +) (1 − p)2 ) ( ) ( 2 p = p2 + (1 − p)2 1 − h 2 p + (1 − p)2 = p2 log
p2
Hint: Consider the distribution P(y, zx) to get P(y, z). One interpretation of this channel is that the transmitted symbol is sent twice over a BSC. Figure 6.18
X
DMC1
Y
DMC2
Z
Two DMC used in parallel.
PROBLEMS
0 X 1
1
Figure 6.19
0
α 1−α
167
One BSC and one BEC in cascade.
Y 1
6.13
In Figure 6.19, a general Zchannel is shown. Plot the capacity as a function of the error probability 𝛼.
6.14
In Figure 6.20, a discrete memoryless channel is given.
α1
0
α5
X
1
α2 α4
α3
2 Y
α5 α4 α3 α2
1
Figure 6.20 A channel and its probability function.
0
α0
3
α1
4
α0
5 (a) Show that the maximizing distribution giving the capacity C6 = max I(X; Y) p(x)
1 2
is given by P(X = 0) = and P(X = 1) = 12 . Verify that the capacity is given by C6 = 1 + H(𝛼0 + 𝛼5 , 𝛼1 + 𝛼4 , 𝛼2 + 𝛼3 ) − H(𝛼0 , 𝛼1 , 𝛼2 , 𝛼3 , 𝛼4 , 𝛼5 ) (b) Split the outputs in two sets, {0, 1, 2} and {3, 4, 5} and construct a binary symmetric channel (BSC) with error probability p = 𝛼3 + 𝛼4 + 𝛼5 . Denote the capacity of the corresponding BSC as CBSC and show that CBSC ≤ C6 ≤ 1 where C6 is the capacity of the channel in Figure 6.20.
CHAPTER
7
CHANNEL CODING
I
N THE PREVIOUS chapter, the capacity for a discrete memoryless channels was introduced as the maximum information that can be transmitted over it. Through the channel coding theorem, this also gives the requirement on the code rate to be able to achieve reliable communication. That is, for each code rate lower than the capacity there exists a code such that the decoding error probability approaches zero. The question now is how these codes should be designed. Even though the channel coding theorem is based on random coding, which suggests most codes are good as long as they are long enough, this question has defied the research community ever since Shannon published his results. Especially finding practically usable codes where the rate is approaching the capacity is a difficult task. The problem is that to reach the capacity the codeword length will tend to be infinity and in most cases the computational complexity for decoding grows close to exponentially with it. The most promising codes today are the socalled lowdensity parity check (LDPC) codes, and there are examples where the rate is very close to the capacity limit for a low decoding error probability. One main advantage with these codes is that the decoding complexity grows only linearly with the length. In this chapter, the principal idea of channel coding will be described. This will be done by considering some wellknown codes representing the two main code families: block codes and convolutional codes. Then codes can be combined, or concatenated, in different ways to build larger and more efficient codes by using small constituent codes. The main part of the chapter will be devoted to errorcorrecting codes, but there is also a section on errordetection codes, represented by cyclic redundancy check (CRC) codes. In a communication system, after the source encoding the redundancy of the data should be, if not removed, so at least significantly reduced. Then the information symbols are close to uniformly distributed. On the other hand, during the transmission over the channel there will be disturbances that will either alter or erase some of the transmitted symbols. The idea with channel coding is to add redundancy in a controlled way such that it is possible to correct some of the errors at the receiver side.
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
169
170
CHAPTER 7
7.1
ERRORCORRECTING BLOCK CODES
CHANNEL CODING
Assuming the information symbols are taken from an infinite sequence, in a block code the encoding is performed by blocking the sequence into blocks, or vectors, of k symbols each. Then each block is individually encoded into a length n vectors. The first example of such code was already considered in Example 6.3, the repetition code. It is a very simple and intuitive code that describes the main idea of coding, recapitulated below.
Example 7.1 [Repetition code] Instead of transmitting each bit uncoded, transmit three copies of each bit. That is, the encoding rule is described in the following table: u
x
0 1
000 111
The code has 2k = 2 codeword vectors of length n = 3, so the repetition code is a (n, k) = (3, 1) code. The coding rate is R = 13 , meaning there are on average 1∕3 bit information in each code bit. It was seen in Example 6.3 that the code can correct 1 bit error occurred on the channel. The repetition code is the simplest example that shows it is possible to correct channel errors. However, it is not a very efficient way to do this, and the remaining error probability after decoding of the sequence is not really improved. There are much more efficient ways to so this, and in this chapter some of the ideas will be introduced. Still, to get codes that can be realized in real communication systems a good book in coding theory is recommended, e.g., [33, 34, 35, 36, 70, 90]. A code is defined as the set of codewords, and not dependent on the mapping from the information words. In this view, there is a clear distinction in the way source codes and channel codes are defined. The next example introduces a code with four codewords.
Example 7.2 The block code 1 = {0000, 1011, 0110, 1101} has four codewords, meaning k = log 4 = 2. There are four bits in each codewords, so n = 4. Hence, it is an (n, k) = (4, 2) code and the code rate is R = 24 . It is desirable to have a linear encoding rule, which put constraints on the codewords. Before continuing to the mapping used by the encoder, a linear code is defined.
7.1 ERRORCORRECTING BLOCK CODES
171
Definition 7.1 A code is linear if for every pair of codewords, xi and xj , their sum is also a codeword, xi , xj ∈ ⇒ xi + xj ∈
(7.1)
where the addition denotes positionswise addition modulo 2. Here, and in the sequel of this chapter, it is assumed that the code is binary. There are, however, very powerful and widely used codes derived over higher order fields, e.g., the class of Reed–Solomon codes that are used in many applications, e.g., CD and DVD, as well as the communication standards asymmetric digital subscriber line (ADSL) [37] and very high bit rate digital subscriber line (VDSL) [38]. It can directly be seen that the repetition code is linear. Also the code 1 in the previous example can easily be verified, by viewing the addition between all pairs of codewords, to be linear. A codeword added to itself is the allzero vector, x + x = 0. Thus, the allzero vector is a codeword in all linear codes, 0 ∈ . From algebra, it is known that a binary linear (n, k) code spans a kdimensional subspace of the binary ndimensional space 𝔽2n . Then each codeword is a linear combination of k linearly independent codewords, g1 , … , gk , where gi ∈ . Since the k codewords are linearly independent, all different linear combinations of them will give different codewords as results. Using the binary vector u = (u1 , … , uk ) as coefficients for the linear combinations, 2k codewords can be derived as x = u1 g1 ⊕ ⋯ ⊕ uk gk ⎛ g1 ⎞ ⎜ ⎟ = (u1 … uk )⎜ ⋮ ⎟ ⎜g ⎟ ⎝ k⎠ ⎛g11 ⋯ g1n ⎞ ⎜ ⎟ ⋮⎟ = (u1 … uk ) ⎜ ⋮ ⏟⏞⏞⏟⏞⏞⏟ ⎜ ⎟ ⎝gk1 ⋯ gkn ⎠ u ⏟⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏟
(7.2)
G
The above equation can be used as an encoding rule for the (n, k) linear code, where u is the information word and x the codeword. The matrix G is named the generator matrix for the code and determines the mapping. Of course, by choosing another order or another set of the codewords in the generator matrix, the mapping will be altered, but the code, i.e. the set of codewords, will be the same.
172
CHAPTER 7
CHANNEL CODING
Example 7.3 In the code 1 , the two codewords x1 = 0110 and x2 = 1101 are linearly independent. Therefore, the generator matrix can be formed as ) ( 0 1 1 0 (7.3) G= 1 1 0 1 The mapping between the information words and the codewords then becomes u
x = uG
00 0000 01 1101 10 0110 11 1011
Assuming the codewords are transmitted over a binary symmetric channel (BSC) with error probability p ≪ 0.5, one error in a codeword is the most probable error event. After that comes two errors, and so on. One direct first decoding rule is to choose the codeword that is the most likely to be sent, conditioned on the received word. This decoding rule is called the maximum a posteriori (MAP) decoder and is stated as x̂ = arg max P(xy) x∈
(7.4)
Earlier, the case was considered when the source coding, e.g., Huffman coding, preceded the channel coding. Then it is reasonable to assume that all codewords, or information words, are equally likely, P(x) = 2−k . The MAP rule can then be expanded according to x̂ = arg max P(xy) = arg max P(yx) x∈
x∈
P(x) = arg max P(yx) x∈ P(y)
(7.5)
can be considered as a constant, i.e., p(x) = 2−k and y is the received vector since P(x) P(y) and thus not varying. This decoding rule is called maximum likelihood (ML) decoding. For a BSC, both the transmitted and received vectors are binary. Then the number of errors is the same as the number of positions in which they differ. Intuitively, the decoding then is the same as finding the codeword that differs from y in least positions. It will be useful to first define the Hamming distance between two vectors as the number of positions in which they differ. A closely related function is the Hamming weight, as stated in the next definition [79]. Definition 7.2 The Hamming distance, dH (x, y), between two vectors x and y, is the number of positions in which they differ. The Hamming weight, wH (x), of a vector x, is the number of nonzero positions of x.
7.1 ERRORCORRECTING BLOCK CODES
173
For binary vectors, the Hamming distance can be derived from the Hamming weight as dH (x, y) = wH (x + y)
(7.6)
where the addition is taken positionwise in the vectors. The equality follows since addition and subtraction are identical over the binary field, a + a = 0, mod 2.
Example 7.4 is
The Hamming distance between the vectors 0011010 and 0111001 dH (0011010, 0111001) = 3
(7.7)
It can also be derived as the weight of the difference, wH (0011010 + 0111001) = wH (0100011) = 3
(7.8)
It should be noted that the Hamming distance is a metric. That means it is a function such that r d (x, y) ≥ 0 with equality if and only if x = y (nonnegative). H r d (x, y) = d (y, x) (symmetry). H H r d (x, y) + d (y, z) ≥ d (x, z) (triangular inequality). H H H It follows directly from the definition of the Hamming distance that the first two conditions hold. To show the third condition, consider three vectors x, y, and z. Then, to go from vector x to vector y there are dH (x, y) positions needed to be changed, and to go from vector y to vector z there are dH (x, y) positions need to be changed. Then there might be some positions that are equal in x and z, but not in y. In that case, first it must be changed when going from x to y and then changed back when going from y to z, which gives the result. This means that the Hamming distance can be viewed as a distance between two points in an ndimensional space. Going back to the ML decoding criterion, instead of maximizing the probability, the logarithm of the probability is maximized. Since the logarithm is a strictly increasing function, this does not change the result. x̂ = arg max log P(yx) x∈
= arg max log x∈
∏
P(yi xi )
(7.9)
i
where it is assumed that the errors on the channel occur independent of each other, i.e., the BSC. Then each transmitted bit is inverted with probability p. Hence, if the codeword x is transmitted and the vector y received there are dH (x, y) errors in the transmission and n − dH (x, y) positions with no errors. The decoding criteria can therefor
174
CHAPTER 7
CHANNEL CODING
be written as
) ( x̂ = arg max log pdH (x,y) (1 − p)n−dH (x,y) x∈
= arg max dH (x, y) log p + (n − dH (x, y)) log(1 − p) x∈
= arg max dH (x, y) log x∈
p + n log 1 − p = arg min dH (x, y) x∈ 1−p
(7.10) p
where in the last equality it is assumed that p < 12 , or equivalently, that log 1−p < 0 which gives a minimum instead of maximum. This decoding rule is called minimum distance (MD) decoding. For a BSC, this is equivalent to an ML decoder and an attractive alternative. Below the three different decoding methods are summarized in one definition. Theorem 7.1 A decoder that receives the vector y estimates the transmitted codeword according to r the MAP decoder x̂ = arg max P(xy)
(7.11)
x̂ = arg max P(yx)
(7.12)
x∈
r the ML decoder x∈
when the codewords are equally likely, this is equivalent to MAP decoding. r the MD decoder x̂ = arg min dH (y, x) x∈
(7.13)
when the codewords are transmitted aver a BSC, this is equivalent to ML decoding. The MAP decoding rule is the most demanding seen from computational complexity in the receiver, since it has to take the a priori probabilities into account. One important consequence of the MD decision rule is that the separation in Hamming distance between the codewords gives a measure of the error correcting capability of a code. That is, if the distance from one codeword to the nearest other codeword is large, there will be room for more errors in between. Therefore, the MD between two codewords is an important measure of how good a code is. Definition 7.3 The MD for a code is the minimum Hamming distance between two different codewords, dmin =
min dH (x1 , x2 ) x1 , x2 ∈ x1 ≠x2
(7.14)
7.1 ERRORCORRECTING BLOCK CODES
t
t
y
x1 ×
× x2
175
Figure 7.1 Two codewords, x1 and x2 , in the ndimensional binary space, projected into two dimensions.
dH ≥ dmin
Since, for a linear code the sum of two codewords is again a codeword, and that the Hamming distance can be derived as the Hamming weight of the sum, the MD for a linear code can be derived as dmin = min wH (x)
(7.15)
x∈ x≠0
Example 7.5
The MD for the repetition code is (Rep)
dmin = min{wH (111)} = 3
(7.16)
and for 1 (1) dmin = min{wH (1101), wH (0110), wH (1011)} = min{3, 2, 3} = 2
(7.17)
The codewords are ndimensional vectors, and, hence, they can be viewed as 2k points in an ndimensional binary space. In Figure 7.1, two codewords, x1 and x2 , in the ndimensional space are shown (projected in two dimensions). After transmission of a codeword over a BSC, the possible received vectors are represented by all points in the space. The Hamming distance between two codewords is at least dmin , and the decoding rule is assumed to be the MD decoding. Then, surrounding each codeword with a sphere of radius t bits, such that there are no vectors in the sphere that is in more than one sphere. All received sequences within such sphere should be decoded to the codeword in its center. For example, the received vector y in the figure is closest to the codeword x1 , which should be the estimate of the transmitted codeword, x̂ = x1 . Since it is a discrete space and there must be no overlapping of the spheres, t must satisfy 2t + 1 ≤ dmin
(7.18)
or, in other words dmin − 1 (7.19) 2 In this view, t is the number of errors that can be corrected, which should be as large as possible. t≤
176
CHAPTER 7
CHANNEL CODING
If the aim of the decoding is to detect errors instead of correct, the spheres around the codewords can be larger. The decoding rule then is that if the received vector is a codeword it is assumed to be correct. If, on the other hand, the received vector is not a codeword an error has been detected. Then, if codeword x was transmitted, all errors resulting in a received vector within a sphere of radius t will be detected as long as there are no other codewords inside the sphere. This can be guaranteed as long as t < dmin . The above reasoning can be summarized in the following theorem. Theorem 7.2 When using a code with minimum distance dmin , it is always possible to either detect an error e if wH (e) < dmin
(7.20)
or correct an error e if wH (e) ≤
dmin − 1 2
(7.21)
Example 7.6 The repetition code has dmin = 3 and can therefore either detect two errors or correct one error. The code 1 has dmin = 2 and can detect all errors of weight one, but there is no guarantee of correcting errors. For example if the received vector is y = 1001, this differs 1 bit from both the codewords 1101 and 1011. Since there are two codewords that are closest, the probability is 12 to choose the correct one.
7.1.1
Hamming Codes
The codes considered so far, the repetition code and 1 , are not very efficient in the transmission. Next, a slightly larger code will be considered, that will give some more insight in how the decoding can be performed. As seen in the previous section for a linear code, it is possible to find a generator matrix G such that the mapping between information word u and the codeword x is x = uG. The generator matrix with dimensions k × n spans a kdimensional subspace of the binary ndimensional space 𝔽2n . Then the null space of it is spanned by the parity check matrix H of size n − k × n, defined by GH T = 0
(7.22)
where T denotes the matrix transpose. Since a length n vector x is a codeword if and only if uG for some vector u, then xH T = uGH T = u0 = 0 This result gives the following theorem.
(7.23)
7.1 ERRORCORRECTING BLOCK CODES
177
Theorem 7.3 Let H be a parity check matrix for an (n, k) linear block code. Then an ndimensional vector x is a codeword if and only if xH T = 0
(7.24)
Since the MD of a linear code is the minimum weight of a nonzero codeword, the parity check matrix can be used to find it. The requirements in (7.24) means that using the coefficients in x = (x1 … xn ) the linear combination of the columns in H equals zero. For a codeword of least weight, this corresponds to a linear combination of dmin columns of H giving a zero. It also means there is no linear combination of less number of columns summing to zero. Since that would represent a codeword with weight less than dmin . Theorem 7.4 The minimum distance dmin of a linear code equals the minimum number of linearly dependent columns in the parity check matrix H. Theorems 7.3 and 7.4 give a way to design a code for a given dmin through the parity check matrix. The Hamming code of order m is defined from a parity check matrix containing all nonzero vectors of length m as columns. The length of the codewords is the number of columns in H, i.e. n = 2m − 1, and since m = n − k the length of the information vector is k = 2m − 1 − m. That is, the Hamming code of order m is a (2m − 1, 2m − 1 − m) binary linear code with the rate R=
2m − 1 − m 2m − 1
(7.25)
Since all columns of H are different, there are not two linearly dependent columns. On the other hand, it is easy to find three columns that are linearly dependent, e.g., 0 … 001 + 0 … 010 + 0 … 011 = 0 … 000. That is, the minimum number of linearly dependent columns is 3, and thus the minimum distance of a Hamming code is dmin = 3.
Example 7.7 A Hamming code of order m = 3 is a (7, 4) code. The parity check matrix is formed by all nonzero (column)vectors of length m = 3 in some order, e.g., ⎛1 ⎜ H = ⎜0 ⎜0 ⎝
0 1
0 0
0 1
1 0
1 1
0
1
1
1
0
1⎞ ⎟ 1⎟ 1⎟⎠
(7.26)
178
CHAPTER 7
CHANNEL CODING
The codewords can be found from extensive search by using xH T = 0, x
wH
x
x
wH
wH
x
wH
0000000 0001110
0 3
0100101 0101011
3 4
1000111 1001001
4 3
1100010 1101100
3 4
0010011 0011101
3 4
0110110 0111000
4 3
1010100 1011010
3 4
1110001 1111111
4 7
From the table of codewords, it is easily verified that dmin = minx≠0 wH (x) = 3. Hence, this code can correct all single errors that occur on the channel. From the parity check matrix, it is possible to check if a vector is a codeword and thereby list all codewords. The next step is to determine a mapping between an information vector and a code vector. It is often desirable to use a linear mapping, and therefore a suitable generator matrix should be found. Naturally, this can be formed by choosing k linearly independent codewords. Since the parity check matrix for a Hamming code consists of all nonzero vectors, it is possible to order them such that the unit matrix can be found in H. That is, collect all weight one vectors such that they form the unit matrix I. In the example given above for the Hamming code of order m = 3, the unit matrix is the three leftmost columns. The remaining of the matrix is denoted by PT . Hence, the parity check matrix can be chosen as PT )
H = (I
(7.27)
where I is a unit matrix of size m and PT an m × 2m − 1 − m binary matrix. A generator matrix can be found from G = (P I)
(7.28)
where P is the transpose of PT and I a unit matrix of size 2m − 1 − m. Since over the binary field addition and subtraction are equivalent, ( ) I =P+P=0 (7.29) GH T = (P I) P which concludes that G is a valid generator matrix.
Example 7.8
In the parity check matrix for the (7, 4) Hamming code identify ⎛0 ⎜ P = ⎜1 ⎜1 ⎝ T
1 0
1 1
1
0
1⎞ ⎟ 1⎟ 1⎟⎠
(7.30)
7.1 ERRORCORRECTING BLOCK CODES
179
which gives the generator matrix ⎛0 ⎜1 G=⎜ ⎜1 ⎜ ⎝1
1 1 1 0 0 0⎞ 0 1 0 1 0 0⎟ ⎟ 1 0 0 0 1 0⎟ ⎟ 1 1 0 0 0 1⎠
(7.31)
Then, by using x = uG, the mapping between information and code vectors is determined according to the following table: u
x
u
x
u
x
u
x
0000
0000000
0100 1010100
1000 0111000
1100 1101100
0001 0010 0011
1110001 1100010 0010011
0101 0100101 0110 0110110 0111 1000111
1001 1001001 1010 1011010 1011 0101011
1101 0011101 1110 0001110 1111 1111111
Notice that since the generator matrix has the identity matrix as the last part, the four last digits of the codeword constitute the information word. Assuming the codewords are sent over a BSC, an optimal decoder can be constructed as an MD decoder. The errors on a BSC can be viewed as an additive error vector, where an error is represented by a 1 and no error by a 0. Then, the received vector is y=x+e
(7.32)
For example, if the codeword x = (0110110) is transmitted and there are errors at the fourth and sixth positions, the error vector is e = (0001010). The received vector is y = (0110110) + (0001010) = (0111100). By using the parity check matrix, it should be noticed that yH T = (x + e)H T = xH T + eH T = eH T
(7.33)
since x is a codeword. That means there is a way to obtain a fingerprint function from the error pattern occurred on the channel, that is independent of the codeword. This is defined as the syndrome of the received vector. Definition 7.4 (Syndrome) Let x be a codeword and H the corresponding parity check matrix. Then if the received vector is y = x + e, the syndrome is formed as s = yH T = eH T .
(7.34)
It is now possible to make a table that maps the syndrome to the least weight error vectors and subtract it from the received vector. By considering the syndrome of the received vector and mapping to the least weight error vector, an estimate of the
180
CHAPTER 7
CHANNEL CODING
error vector ê can be achieved. The estimated codeword is x̂ = y + ê = x + e + ê
(7.35)
Naturally, if a correct decoding is done, ê = e, and x̂ = x. Since the most probable error vector has the least weight, this is the most probable event and the estimated codeword is identical to the transmitted. A syndrome table consisting of all possible syndromes mapped to each least weight error vector gives an easy to use mapping from the syndrome to the estimated error vector. Example 7.9
For the (16, 7) Hamming code the syndrome table is
e
s = eH T
e
s = eH T
0000000 1000000
000 100
0001000 011 0000100 101
0100000 0010000
010 001
0000010 110 0000001 111
Then, by forming the syndrome for a received vector an estimate of the corresponding least weight error vector can be found by a table lookup function. With the estimated error vector, ê , the corresponding most probable transmitted codeword is x̂ = y + ê . Assume that the codeword x = (0110110) is transmitted and that there is an error in the third bit, i.e. e = (0010000). Then the received vector is y = (0100110). The syndrome for this vector is s = yH T = (001), which translates to the estimated error vector ê = (001000) and the estimated codeword x̂ = (0110110). In the codeword, the last 4 bits equals the estimated information word, and hence û = (0110). Since there is a unique syndrome for each single error, this procedure will be able to correct all single errors. If instead an error pattern with two errors is introduced, say e = (0001010), the received vector is y = (0111100). The syndrome becomes s = (101), which according to the table corresponds to the error ê = (0000100) and the estimated codeword is x̂ = (0111000), which gives the information word û = (1000). Since this was not the transmitted information vector, a decoding error has occurred. To conclude, the Hamming code can correct all single errors but it cannot correct double errors. To summarize syndrome decoding, the steps are given in the following algorithm. Algorithm 7.1 (Syndrome decoding) Initialization Form a syndrome table with the most probable (least Hamming weight) error patterns for each possible syndrome.
7.1 ERRORCORRECTING BLOCK CODES
181
Decoding 1. For a received vector, y, form the syndrome according to s = yH T . 2. Use the syndrome table to look up the corresponding least weight error pattern ê . 3. Get the most likely transmitted codeword as x̂ = y + ê . ̂ 4. Derive the estimated information word x̂ → u.
7.1.2
Bounds on Block Codes
For the Hamming code, it is relatively easy to find the code parameters like the number of codewords, length, and minimum distance. However, it is not that easy to do this in the general case. Therefore, several bounds on the maximum number of codewords for a code of length n and minimum distance d has been developed. There are both upper and lower bounds, and in this description first three upper bound are described and then two lower bounds. The bounds will also be considered in the limit as the codeword length tends to infinity. The Hamming code of order m has the codeword length n = 2m − 1 and the minimum distance dmin = 3. In the binary ndimensional space, there are in total 2n possible vectors. Group all vectors with the Hamming distance one from a codeword in a sphere. Then, since the minimum distance is three, all the spheres will be disjoint. In each sphere, there are n + 1 vectors, including the codeword in the center. An upper bound on the total number of codewords, M, is then the same as the total number of spheres, which is the total number of vectors divided by the number of vectors in a sphere, m
M≤
m 22 −1 2n = 22 −1−m = n+1 2m
(7.36)
which is, in fact, equal to the number of codewords in the Hamming code. In the general case, define a sphere of radius t around a codeword, containing all vectors with Hamming distance to the codeword not exceeding t. For a code with codeword length n and minimum distance d, the largest sphere around each codeword ⌋ and the total number of vectors in it is such that they are disjoint has radius t = ⌊ d−1 2 ∑t (n) i=0 i . The number of codewords can then be upper bounded by the total number of vectors divided by the number of vectors in the spheres as in the following theorem. The bound is often called the Hamming bound or the sphere packing bound. Theorem 7.5 (Hamming bound) A binary code with codeword length n and minimum distance dmin = d can have at most M codewords, where ⌋ ⌊ 2n d−1 (7.37) M ≤ t ( ) , where t = 2 ∑ n i i=0
182
CHAPTER 7
CHANNEL CODING
In general, not all vectors are included in the spheres and the bound is not fulfilled with equality. In the case when there is equality, the code is called a perfect code. Apparently, from the above the Hamming code is such perfect code. Another example of a perfect code is the repetition code with an odd number of repetitions. The code 1 in the above, however, is an example of a code where there is not equivalence. Here the number vectors is 16 and the minimum distance 2. That means the spheres contains only the codewords, and the bound is M1 = 16. An important parameter for determining the efficiency of a code is the covering radius. This is the minimum radius of spheres centered around each codeword such that the complete ndimensional space is covered. If there is equality in the Hamming bound, the covering radius is t, but in general it is larger. For the code 1 , the covering radius is 1, while t = 0. In the next bound, the maximum number of codewords will be derived. Denote by M(n, d) the maximum number of codewords in a code with codeword length n and minimum distance d. Assume a code with M(n, d) codewords of length n and minimum distance d. Then by setting position n equal to 0 or 1, two new codes are created, (0) and (1), both with minimum distance d. Together they have M(n, d) codewords, meaning one of them has at least M(n, d)∕2 codewords, or M(n, d) ≤ 2M(n − 1, d)
(7.38)
The observation M(d, d) = 2 together with the above gives the following induction formula: M(n, d) = 2M(n − 1, d) = ⋯ = 2n−d M(d, d) = 2n−d+1
(7.39)
which is named the Singleton bound. Theorem 7.6 (Singleton bound) A binary code with codeword length n and minimum distance dmin = d can have at most M codewords, where M ≤ 2n−d+1
(7.40)
A code that fulfills the Singleton bound with equality is called maximum distance separable (MDS). This means no other code with that length and that MD has more codewords. Equivalently, it can be interpreted as no other (n, log M) code has higher MD. The third upper bound to consider in this text is due to Plotkin. First define a number S as the sum of all distances between pairs of codewords, ∑∑ dH (x, y) ≥ M(M − 1)dmin (7.41) S= x∈ y∈
where the inequality follows since d(x, x) = 0 and that all other pairs have at least distance dmin . The idea is to list all codewords in a table with M rows and n columns, where each row is a codeword. Let ni be the number of ones in column i. Then the total contribution to S from this column is first the distance from all ones to all zeros, and
7.1 ERRORCORRECTING BLOCK CODES
183
then the distance from all zeros to the ones, which gives 2ni (M − ni ). This function has a maximum for ni = M∕2. Summarizing over all columns gives n ( ) ∑ M M2 M M− =n 2ni (M − ni ) ≤ 2 S= 2 2 2 i=1 i=1 n ∑
(7.42)
Putting things together gives M ≥ (M − 1)dmin 2 which is expressed in the next theorem n
Theorem 7.7 (Plotkin bound) by
(7.43)
For an (n, log M) block code the MD is bounded dmin ≤
nM 2(M − 1)
(7.44)
For the case when dmin > n2 , the number of codewords in a block code with length n and minimum distance dmin is bounded by M≤
2dmin 2dmin − n
(7.45)
The bounds due to Hamming, Singleton, and Plotkin are all very well known and common in the literature. They are upper bounding the number of codewords, which also means they are upper bounding the minimum distance. Next consider two important lower bounds on the maximum number of codewords in a code with length n and minimum distance d. When deriving the Hamming bound, spheres were centered around each codeword such that they were disjoint. Their maximum radius is ⌋. Then, in the case of nonperfect codes, there can be vectors in the space t = ⌊ d−1 2 that are not included in any of the spheres. If the covering radius is considered in the same way, all vectors are covered. It might be that some vectors are included in more than one sphere meaning that it gives a lower bound on the maximum number of codewords. If the minimum distance is dmin = d, the maximum covering radius is d − 1. To see this, assume that it is more than d − 1. Then there are at least one vector at a distance of at least d from every codeword and, hence, this vector can also be regarded as a codeword, and the number of codewords from the beginning was not maximized. This gives the Gilbert lower bound on the maximum number of codewords stated below. Theorem 7.8 (Gilbert bound) There exists a binary code with M codewords of length n and minimum distance dmin = d, where M≥
2n d−1 ( ) ∑ n i i=0
(7.46)
184
CHAPTER 7
CHANNEL CODING
The second lower bound to consider in this section is due to Varshamov. The result is similar to the Gilbert bound, even though the path leading to it is different. Consider again a code construction based on choosing the columns of the parity check matrix such that the least linearly dependent columns is d. Then the minimum distance is dmin = d. The parity check matrix for an (n, k) code, where M = 2k , is a binary (n − k) × n matrix. To construct it, choose the first column as any nonzero column of length n. Then the next columns should be chosen, one by one, such that they are not linearly dependent on d − 2 other columns. To see that this is always possible, assume that j (j) ∑ columns are chosen and that d ≤ j ≤ n − 1. Then there are d−2 i=0 i linear combinations of the columns. If it is possible to find a different vector, then this can be used as the next column. Hence, to be able to choose the nth column ) d−2 ( ∑ n−1 (7.47) 2n−k > i i=0 Equivalently, this means there exists an (n, k) code with minimum distance d if ( )) d−2 ( ∑ n−1 (7.48) k ≤ n − log 1 + i i=0 ⌈ ( ∑ (n−1))⌉ The largest k satisfying this is n − log 1 + d−2 . i=0 i Theorem 7.9 (Varshamov bound) There exists a binary code with M codewords of length n and minimum distance dmin = d, where ⌈ ( ∑d−2 n−1 )⌉ (7.49) M ≥ 2n− log 1+ i=0 ( i )
By rewriting the Gilbert bound as M ≥ 2n−log
∑d−1 n i=0
(i)
(7.50)
their relation is more visible. Similarly, the Hamming bound can be written as n−log
M≤2
⌋ n ∑⌊ d−1 2 i=0
(i)
(7.51)
Naturally, the above bounds on the maximum number of codewords in a code will grow to infinity as n grows. Instead the code rate R = nk can be considered as a
function of the relative minimum distance 𝛿 = dn . For these derivations, it is easiest to start with is the Singleton bound which gives the asymptotic bound R≤
log 2n−d−1 d 1 = 1 − − → 1 − 𝛿, n n n
Hence, the following theorem can be established.
n→∞
(7.52)
7.1 ERRORCORRECTING BLOCK CODES
185
Theorem 7.10 (Asymptotic Singleton bound) Consider a code with length n and d relative minimum distance 𝛿 = min . Then, as n → ∞, the code rate is upper bounded n by R ≤ 1 − 𝛿. It turns out that the other bounds are all functions of the volume, or the number of codewords, of a sphere with radius 𝛼n in the binary ndimensional space, 𝛼n ( ) ∑ n V(n, 𝛼n) = (7.53) i i=0 The problem to get asymptotic versions then goes back to getting an asymptotic value of the sphere. Consider the function 1n log V(n, 𝛼n) and derive its limit value as n → ∞. This can be done by deriving upper and lower bounds, which sandwich the function as n grows. To get an upper bound, consider the following derivations. Consider a number 𝛼, in the interval 0 ≤ 𝛼 ≤ 12 , then n ( ) ( )n ∑ n i 1 = 𝛼 + (1 − 𝛼) = 𝛼 (1 − 𝛼)n−i i i=0 ≥
= ≥
𝛼n ( ) ∑ n i 𝛼 (1 − 𝛼)n−i i i=0
𝛼n ( )( )i ∑ n 𝛼 (1 − 𝛼)n i 1 − 𝛼 i=0
𝛼n ( )( )𝛼n ∑ n 𝛼 (1 − 𝛼)n i 1 − 𝛼 i=0
𝛼n ( ) 𝛼n ( ) ∑ ∑ n 𝛼n n −nh(𝛼) (1−𝛼)n = = 𝛼 (1 − 𝛼) 2 i i i=0 i=0
(7.54)
where the first inequality comes from limiting the summation and the second follows 𝛼 ≤ 1 and 𝛼n ≥ 1 for large n. The last equality follows from the fact that since 1−𝛼 2−nh(𝛼) = 𝛼 𝛼n (1 − 𝛼)(1−𝛼)n
(7.55)
Rearranging in the above calculation gives 1 log V(n, 𝛼n) ≤ h(𝛼) (7.56) n To get a lower bound on the volume, refer to Stirling’s There are dif√approximation. ( n )n 1 ferent versions of this, and a commonly used is n! ≈ 2𝜋n e . By lower bounding 1 More
accurately, it is shown in [39] that the factorial function is bounded by ( )n 1 ( )n 1 √ √ n n 2𝜋n e 12n+1 ≤ n! ≤ 2𝜋n e 12n e e
186
CHAPTER 7
CHANNEL CODING
the volume with the last term of the sum ( ) 𝛼n ( ) ∑ n n n! V(n, 𝛼n) = ≥ = i 𝛼n 𝛼n!(1 − 𝛼)n! i=0 √ ( )n 1 2𝜋n ne e 12n+1 ≥√ 1 ( )𝛼n 1 √ ( (1−𝛼)n )(1−𝛼)n 12(1−𝛼)n 12𝛼n 2𝜋𝛼n 𝛼n e 2𝜋(1 − 𝛼)n e e e ( 1 ) 1 1 1 − log 2𝜋𝛼(1−𝛼)n+ 12n+1 − 12𝛼n − 12(1−𝛼)n log e 2 2 = 𝛼 𝛼n (1 − 𝛼)(1−𝛼)n = 2nh(𝛼)−O(log n)
(7.57)
where O(log n) denotes a function growing in the order of log n. Again, consider the logarithm of the volume per dimension to get 1 1 log V(n, 𝛼n) ≥ h(𝛼) − O(log n) → h(𝛼), n n
n→∞
(7.58)
Hence, as n grows toward infinity the normalized volume is sandwiched between the upper and lower bounds, both approaching the binary entropy function. That gives lim V(n, 𝛼n) = h(𝛼)
n→∞
(7.59)
⌈ ⌉ Going back to the Hamming bound, the spheres considered have radius t = d−1 . 2 For large n, and consequently also large d, it can be written as ⌈ d−1 ⌉ 𝛿 t=n 2 ≈ n (7.60) n 2 Therefore, the Hamming bound gives the following asymptotic bound on the coding rate ( ( ) ( )) 1 1 n − log V n, 𝛿2 n → 1 − h 𝛿2 , n → ∞ R = log M ≤ (7.61) n n For code constructions with rates not approaching zero,2 the following theorem is stated. Theorem 7.11 (Asymptotic Hamming bound) Consider a code with length n and d . Then, as n → ∞ the code rate is upper bounded relative minimum distance 𝛿 = min n (𝛿) by R ≤ 1 − h 2 .
obvious example on such code construction is the repetition code, where the rate R = 1∕n → 0, as n → ∞.
2 An
7.1 ERRORCORRECTING BLOCK CODES
187
As the codeword length n grows, the number of codewords M = 2nR will also grow. Then according the Plotkin bound on the MD in Theorem 7.7, 𝛿 = lim
n→∞
dmin 1 1 M ≤ lim = n→∞ 2 M − 1 n 2
(7.62)
The result is stated in the following theorem. Theorem 7.12 For a code construction where the rate does not tend to zero the d relative minimum distance 𝛿 = min is bounded by 𝛿 ≤ 12 , as n → ∞. n Next, the result in (7.45) is reviewed as the codeword length grows. Even though the derivations require slightly deeper treatment of coding theory than given here, it is included for completeness. Consider a block code with minimum distance dmin and codeword length n. Let w = n − 2dmin + 1 and consider a binary vector 𝜶 of this length. Form a subcode, 𝜶 consisting of the codewords in starting with 𝜶. (𝜶) ≥ dmin . There Since 𝜶 is a subcode of the minimum distance is bounded by dmin are 2w such subcodes partitioning , and according to (7.45) each of them can have the number of codewords at most M𝜶 ≤
2dmin = 2dmin 2dmin − n + w
(7.63)
Hence, the total number of codewords in is ∑ M𝜶 ≤ 2dmin 2n−2dmin +1 = dmin 2n−2dmin +2 M=
(7.64)
𝜶
and the rate log dmin + n − 2dmin + 2 log M ≤ n n dmin log dmin + 2 + → 1 − 2𝛿, =1−2 n n
R=
n→∞
(7.65)
The result is formulated in the next theorem. Theorem 7.13 (Plotkin asymptotic bound) Consider a code with length n and d relative minimum distance 𝛿 = min , where 0 ≤ 𝛿 ≤ 1∕2. Then, as n → ∞ the code n rate is upper bounded by R ≤ 1 − 2𝛿. For large n, the differences between Gilbert’s bound and Varshamov’s bound become negligible, and asymptotically they are the same. Normally, this bound is called the Gilbert–Varshamov bound. For both cases, the radius of the considered sphere is approximately 𝛿n, and the lower bound on the code rate can be derived as R=
1 1 log M ≥ (n − log V(n, 𝛿n)) → 1 − h(𝛿), n n
which gives the next theorem.
n→∞
(7.66)
188
CHAPTER 7
CHANNEL CODING
R
Singleton Hamming Plotkin Gilbert–Varshamov
1
0.5
Figure 7.2 A view of Singleton bound, Hamming bound, Plotkin bound, and Gilbert–Varshamov bound for large codeword lengths. The grayshaded area is the gap between the upper and lower bounds.
1 δ
Theorem 7.14 (Gilbert–Varshamov bound) There exists a code with rate R and d such that, as n → ∞ the code rate satisfies R ≥ relative minimum distance 𝛿 = min n 1 − h(𝛿). The considered asymptotic bounds are shown in Figure 7.2. Here the grayshaded area represents the gap between the upper and lower bounds. What it means is that rates above the gray area are known to be impossible to reach. It is also known that there exist codes for the rates that are below the gray area, i.e. the gray area marks the unknown region. In the literature, there are several more bounds that can narrow this gap (see, e.g., [33, 36]).
7.2
CONVOLUTIONAL CODE
The second class of codes treated in this text is the class of convolutional codes. The main idea of errorcorrecting codes is that a sequence of symbols representing the pure information should be represented by data with a higher dimensionality, in such a way that errors can be corrected. In the previous section, the sequence was first blocked in ktuples and each of these treated independently from each other to form length n codewords. This is the block coding approach. If the input sequence is instead viewed as an infinite sequence and the redundancy is formed along the way, the convolutional coding approach arise. It was first presented by Elias in 1955 [40]. The information sequence is processed by a linear system where the number of outputs exceeds the number of inputs. In this way, the resulting sequence, the code sequence, has a built in redundancy related to the difference in input and output length as well as the memory of the linear system. In this text, mainly binary sequences are considered as well as encoders with one input sequence and two output sequences. Consider a binary (infinite) sequence x = x0 x1 x2 x3 …
(7.67)
Then the sequence is fed to a linear circuit, or an encoder, with one input and two outputs. For each input bit in the sequence, the output consists of 2 bits. That is, the
7.2 CONVOLUTIONAL CODE
+
+
y(0)
+
y(1)
Figure 7.3
189
Circuit for the (7, 5) encoder.
x
output can be written as y = y(0) y(1) y(0) y(1) y(0) y(1) y(0) y(1) … 0 0 1 1 2 2 3 3
(7.68)
In the next example, an encoder for such system is shown.
Example 7.10 In Figure 7.3, one of the most common examples of a convolutional encoder is shown. Assuming that the encoder starts in the allzero state, the input sequence x = 10100000 …
(7.69)
y = 11 10 00 10 11 00 00 00 …
(7.70)
will give the output sequence
From system theory, it is well known that the output sequences can be derived as the convolution of the input sequence and the impulse responses, y(0) = x ∗ (111) y
(1)
(7.71)
= x ∗ (101)
(7.72)
hence the name convolutional codes. The impulse responses (111) and (101) are often described in an octal form giving 7 and 5. This specific encoder is therefore often mentioned as the (7, 5)encoder. By assuming a length m shift register instead of 2 as in the previous example, a more general relation between the input sequence and the output sequence can be obtained (see Figure 7.4). The input sequence is fed to the shift register, and at each level the symbol is multiplied with a constant gi , i = 1, 2, … , m. For the binary case, when having one input and one output, the multiplier means either a connection or
g0
xk
+
+
g1
g2
xk−1
xk−2
···
···
+
+
gm–1
gm
xk−m+1 xk−m
yk
Figure 7.4 A linear circuit as the encoder.
190
CHAPTER 7
CHANNEL CODING
no connection for the values 1 and 0, respectively. The output bit at time k can be derived as yk = xk g0 + xk−1 g1 + ⋯ + xk−m gm =
m ∑
xk−i gi
(mod2)
(7.73)
i=0
This relation shows the output sequence as a convolution of the input sequence and the impulse response, i.e. y = x ∗ (g0 g1 g2 … gm−1 gm )
(7.74)
as was used also in the previous example. In general, the circuit of Figure 7.4 can be used to describe a code where at each time instant b information bits are encode into c code bits. At time k, xk is a binary row vector of length b and yk a binary row vector of length c. The coefficients in the figure are represented by b × c binary matrices. Hence, the (7, 5) encoder in Example 7.10 is described by the coefficient matrices g0 = (1 1)
g1 = (1 0)
g2 = (1 1)
(7.75)
The convolution identified in (7.74) can be derived by a matrix multiplication. Assuming that the encoder starts in the allzero state at time k = 0 the output from the information sequence x = (x0 x1 x2 …) y = xG ⎛g0 ⎜ ⎜ = (x0 x1 x2 …)⎜ ⎜ ⎜ ⎜ ⎝
g1 g0
g2 g1
⋯ g2
gm−1 ⋯
gm gm−1
gm
g0
g1 g0
g2 g1
⋯ g2
gm−1 ⋯
⋱
⋱
⋱
gm gm−1
gm ⋱
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⋱ ⎠ (7.76)
where G is the time domain generator matrix.
Example 7.11
For the (7, 5) encoder in Example 7.10, the generator matrix is ⎛1 1 ⎜ ⎜ ⎜ G=⎜ ⎜ ⎜ ⎜ ⎝
10 11 11 10 11 11 10 11 11 10 11 11 10 11 ⋱ ⋱
⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⋱⎠
(7.77)
Hence, encoding the sequence x = 101000 …
(7.78)
7.2 CONVOLUTIONAL CODE
191
is equivalent to adding row one and three in the generator matrix to get y=11 10 00
10 11 00
00
…
(7.79)
The rate of a convolutional code is the ratio between the number of inputs and the number of outputs, R=
b c
As an example, the (7, 5) encoder gives a rate R =
7.2.1
(7.80) 1 2
code.
Decoding of Convolutional Codes
So far, it is the encoder circuit that has been treated. The code is, as for block codes, the set of codewords. Since the information sequences are infinite sequences, so are the codewords. This also means that the number of codewords is infinite. This fact might be seen as an obstacle when it comes to decoding, as for an ML decoder the received sequence should compare all possible code sequences. It turns out that there is a very clever structure to compare all code sequences and with that a simple method to perform ML decoding. The decoding algorithm is the Viterbi algorithm [41], which was published in April 1967. However, at that point it was not fully understood that the algorithm was neither optimal nor practically implementable. In [42], Forney introduced the trellis structure, which makes the algorithm much more understandable. In the same paper, it was shown that the algorithm indeed performs an ML decoding. Since the complexity of the algorithm grows exponentially with the memory in the encoder, it was still not seen as a practical alternative. It was not until late 1968 when Heller published the first simulation results for relatively short convolutional codes [43] this view was changed. Today there are many systems containing convolutional codes that rely on the trellis structure and the Viterbi algorithm, in one way or another. Convolutional codes are also used for concatenation of codes, e.g., turbo codes. Then, an iterative decoding procedure, based on a MAP decoding algorithm [44] is used, often called the BCJR algorithm from the inventors. This MAP algorithm also uses a the trellis structure as a base for the probability derivations. In the next, the Trellis structure will be introduced first and then the Viterbi algorithm. To start describing the trellis structure, again assume the (7, 5) encoder in Example 7.10. The two memory elements in this circuit represent the memory of the code, which is called the state. This state represents everything the encoder needs to know about the past symbols in the sequence. The output and the next state at a certain time are both functions of the current state and the current input. These two functions can be viewed in a state transition graph, as depicted in Figure 7.5. If the current state is the allzero state and the input is 0, the next state is the allzero state and the output 00. If, on the other hand, the input is 1, the next state is 10 and the output 11. Continuing with the other three states in the same way completes the graph. In this way, the graph describes the behavior of the encoder circuit. Each
192
CHAPTER 7
CHANNEL CODING
0/00
1/11 1/00
0/11
00
1/10
0/01
01
1/01
10
11
0/10 Figure 7.5
State transition graph for the (7, 5) encoder.
Time =
k
···
00
k+1 0/00
0/00
00
1/11
Figure 7.6 Trellis segments for the (7, 5) encoder.
k+2 00 · · ·
1/11
···
01
0/11 1/00
01
0/11 1/00
01 · · ·
···
10
0/10 1/01
10
0/10 1/01
10 · · ·
···
11
0/01
0/01 1/10
11
1/10
11 · · ·
information sequence represents a path in the graph, giving both a state sequence and a code sequence. Even though the graph gives a good overview and a description of how the encoder works, the description of the sequences needs one more dimension, the time. To include this, a twodimensional structure with the possible states listed vertically and the time horizontal can be considered. That mean each state will exist once in every time instant (see Figure 7.6). This picture resembles the structure of a garden trellis, hence the name trellis [72]. In Figure 7.6, three trellis segments for the (7, 5) encoder are shown. This gives the efficient description of all possible state sequences. Since there is a onetoone mapping between the input sequences and the state sequences, and between the state sequences and the code sequences, this also gives a graphical view of all possible code sequences. Previously, in Examples 7.10 and 7.11, the encoder was assumed to start in the allzero state. Then at time k = 0 the state is known to be 00, and other states do not need to be listed (see Figure 7.7). At time k = 1, there are two possible states,
00
0/00
00
1/11
0/00
10
0/10 1/01
0/00
00
1/11
0/00
00
1/11
0/00
00
1/11
0/00
00
1/11
00 · · ·
1/11
01
0/11 1/00
01
0/11 1/00
01
0/11 1/00
01
0/11 1/00
01 · · ·
10
0/10 1/01
10
0/10 1/01
10
0/10 1/01
10
0/10 1/01
10 · · ·
11
0/01 1/10
11
0/01 1/10
11
0/01 1/10
11
0/01 1/10
11 · · ·
Figure 7.7 Trellis for (7, 5) encoder when the encoder is started at the allzero state. The path marked with bold edges corresponds to the information sequence x = 101000 ….
7.2 CONVOLUTIONAL CODE
193
00 and 10. First in time k = 2, when the memory of the encoder has been filled, all states are possible. So the trellis in Figure 7.7 describes all codewords generated by a (7, 5) encoder that starts in the zero state. In Example 7.10, the information sequence x = 101000 … was used. By following this sequence in the trellis, it is seen that the corresponding state sequence starts in state 00. As the first input is 1, the next state is 10 and the output is 11. The second input is 0, which gives the next state 01 and the output 10. Continuing this through the trellis, the state and code sequences are 𝝈 = 00 10 01 10 01 00 00 … y = 11 10 00 10 11 00 00 …
(7.81) (7.82)
The above sequences are marked as a path with bold edges in Figure 7.7. The errorcorrecting capability of a convolutional code is determined by the minimum Hamming distance between two code sequences. In the next definition, the free distance of the code is introduced as a direct counterpart to the minimum distance for block codes. Definition 7.5 The free distance for a convolutional code is the minimum Hamming weight between two different code sequences dfree = min dH (y1 , y2 )
(7.83)
y1 ,y2 ∈ y1 ≠y2
Since the mapping between the information sequences and code sequences is determined by a convolution, which is a linear mapping, the code is linear. That means, to derive the free distance it is not necessary to compare all code sequences with each other, it is enough to compare one sequence with all the other. If that fixed sequence is chosen as the allzero sequence, the free distance can be derived as dfree = min wH (y)
(7.84)
y∈ y≠0
With the free distance as the measure of separation between code sequences the same arguing as for block codes gives the following theorem on the error correction and detection capabilities for a convolutional code. Theorem 7.15 When using a convolutional code with free distance dfree , it is always possible to either detect an error e if wH (e) < dfree
(7.85)
or correct an error e if wH (e) ≤
dfree − 1 2
(7.86)
194
CHAPTER 7
CHANNEL CODING
Example 7.12 By counting the number of ones along the nonzero paths in the trellis of Figure 7.7, the minimal weight is found to be 5. That gives the free distance dfree = 5, which is answered by, e.g., the code sequence y = 11 10 11 00 00 00 …
(7.87)
Hence, by Theorem 7.15 it is seen that two errors can always be corrected by the code. Alternatively, any four errors can always be detected by the code. In the description above, it is assumed that the code sequences have infinite duration. Even though this exist also in practical implementations, e.g., some space applications, the information sequence is often split into finite duration vectors (or blocks). Then, each vector is encoded separately by first setting the encoder in the allzero state and then feeding the information vector. To preserve the errorcorrecting capability of the code, the encoder is driven back to the allzero state after encoding the vector. With vectors of length K and an encoder with memory m the code sequences will be of length K + m. The trellis will then have one starting state at time k = 0 and one ending state at time k = K + m. For the (7, 5) encoder such trellis is shown in Figure 7.8. To simplify the figure, the labels of the branches are omitted. Assuming the code vector is transmitted bitwise over a BSC, the ML decoder can be implemented as a minimum distance decoder. Thus, the received (binary) vector should be compared to the possible transmitted vectors. The code symbols of the branches in the trellis are compared with the received symbols by using the Hamming distance. In this sense, the trellis is a directed graph with the property that all states at a specific time has the same length from the starting state. If both the starting state and ending state are known, e.g., the allzero state, Viterbi’s idea is as follows. Start in time k = 0 and state 𝜎 = 00 and let the metric for this state be 𝜇00 = 0. Then, for each time instance k = 𝜏 in the trellis, label all branches to the next time instance k = 𝜏 + 1 with the Hamming distance between the corresponding branch output and the received bits. For all the states at time k = 𝜏, there is a cumulative metric 𝜇𝜎 for the lowest weight path from the starting state to this state. Then, for each state in time k = 𝜏 + 1 there are two alternative paths from time k = 𝜏. The total weight for the path from the starting state is the metric for the k=
0
1
2
3
4
K
K+1
K+2
00
00
00
00
00
···
00
00
00
01
01
01
···
01
01
10
10
10
···
10
11
11
11
···
11
10
Figure 7.8 Trellis for (7, 5) encoder when the encoder starts and terminates in the allzero state. The information vector is K bits long and the code sequence 2(K + 2) bits.
7.2 CONVOLUTIONAL CODE
195
previous state and branch weight. Keep only the branch corresponding to the lowest weight path for each state. Continuing this will at time k = K + m result in one path with the least weight through the trellis. This represents the codeword with the least Hamming distance to the received vector.
Algorithm 7.2 (Viterbi) Let y be a code vector of length K + m, starting and terminating in the allzero state, and let k be the possible states in time k. The code vector is transmitted over a BSC, and the received vector is denoted by r. Let be the possible input vectors for the encoder and S+ (𝜎, x) and Y(𝜎, x) be the next state function and the output function when current state is 𝜎 and input is x. In the trellis, let each node contains two variables: the metric 𝜇k (𝜎) and the backtrack state BTk (𝜎). The BTk (𝜎) contains a pointer back to the state at time k − 1 from where the minimum weight path comes. Then the Viterbi algorithm can be performed according to 1. Initialization: Let 𝜇0 (0) = 0 2. Expand: FOR k = 0, 1, … , K + m − 1: FOR EACH 𝜎 ∈ k−1 and x ∈ 𝜇 = 𝜇k (𝜎) + dH (Y(𝜎, x), rk ) IF 𝜇 < 𝜇k+1 (S+ (𝜎, x)) 𝜇k+1 (S+ (𝜎, x)) = 𝜇 BTk+1 (S+ (𝜎, x)) = 𝜎 Backtrack from end state to starting state using BTpath to get ŷ . In the case when there are two equally likely paths entering a state, the surviving path should be chosen randomly.
The procedure of the Viterbi algorithm is best shown through an example. In the next example, it is assumed a length four information vector is encoded by a (7, 5) encoder. This is suitable for a textbook example, but in a real implementation the length of the vector should be much longer than the memory of the encoder. Otherwise, the effective code rate will be considerably lowered. In the example, the rate R = 1∕2 encoder is used to encode four information bits to 12 code bits, giving an effective rate of REff = 4∕12 ≈ 0.33. If instead the length of the information vector is 500, the effective rate becomes REff = 500∕1004 ≈ 0.5.
Example 7.13 Assume the information vector x = 1011 should be transmitted. To drive the encoder back to the zero state at the end two dummy zeros are appended to form x̃ = 1011 00. Continuing with the (7, 5) encoder, the code vector is y = x̃ G = 11 10 00 01 01 11
(7.88)
196
CHAPTER 7
CHANNEL CODING
r=
11
00
0
00
00 11
2
00
00 11
00 2
00 1
0
10 01
2
01
10
10 01
1
01 10
4
11 Figure 7.9
11
00
11 00
01 10
00
00 2
00 11
01 2
00 2
00
00
11
01
11 00
01
10
10 01
10
10
2
01 10
2
01
1
11
2
11 3 2
00
2
00
11
11
The trellis used to decode r = 11 00 00 00 01 11 for the (7, 5) code.
Assume that two errors occur during the transmission; in the third and eight bit, so the received vector is r = 11 00 00 00 01 11
(7.89)
According to (7.86), an MD decoder should be able to correct these two errors. The trellis in Figure 7.9 is used for decoding. For the first and second steps in the algorithm, there are no competing paths entering the states and the metric of the paths is derived as the Hamming distance between the received path and the considered path. In the third step, there are two branches entering each state. Starting with state 00, one path is coming from state 00 at the previous level and one from 01. The path from 00 has a cumulative metric of 𝜇00 = 2 and an additional branch metric of dH (00, 00) = 0, which gives in total 2. The second path has a cumulative metric of 𝜇01 = 1 at time 2 and an addition of dH (11, 00) = 2 which gives a total metric of 3. Hence, the first path has the least metric and therefore the second should be discarded. This is marked in the figure with a dashed line. Similarly, the state 01 at time 3 has two entering paths with total metric of 4 + 1 = 5 and 1 + 1 = 2, where the second is the surviving path and the first should be discarded. Continuing in the same way for the remaining states at time three, there will be exactly one path entering each state, yielding the minimum cumulative metric. Since the Hamming distance is used as metric, the paths entering each state represent the paths with minimum Hamming distance compared to the received vector up to this time. The fourth step in the trellis follows similarly. Then, at step five the input sequence is known to be a zero, appended to drive the encoder back to the allzero state. Then there are only the possible states 00 and 01. For state 00, the two entering paths both have the metric 3, and then the survivor should be chosen randomly, using, e.g., coin flipping. In this example, the lower path from 01 is chosen. In the last step in the trellis, there is only one state left, 00. The surviving path entering this state corresponds to the path through the trellis with least metric. Following it back to the starting state gives the closest code vector as ŷ = 11 10 00 01 01 11
(7.90)
7.2 CONVOLUTIONAL CODE
197
which gives the most likely information vector x̂ = 1011 (00)
(7.91)
The two inserted errors have been corrected by the algorithm, as was anticipated from the free distance of 5. If there are more errors, the outcome depends on their distribution. If they are far apart in a long vector, the code will probably be able to correct them, but if they are closely together in a burst there is a higher risk that the decoder will give an erroneous answer.
7.2.2
Transform Representation
In the beginning of this section, it was seen that the code sequence equals the information sequences convolved with the impulse response of the circuit. This convolution can be expressed as the multiplication by an (infinite) matrix. As in many applications, a convolution in the time domain is easily viewed as a multiplication in a transform domain. Since there is a finite number of amplitude levels, without order, the normal discrete time transforms for real or complex sequences, such as the discrete Fourier transform or the transform, cannot be used. Instead it is common to define a new transform, often named the transform.3 Definition 7.6
Consider a sequence x = x0 x1 x2 x3 …
(7.92)
with or without starting and/or ending time. Then the transform of the sequence is ∞ ∑ xi Di (7.93) x(D) = x0 + x1 D + x2 D2 + x3 D3 + ⋯ = i=−∞
In the definition, the sum is taken from i = −∞ but it is often assumed that the sequences are causal, i.e. starting at time 0. This can be solved by arguing that the sequence is zero up to time 0. The variable D works as a position marker in the sense that the coefficient before Dk describes what is happening at time instant k. Next two important properties of the transform will be derived. First, a convolution at the time domain equals a multiplication in the transform domain, and, second, the transform representation of periodic sequences. Considering a sequence x that is fed to a linear circuit with impulse response g, then the output sequence is given by the convolution y = x ∗ g. The symbol at time i 3 In
a strict mathematical meaning, it is doubtful that it should be called a transform. The variable D does not have a mathematical meaning as for the frequency in the Fourier transform or a complex number as in the transform. But for our purpose, considering sequences of elements from a finite field, the usage is very similar.
198
CHAPTER 7
CHANNEL CODING
in y can then be expressed as yi =
∑
xj gi−j
(7.94)
j
Hence, the transform of y becomes ∑ ∑∑ y(D) = yi Di = xj gi−j Di i
=
∑∑ ( ∑
j
xj D
j
j
xj gm Dj+m
m
j
=
i
)( ∑
) m
gm D
= x(D)g(D)
(7.95)
j
where in the third equality the summation order is interchanged and the variable change m = i − j is applied. This shows that a convolution in the time domain equals a multiplication in the Ddomain. A periodic sequence can be written as [x0 x1 … xn−1 ]∞ = x0 x1 … xn−1 x0 x1 … xn−1 …
(7.96)
where x0 x1 … xn−1 is the periodically repeated sequence and n the period. To derive the transform, first consider a sequence with period n and only one 1, [10 … 0]∞ → 1 + Dn + D2n + ⋯ =
(1 + Dn )(1 + Dn + D2n + ⋯) 1 = 1 + Dn 1 + Dn
(7.97)
In the last equality, there is also term DM in the numerator, where M tends to infinity. Since M denotes the time instant, the term is vanishing in infinite time and will not affect the derivations. By similar derivations, if the 1 is in position i, the transform is [0 … 010 … 0]∞ →
Di 1 + Dn
(7.98)
Altogether, the transform of a general periodic sequence is [x0 x1 x2 … xn−1 ]∞ → x0 =
1 D Dn−1 + x + ⋯ + x 1 n−1 1 + Dn 1 + Dn 1 + Dn
x0 + x1 D + x2 D2 + ⋯ + xn−1 Dn−1 1 + Dn
(7.99)
That is, a periodical sequence is represented by a rational function in the transform, and vice versa. The next theorem summarizes the properties of the transform.
7.2 CONVOLUTIONAL CODE
+
+
+
y(0)
+
y(1)
Figure 7.10
199
Circuit for the (17, 15) encoder.
x +
Theorem 7.16
For the transform, the following properties hold: D
x ∗ g ⟶ x(D)g(D) D x + x1 D + ⋯ + xn−1 Dn−1 [x0 x1 … xn−1 ]∞ ⟶ 0 1 + Dn
(7.100) (7.101)
According to (7.74), the code sequence y is formed by a convolution with g = g0 g1 … gm , which can be written by the transform as the generator matrix, G(D) = g0 + G1 D + ⋯ + gm Dm
(7.102)
The code sequence is formed as y(D) = x(D)G(D)
(7.103)
The (7, 5) encoder is characterized by g0 = (1 1), g1 = (1 0), and g2 = (1 1), and the generator matrix becomes G(D) = (1 1) + (1 0)D + (1 1)D2 = (1 + D + D2
1 + D2 )
(7.104)
There are several other encoders than the here described (7, 5) encoder. As an example, the generator matrix G(D) = (1 + D + D2 + D3
1 + D + D3 )
(7.105)
describes an encoder with memory m = 3 and free distance dfree = 6. The vectors for the coefficients of the polynomials are (1111) and (1101), which in octal representations are 178 and 158 . The encoder is therefore mentioned as the (17, 15) encoder. In Figure 7.10, the encoder circuit is shown. The encoder circuit can also have more than one input sequence as for the encoder circuit in Figure 7.11. The number of inputs for the encoder equals the number of rows in the generator matrix. That is, each input corresponds to a row in the matrix and each output a column. In this case, the generator matrix becomes ) ( 1+D D 1 (7.106) G(D) = 1 1 + D + D2 D2 Furthermore, if the circuit contains feedback the entries in the generator matrix becomes rational functions, such as ) ( 1 + D + D2 1 (7.107) G(D) = 1 + D2
200
CHAPTER 7
CHANNEL CODING
+
y(0) y(1)
+ +
Figure 7.11 Encoder for the generator matrix G(D) in (7.106).
x(0)
+
y(2)
x(1)
+
+
and ⎛ 1 2 1+D+D G(D) = ⎜ ⎜ D2 ⎝ 1+D3
D 1+D3 1 1+D3
1 ⎞ 1+D3 ⎟ 1 1+D
⎟ ⎠
(7.108)
From system theory, the first generator matrix can be realized as in Figure 7.12. In Figure 7.13, the resulting bit error probability after the decoder is shown for a Hamming code, described in the previous section, and three convolutional codes with memory 2, 6, and 11. The memory 2 encoder is the described above with the generator matrix G(D) = (1 + D + D2
1 + D2 )
(7.109)
Since the rates for the Hamming code and the convolutional codes are not the same, it would not be fare to compare them for the same crossover probability in the BSC. Therefore, the bit error probability is plotted against the signaltonoise ratio Eb ∕N0 , where Eb is the energy per information bit and N0 the Gaussian noise parameter (see Chapter 9). When using a binary antipodal signalling, i.e. binary phase shift keying or BPSK, and hard decision at the receiver, the channel is modeled as a BSC with crossover probability ) (√ Eb 2 R (7.110) 𝜀=Q N0
+ x
+
y(0)
+
y(1)
Figure 7.12 Encoder for the generator matrix G(D) in (7.107).
7.2 CONVOLUTIONAL CODE
P(bit error) 10−0 Uncoded Hamming CC m=2 CC m=6 CC m=11
10−1 10−2 10−3 10−4
201
Figure 7.13 The resulting bit error probability as a function of the signaltonoise ratio Eb ∕N0 in decibels, for the (16,7) Hamming code and three different convolutional codes (CC) with rate R = 1∕2 and memory 2, 6, and 11, respectively. For comparison, the uncoded case is also plotted. In the simulations, the BSC was applied.
10−5 10−6
0
2
4
6
8
10
Eb/N0[dB]
where Q(⋅) is an error function ∞
Q(x) =
∫x
1 −z2 ∕2 dz √ e 2𝜋
(7.111)
i.e. the probability that the outcome of a normalized Gaussian random variable exceeds x. The results in Figure 7.13 are based on hard decision, i.e., a BSC with crossover probability according to (7.110). It is possible to improve the results if the received values are fed directly to the decoder instead of making hard decision for the signal alternatives. The purpose of the bit error rate plots in Figure 7.13 is to show how the coding schemes considered in this chapter works. The described codes, both block and convolutional, are of low complexity as well as performance, but if the complexity is increased the performance will also improve. This can be seen by the increased performance of the convolutional codes, where the decoding complexity increases exponentially with the encoder memory. The comparison in the figure with the Hamming code is not really fair since it is a very simple code. There are both block codes and convolutional codes that perform much better than shown here. One widely used class of block codes is the class of Reed–Solomon codes [45]. This is a block code derived over a higher order field, often with alphabet size q = 28 implemented as bytes, see e.g., [83]. The generated codes are known to be minimum distance separable, MDS, i.e. they fulfill the Singleton bound (see Theorem 7.6), with equality. That means an (n, k) Reed–Solomon code has the minimum distance dmin = n − k + 1. There are implementations in various communication systems, such as CD and DVD standards, ADSL and VDSL copper access, QR codes, and data storage. Even more efficient systems can be obtained by combing several low complexity codes into one. A very wellspread combination is convolutional codes in series with the Reed–Solomon block code [46]. The idea is to have a convolutional codes
202
CHAPTER 7
CHANNEL CODING
closest to the channel and a Reed–Solomon code outside. When the decoder for the inner convolutional code makes an error, the result is typically a burst error. Since the Reed–Solomon code is working over a larger field, it is quite good at taking care of such burst errors. Other larger code constructions are the turbo codes [47] and the LDPC codes [48]. The former is a parallel concatenation of two small convolutional codes in combination with a large interleaver. By iteratively decode the two convolutional codes, and taking the intermediate decoding results into account as maximum a priori information, the resulting overall scheme becomes very strong. The latter, the LDPC codes, are the most promising today. The idea is to have a large but sparse parity check matrix to define the code. Also in this case, the decoding can be split and by iterative decoding the results are improved. The turbo codes have been adopted for the third and fourth mobile systems universal mobile telecommunication system (UMTS) and longterm evolution (LTE), whereas LDPC has been selected for the fifth mobile system. They are also implemented in, e.g., the WiFi standards 802.11n and 802.11ac, as well as 10 Gbps Ethernet (10GbaseT) and the G.hn standard, which is a standard for all wired inhome communication, such as powerline communication and coax and telephone lines.
7.2.3
Bounds on Convolutional Codes
In this part, two famous bounds on the free distance will be covered. First, it is Heller’s upper bound [43], that is based on the Plotkin bound in Theorem 7.7. For this, view a convolutional code with rate R = b∕c, that is, the encoder circuit has b inputs and c outputs, and memory m. Then consider an input sequence of length l. In total, there are 2bl such sequences, and the corresponding code sequences are of length c(l + m). By using these sequences, a block code( can be formed, ) where the codeword length is n = c(l + m) and M = 2bl , i.e. it is an c(l + m), bl code. Applying Plotkin’s bound to this gives an upper bound on the minimum distance dmin,l ≤
c(l + m)2bl c(l + m) nM = = bl 2(M − 1) 2(2 − 1) 2(1 − 2−bl )
(7.112)
Minimizing over all possible lengths for the information sequence gives Heller’s bound. Theorem 7.17 The free distance for a convolutional code with rate R = b∕c with memory m satisfies dfree ≤ min l≥1
c(l + m) 2(1 − 2−bl )
(7.113)
it is interesting to consider the case when the memory of the encoder grows, m → ∞. This will mean that the codeword lengths will also grow, as well as the free distance.
7.3 ERRORDETECTING CODES
203
Therefor, the relative free distance can be assigned as dfree (7.114) mc Inserting this in Heller’s bound gives the following theorem, as a counterpart of Theorem 7.12. 𝛿 = lim
m→∞
d
free Theorem 7.18 The relative free distance 𝛿 = mc for a convolutional code with the rate R = b∕c with encoder memory m satisfies
𝛿≤
1 , 2
m→∞
(7.115)
As for the block coding case, there are lower bounds on the relative free distance. One first example is to use the Gilbert–Varshamov bound from Theorem 7.14. Thus, there exists a code with rate R = b∕c such that the relative free distance is bounded by ( ) 𝛿 ≥ h−1 1 − R (7.116) Due to Costello [49], a stronger lower bound on timevarying convolutional codes can be stated. The proof of this lies outside the scope of this text, so here it is not stated. For a more thorough treatment, refer to [49, 34, 35]. Theorem 7.19 (Costello) volutional code such that
For any rate R = b∕c, there exists a (timevarying) con𝛿≥
7.3
R(1 − 2R−1 ) h(2R−1 ) + R − 1
(7.117)
ERRORDETECTING CODES
In the previous sections of this chapter, the aim has been to correct errors occurred on the channel. In many situations, the aim of the decoder is instead to detect errors. Then, it is up to the higher layer communication protocols to take care of the result, e.g., by requesting retransmission of a packet. In most communication systems, there are both an errorcorrecting code and an errordetecting code. The idea is to have the errorcorrecting code closest to the physical layer. Most errors occurred on the channel should be caught by this and corrected. However, as was seen earlier, no matter how strong the code is there will always be error patterns where the decoder makes the wrong decision, resulting in decoding errors. These errors should be caught by an errordetecting scheme. Often these two coding schemes are located on different logical layers in the communication model. Typically the errorcorrecting scheme is located close to the channel, i.e. on OSI layer 1, whereas the
204 u 11
CHAPTER 7
···
.. .
CHANNEL CODING
u 1m
h1
.. .
.. .
u n1
···
u nm
hn
v1
···
vm
r
Figure 7.14
Horizontal and vertical parity check.
error detection is included in the communication protocol on higher layers. There are, for example, error detection codes both in Ethernet protocol on layer 2, Internet protocol (IP) on layer 3, and transmission control protocol (TCP) on layer 4. The main part of this section will be devoted to CRC codes, typically used in layer 2 protocols. The simplest version of an errordetecting code is the parity check code. Given a binary vector of length n, the idea is to add one more bit, which is the modulo 2 sum of the bits in the vector. Then there will always be an even number of ones in the vector, hence this scheme is called even parity check.
Example 7.14
Assume a vector of length 7 according to u = 1001010
(7.118)
Then the parity bit is derived as the modulo 2 sum, v = 1, and the codeword is the concatenation, x = 10010101
(7.119)
In this way, the codeword is identified as a byte with even weight. If a codewords with a parity bit is transmitted over a channel and a single error is introduced, the received word will contain an odd number of ones. This way the receiver can directly see if there has been an error. With the decoding rule that a codeword is accepted if it has an even number of ones, all error patterns with odd weight will be detected. However, all even weight error patterns will pass undetected. The described error detection scheme was used in the original ASCII table, where 128 characters were encoded as bytes, each with even weight. This is equivalent to 7 bits describing 128 characters, and then a parity bit is appended. An easy way to improve the error detection capabilities is to concatenate two parity check codes. Consider a binary matrix of size n × m, and at each row a parity bit, hi , is appended and to each column a parity bit, vj , is appended (see Figure 7.14). This scheme is sometimes called horizontal and vertical parity check. The extra parity bit added, in the figure denoted r, can be derived either as a parity bit for the horizontal ∑ checks, hi , or the vertical checks, vj . The horizontal checks are derived as hi = j uij
7.3 ERRORDETECTING CODES
Figure 7.15
1
1
1
1
205
An undetected error event of weight four.
∑ and the vertical checks as vj = i uij . Then, as a start, let the common parity bit be derived over the horizontal checks, by a change of summation order it can be derived over the vertical checks, r=
∑ i
hi =
∑∑ i
j
uij =
∑∑ j
i
uij =
∑
vj
(7.120)
j
where all summations are performed modulo 2. A single error in this structure will naturally be detected since it is based on parity check codes. The error events that will not be detected are the cases when there are an even number of errors in both directions, i.e. in columns and rows. The least weight for such event is when four errors are located on the corners of a rectangle (see Figure 7.15). These errors can also occur in the check bits, which is the reason the extra parity bit in the lower right corner is needed.
7.3.1
CRC Codes
To generalize the ideas of the parity bit, more than one bit can be added to a vector. For example in the Hamming code in Example 7.8, three different parity bits are derived over a different set of information bits. An alternative way to generalize the parity bit ideas is given by a CRC code, described in this section. They have become well known and are used in several applications, e.g., Ethernet. One of the reasons is that they can be implemented very efficiently in hardware, and thus, does not add much computational or hardware overhead. The description given here for CRC codes follows partly [50]. The derivations for the codes are based on vectors viewed as polynomials in the variable D, where the exponent of D is the place marker for the coefficient.4 The vector a = aL−1 aL−2 … a1 a0 is represented by the polynomial a(D) =
L ∑
ai Di = aL−1 DL−1 + aL−2 DL−2 + ⋯ + a1 D + a0
(7.121)
i=0
4 Compared
to the notation of the D used for convolutional codes, there is a slight difference since here it is a marker for a position in a vector while for convolutional codes it is a marker for a time instant.
206
CHAPTER 7
Example 7.15
CHANNEL CODING
For example, the vector a = 1000011 is transformed as a(D) = 1D6 + 0D5 + 0D4 + 0D3 + 0D2 + 1D1 + 1D0 = D6 + D + 1
(7.122)
Let the data to be transmitted consist of a length k binary vector and represent it by the degree k − 1 polynomial d(D) = dk−1 Dk−1 + dk−2 Dk−2 + ⋯ + d1 D + d0
(7.123)
To add redundant bits so the total length of the codeword is n, n − k bits should be appended. These redundant bits, the CRC bits, can be represented by a degree n − k − 1 polynomial r(D) = rn−k−1 Dn−k−1 + ⋯ + r1 D + r0
(7.124)
and the codeword polynomial can be written as c(D) = d(D)Dn−k + r(D) = dk−1 Dn−1 + ⋯ + d0 Dn−k + rn−k−1 Dn−k−1 + ⋯ + r1 D + r0
(7.125)
To derive the CRC polynomial, r(D), a degree n − k generator polynomial is used g(D) = Dn−k + gn−k−1 Dn−k−1 + ⋯ + g1 D + 1
(7.126)
It is a binary polynomial with degree n − k where the highest and lowest coefficients are nonzero, i.e. gn−k = 1 and g0 = 1. Then the CRC polynomial is derived as5 ( ) r(D) = Rg(D) d(D)Dn−k
(7.127)
The polynomial division is performed in the same manner as normal polynomial division, except that all coefficients are binary and modulo 2 arithmetic is used. The procedure is shown in the following example.
Example 7.16 Assume the data word d = 1001 and three CRC bits should be added. In that case k = 4 and n = 7. The data word is represented as a polynomial as d(D) = D3 + 1. Find a degree three generator polynomial, say g(D) = D3 + D + 1. 5 The
notation Ra (b) means the reminder from the division b∕a. That is, if a and b are polynomials, then d and r can (uniquely) be found such that b = a ⋅ d + r where deg(r) < deg(a). In some texts, it is denoted with the modulo operator as mod(b, a)
7.3 ERRORDETECTING CODES
207
Later in this section, it will be considered how to choose these polynomials. Performing the division d(D)D3 ∕g(D), D3 + D D3 + D + 1 D6 + D6 +
D4
D3 + D3
D4 D4 +
D2 + D D2 + D
gives that d(D)D3 D2 + D D6 + D3 = D3 + D + 3 = 3 g(D) D +D+1 D +D+1
(7.128)
Hence, the CRC polynomial is
( ) r(D) = RD3 +D+1 D6 + D3 = D2 + D
(7.129)
and the codeword polynomial c(D) = D6 + D3 + D2 + D
(7.130)
The codeword rewritten as a binary vector becomes c = 1001110. To see how the receiver side can use this codeword to detect errors, first a couple of properties are noted. Let z(D) denote the quotient in the division d(D)Dn−k ∕g(D). In the previous example, z(D) = D3 + D. Then, the data polynomial can be written as d(D)Dn−k = g(D)z(D) + r(D)
(7.131)
Equivalently, in modulo 2 arithmetic, the codeword polynomial becomes c(D) = d(D)Dn−k + r(D) = g(D)z(D)
(7.132)
That is, all codeword polynomials are divisible by the generator polynomial g(D), and all polynomials (with degree less than n) that are divisible by g(D) are polynomials for codewords. Stated as a theorem the following is obtained.6 Theorem 7.20 g(D)c(D).
A polynomial c(D) with deg(c(D)) < n is a codeword if and only if
If c(D) is transmitted over a channel and there occur errors, they can be represented by an addition of the polynomial e(D), and the received polynomial is y(D) = c(D) + e(D). 6 The
notation ab means the division b∕a has a zero reminder, i.e. that b is a multiple of a. For integers, for example 312 but 3 ̸ 10.
208
CHAPTER 7
CHANNEL CODING
Example 7.17 According to the previous example the codeword transmitted over the channel is c = 1001110. Assuming the channel introduces an error in the third bit, the received vector is y = 1011110. The error vector can be seen as e = 0010000 and the y = c ⊕ e = 1001110 + 0010000 = 1011110
(7.133)
where the addition is performed positionwise. Since modulo 2 arithmetic is used the function a + 1 will always invert the bit a. Expressed in polynomial form the error polynomial is e(D) = D4 , and the received polynomial y(D) = c(D) + e(D) = D6 + D4 + D3 + D2 + D
(7.134)
where the addition is performed over the binary field, i.e. as modulo 2 addition for the coefficients. For error detection, the receiver can use the fact that g(D) is a factor of each transmitted codeword. Similar to the parity check example, where the receiver detects an error if the received vector has an odd number of ones, in this case the receiver will detect an error if g(D) is not a factor. As a test the syndrome is derived as the reminder of the division c(D)∕g(D), s(D) = Rg(D) (y(D)) = Rg(D) (c(D) + e(D)) = Rg(D) (Rg(D) (c(D)) + Rg(D) (e(D))) = Rg(D) (e(D))
(7.135) ( ) Notice that the syndrome is directly a function of the error since Rg(D) c(D) = 0. If there are no errors in the transmission, the error polynomial is e(D) = 0 and the syndrome s(D) = 0. So the criteria for assuming errorfree transmission at the receiver side is that s(D) = 0. In the case when there are errors, and e(D) ≠ 0, these will be detected if s(D) ≠ 0. Example 7.18 In the previous example, the received vector y = 1011110 was considered. The corresponding polynomial representation is y(D) = D6 + D4 + D3 + D2 + D. With the generator polynomial g(D) = D3 + D + 1, the division y(D) D2 + D D6 + D4 + D3 + D2 + D 3 + = = D g(D) D3 + D + 1 D3 + D + 1
(7.136)
gives the syndrome s(D) = Rg(D) (y(D)) = D2 + D. Since this is nonzero, y is not a codeword and an error has been detected. In some cases, when e(D) = g(D)p(D) for some nonzero polynomial p(D), the syndrome will also be zero and the error will not be detected. That is, an error event will not be detected if it is a codeword. For this purpose, a short investigation on the error detection capability is conducted. For a deeper analysis, refer to [50].
7.3 ERRORDETECTING CODES
TABLE 7.1
A list of primitive polynomials up to degree 17.
p(D)
p(D)
D2
D10 + D3 + 1 D11 + D2 + 1 D12 + D6 + D4 + D + 1 D13 + D4 + D3 + D + 1 D14 + D10 + D6 + D + 1 D15 + D + 1 D16 + D12 + D9 + D7 + 1 D17 + D3 + 1
+D+1 +D+1 D4 + D + 1 D5 + D2 + 1 D6 + D + 1 D7 + D3 + 1 D8 + D4 + D3 + D2 + 1 D9 + D4 + 1 D3
209
First, assume that a single error in position i has occurred, i.e. e(D) = Di . Since g(D) has at least two nonzero coefficients so will g(D)p(D), and it cannot be on the form Di . Hence, all single errors will be detected by the scheme. In fact, by using the generator polynomial g(D) = 1 + D is equivalent to adding a parity check bit, which is used to detect one error. If there are two errors during the transmission, say in position i and j, where i < j, the error polynomial is ) ( (7.137) e(D) = Dj + Di = Di Dj−i + 1 This error will not be detected in the case when g(D) divides Dj−i + 1. From algebra, it is known that if deg(g(D)) = L the least K such that g(D)DK + 1 does not exceed 2L − 1. Furthermore, it is always possible to find a polynomial for which there is equality, i.e. where K = 2L − 1 is the least integer such that g(D)DK + 1. These polynomials are called primitive polynomials. So, by using a primitive polynomial p(D) of degree deg(p(D)) = L, all errors on the form Dj−i + 1 will be detected as long as j − i < 2L − 1. By choosing the codeword length n such that n − 1 < 2L − 1, or equivalently by choosing deg(p(D)) = L > log n, there is no combination of i and j such that p(D) divides Dj−i + 1, and therefore all double errors will be detected. In Table 7.1, primitive polynomials up to degree 17 is listed. For a more extensive list, refer to, e.g., [35]. To see how the system can cope with three errors, notice that if a binary polynomial is multiplied with D + 1 it will contain an even number of nonzero coefficients.7 Thus, if the generator polynomial contains the factor D + 1, all polynomials on the form g(D)z(D) will have an even number of nonzero coefficients and all occurrences of an odd number of errors will be detected. So, to chose a generator polynomial, assume that the length of the data frame is k bits. Then to be able to detect double errors, a primitive polynomial p(D) of degree L is chosen. To get the generator polynomial, this should be multiplied with D + 1, g(D) = p(D)(1 + D). That is, the degree of the generating polynomial is L + 1 and the binary polynomials, it can be found that (D + 1)(D𝛼 + D𝛼−1 + ⋯ + D𝛼−𝛽 ) = D𝛼+1 + D𝛼−𝛽 where 𝛼, 𝛽 ∈ ℤ+ . Generalizing this leads to (D + 1)q(D) that will have an even number of nonzero coefficients.
7 For
210
CHAPTER 7
CHANNEL CODING
length of the codeword is n = k + L + 1. The primitive polynomial should therefore be chosen such that k + L < 2L − 1
(7.138)
To summarize the error detection capabilities, if the generator polynomial is chosen correctly, it is always possible to detect single, double, and triple errors. Apart from this, all errors with odd weight can be detected. Some wellknown CRC generator polynomials are g(D) = D8 + D7 + D6 + D4 + D2 + 1 g(D) = D8 + D2 + D + 1
(CRC8) (CRC8 CCITT)
g(D) = D10 + D9 + D5 + D4 + D2 + 1
(CRC10)
g(D) = D16 + D15 + D2 + 1
(CRC16)
g(D) = D16 + D12 + D5 + 1
(CRC16 CCITT)
g(D) = D32 + D26 + D23 + D22 + D16 + D12 + D11 + D10 + D8 + D7 + D5 + D4 + D2 + D + 1 g(D) = D64 + D4 + D3 + D + 1
(CRC32) (CRC64)
PROBLEMS 7.1
In a coding scheme, three information bits u = (u0 , u1 , u2 ) are appended with three parity bits according to v0 = u1 + u2 v1 = u0 + u2 v2 = u0 + u1 Hence, an information word u = (u0 , u1 , u2 ) is encoded to the codeword x = (u0 , u1 , u2 , v0 , v1 , v2 ). (a) What is the code rate R? (b) Find a generator matrix G. (c) What is the minimum distance, dmin , of the code? (d) Find a parity check matrix H, such that GH T = 0. (e) Construct a syndrome table for decoding. (f) Make an example where a three bit vector is encoded, transmitted over a channel and decoded.
7.2
Show that if dmin ≥ 𝜆 + 𝛾 + 1 for a linear code, it is capable of correcting 𝜆 errors and simultaneously detecting 𝛾 errors, where 𝛾 > 𝜆.
PROBLEMS
7.3
211
One way to extend the code is to add one more bit such that the codeword has even Hamming weight, i.e. E = {(y1 … yn yn+1 )(y1 … yn ) ∈ and y1 + ⋯ + yn + yn+1 = 0 (mod 2)} (a) Show that if is a linear code, so is E . If you instead extend the code with a bit such that the number of ones is odd, will the code still be linear? (b) Let H be the parity check matrix for the code and show that ⎛ ⎜ H HE = ⎜ ⎜ ⎜ ⎝1 ⋯
1
0⎞ ⋮⎟ ⎟ 0⎟ ⎟ 1⎠
is the parity check matrix for the extended code E . (c) What can you say about the minimum distance for the extended code? 7.4
In the early days of computers, the ASCII table consisted of seven bit vectors where an extra parity bit was appended such that the vector always had even number of ones. This was an easy way to detect errors in, e.g., punch cards. What is the parity check matrix for this code?
7.5
Plot, using, e.g., MATLAB, the resulting bit error rate as a function of Eb ∕N0 when using binary repetition codes of rate R = 1∕3, R = 1∕5, and R = 1∕7. Compare with the uncoded case. Notice that Eb is the energy per information bit, i.e. for a rate R = 1∕N the energy per transmitted bit is Eb ∕N. The noise parameter is naturally independent of the code rate.
7.6
Verify that the free distance for the code generated by the generator matrix generator matrix ) ( G(D) = 1 + D + D2 1 + D2 is dfree = 5. Decode the received sequence r = 01 11 00 01 11 00 01 00 10
7.7
A convolutional code is formed from the generator matrix G(D) = (1 + D
1 + D + D2 )
(a) Derive the free distance dfree . (b) Decode the received sequence r = 01 11 00 01 11 00 01 00 10 Assume that the encoder is started and ended in the allzero state. 7.8
Repeat Problem 7.7 for the generator matrix G(D) = (1 + D + D2 + D3
7.9
1 + D + D3 )
For the generator matrix in Problem 7.6, show that the generator matrix ( ) 1 + D + D2 1 Gs (D) = 1 + D2 will give the same code as G(D).
212
CHAPTER 7
CHANNEL CODING
CRC
Data 7.10
Figure 7.16 Six data bits and four bits CRC.
Suppose a 4bit CRC with generator polynomial g(x) = x4 + x3 + 1 has been used. Which, if any, of the following three messages will be accepted by the receiver? (a) 11010111 (b) 10101101101 (c) 10001110111
7.11
Consider a data frame with six bits where a four bit CRC is added at the end, see Figure 7.16. To calculate the CRC bit,s the following generator polynomial is used: g(x) = (x + 1)(x3 + x + 1) = x4 + x3 + x2 + 1 (a) Will the encoding scheme be able to detect all – single errors? – double errors? – triple errors? – quadruple errors? (b) Assume the data vector d = 010111 should be transmitted. Find the CRC bits for the frame. Then, introduce an error pattern that is detectable and show how the detection works.
CHAPTER
8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
T
HE CHANNELS CONSIDERED in the previous chapters are discrete valued and memoryless. These channel models are very widespread and can represent the realworld signaling in many cases. On that abstraction level, they typically represent correct transmission, errors, and erasures. However, in many cases the modeling is done on another abstraction level, closer to the actual signals and transmission. In those models, the signals can be viewed as continuous valued random variables, and the noise on the channel is often considered to be additive white noise. In this chapter, realvalued random variables are considered and the information measures adopted for this case. In the next chapter, this will be used to find the capacity for time discrete channels like the additive white Gaussian noise channel.
8.1 DIFFERENTIAL ENTROPY AND MUTUAL INFORMATION For a discrete valued random variable is defined as the expected value [ X, the entropy ] of the selfinformation, H(X) = E − log p(X) . Using a similar function for continuous variables results in the following definition. To keep the definitions apart, it is common to name this value the differential entropy.1 Definition 8.1 Let X be a real continuous random variable with probability density function f (x). The differential entropy is [ ] H(X) = E − log f (X) = −
∫ℝ
f (x) log f (x)dx
(8.1)
where the convention 0 log 0 = 0 is used. assumed that the variables are “realvalued, x ∈ ℝ,” hence the notation ∫ℝ dx = defined on other ranges, e.g., x ∈ S, the integration should be ∫S dx. The definition can also include multidimensional variables or vectors, as in ∫ℝn dx.
1 For simplicity, it is ∞ ∫−∞ dx. For variables
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
213
214
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
Figure 8.1
log a
The log function.
a
1
In the literature, there are other notations as well, among others H(f ) is used to denote the differential entropy of the density function f (x). This is in some cases quite handy and will occasionally be used in this text, similar to the use of H(p1 , … , pN ) for the discrete case. Example 8.1 For a uniformly distributed random variable X ∼ U(a), a > 0, the density function is given by {1 , 0≤x≤a f (x) = a (8.2) 0, otherwise The differential entropy becomes a
H(X) = −
a
1 1 1 log dx = log a dx = log a ∫0 a ∫0 a a
(8.3)
As can be seen in Figure 8.1, the log function is negative when the argument is less than 1. Hence, for a uniform distribution with a < 1 the entropy is negative. If a = 1 the entropy is zero, and if a > 1 the entropy is positive. The fact that the entropy can now be negative means that the interpretation of entropy as the uncertainty can no longer be motivated. In Appendix A, the most common distributions are listed together with their mean, variance, and entropy. In this listing, the entropy is derived over the natural base, since this makes the integration slightly more natural. Then the unit is nats instead of bits. By elementary logarithm laws, the translation between base 2 and base e can be found as [ ] [ ] E − ln f (X) H (X) = e (8.4) H(X) = E − log f (X) = ln 2 ln 2 It can be useful to notice that translation with a constant c of a random variable does not affect the entropy, H(X + c) = −
∫ℝ
f (x − c) log f (x − c)dx
=−
∫ℝ
f (z) log f (z)dz = H(X)
(8.5)
8.1 DIFFERENTIAL ENTROPY AND MUTUAL INFORMATION
215
where the variable change z = x − c was used. If a random variable X with density ( ) function f (x) is scaled by a constant 𝛼 the density functions is f𝛼X (x) = 𝛼1 f 𝛼x . Then the entropy becomes 1 ( ) 1 (x) log f 𝛼x dx f H(𝛼X) = − ∫ℝ 𝛼 𝛼 𝛼 ( ) ( ) dx 1 (x) = log 𝛼 dx − f 𝛼x log f 𝛼x f ∫ℝ 𝛼 𝛼 ∫ℝ 𝛼 = log 𝛼 −
∫ℝ
f (z) log f (z)dz
= H(X) + log 𝛼
(8.6)
The above derivations can be summarized in the following theorem. Theorem 8.1 Consider the continuous random variable X and form a new random variable Y = 𝛼X + c, where 𝛼 and c are realvalued constants. Then H(Y) = H(𝛼X + c) = H(X) + log 𝛼
(8.7)
In the next example, the differential entropy for a Gaussian variable is derived by first scaling it to a normalized Gaussian variable. Example 8.2 Let X be a Gaussian (normal) distributed random variable, X ∼ , N(𝜇, 𝜎). To make derivations easier, consider first a normalized variable Y = X−𝜇 𝜎 where Y ∼ N(0, 1), with the density function 2 1 f (y) = √ e−y ∕2 2𝜋
(8.8)
The entropy of Y can be derived as H(Y) = −
∫ℝ
f (y) log f (y)dy = −
∫ℝ
2 1 f (y) log √ e−y ∕2 dy 2𝜋
2 1 f (y) log √ dy − f (y) log e−y ∕2 dy ∫ ℝ 2𝜋 1 1 = log(2𝜋) f (y)dy + log(e) y2 f (y)dy ∫ℝ ∫ℝ 2 2 1 = log(2𝜋e) 2 According to Theorem 8.1, the entropy for X can be derived as
=−
∫ℝ
H(X) = H(𝜎Y + 𝜇) = H(Y) + log(𝜎) 1 1 1 = log(2𝜋e) + log(𝜎 2 ) = log(2𝜋e𝜎 2 ) 2 2 2
(8.9)
(8.10)
216
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
which is the listed function in Appendix A, except that the natural base in the logarithm in the appendix. It should also be noted that for a Gaussian distribution the 1 . entropy can be negative. It will be zero for log(2𝜋e𝜎 2 ) = 0, or equivalently, 𝜎 2 = 2𝜋e That is, 𝜎2 > 𝜎2 = 𝜎 < 2
1 2𝜋e 1 2𝜋e 1 2𝜋e
⇒ H(X) > 0
(8.11)
⇒ H(X) = 0
(8.12)
⇒ H(X) < 0
(8.13)
As for the discrete case, random vectors can be viewed as multidimensional random variables. (X1 , X2 , … , Xn ). The entropy can still be defined as the expectation of the logarithmic density function, [ ] (8.14) H(X1 , … , Xn ) = E − log f (X1 , … , Xn ) Especially for the twodimensional case, the joint differential entropy is defined below. Definition 8.2 The joint differential entropy for a twodimensional random variable (X, Y) with density function f (x, y) is [ ] H(X, Y) = E − log f (X, Y) = −
Example 8.3 sity function
∫ℝ2
f (x, y) log f (x, y)dxdy
(8.15)
The twodimensional continuous random variable (X, Y) has the den
f (x, y) =
{ A, 0,
x > 0, y > 0, otherwise
ax + by < ab
(8.16)
That is, it is uniformly distributed over the gray area as shown in Figure 8.2. Figure 8.2
y a ax + by = ab
b
x
The area where f (x, y) = A.
8.1 DIFFERENTIAL ENTROPY AND MUTUAL INFORMATION
217
First the amplitude of the density function, A, must be determined. Using that 1= gives A =
2 . ab
∫◺
Adxdy = A
∫◺
1dxdy = A
ab 2
(8.17)
Then the joint entropy becomes H(X, Y) = −
∫◺
A log Adxdy
= − log A = log
∫◺
Adxdy
1 ab = log = log ab − 1 A 2
(8.18)
Next, the mutual information is defined for continuous variables as a straightforward generalization of the discrete case. Definition 8.3 The mutual information for a pair of continuous random variables (X, Y) with joint probability density function f (x, y) is [ f (X, Y) ] f (x, y) = I(X; Y) = E log f (x, y) log dxdy ∫ℝ2 f (X)f (Y) f (x)f (y)
(8.19)
From the definition, it can be directly concluded that the mutual information is symmetric, i.e. I(X; Y) = I(Y; X). By breaking up the logarithm in a sum, the function can be rewritten using the entropy functions, [ f (X, Y) ] I(X; Y) = E log f (X)f (Y) [ ] = E log f (X, Y) − log f (X) − log f (Y) [ ] [ ] [ ] = E − log f (X) + E − log f (Y) − E − log f (X, Y) = H(X) + H(Y) − H(X, Y)
(8.20)
Similar to the discrete case, the conditional entropy is defined as follows. Definition 8.4 The conditional differential entropy is the differential entropy for the random variable X conditioned on the random variable Y and is written as [ ] H(XY) = E − log f (XY) = −
∫ℝ2
f (x, y) log f (xy)dxdy
(8.21)
where f (x, y) is the joint density function and f (xy) is the conditional density function.
218
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
As a counterpart to (3.33), the conditional differential entropy can be derived as H(XY) = −
∫ℝ2
f (x, y) log f (xy)dxdy
=−
∫ℝ2 ( −
f (xy)f (y) log f (xy)dxdy
=
∫ℝ
=
∫ℝ
∫ℝ
) f (xy) log f (xy)dx f (y)dy
H(XY = y)f (y)dy
(8.22)
where H(XY = y) = − ∫ℝ f (xy) log f (xy)dx is the differential entropy conditioned on the event Y = y. The joint entropy can be written as [ ] H(X, Y) = E − log f (X, Y) [ ] [ ] = E − log f (XY) + E − log f (Y) = H(XY) + H(Y)
(8.23)
H(X, Y) = H(YX) + H(X)
(8.24)
or, similarly,
Combining the above gives the following theorem for the mutual information. Theorem 8.2 Let X and Y be two continuous random variables. Then the mutual information can be derived as I(X; Y) = H(X) − H(XY) = H(Y) − H(YX) = H(X) + H(Y) − H(X, Y)
(8.25)
Example 8.4 To derive the mutual information between the two variables in Example 8.3, the entropy for the individual variables X and Y is needed. Starting with X, the density function is − ab x+a
2 dy ∫y=0 ab ( ) a 2 2 2 − x + a = − 2x + = ab b b b
f (x) =
∫ℝ
f (x, y)dy =
This is a triangular distribution starting at f (0) = (see Figure 8.3).
2 b
(8.26)
and decreasing linearly to f (b) = 0
8.1 DIFFERENTIAL ENTROPY AND MUTUAL INFORMATION
Figure 8.3
f (x)
219
The density function of X.
2 b 2 b
–
2 x b2
b
x
To derive the entropy use the variable change z = − b22 x + parts to get b(
H(X) = −
∫0
−
2 b
and integration by
) ( ) 2 2 2 2 log − dx x + x + b b b2 b2 2∕b
b2 z ln zdz 2 ln 2 ∫0 ([ 2 ] ) b2 z z2 2∕b =− ln z − 2 ln 2 2 4 0 ( ) b2 2 2 1 =− ln − 2 ln 2 b2 b b2 √ b 1 = log + (8.27) = log b e − 1 2 2 ln 2 √ Similarly, the entropy of Y is H(Y) = log a e − 1. Then, the mutual information between X and Y becomes =−
I(X; Y) = H(X) + H(Y) − H(X, Y) √ √ = log b e − 1 + log a e − 1 − log ab + 1 e = log e − 1 = log 2
(8.28)
There are two things to notice by the previous example. First, the mutual information, in this case, is not dependent on the constants a and b. Second, which is more important, is that the mutual information is a positive number. To see that it is not only in this example where the mutual information is nonegative, the relative entropy is generalized for the continuous case. Definition 8.5 The relative entropy for a pair of continuous random variables with probability density functions f (x) and g(y) is [ f (X) ] f (x) = f (x) log dx (8.29) D(f g) = Ef log ∫ℝ g(X) g(x)
220
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
D (λ0  λ)
Figure 8.4 The relative entropy for two exponentially distributed variables.
λ0
λ
Example 8.5 Consider a random variable that is exponentially distributed, Exp(𝜆0 ). The density function is f (x) = 𝜆0 e−𝜆0 x ,
x≥0
(8.30)
and the mean is E[X] = 𝜆1 . The relative entropy between this distribution and another 0 exponential distribution Exp(𝜆) is [ 𝜆 e−𝜆0 X ] D(𝜆0 𝜆) = E𝜆0 log 0 −𝜆X 𝜆e [ ] 𝜆0 = E𝜆0 log − (𝜆0 − 𝜆)X log e 𝜆 𝜆0 − (𝜆0 − 𝜆)E𝜆0 [X] log e = log 𝜆 ( ) 𝜆 𝜆 = − 1 log e − log 𝜆0 𝜆0
(8.31)
In Figure 8.4, the function is shown. Since ( ) 𝜕 1 1 1 − D(𝜆0 𝜆) = 𝜕𝜆 ln 2 𝜆0 𝜆
(8.32)
it has a minimum at 𝜆 = 𝜆0 , where D(𝜆0 𝜆) = 0. As seen in the previous example, the relative entropy between two exponential functions is a nonnegative function. To generalize the result and see that the relative entropy is nonnegative for the continuous case, first denote the support for f (x) and g(x) by f and g , respectively. The support is the interval where the function is strictly positive. When both functions are zero, use the convention that 0 log 00 = 0 and when f (x) = 0 but g(x) ≠ 0 that 0 log 0 = 0. The problem comes when f (x) ≠ 0 and g(x) = 0, as the function tends to infinity. However, right now the purpose is to show that the function is nonnegative, which is of course true for infinity. Therefore,
8.1 DIFFERENTIAL ENTROPY AND MUTUAL INFORMATION
221
without loss of generality, consider the case when f ⊆ g . Then, by using the ITinequality, D(f g) =
∫f
f (x) log
f (x) dx g(x)
g(x) dx f (x) ( g(x) ) f (x) ≥− − 1 log e dx ∫f f (x) ) ( f (x)dx − g(x)dx log e = ∫f ∫f =−
∫f
f (x) log
≥ (1 − 1) log e = 0
(8.33)
where there is equality if and only if f (x) = g(x) for all x. The result can be stated as a theorem. Theorem 8.3 The relative entropy for continuous random distributions is a nonnegative function, D(f g) ≥ 0
(8.34)
with equality if and only if f (x) = g(x), for all x. The mutual information can be expressed with the relative entropy as I(X; Y) = D(f (X, Y) f (X)f (Y))
(8.35)
which is a nonnegative function. Corollary 8.1 The mutual information for continuous random variables is the nonnegative function, I(X; Y) ≥ 0
(8.36)
with equality if and only if X and Y are independent. From I(X; Y) = H(X) − H(XY) the following corollary can be derived. Corollary 8.2 mation,
The differential entropy will not increase by considering side inforH(XY) ≤ H(X)
(8.37)
with equality if and only if X and Y are independent. The latter corollary can be generalized by the chain rule for probabilities, f (x1 , … , xn ) =
n ∏ i=1
f (xi x1 , … , xi−1 )
(8.38)
222
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
Hence, the ndimensional differential entropy can be written as [ ] H(X1 , … , Xn ) = E − log f (X1 , … , Xn ) n ∏ [ ] = E − log f (Xi X1 , … , Xi−1 ) i=1 n ∑ [ ] = E − log f (Xi X1 , … , Xi−1 )
=
i=1 n ∑
H(Xi X1 , … , Xi−1 )
(8.39)
i=1
Using H(Xi X1 , … , Xi−1 ) ≤ H(Xi ), it also means the differential entropy for the vector is not more than the sum of the differential entropies for the individual variables, H(X1 , … , Xn ) ≤
n ∑
H(Xi )
(8.40)
i=1
8.1.1 Relation between Discrete and Continuous Information Measures In the previous section, it was seen that the definition for the differential entropy is not consistent with the interpretation of the entropy as uncertainty of the random variable. One way to understand this is to discretize a continuous density function to obtain a discrete variable. Given the continuous random variable X with density function f (x), define a discrete random variable X Δ , where the probability for the outcome xkΔ is (k+1)Δ
p(xkΔ ) =
∫kΔ
f (x)dx = Δf (xk )
(8.41)
The existence of such xk in the interval kΔ ≤ xk ≤ (k + 1)Δ in the second equality is guaranteed by the mean value theorem in integral calculus (see Figure 8.5). The entropy, or uncertainty, of this discrete variable is ∑ p(xkΔ ) log p(xkΔ ) H(X Δ ) = − k
=−
∑
Δf (xk ) log Δf (xk )
k
=−
) ∑ ( ) (∑ Δ f (xk ) log f (xk ) − Δf (xk ) log Δ k
(8.42)
k
The first term in (8.42) is a Riemann sum with a limit value as the differential entropy, −
∑ ( ) Δ f (xk ) log f (xk ) → − k
∫ℝ
f (x) log f (x)dx = H(X),
Δ→0
(8.43)
8.1 DIFFERENTIAL ENTROPY AND MUTUAL INFORMATION
223
f (x) f ( xk)
p( x kΔ ) = Δ f (xk ) xk
kΔ Figure 8.5
x
(k + 1) Δ
Creation of a discrete random variable from a continuous.
∑ Similarly, the first part of the second term is k Δf (xk ) → ∫ℝ f (x)dx = 1, as Δ → ∞. However, that means the second term becomes − log Δ → ∞ as Δ → 0. As long as the differential entropy is finite, the uncertainty H(X Δ ) does not converge as Δ → 0. Actually, this is reasonable, since for most distributions the number of outcomes for X Δ grows to infinity as Δ → 0, and then the uncertainty of the outcome also goes to infinity. This divergence is the reason that the interpretation of uncertainty in the discrete case cannot be used for continuous variables. There are simply too many values for it to be reasonable to talk about the uncertainty of specific outcomes. For the mutual information, however, it can be seen from the same type of derivation that the interpretation as a measure of the information obtained about one variable by observing another still holds. Consider two continuous random variables, X and Y, with joint density function f (x, y) and marginals f (x) and f (y). Define the two discrete random variables X Δ and Y 𝛿 with joint probability p(xkΔ , y𝛿𝓁 ) = Δ𝛿f (xk , y𝓁 ). From the Riemann sums f (xk ) =
∑ 𝓁
f (y𝓁 ) =
∑
𝛿f (xk , y𝓁 ) → Δf (xk , y𝓁 ) →
k
∫ℝ
f (xk , y)dy, 𝛿 → 0
(8.44)
f (x, y𝓁 )dx, Δ → 0
(8.45)
∫ℝ
the marginals can be defined as p(xkΔ ) = Δf (xk ) and p(y𝛿𝓁 ) = 𝛿f (y𝓁 ). Then, as both 𝛿 and Δ approach zero ∑
Δf (xk ) =
k
∑ 𝓁
∑
𝛿Δf (xk , y𝓁 ) →
k,𝓁
𝛿f (xk ) =
∑ k,𝓁
𝛿Δf (xk , y𝓁 ) →
∫ℝ2
f (x, y)dxdy = 1
(8.46)
∫ℝ2
f (x, y)dxdy = 1
(8.47)
224
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
With the abovediscretized distributions for X Δ and Y 𝛿 , the mutual information can be derived as p(xkΔ , y𝛿𝓁 ) ∑ p(xkΔ , y𝛿𝓁 ) log I(X Δ , Y 𝛿 ) = p(xkΔ )p(y𝛿𝓁 ) k,𝓁 ∑ Δ𝛿f (xk , y𝓁 ) = Δ𝛿f (xk , y𝓁 ) log Δf (xk )𝛿f (y𝓁 ) k,𝓁 ( ∑ f (xk , y𝓁 ) ) Δ𝛿 f (xk , y𝓁 ) log = f (xk )f (y𝓁 ) k,𝓁 →
∫ℝ2
f (x, y) log
f (x, y) dxdy = I(X; Y), f (x)f (y)
Δ, 𝛿 → 0
(8.48)
where the limit value as Δ and 𝛿 approaches zero, individually, follows from the Riemann integration formula. The conclusion from the above derivation is that the properties for the mutual information in the discrete case are inherited to the continuous case. Especially, this means that the interpretation of mutual information is still valid for continuous variables. It also means that there is no problem to consider the information exchange between one discrete and one continuous variable. Similarly, the properties for the relative entropy, D(pq), for discrete distributions are still valid for continuous distributions.
8.2
GAUSSIAN DISTRIBUTION
In many applications, the Gaussian distribution plays an important role and information theory is not an exception. In this section, it is seen that the entropy is maximized for the Gaussian distribution, over all distributions for a given mean and variance.2 In the next chapter, this will give the means to calculate the capacity for a case when the noise is Gaussian distributed. In Example 8.2, the differential entropy for the Gaussian distribution, N(𝜇, 𝜎), was derived as [ ] 2 2 1 e−(X−𝜇) ∕2𝜎 H(X) = E − log √ 2𝜋𝜎 2 [ ] E (X − 𝜇)2 1 1 1 2 = log(2𝜋𝜎 ) + log(e) = log(2𝜋e𝜎 2 ) (8.49) 2 2 2 𝜎2 To derive the mutual information between two Gaussian variables, the density function for the twodimensional case is needed. In the next section, the ndimensional case for the Gaussian distribution will be treated a bit more thoroughly, but at this point the twodimensional case is sufficient. The density function for a pair of Gaussian variables (X, Y) ∈ N(0, Λ) with zero mean and covariance matrix ( ) E[X 2 ] E[XY] Λ= (8.50) E[XY] E[Y 2 ] 2 Here, only real valued Gaussian variables are considered. For treatment of complex valued variables, the reader is referred to [75].
8.2 GAUSSIAN DISTRIBUTION
225
is defined as ( ) x y
− 12 ( x y )Λ−1 1 e f (x, y) = √ 2𝜋 Λ
(8.51)
The joint entropy can be derived as (
[ H(X, Y) = E log
1 √
2𝜋 Λ
− 12 ( X Y )Λ−1
e
X Y
)
]
( ) ] ) X 1( 1 X Y Λ−1 log e log(2𝜋)2 Λ + Y 2 2 ] 1 1 = log(2𝜋)2 Λ + log e2 2 2 1 2 = log(2𝜋e) Λ (8.52) 2 [ ( )] where it is used that E (X Y)Λ−1 XY = 2. This fact is not directly obvious, and to obtain the result for the twodimensional case, start with the covariance matrix and its inverse as ( 2 ( ) ) 𝜎x cxy 𝜆11 𝜆12 −1 Λ= = and Λ (8.53) cxy 𝜎y2 𝜆21 𝜆22 [
=E
where cxy = E[XY] is the covariance. Their product should be equal to the unit matrix, ( 2 ) ( ) 𝜎x 𝜆11 + cxy 𝜆21 𝜎x2 𝜆12 + cxy 𝜆22 1 0 = (8.54) ΛΛ−1 = cxy 𝜆11 + 𝜎y2 𝜆21 cxy 𝜆12 + 𝜎y2 𝜆22 0 1 By identifying 𝜎x2 𝜆11 + cxy 𝜆21 = 1 and cxy 𝜆12 + 𝜎y2 𝜆22 = 1, the desired result can be achieved as ( ) [( [ ] ) −1 X ] = E X 2 𝜆11 + XY𝜆21 + XY𝜆12 + Y 2 𝜆22 E X Y Λ Y [ ] [ ] [ ] [ ] = E X 2 𝜆11 + E XY 𝜆21 + E XY 𝜆12 + E Y 2 𝜆22 = 𝜎x2 𝜆11 + cxy 𝜆21 + cxy 𝜆12 + 𝜎y2 𝜆22 = 2
(8.55)
To derive the mutual information between the two Gaussian variables X and Y, it should first be noted that by the Cauchy–Schwarz inequality  [ ]2  [ 2 ]  [ 2 ] E XY  ≤ E X ⋅E Y      
(8.56)
That is, the covariance is upper bounded by the product of the standard deviations and can be written as √ [ ] [ ] [ ] cxy = E XY = 𝜌 E X 2 E Y 2 = 𝜌𝜎x 𝜎y (8.57)
226
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
where 𝜌 ≤ 1. Then, the determinant of the covariance matrix for the twodimensional case is  𝜎2 ( ) 𝜌𝜎x 𝜎y   (8.58) Λ =  x  = 𝜎x2 𝜎y2 − 𝜌2 𝜎x2 𝜎y2 = 𝜎x2 𝜎y2 1 − 𝜌2 2 𝜎y   𝜌𝜎x 𝜎y   and the joint entropy H(X, Y) =
) ( 1 log (2𝜋e)2 𝜎x2 𝜎y2 (1 − 𝜌2 ) 2
(8.59)
The mutual information becomes I(X; Y) = H(X) + H(Y) − H(X, Y) ) ( 1 1 1 = log(2𝜋e𝜎x2 ) + log(2𝜋e𝜎y2 ) − log (2𝜋e)2 𝜎x2 𝜎y2 (1 − 𝜌2 ) 2 2 2 1 2 (8.60) = − log(1 − 𝜌 ) 2 The third function to derive is the relative entropy. For this, consider two Gaussian distributions with equal mean but different variances, N(𝜇, 𝜎02 ) and N(𝜇, 𝜎 2 ). Then [ D(𝜎0 𝜎) = Ef0 − log
√1
2𝜋𝜎02
√
1 2𝜋𝜎 2
2 ∕2𝜎 2 0
e−(X−𝜇)
]
e−(X−𝜇)2 ∕2𝜎 2
( [ ) ] 𝜎 1 (X − 𝜇)2 (X − 𝜇)2 log e = Ef0 log 0 + − 𝜎 2 𝜎2 𝜎02 [ ] [ ] 2 Ef0 (X − 𝜇)2 ) 𝜎0 1 ( Ef0 (X − 𝜇) log e − + = log 𝜎 2 𝜎2 𝜎02 ( 𝜎2 ) √ 𝜎 = log 0 + 1 − 02 log e 𝜎 𝜎
(8.61)
An important result for the Gaussian distribution is that it maximizes the entropy for a given mean and variance. This will be used in the next chapter when the capacity for a channel with Gaussian noise is derived. As a start the next lemma is shown. It states that the averaging distribution in the entropy formula is not of importance, as long as the mean and variance are not changed. Lemma 8.1 Let g(x) be a density function for a Gaussian distribution, N(𝜇, 𝜎), with mean 𝜇 and variance 𝜎 2 . If f (x) is an arbitrary distribution with the same mean and variance, then ∫ℝ
f (x) log g(x)dx =
∫ℝ
g(x) log g(x)dx
(8.62)
8.2 GAUSSIAN DISTRIBUTION
227
The lemma can be shown by the following derivation: [ ] [ ] 2 2 1 −Ef log g(X) = −Ef log √ e−(X−𝜇) ∕2𝜎 2𝜋𝜎 2 [ (X − 𝜇)2 ] 1 = log(2𝜋𝜎 2 ) + Ef log e 2 2 [ 2𝜎 2 ] Ef (X − 𝜇) 1 log e = log(2𝜋𝜎 2 ) + 2 2𝜎 2 1 1 = log(2𝜋𝜎 2 ) + log e 2 2 [ ] 1 2 (8.63) = log(2𝜋e𝜎 ) = −Eg log g(X) 2 which completes the proof of the lemma. By comparing the entropies for a Gaussian distribution, N(𝜇, 𝜎), with an arbitrary distribution with the same mean and variance, the following derivation is obtained: Hg (X) − Hf (X) = −
∫ℝ
g(x) log g(x)dx +
∫ℝ
f (x) log f (x)dx
=−
∫ℝ
f (x) log g(x)dx +
∫ℝ
f (x) log f (x)dx
=
∫ℝ
f (x) log
f (x) dx = D(f g) ≥ 0 g(x)
(8.64)
with equality if and only if f (x) = g(x) for all x. Stated differently, it is seen that if g(x) is the density function for a Gaussian distribution and f (x) the density function for any other distribution with the same mean and variance, Hg (X) ≥ Hf (X)
(8.65)
The result is stated in the next theorem. Theorem 8.4 The Gaussian distribution maximizes the differential entropy over all distributions with mean 𝜇 and variance 𝜎 2 .
8.2.1
Multidimensional Gaussian Distribution
In this section, the Gaussian distribution has been treated with extra care. Here the theory is expanded to the ndimensional case. As a first step, the Gaussian distribution will be defined for an ndimensional random vector. Through the density function, the differential entropy function is derived. A random ndimensional column vector X = (X1 , … , Xn )T , where T denotes the matrix transpose, is said to be Gaussian distributed if every linear combination ∑ of its entries forms a scalar Gaussian variable, i.e. if aT X = i ai Xi ∼ N(𝜇, 𝜎) for every realvalued vector a = (a1 , … , aN )T . Since any linear combination of Gaussian
228
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
variables is again Gaussian, the way to achieve this is to consider the case where each entrance in X is Gaussian with mean 𝜇i and variance 𝜎i2 , i.e. Xi ∈ N(𝜇i , 𝜎i ). The mean of the vector X is [ ] (8.66) 𝝁 = E X = (𝜇1 , … , 𝜇n )T and the covariance matrix [ ] ( [ ]) ΛX = E (X − 𝝁)(X − 𝝁)T = E (Xi − 𝜇i )(Xj − 𝜇j )
i,j=1,…,n
(8.67)
Clearly, the diagonal elements of ΛX contain the variances of X. The Gaussian distribution is denoted by X ∼ N(𝝁, ΛX ).3 To find the density function of the distribution, consider a general scaling and translation of a random variable X. Let X be an ndimensional random variable according to an ndimensional distribution with mean 𝝁 and covariance ΛX . If A is a square matrix of full rank and a an ndimensional column vector, a new random vector Y = AX + a is formed. The mean and covariance of Y are [ ] [ ] [ ] E Y = E AX + a = AE X + a = A𝝁 + a (8.68) [ ] ΛY = E (Y − E[Y])(Y − E[Y])T [ ] = E AX + a − A𝝁 − a)(AX + a − A𝝁 − a)T [( )( )T ] = E A(X − 𝝁) A(X − 𝝁) [ ( )( )T ] = E A X − 𝝁 X − 𝝁 AT [( )( )T ] = AE X − 𝝁 X − 𝝁 AT = AΛX AT (8.69) The idea is to transform the Gaussian vector X into a normalized Gaussian vector. In . the case when X is a onedimensional random variable, this is done with Y = X−𝜇 𝜎 To see how the corresponding equation looks for the ndimensional case, some definitions and results from matrix theory are needed. For a more thorough treatment of this topic, refer to, e.g., [8]. Most of the results here will be given without proofs. First, the covariance matrix is characterized to see how the square root of its inverse can be derived. Definition 8.6 AT = A.
A real matrix A is symmetric4 if it is symmetric along the diagonal,
If the matrix A is symmetric and has an inverse, the unity matrix can be used to get I = AA−1 = AT A−1 = (A−T A)T = A−T A, where −T denotes the transpose of the inverse. Then, A−1 = IA−1 = A−T AA−1 = A−T . Hence, the inverse of a symmetric matrix is again symmetric. From its definition, it is directly seen that the covariance matrix is symmetric, since E[(Xi − 𝜇i )(Xj − 𝜇j )] = E[(Xj − 𝜇j )(Xi − 𝜇i )]. 3 In this text, it is assumed that Λ X
has full rank. In the case of lower rank, the dimensionality of the vector
can be decreased. 4A
complex matrix A is Hermitian if A∗ = A, where ∗ denotes complex conjugate and transpose. For a real matrix, it is equivalent to being symmetric, i.e., AT = A.
8.2 GAUSSIAN DISTRIBUTION
229
In the onedimensional case, the variance is nonnegative. For matrices, this corresponds to that the covariance matrix is positive semidefinite. Definition 8.7
A real matrix A is positive definite if aT Aa > 0, for all vectors a ≠ 0.
Definition 8.8 A real matrix A is positive semidefinite, or nonzero definite, if aT Aa ≥ 0, for all vectors a ≠ 0. Consider the covariance matrix ΛX and a realvalued column vector a ≠ 0. Then [ ] aT ΛX a = aT E (X − 𝝁)(X − 𝝁)T a [ ] = E aT (X − 𝝁)(X − 𝝁)T a [ ] )] [ = E (aT X − aT 𝝁)(aT X − aT 𝝁)T = V aT X ≥ 0 (8.70) since the variance of a onedimensional random variable is nonnegative. To conclude, the following theorem is obtained. T Theorem 8.5 Given an ndimensional random vector [ ] [ X = (X1 , … , X ]n ) with mean T T E X = (𝜇1 , … , 𝜇n ) , the covariance matrix ΛX = E (X − 𝝁)(X − 𝝁) is symmetric and positive semidefinite.
In, e.g., [8], it can be found that for every symmetric positive semidefinite matrix A, there exists a unique symmetric positive semidefinite matrix A1∕2 such that ( 1∕2 )2 =A (8.71) A This matrix A1∕2 is the equivalence of the scalar square root function. Furthermore, it can be shown that the inverse of the square root is equivalent to the square root of the inverse, ( 1∕2 )−1 ( −1 )1∕2 A = A (8.72) often denoted by A−1∕2 . The determinant of A−1∕2 equals the inverse of the square root of the determinant, 1 A−1∕2  = A−1∕2 = √ A
(8.73)
With this at hand, consider an ndimensional Gaussian vector, X ∼ N(𝝁, ΛX ), and let −1∕2
Y = ΛX
(X − 𝝁)
(8.74)
The mean and covariance can be derived as [ ] [ −1∕2 −1∕2 ] −1∕2 [ ] −1∕2 E Y = E ΛX X − ΛX 𝝁 = ΛX E X − ΛX 𝝁 = 0
(8.75)
and −1∕2
ΛY = ΛX
−1∕2
ΛX ΛX
−1∕2
= ΛX
1∕2
1∕2
−1∕2
ΛX ΛX ΛX
=I
(8.76)
230
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
Hence, Y ∼ N(0, I) is normalized Gaussian distributed with zero mean and covariance I. Since ΛX is assumed to have full rank, ΛX  > 0, there exists a density function that is uniquely determined by the mean and covariance. To find this, use that the entries of Y are independent and write the density function as fY (y) =
n ∏ i=1
1 ∑ 2 1 T 1 1 1 − 1 y2 e− 2 i yi = e− 2 y y √ e 2 i = (2𝜋)n∕2 (2𝜋)n∕2 2𝜋
The entropy for this vector follows from the independency as n ∑ 1 1 H(Y) = H(Yi ) = n log(2𝜋e) = log(2𝜋e)n 2 2 i=1
(8.77)
(8.78)
To calculate the entropy for the vector X ∼ N(𝝁, ΛX ), first consider the density function. Assume a general ndimensional random vector Z with density function fZ (z), and let A be an n × n nonsingular matrix and a be an ndimensional static vector. Then, form X = AZ + a, which leads to that Z = A−1 (X − a) and dx = Adz, where A is the Jacobian for the variable change. Thus the density function for X can then be written as ) 1 ( −1 fX (x) = (8.79) fZ A (x − a) A which gives the entropy as H(X) = −
∫ℝn
fX (x) log fX (x)dx
) ) 1 ( −1 1 ( −1 fZ A (x − a) log fZ A (x − a) dx ∫ℝn A A 1 =− f (z) log f (z)dz ∫ℝn Z A Z
=−
=−
∫ℝn
fZ (z) log fZ (z)dz + log A
∫ℝn
= H(Z) + log A
fZ (z)dz (8.80)
Hence, the following result can be stated, similar to the onedimensional case. Theorem 8.6 Let Z is an ndimensional random vector with entropy H(Z). If A is an n × n nonsingular matrix and a an ndimensional static vector, then X = AZ + a has the entropy H(X) = H(Z) + log A
(8.81)
To get back from the normalized Gaussian vector Y to X ∼ N(𝝁, ΛX ), use the function 1∕2
X = ΛX Y + 𝝁
(8.82)
231
8.2 GAUSSIAN DISTRIBUTION
The above theorem states that the entropy for the vector X is 1 log(2𝜋e)n + log ΛX 1∕2 2 1 1 = log(2𝜋e)n ΛX  = log 2𝜋eΛX  2 2
H(X) =
(8.83)
Theorem 8.7 Let X = (X1 , … , Xn )T be an ndimensional Gaussian vector with [ ] mean 𝝁 = (𝜇1 , … , 𝜇n )T and covariance matrix ΛX = E (X − 𝝁)(X − 𝝁)T , i.e., X ∼ N(𝝁, ΛX ). Then the differential entropy of the vector is H(X) =
1 log 2𝜋eΛX  2
(8.84)
An alternative way to show the above theorem is to first derive the density function for X and then use this to derive the entropy. Since this derivation will be reused later, 1∕2 it is also shown here. So, again use the variable change X = ΛX Y + 𝝁 and (8.79) to get the density function for an ndimensional Gaussian distribution 1 −1∕2 T −1∕2 1 1 e− 2 (ΛX (x−𝝁)) (ΛX (x−𝝁)) fX (x) = √ ΛX  (2𝜋)n∕2 1 T −1 1 e− 2 (x−𝝁) ΛX (x−𝝁) =√ 2𝜋ΛX 
(8.85)
Before progressing toward the entropy, the argument in the exponent needs some extra attention. Assume a random variable[X (not necessarily] Gaussian) with mean E[X] = 𝝁 and covariance matrix ΛX = E (X − 𝝁)(X − 𝝁)T , and form Y = −1∕2
ΛX
(X − 𝝁) to get a normalized version with E[Y] = 0 and ΛY = I. Then ] [ ] [ T −1∕2 −1∕2 ΛX (X − 𝝁) E (X − 𝝁)T Λ−1 X (X − 𝝁) = E (X − 𝝁) ΛX n n ] ∑ [∑ [ ] = E YT Y = E Yi2 = 1=n i=1
(8.86)
i=1
−1∕2
If X is Gaussian with X ∼ N(𝝁, ΛX ), then Y = ΛX (X − 𝝁) is normalized Gaussian, Y ∼ N(0, I), and so is each of the entries, Yi ∼ N(0, 1). Since Z = (X − 𝝁)
T
Λ−1 X (X
− 𝝁) =
n ∑
Yi2 ∼ 𝜒 2 (n)
(8.87)
i=1
this also gives the mean of a chisquare distributed random variable, E[Z] = n.
232
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
The entropy for the Gaussian distribution can now be derived using the density function above as [ ] 1 − 12 (X−𝝁)T Λ−1 (X−𝝁) X H(X) = Ef − log √ e 2𝜋ΛX  [ ] 1 1 T −1 = Ef log 2𝜋ΛX  + (X − 𝝁) ΛX (X − 𝝁) log e 2 2 1 1 log 2𝜋ΛX  + n log e 2 2 ) 1 ( n 1 = log e 2𝜋ΛX  = log 2𝜋eΛX  2 2 =
(8.88)
Looking back at Lemma 8.1 and Theorem 8.4, the corresponding result for the ndimensional case can be derived. Starting with the lemma, assume that g(x) is a density function for a normal distribution, N(𝝁, ΛX ), and that f (x) is an arbitrary density function with the same mean 𝝁 and covariance matrix ΛX . Then, the expectation of − log g(X) with respect to g(x) and f (x), respectively, are equal. This can be seen from the exact same derivation as above when f (x) is nonGaussian. Hence, the following lemma, corresponding to Lemma 8.1, can be stated. Lemma 8.2 Let g(x) be an ndimensional Gaussian distribution, N(𝝁, ΛX ), with mean 𝝁 and covariance matrix ΛX . If f (x) is an arbitrary distribution with the same mean and covariance matrix, then [ ] [ ] Ef − log g(X) = Eg − log g(X) (8.89) To see that the Gaussian distribution maximizes the entropy consider [ ] [ ] Hg (X) − Hf (X) = Eg − log g(X) − Ef − log f (X) [ ] [ ] = Ef − log g(X) − Ef − log f (X) [ f (X) ] = D(f g) ≥ 0 = Ef log g(X)
(8.90)
Theorem 8.8 The ndimensional Gaussian distribution maximizes the differential entropy over all ndimensional distributions with mean 𝝁 and covariance matrix ΛX .
PROBLEMS 8.1
Derive the differential entropy for the following distributions: (a) Rectangular distribution: f (x) = (b) Normal distribution: f (x) =
1 , b−a
a ≤ x ≤ b.
(x−𝜇)2 − 2𝜎 2
1 √ e 2𝜋𝜎 2
,
−∞ ≤ x ≤ ∞.
PROBLEMS
(c) Exponential distribution: f (x) = 𝜆e−𝜆x , (d) Laplace distribution: f (x) = 8.2
1 𝜆e−𝜆x , 2
233
x ≥ 0. −∞ ≤ x ≤ ∞.
The joint distribution on X and Y is given by f (x, y) = 𝛼 2 e−(x+y) for x ≥ 0 and y ≥ 0. (Compare with Problem 3.10) (a) Determine 𝛼. (b) Derive P(X < 4, Y < 4). (c) Derive the joint entropy. (d) Derive the conditional entropy H(XY).
8.3
Repeat Problem 8.2 for f (x, y) = 𝛼 2 2−(x+y)
8.4
In wireless communication, the attenuation due to a shadowing object can be modeled as a lognormal random variable, X ∼ logN(𝜇, 𝜎). If the logarithm of a random variable X is normal distributed, i.e., Y = ln X ∼ N(𝜇, 𝜎), then X is said to be lognormal distributed. Notice that X ∈ [0, ∞] and Y ∈ [−∞, ∞]. (a) Use the probability a
P(X < a) =
∫0
fX (x)dx
to show that the density function is (ln x−𝜇)2 1 − e 2𝜎2 fX (x) = √ 2𝜋𝜎 2
(b) Use the density function in (a) to find 𝜎2
E[X] = e𝜇+ 2 2 E[X 2 ] = e2𝜇+2𝜎 2𝜇+𝜎 2 𝜎 2 V[X] = e (e − 1) (c) Show that the entropy is 𝜇 1 log 2𝜋e𝜎 2 + 2 ln 2 Let X and Y be two independent equally distributed random variables and form Z = X + Y. Derive the mutual information I(X; Z) if H(X) =
8.5
(a) X and Y are Gaussian with zero mean and unit variance, i.e., X, Y ∼ N(0, 1). (b) X and Y are uniformly distributed between − 12 and 12 , i.e., X, Y ∼ U(− 12 , 12 ). Hint: ∫ t ln t dt = 8.6
t2 2
ln t −
t2 . 4
Show that for a continuous random variable X [ ] 1 2H(X) E (X − 𝛼)2 ≥ 2 2𝜋e for any constant 𝛼. ] [ ] [ Hint: Use that E (X − 𝛼)2 is minimized for 𝛼 = E X .
234 8.7
CHAPTER 8
INFORMATION MEASURES FOR CONTINUOUS VARIABLES
The vector X1 , X2 , … , Xn consists of n i.i.d. Gaussian distributed random variables. ∑ Their sum is denoted by Y = i Xi . Derive the information I(Xk ; Y) for the case when (a) Xi ∼ N(0, 1). (b) Xi ∼ N(mi , 𝜎i ).
8.8
For a onedimensional discrete random variable over a finite interval the uniform distribution maximizes the entropy. In this problem it will be shown that this is a more general rule. Consider a finite region, , in N dimensions. (a) Assume that X = X1 , … , XN is discrete valued Ndimensional random vector with probability function p(x) such that ∑ p(x) = 1 x∈
p(x) = 0, x ∉ ∑ where has a finite number of outcomes, x∈ 1 = k. Show that the uniform distribution maximizes the entropy over all such distributions. (b) Assume that X = X1 , … , XN is a continuous valued Ndimensional random vector with density function f (x) such that f (x)dx = 1 ∫ f (x) = 0, x ∉ where has finite volume, ∫ 1dx = V. Show that the uniform distribution maximizes the differential entropy over all such distributions. 8.9
A twodimensional uniform distribution is defined over the shaded area shown in Figure 8.6. Derive (a) H(X, Y). (b) H(X) and H(Y). (c) I(X; Y). (d) H(XY) and H(YX). Figure 8.6 A twodimension uniform distribution.
y b b/2
−a
− a/2
a/2
− b/2 −b
a
x
PROBLEMS
8.10
235
If h(x) is the density function for a normal distribution, N(𝜇, 𝜎), and f (x) any distribution with the same mean and variance, show that D(f (x)h(x)) = Hh (X) − Hf (X)
8.11
The two independent Gaussian random variables X1 and X2 are distributed according to N(𝜇1 , 𝜎1 ) and N(𝜇2 , 𝜎2 ). Construct a new random variable X = X1 + X2 . (a) What is the distribution of X? (b) Derive the differential entropy of X.
8.12
Let X1 and X2 be two Gaussian random variables, X1 ∼ N(𝜇1 , 𝜎1 ) and X1 ∼ N(𝜇1 , 𝜎1 ), with density functions f1 (x) and f2 (x). (a) Derive D(f1 f2 ). (b) Let X = X1 + X2 with density function f (x). Derive D(f f2 ).
8.13
A random length, X, is uniformly distributed between 1 and 2 m. Derive the differential entropy if the length is considered distributed according to the two cases below. (a) The length varies between 1 and 2 m, i.e. { 1, 1 ≤ x ≤ 2 f (x) = 0, otherwise (b) The length varies between 100 and 200 cm, i.e. { 0.01, 100 ≤ x ≤ 200 f (x) = 0, otherwise (c) Explain the difference.
8.14
(a) Let X ∼ N(0, Λ) be an ndimensional Gaussian vector with zero mean and covariance matrix Λ = E[XXT ]. Use the chain rule for differential entropy to show that ( ∏ ) 1 H(X) ≤ log (2𝜋e)n 𝜎i2 2 i where 𝜎i2 = E[Xi2 ] is the variance for the ith variable. (b) Use the result in (a) to show Hadamad’s inequality for covariance matrices, i.e. that ∏ 𝜎i2 Λ ≤ i
CHAPTER
9
GAUSSIAN CHANNEL
I
N COMMUNICATION THEORY , it is often assumed that the transmitted signals are distorted by some noise. The most common noise to assume is additive Gaussian noise, the socalled additive white Gaussian noise channel (AWGN). Even though the noise in reality often is more complex, this model is very efficient when simulating, for example, background noise or amplifier noise. The model can be complemented by, e.g., colored noise, impulse noise, or other typical noise models. In this chapter, the AWGN channel will be studied in more detail. A fundamental limit will be derived for the signaltonoise ratio (SNR) specifying when it is not possible to achieve reliable communication.
9.1
GAUSSIAN CHANNEL
In a communication system, data are often represented in a binary form. However, binary digits are elements in a discrete world, and, in all cases of transmission they need to be represented in a continuous form. It can be as a magnetization on a hard disk, charging of a transistor in a flash memory, or signals in a cable or an antenna. The noise added on the channel is typically modeled as Gaussian (i.e., normal distributed) and represents, for example, the background noise, amplifier noise in the transceivers, and signals from other communication systems picked up in the frequency bands. A signal in a digital communication system can be represented by a continuous random variable. This value can be decomposed into two parts added together Y =X+Z
(9.1)
where X is the information carrier component, Z noise component, and Y the received variable. The power allocated by the variable X is defined as the second ] [ average moment, E X 2 . The Gaussian channel can then be defined as follows. Definition 9.1 A Gaussian channel is a timediscrete channel with input X and√output Y = X + Z, where Z models the noise and is normal distributed, Z ∼ N(0, N). The communication signaling is limited by a power constraint on the transmitter side, [ ] E X2 ≤ P (9.2) Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
237
238
CHAPTER 9
GAUSSIAN CHANNEL
Figure 9.1
Z
A Gaussian channel.
Y=X+Z
X
The Gaussian channel can be viewed as a block diagram as shown in Figure 9.1. Without the power constraint in the definition, it would be possible to transmit as much information as desired in a singlechannel use. With the power constraint, the system is more realistic and other means are needed than increasing the power to get a higher information throughput over the channel.1 The interpretation of the mutual information as the amount of information obtained about one variable by observing another is still valid for continuous variables. In a communication system where the signal X is transmitted and Y received, the aim for the receiver is to gain as much information as possible about X by observing Y. This is the transmitted information for each channel use, or transmission. To maximize the throughput over the channel, the information should be maximized with respect to the distribution of X and the transmitter power constraint. Definition 9.2
The information channel capacity for a Gaussian channel is C=
I(X; Y) max f (x) E[X 2 ] = P
(9.3)
In the continuation of the text, the notation f (x), P will be used representing f (x), E[X 2 ] = P. As before, when calculating the capacity the mutual information can be expressed as I(X; Y) = H(Y) − H(YX)
(9.4)
H(YX) = H(X + ZX) = H(ZX) = H(Z)
(9.5)
The second term is
where in the second equality it is used that, conditioned on X, X + Z is a known shift in position of the noise Z which does not change the differential entropy. To motivate the last equality, it is noted that X and Z are independent (the noise on the transmission channel is independent of the transmitted symbol). Therefore, the information over the channel can be viewed as the difference in entropy between the received symbol and the noise, I(X; Y) = H(Y) − H(Z)
(9.6)
1 Before Shannon published his work, it was the common knowledge that to get higher throughput, it was necessary to increase the power of the transmitted signals. Shannon showed that there are ways to reach high communication rates at maintained power.
9.1 GAUSSIAN CHANNEL
239
With the noise known to be a normal distributed with zero mean and variance N, the entropy becomes H(Z) =
1 2
log(2𝜋eN)
(9.7)
From the previous chapter, it is known that for a given mean and variance, the Gaussian distribution maximizes the entropy. So, maximizing H(Y) over all distributions of X gives max H(Y) =
f (x),P
1 2
log(2𝜋e𝜎 2 )
(9.8)
where the maximizing distribution is Y ∼ N(0, 𝜎). Using that the sum of two Gaussian variables is again √ Gaussian gives that Y = X + Z will be Gaussian if also X is Gaussian, X ∼√N(0, P). Then the variance of the received variable is 𝜎 2 = P + N and Y ∼ N(0, P + N). Hence, the information capacity is given by C = max I(X; Y) f (x),P
= max H(Y) − H(Z) f (x),P
1 1 log(2𝜋e(P + N)) − log(2𝜋eN) 2 2 ( 2𝜋e(P + N) ) 1 = log 2 2𝜋eN ) ( 1 P = log 1 + 2 N Formulated as a theorem, the following is obtained. =
(9.9)
Theorem 9.1 The information channel capacity of a Gaussian channel with transmitted power constraint P and noise variance N is ) ( 1 P (9.10) C = log 1 + 2 N The terminology signaltonoise ratio is often used for the relation between the signal power and[ the] noise power. In this case, the signal power is P while the noise has the power E Z 2 = N and SNR = NP . Depending on the topic and what type of system is considered, there are many different ways to define the SNR. It is important to be aware of the specific definition used in a text.
9.1.1
BandLimited Gaussian Channel
Often in communication systems, the signaling is allowed to occupy a certain bandwidth. Therefore, it is interesting to consider signals with a limited bandwidth. When it comes to the derivations, since the channel is assumed to be time discrete, the signal can be assumed to be sampled and for that purpose the sampling theorem is needed. Then each sample can be considered to be transmitted over a Gaussian channel.
240
CHAPTER 9
GAUSSIAN CHANNEL
A band limited signal is a signal where the frequency content is limited inside a bandwidth W. For example, speech is normally located within the frequency bandwidth 0–4 kHz. By modulating the signal, it can be shifted up in frequency and located in a higher band. Still, it will occupy 4 kHz bandwidth. In this way, it is possible to allocate several bands of 4 kHz after each other, and in principle it is possible to pack one voice signal every 4 kHz in the frequency band. To transmit, e.g., a voice signal, analog technology can be used to transmit it as it is. But if there is a need for some signal processing, it is often easier to work with the sampled version as digital data. Then it is, e.g., possible to use source coding to reduce the redundancy and channel coding for error protection. Hence, it is possible to achieve much better quality at a lower transmission cost (i.e., bandwidth or power). Sampling the signal means taking the value from the continuous signal every Ts second. This means there are Fs = T1 samples every second, which is denoted by s the sampling frequency. If the continuous time signal x(t) is sampled with frequency Fs , the sample values are given by ( ) x[n] = x(nTs ) = x Fn (9.11) s
For a bandlimited signal with a bandwidth of W, the sampling theorem states that to be able to reconstruct the original signal, Fs ≥ 2W must be satisfied. So, a voice signal that is band limited to W = 4 kHz should be sampled with at least Fs = 8 kHz. The relation between the signals and samples was first investigated by Nyquist in 1928 [3], and further improved by Shannon in [1]. Actually, Nyquist studied the number of pulses that can be transmitted over a certain bandwidth and did not target sampling as such. It is not clear who first published the sampling theorem as we know it today. Shannon was one of them, but there are also other publications. Theorem 9.2 (Shannon–Nyquist sampling theorem) Let x(t) be a bandlimited signal with the maximum frequency content at fmax ≤ W. If the signal is sampled with n ), it can Fs = 2W samples per second to form the discrete time sequence x[n] = x( 2W be reconstructed with ∞ ) ( ∑ n (9.12) x(t) = x[n] sinc t − 2W n=−∞ where sinc(t) =
sin(2𝜋Wt) 2𝜋Wt
(9.13)
The proof of the sampling theorem is normally included in a basic course in signal processing and lies a bit outside the scope of this text. For the sake of completeness, in Appendix B one version of a proof is given. The function sinc(t) is 1 for t = 0 and 0 for t = k∕2W, k ≠ 0 (see Figure 9.2). If the sampling frequency is less than 2W, the reconstructed signal will be distorted due to aliasing and perfect reconstruction is not possible. It is, however, always possible to
9.1 GAUSSIAN CHANNEL
241
sinc(t) 1
t
−
4 2W
−
Figure 9.2
3 2W
−
2 2W
−
1 2W
1 2W
2 2W
3 2W
4 2W
The sinc function.
perfectly reconstruct the signal if the sampling frequency is at least 2W. The sampling frequency Fs = 2W is often called the Nyquist rate. To define a channel model for bandlimited signals, assume a baseband signal with highest frequency content fmax = W, and hence occupying the bandwidth W. Sampling the signal at the Nyquist rate gives the sampling frequency Fs = 2W and the 1 sampling time, i.e., the time between two samples, Ts = F1 = 2W . Then the sampled s sequence becomes ( n ) x[n] = x(nTs ) = x 2W (9.14) Definition 9.3 A bandlimited Gaussian channel consists of a bandlimited input signal x(t), where fmax = W, distorted by additive white noise 𝜂(t), and filtered by an ideal lowpass filter, as shown in Figure 9.3. Since the signal x(t) is limited by the bandwidth W, it passes the ideal filter without changes. The aim of the filter is instead to limit the power of the noise. The meaning of the terminology white noise is that its power spectral density function occupies all frequencies with a constant value, which is normally set to R𝜂 (f ) =
N0 , 2
f ∈ℝ
(9.15)
After filtering the noise, signal is z(t) = 𝜂(t) ∗ h(t), which is also band limited with power spectral density { N0 , −W ≤ f ≤ W 2 (9.16) Rz (f ) = 0, otherwise
H( f )
η(t) x(t) Figure 9.3
h(t)
y(t)
A bandlimited Gaussian channel.
−W
W
f
242
CHAPTER 9
GAUSSIAN CHANNEL
The corresponding autocorrelation function is the inverse Fourier transform of the power spectral density function. In this case, the noise autocorrelation function is N0 sinc(𝜏) (9.17) 2 To get a time discrete sequence, the received signal is sampled at the Nyquist(rate,) k Fs = 2W. Then the autocorrelation sequence for the sampled noise zk = 𝜂 2W becomes { N0 ( k ) , k=0 2 (9.18) rz [k] = rz 2W = 0, otherwise rz (𝜏) =
This implies the resulting sampled noise is normal distributed with zero mean and variance N0 ∕2, ( √ ) N0 (9.19) zk ∼ N 0, 2 Hence, to calculate the achievable bit rate the theory for the Gaussian channel can be used. For each sample transmitted, the capacity is C=
( 2𝜎 2 ) 1 log 1 + x 2 N0
[b/sample]
(9.20)
The power of the transmitted signal is constraint to P, meaning each transmitted samP ple has the energy 𝜎x2 = 2W , which gives the capacity per sample ) ( P 1 [b/sample] (9.21) C = log 1 + 2 N0 W With Fs = 2W samples every second, the achievable bit rate becomes ) ( P [b/s] C = W log 1 + N0 W
(9.22)
This important result is formulated as a theorem. Theorem 9.3 Let x(t) be a bandlimited signal with maximum frequency contribution fmax ≤ W, and 𝜂(t) noise with power spectral density R𝜂 (f ) = N0 ∕2. The channel ( ) y(t) = x(t) + 𝜂(t) ∗ h(t) where
{ H(f ) =
has the capacity
1, f ≤ W] 0, otherwise
( C = W log 1 +
P N0 W
(9.23)
(9.24)
) [b/s]
(9.25)
9.1 GAUSSIAN CHANNEL
243
Example 9.1 A widely used technology for fixed Internet access to the home, is through DSL (digital subscriber line). There are mainly two flavors, asymmetric digital subscriber line (ADSL), with bit rates up to 26 Mb/s, and very high bit rate digital subscriber line (VDSL), that enables bit rates exceeding 100 Mb/s. Recently, a successor, G.fast, has been standardized that will achieve rates in the order of Gb/s. The advantage with DSL technology is that it reuses the old telephone lines to access the households, so it is a relatively cheap technology to roll out. Comparing with optical networks in the access link (fiber to the home, FttH) where a new infrastructure of optical fibers must be installed to each house, this is an economically feasible technology. This, however, is also one of its drawbacks since the old telephone cables have lowquality twists, and the signal may be more distorted than for modern cables. In both ADSL and VDSL, the data signal coexists with the speech signal for the telephone, located in the band 0–4 kHz. The data signal is positioned from 25 kHz up to 2.2 MHz for ADSL and up to 17 MHz for VDSL.2 To do capacity calculations on the VDSL band, neglect the speech band and assume that the available bandwidth is W = 17 MHz. The signaling level is set by the standardization body ITUT, and the allowed signal power varies over the utilized frequency band. For simplicity in this example, the signaling power is set to −60 dBm/Hz.3 The absolute maximum that is possible to transmit can be found when the noise is as low as possible. The thermal noise, or the Johnson–Nyquist noise, is the noise generated in all electrical circuits. The thermal noise is typically white and at room temperature about −174 dBm/Hz. The power and the noise variance is thus P = 10−60∕10 ⋅ W [mW] N0 = 10−174∕10 [mW/Hz]
(9.26) (9.27)
Then the capacity for the 17 MHz band is ) ( P C−174 = W log 1 + N0 W ) ( 10−60∕10 = 17 × 106 log 1 + = 644 Mb/s (9.28) 10−174∕10 While this is a maximum theoretical possible bit rate, in real cables the noise level is higher, somewhere around −145 dBm/Hz. With this noise level, the capacity is ) ( 10−60∕10 C−145 = 17 × 106 log 1 + = 480 Mb/s (9.29) 10−145∕10 In a real VDSL system, the theoretical bit rate is about 200 Mb/s. However, in practice 150 Mb/s is a more realistic figure even for very short loops. As the distance between the central equipment and the customer increases, the signal is attenuated, especially at high frequencies. 2 There are several defined band plans in the standard for VDSL2 and include 8, 12, 17, and 30 MHz.In this example, the 17 MHz case is considered. 3 Often the unit dBm/Hz is used for power spectral density (PSD) levels. This means the power level expressed in mW, normalized with the bandwidth and expressed in dB, i.e., PdBm∕Hz = 10 log10 (PmW∕Hz ).
244
CHAPTER 9
9.2
PARALLEL GAUSSIAN CHANNELS
GAUSSIAN CHANNEL
In some cases, there can be several independent parallel Gaussian channels used by the same communication system. Figure 9.4 shows n such parallel chan[ independent ] nels. Each of the channel has a power constraint Pi = E Xi2 and a noise variance Ni . ∑ The total power is P = i Pi . For these n independent Gaussian channels, the mutual information between the transmitted vector X = X1 , … , Xn and the received vector Y = Y1 , … , Yn can be written as I(X, Y) = I(X1 , … , Xn ; Y1 , … , Yn ) n ∑ ≤ I(Xi ; Yi ) i=1
≤
( P ) log 1 + i 2 Ni
n ∑ 1 i=1
(9.30)
with equality if the variables Xi are independent and Gaussian. Since 𝜎X2 = E[Xi2 ] = i Pi , the mutual information can √ be maximized for the set of Pi by using independent Gaussian variable Xi ∼ N(0, Pi ). To get the capacity, the above expression should ∑ be maximized with respect to Pi and with the additional constraint i Pi = P. From optimization theory (see, e.g., [18]), the Lagrange multiplier method can be applied. The function to maximize is then given by J=
n (∑ ) ( P ) Pi − P log 1 + i + 𝜆 2 Ni i=1
n ∑ 1 i=1
(9.31)
Setting the derivative equal to zero yields 1
1 1 𝜕 1 J= +𝜆=0 ⋅ ( N ) +𝜆= ⋅ P 𝜕Pi 2 ln 2 2 ln 2 Pi + Ni 1 + Ni
Figure 9.4 A channel with n independent parallel Gaussian subchannels.
Z1 X1
Y1
+ Z2
X2
Y2
+ .. .
.. . Zn
Xn
+
(9.32)
Yn
9.2 PARALLEL GAUSSIAN CHANNELS
245
or, equivalently, 1 (9.33) − Ni = B − Ni 𝜆2 ln 2 It is important to notice the constant B is independent of the subchannel and should be determined together with the power constraints for the n channels. Combining (9.33) together with the power constraint gives an equation system for the n + 1 variables (P1 , …, Pn , B), { Pi = B − Ni , ∀i ∑ (9.34) j Pj = P Pi = −
First B can be found from P=
∑
Pj =
∑
j
B − Nj = nB −
j
∑
Nj
(9.35)
j
∑ and, hence, B = 1n P + 1n j Nj . Then the power for channel i is achieved as Pi = 1n P + 1∑ j Nj − Ni = B − Ni , which will give an optimal power distribution for the channel. n However, there is one more requirement not included above. Solving this equation system might give negative powers for some subchannels, but in reality Pi ≥ 0. From the Kuhn–Tucker optimization,4 it can be seen that the negative part can be truncated to zero. That is, by introducing the truncating function { x, x ≥ 0 (9.36) (x)+ = 0, x < 0 the condition on the powers for channel i can be expressed as ( )+ Pi = B − Ni
(9.37)
to achieve the optimality. The modification means that some channels may have too much noise and should not be used at all. The derivation is summarized as a theorem. Theorem 9.4 Given n independent parallel Gaussian channels with noise variances ∑ Ni , i = 1, … , n, and a restricted total transmit power, i Pi = P. Then, the capacity is given by n ( P ) 1∑ (9.38) C= log 1 + i 2 i=1 Ni where
{ Pi = (B − Ni )+ ,
and B is such that
∑
i Pi
(x)+ =
x, 0,
x≥0 x Rb . Let Eb be the average transmit energy per information bit. This is a very important parameter since it can be compared between different systems, without having the same number of bits per symbol or even the same coding rate. Hence, a system independent SNR can be used as SNR = Eb ∕N0 . The energy per information bit can be written as P P Eb = PTb = ⇒ Rb = (9.91) Rb Eb Since C∞ > Rb , the ratio between the capacity and the achieved bit rate gives P∕N0
E ∕N C∞ = ln 2 = b 0 > 1 Rb P∕Eb ln 2
(9.92)
Rewriting the above concludes that for reliable communication Eb > ln 2 = 0.69 = −1.59 dB N0
(9.93)
The value −1.6 dB is a wellknown bound in communication theory and is often referred to as the fundamental limit. It constitutes a hard limit for when it is possible to achieve reliable communication. If the SNR is less than this limit, it is not possible to reach error probability that tends to be zero, independent of what system is used. To see the demands this limit puts on the system, the capacity formula will be rewritten to show a limit on the bandwidth efficiency Rb ∕W in the used system. Often the bandwidth are a limited resource and then to reach a high data rate the system should have a high bandwidth efficiency. Inserting P = Rb Eb in the capacity formula (9.89), and utilizing that Rb < C the following relation is acquired: ( ( ) R E ) C Eb C = W log 1 + b ⋅ b < W log 1 + [b/s] (9.94) ⋅ W N0 W N0 That is, a limit on the maximum achievable bandwidth efficiency C∕W can be obtained as ) [ ] ( C Eb C b/s (9.95) < log 1 + ⋅ W W N0 Hz
258
CHAPTER 9
GAUSSIAN CHANNEL
C/W 10 5
− 1.6
2
0.5
5
10
15
Eb N0
(dB)
0.2 0.1
Figure 9.12 Maximum bandwidth utilization C∕W as a function of the SNR logarithmic scale on the yaxis.
Eb . N0
Notice the
which can be rewritten as Eb 2C∕W − 1 > N0 C∕W As C∕W becomes large, the required SNR Eb , N0
Eb N0
≈
2C∕W C∕W
(9.96) grows exponentially with the
bandwidth efficiency. For a fixed there is a maximum achievable C∕W. On the other hand, if the bandwidth efficiency decreases to zero, the Shannon limit on the SNR is achieved Eb 2C∕W − 1 > lim = ln 2 = −1.59 dB (9.97) N0 C∕W→0 C∕W E
In Figure 9.12, C∕W is shown as a function of Nb . To reach the fundamental limit, 0 the bandwidth efficiency has to approach zero. An alternative way to view the decrease in bandwidth efficiency close to the limit is to consider the coding rate. With an increasing strength of the code, there is an increasing amount of redundancy transmitted. That means the amount of information in each transmission will decrease, which will also decrease the bandwidth efficiency. With a growing portion of redundancy, the code rate will decrease. In fact, next it will be shown that to reach the fundamental limit the code rate has also to approach zero. First, assume that a codeword consists of N samples and that there are K information bits in it, giving an (N, K) code with a rate R=
K N
(9.98)
9.3 FUNDAMENTAL SHANNON LIMIT
259
The duration of time for a codeword can then be set to T, and assuming the Nyquist rate, this is coupled to the number of samples through N = TFs = 2WT sample/codeword. The information bit rate can be derived as the number of information bits in a codeword divided by the duration of the codeword, Rb =
K K = 2W = 2WR T N
(9.99)
Similarly, each codeword requires an average energy of KEb , and the corresponding power is P=
KEb T
(9.100)
With this at hand, the SNR in the capacity formula can be written as KEb E E P = = 2WR b = 2 b R N0 W TN0 W N0 W N0
(9.101)
Then, since the bit rate is less than the capacity ( E ) Rb = 2WR < W log 1 + 2 b R N0
(9.102)
which gives 1+2
Eb R > 22R N0
(9.103)
or, equivalently, Eb 22R − 1 > N0 2R
(9.104)
This gives the requirement on Eb ∕N0 for a certain code rate. Using, e.g., a code with rate R = 12 the limit is now shifted to Eb > 1 = 0 dB N0
(9.105)
To get a better communication environment, the code rate is decreased. It can only be decreased down to zero, where the bound again hits the fundamental limit. Eb 22R − 1 > lim = ln 2 = −1.59 dB N0 R→0 2R
(9.106)
Hence, it is seen that to reach the limit −1.6 dB the code rate has to approach zero. In Figure 9.13, the minimum code rate is shown as a function of the SNR.
260
CHAPTER 9
GAUSSIAN CHANNEL
Figure 9.13 Maximum code rate R E as a function of the SNR Nb . Notice 0 the logarithmic scale on the yaxis.
R 5
− 1.6
2 5
0.5
10
Eb N0
(dB)
0.2 0.1
PROBLEMS 9.1
An additive channel has input X and output Y = X + Z, where the noise is normal distributed with Z ∼ N(0, 𝜎). The channel has an output power constraint E[Y 2 ] ≤ P. Derive the channel capacity for the channel.
9.2
A bandlimited Gaussian channel has bandwidth W = 1 kHz. The transmitted signal power √is limited to P = 10 W, and the noise on the channel is distributed according to N(0, N0 ∕2), where N0 = 0.01 W/Hz. What is the channel capacity?
9.3
A random variable X is drawn from a uniform distribution U(1), and transmitted over a channel with additive noise Z, distributed uniformly U(a), where a ≤ 1. The received random variable is then Y = X + Z. Derive the average information obtained about X from the received Y, i.e., I(X; Y).
9.4
A channel consists of two channels, both with attenuation and Gaussian noise. The √ first channel has the attenuation H1 and noise distribution n1 ∼ N(0, N1 ∕2), and the √ second channel has attenuation H2 and noise distribution n2 ∼ N(0, N2 ∕2). The two channels are used in cascade, i.e. a signal X is first transmitted over the first channel and then over the second channel (see Figure 9.14). Assume that both channels work over the same bandwidth W. (a) Derive an expression for the channel capacity for the cascaded channel. (b) Denote the signaltonoise ratio over the cascaded channel as SNR and the two constituent channels as SNR1 and SNR2 , respectively. Show that SNR =
n1 X
H1
+
SNR1 ⋅ SNR2 SNR1 + SNR2
n2 Y
H2
+
Z
Figure 9.14 A channel consisting of two Gaussian channels.
PROBLEMS
261
Notice that the formula is similar to the total resistance of a parallel coupling in electronics design. 9.5
A wideband channel is split in four independent, parallel, time discrete, additive Gaussian channels. The variance of the noise in the ith channel is 𝜎i = i2 , i = 1, 2, 3, 4. The total power of the used signals is limited by 4 ∑
Pi ≤ 17.
i=1
Derive the channel capacity. 9.6
A channel consists of six parallel Gaussian channels with the noise levels N = (8, 12, 14, 10, 16, 6) The total allowed power usage in the transmitted signal is P = 19. (a) What is the capacity of the combined channel? (b) If you must divide the power equally over the six channels, what is the capacity? (c) If you decide to use only one of the channels, what is the maximum capacity?
9.7
An OFDM channel with five subchannels, each occupying a bandwidth of 10 kHz. Due to regulations, the allowed power level in the utilized band is –60 dBm/Hz. Each of the subchannels has separate attenuation and noise levels according to Figure 9.15. Notice that the attenuation Gi 2 is given in dB and the noise N0,i in dBm/Hz, where i is the subchannel. Derive the total capacity for the channel. Figure 9.15 Attenuation and noise in the five subchannels.
 Gi  2 (dB) 0
−5 −10 −15 −20 0
1
4
3
2
N 0,i (dBm/Hz)
−90
−110
−110
−120
0
Ch
−120
1
2
3
4
Ch
262
CHAPTER 9
GAUSSIAN CHANNEL
–40 –44 –49 –53 –58 –62 –67 –71 –76 –80
 H i  2 (dB)
Figure 9.16 Channel parameters for an OFDM communication system.
–118 –121 –126
–125 –138 –139 –135
–133 –129
N 0,i (dBm/Hz)
–115
1 2 3 4 5 6 7 8 9 10 Subchannel
1 2 3 4 5 6 7 8 9 10 Subchannel
9.8
A wideband Gaussian channel is split into four subchannels, each with bandwidth WΔ = 1 kHz. The attenuations and noise parameters are ( ) Hi 2 = −36 −30 −16 −21 [dB] ( ) [dBm/Hz] N0 = −108 −129 −96 −124 With the total allowed power on the channel P = −50 dBm, what is the highest possible bit rate on the channel?
9.9
An OFDM modulation scheme is used to split a wideband channel into 10 independent subbands with AWGN (additive white Gaussian noise). The channel parameters for the noise level N0 and the signal attenuation Hi 2 are shown in Figure 9.16. The total power in the transmitted signal is allowed to be P = −20 dBm and the carrier spacing is WΔ = 10 kHz. (a) Derive the capacity for the system. (b) If the transmitted power is distributed evenly over the subchannels,what is the capacity for the system?
9.10
A 3 × 3 MIMO system with maximum transmit power P = 10, and the noise at each receive antenna Gaussian with variance N = 1, has the following attenuation matrix: ⎛ 0.05 0.22 H = ⎜ 0.67 0.08 ⎜ ⎝ 0.98 0.36
0.73 ⎞ 0.60 ⎟ ⎟ 0.45 ⎠
PROBLEMS
263
Derive the channel capacity for the system. What is the capacity achieving distribution on the transmitted vector X? Hint: The singular value decomposition of H is given by ⎛ −0.36 U = ⎜ −0.59 ⎜ ⎝ −0.72 9.11
0.88 0.03 −0.47
0.30 ⎞ ⎛ 1.51 −0.81 ⎟ , S = ⎜ 0 ⎟ ⎜ 0.51 ⎠ ⎝ 0
0 0 ⎞ ⎛ −0.74 0.60 0 ⎟ , V = ⎜ −0.26 ⎟ ⎜ 0 0.19 ⎠ ⎝ −0.62
The 5 × 4 MIMO attenuation matrix ⎛ 0.76 ⎜ 0.46 H=⎜ 0.61 ⎜ ⎝ 0.36
0.40 0.61 0.90 0.73 0.97 0.23 0.96 0.63 0.10 0.88 0.78 0.83
0.42 ⎞ 0.73 ⎟ 0.94 ⎟ ⎟ 0.30 ⎠
has the singular value decomposition H = USV T , where ( ) diag(S) = 2.85 0.89 0.46 0.30 What is the channel capacity for the system if P = 5 and N = 2?
−0.65 0.05 0.76
−0.16 ⎞ 0.97 ⎟ ⎟ −0.20 ⎠
CHAPTER
10
DISCRETE INPUT GAUSSIAN CHANNEL
I
N THE PREVIOUS chapter, it was seen that to reach capacity for a Gaussian channel the input variable should be Gaussian distributed. Normally, it is not possible to use continuous distributions for the transmitted signals and instead discrete values are used. That is, the transmitted variable is discrete while the noise on the channel is Gaussian. Furthermore, in most applications the transmitted signal alternatives are considered to be equally likely. In this chapter, a constraint capacity, in form of the mutual information, for an Mary pulse amplitude modulated signal will be derived in the case when the (finite number) signal alternatives are equally likely [73]. The loss made by using uniformly distributed inputs will be derived and addressed as the shaping gain. Finally, a parameter called the signaltonoise ratio (SNR) gap is derived to show how far from the capacity an uncoded system is working. This latter value is derived for a certain obtained bit error rate.
10.1
MPAM SIGNALING
When transmitting discrete data, the symbols must be represented by signals such that it can be transmitted over a continuous media. It should also be possible for the receiver to decode back to the discrete form even though the signal is distorted on the channel. This process is called modulation and demodulation, and one of the basic modulation scheme is Mary pulse amplitude modulation (MPAM). In this text a brief introduction to the subject is given. For a more thorough description refer to e.g., [51, 76, 82, 91]. The number M is the number of signal alternatives, i.e. the number of different signals used in the scheme. Since the transmitted data are often binary, this number will here be assumed to be a power of 2, M = 2k . In an MPAM scheme, a signal is built from an amplitude and a pulse form, where the amplitude is the information carrier and the pulse form common for all signal alternatives. To minimize the average signal energy, the amplitudes are centered around zero, e.g., the binary case has the amplitudes −1 and 1. If M = 4, the amplitudes −3, −1, 1, and 3 are used. In this way, the minimum difference between two amplitude values are always 2. For an arbitrary M, the amplitude values can be described by Ai = M − 1 − 2i,
i = 0, 1, 2, … , M − 1
(10.1)
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
265
266
CHAPTER 10
−1
1
DISCRETE INPUT GAUSSIAN CHANNEL
g(t)
−3
(a) Figure 10.1
3
1
−1
g(t)
(b) Graphical representation of (a) 2PAM and (b) 4PAM.
which holds for all positive integer M and not just powers of 2 [51]. Then, to form the signal, the amplitude is applied to a pulse form g(t), meaning that the general form of a signal alternative in MPAM can be written as si (t) = Ai g(t)
(10.2)
In Figure 10.1, a graphical view of the 2PAM and 4PAM signal alternatives is shown. Assuming an infinite binary information sequence to be transmitted, where tuples of k = log M bits are mapped to an amplitude Ai , the transmitted signal is ∑ ( ) Ai𝓁 g t − 𝓁Ts (10.3) s(t) = 𝓁
where Ts is the signaling interval. The pulse form g(t) has the energy ∫ℝ g2 (t)dt = Eg . By letting A be a random variable for the amplitude level, the symbol energy becomes [ ] (Ag(t))2 dt = E[A2 ] (g(t))2 dt = E[A2 ]Eg (10.4) Es = E ∫ℝ ∫ℝ For equally likely signal alternatives and levels according to an MPAM constellation, 2
Es = E[A ]Eg =
M−1 ∑ i=0
M2 − 1 1 2 Ai Eg = Eg M 3
(10.5)
Example 10.1 Considering a 2PAM signal constellation used to communicate over a channel with additive white Gaussian noise (AWGN). The signals are chosen from the two signal alternatives in Figure 10.1a. For transmission, a mapping between the information bit a and √ the amplitude is used according to sa (t) = sa ⋅ g(t), where sa = (−1)a and g(t) = Eg 𝜙(t), i.e. { √ Eg 𝜙(t), a = 0 (10.6) sa (t) = √ − Eg 𝜙(t), a = 1 The basis function 𝜙(t) is a scaled version of g(t) such that it has unit energy, ∫ℝ 𝜙2 (t)dt = 1. The energy per transmitted information bit for this constellation is
Eb =
1 ∑ 1 a=0
2 ∫ℝ
s2a (t)dt
=
1 ∑ 1 a=0
2
Eg
∫ℝ
𝜙2 (t)dt = Eg
(10.7)
10.1 MPAM SIGNALING
f r  s = − √Eb
f r  s = √Eb P error  s = − √Eb
− √Eb
ϕ(t)
√Eb
267
Figure 10.2 The conditional distributions at the receiver side in a 2PAM transmission over an AWGN channel.
During transmission over an AWGN channel, noise with power spectral density R𝜂 (f ) = N0 ∕2 is added to the signal. After filtering and maximum likelihood (ML) detection at the receiver side, the received √ signal can be viewed as the point r = s + z in the signal space, where s = ± Eb is the transmitted signal amplitude and ) ( √ z ∼ N 0, N0 ∕2 . In Figure 10.2, the probability distributions for the received value conditioned on the transmitted s is shown. If the two signal alternatives are equally likely, an ML receiver follows a simple decoding √ rule. If the received value is positive, the estimated transmitted amplitude is ŝ = Eb , and if the value is negative the estimated transmitted amplitude is ŝ = √ − Eb . Hence the probability of erroneous estimation, conditioned on the transmitted √ amplitude − Eb is the grayshaded area in the figure, and √ ) √ ) ( ( P errors = − Eb = P r > 0s = − Eb √ ) ( = P z > Eb √ ( ) (√ ) Eb Eb = P znorm > = Q (10.8) 2 N ∕2 N 0
0
where znorm ∼ N(0, 1) is a normalized Gaussian variable and ∞
Q(x) =
∫x
2 1 √ e−t ∕2 dt 2𝜋
(10.9)
gives the error probability, P(z√ norm > x). Similarly, the error probability conditioned on the transmitted amplitude Eg gets the same value. The error probability is the probability that a 1 is transmitted and a zero is received and vice versa. That is, the channel can after detection be modeled as a binary symmetric channel (BSC), with the crossover probability equaling to ) (√ E (10.10) 2 Nb 𝜀=Q 0
In Figure 10.3, the error probability 𝜀 is plotted as a function of the SNR Eb ∕N0 in dB. With this mapping, the capacity for the BSC, CBSC = 1 − h(𝜀), is plotted in Figure 10.4 as a function of E − b∕N0 in dB. In Chapter 8, it was seen that the interpretation of the mutual information is the same in the discrete and the continuous case, i.e. the amount of information achieved about one variable by observing another. The interpretation still holds if one of the variables is discrete and the other continuous. This is an important fact, since the capacity for a
268
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
Figure 10.3 The error probability of a BSC as a function of Eb ∕N0 in dB for an AWGN channel.
ε 1
10−3 Eb N0
10−6 0
10
channel is the mutual information maximized over the input distribution. In this chapter, the considered channel model has discrete input signals, and white noise is added on the channel. To derive the capacity for this model, the mutual information should be maximized over all distributions for the input signals. However, often in communication systems the signals are transmitted with equal probabilities. The counterpart of the capacity, a constraint capacity, is the mutual information for the case with discrete, equally likely inputs and white noise added during transmission. The mutual information between discrete and continuous variables can be derived in the same manner as before by I(X; Y) = H(Y) − H(YX). Letting p(x) be the distribution for the input symbols X, the conditional entropy can be written as ∑ f (x, y) log f (yx)dy H(YX) = − ∫ x ℝ ∑ =− f (yx)p(x) log f (yx)dy ∫ x ℝ ( ) ∑ = p(x) − f (yx) log f (yx)dy ∫ℝ x ∑ p(x)H(YX = x) (10.11) = x
∑
By f (y) = x f (yx)p(x), the entropy of Y can be expressed in terms of the input probabilities and the channel density function, H(Y) = − =−
∫ℝ
f (y) log f (y)dy (∑
∫ℝ
) (∑ ) f (yx)p(x) log f (yx)p(x) dy
x
Figure 10.4 The capacity of a BSC as a function of Eb ∕N0 in dB for an AWGN channel.
CBSC 1
0.5 0
(10.12)
x
10
Eb N0
10.1 MPAM SIGNALING
269
f ( y)
g(t) −7
−5
−3
−1
1
3
5
7
Figure 10.5 The density functions f (yx) for an 8PAM signal transmitted over a Gaussian channel are added together to form the resulting f (y).
Even in simple cases, as seen below, it is hard to find closed expressions for f (y), and the derivation for H(Y) falls back to numerical integration. For an MPAM signal constellation with equally likely signal alternatives, the density of Y becomes 1 ∑ f (yx) (10.13) f (y) = M x Assuming an additive Gaussian noise with zero mean and variance N0 ∕2, the conditional density function is 2 1 e−(y−x) ∕N0 f (yx) = √ 𝜋N0
(10.14)
In Figure 10.5, the resulting density function f (y) for an 8PAM constellation with equally likely signals is shown. In the figure, the contribution from the eight conditional density functions f (yx) is shown as dashed graph, whereas the density function for Y is shown as a solid curve. In this example, the noise variance is quite high to show the behavior. In the case of a more moderate noise, the eight peaks corresponding to the signal alternatives will be more separated by deeper valleys. To get the entropy of Y, the function −f (y) log f (y) is integrated by numerical methods. The entropy conditional entropy H(YX) can be derived from 1 log 𝜋eN0 2
(10.15)
E P =2 s WN0 N0
(10.16)
H(YX) =
√ since [YX = x] ∼ N(x, N0 ∕2) and H(YX = x) = 12 log 𝜋eN0 . In Figure 10.6, plots of the mutual information I(X; Y) = H(Y) − H(YX) for MPAM signaling is shown for the case of equiprobable signal alternatives and additive Gaussian noise. The mutual information I(X; Y) is a measure of how much information can be transmitted over the channel for each channel use, i.e. for each signal alternative sent. The plots typically flatten at the maximum transmitted bits for the number of signal alternatives as the channel becomes good. For example, 6 bits can be written as 64 different binary vectors and I(X; Y) for 64PAM flattens at 6 bits/channel use. Assuming the Nyquist sampling rate Fs = 2W, the signal time is Ts = 1∕2W. With P as the average power, the energy per signal becomes Es = P∕2W. Hence, the SNR in the capacity formula can be derived as SNR =
270
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
γs = 1.53 dB
I(X;Y )
I(X;Y )256PAM
8
I(X;Y )128PAM
7 1 2
6
1 2
log 2 NEs0
−10
log ( 1 +
2 NEs0 )
I(X;Y )64PAM
5
I(X;Y )32PAM
4
I(X;Y )16PAM
3
I(X;Y )8PAM
Es /N 0 ln 2
2
I(X;Y )4PAM
1
I(X;Y )2PAM 10
20
30
40
50
Es /N0 [dB]
Figure 10.6 Constraint capacity for discrete uniformly distributed signal constellations, like MPAM, transmitted over an AWGN channel. The gray shaded line in the figure is the E capacity C = 12 log(1 + 2 Ns ). The circles on the curves mark the SNR where the uncoded 0 MPAM signaling gives an error probability of 10−6 .
and the expression for the capacity can be written as ) ( 1 P C = log 1 + 2 N0 W ( E ) 1 [bit/channel use] = log 1 + 2 s 2 N0
(10.17)
In Figure 10.6, the capacity is shown as the thick gray line. E For good channels, as the SNR Ns becomes large, the “+1” in the capacity E 0 formula can be neglected. Furthermore, as Ns becomes small, the following series 0 expansion can be used: ( ) 1 x2 x3 x4 x 1 log(1 + x) = x− + − +⋯ ≈ (10.18) 2 2 ln 2 2 3 4 2 ln 2 to estimate the capacity. Hence, the asymptotic behavior of the capacity function is given by ⎧1 Es ⎪ 2 log 2 N0 , C≈⎨ 1 E s ⎪ ln 2 N , 0 ⎩
Es N0 Es N0
large (10.19) small
In Figure 10.6, these two functions are shown as a dashed line and a dotted line, respectively. There is also one more dotted line, located at 1.53 dB to the right of
10.2 A NOTE ON DIMENSIONALITY
271
the asymptotic capacity. This shows the asymptotic slope of the achievable bit rate for equiprobable MPAM signaling. The 1.53dB gap shows the possible gain by not restricting to equiprobable signal alternatives. This quantity is called the shaping gain and will be further elaborated in Section 10.3.
10.2
A NOTE ON DIMENSIONALITY
Figure 10.6 contains a lot of information about how a real system can be expected to behave compared to what the capacity limit promise. The mutual information plotted for different MPAM constellations in the figure shows how practical systems behave at the best, using equally likely discrete signal alternatives. It also shows the asymptotic loss made by using uniform distribution instead of Gaussian. In the plot, the unit of the vertical axis is often expressed as bits/channel use per dimension, where channel use means the transmission of one signal alternative. The extra added term per dimension can be interpreted in a variety of ways, and it is worth to give a special note on this. In an information theoretical view, the per dimension can be any dimension and it is not strictly coupled to the time series of signal alternatives or the dimensionally of the signal constellation. To get a better understanding of how the capacity relates to the dimensionality of the signal, consider an Ndimensional signal and introduce N orthonormal basis function, 𝜙i (t), i = 1, 2, … , N. The orthonormality requirement means
∫ℝ
𝜙i (t)𝜙j (t)dt = 𝛿i−j =
{ 1, 0,
i = j, i≠j
(10.20)
The basis functions used represent the span of the signal in different dimensions. However, it does not say how they are differentiated. A PAM signal can be seen as N consecutive signal alternatives separated in time, and then the base pulses g(t − nTs ) and g(t − kTs ) are orthogonal if n ≠ k and the pulse √ duration is T. Another example of dimensionality is the basis functions 𝜙1 (t) = 2 cos(2𝜋fc t) and 𝜙2 (t) = √ 2 sin(2𝜋fc t) often considered for, e.g., quadrature amplitude modulation (QAM) constellations. So, the dimensions here can be seen as the dimensionality of the signal constellation, but it has also a more general interpretation and can, e.g., be seen as separation in time. The signal is constructed from N (real) signal amplitudes, si , i = 1, 2, … , N, as s(t) =
N ∑
si 𝜙i (t)
(10.21)
i=1
After transmission over an AWGN channel, the received signal is r(t) = s(t) + 𝜂(t)
(10.22)
272
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
where 𝜂(t) is white noise with power density R𝜂 (f ) = N0 ∕2. The signal can then be represented in dimension i as ri =
∫ℝ
r(t)𝜙i (t)dt =
∫ℝ
( ) s(t) + 𝜂(t) 𝜙i (t)dt = si + 𝜂i
(10.23)
where 𝜂i = ∫ℝ 𝜂(t)𝜙i (t)dt, and it has been used that ∫ℝ
s(t)𝜙i (t)dt = =
∑ ∫ℝ ∑ j
=
∑
sj 𝜙j (t)𝜙i (t)dt
j
sj
∫ℝ
𝜙j (t)𝜙i (t)dt
sj 𝛿i−j = si
(10.24)
j
The noise parameter in the received dimension has the following mean and autocorrelation: ] [ [ ] [ ] 𝜂(t)𝜙i (t)dt = E 𝜂(t) 𝜙i (t)dt = 0 E 𝜂i = E ∫ℝ ∫ℝ ] [ [ ] r𝜂 (i, j) = E 𝜂i 𝜂j = E 𝜂(t)𝜙i (t)dt 𝜂(s)𝜙j (s)ds ∫ℝ ∫ℝ [ ] E 𝜂(t)𝜂(s) 𝜙i (t)𝜙j (s)dtds = ∫ℝ ∫ℝ N0 = 𝜙 (t) 𝛿(t − s)𝜙j (s)dsdt ∫ℝ 2 i ∫ℝ { N0 N0 N0 , i=j 2 (10.25) 𝜙 (t)𝜙j (t)dt = 𝛿 = = 2 ∫ℝ i 2 i−j 0, i≠j [ ] [ ] N where it is used that E 𝜂(t) = 0 and E 𝜂(t)𝜂(s) = 20 𝛿(t − s). This shows the noise N
component in each dimension is Gaussian with zero mean and variance 20 , i.e., √ 𝜂i ∼ N(0, N0 ∕2). Hence, the N dimensions are equivalent to N transmissions over a Gaussian channel. Denoting the total energy in an Ndimensional signal by Es , the energy per dimension is Es(dim) = Es ∕N and the SNR SNR(dim) =2 N
Es ∕N 2 Es = N0 N N0
(10.26)
Signaling at the Nyquist sampling rate for a bandlimited signal with bandwidth W, the sampling rate is Fs = 2W. Thus, a vector with N samples will take the transmisN sion time T = 2W , i.e., N = 2WT. Hence, the SNR can be written as SNR(dim) = N
Es P = WTN0 WN0
(10.27)
10.2 A NOTE ON DIMENSIONALITY
273
where in the second equality it is used that Es = TP. Thus, the capacity per dimension is ) [ b∕ch.u. ] ( 1 P (10.28) C(dim) = log 1 + 2 WN0 dim and the capacity for the Ndimensional signal construction ) ( ) [ ( ] P N P = WT log 1 + C(N) = log 1 + b∕N dim ch.u. 2 WN0 WN0 Division by T gives the capacity in b/s as ) ( P [b/s] C(N) = W log 1 + WN0
(10.29)
(10.30)
This means the capacity in bits per second for a bandlimited signal is independent of the dimensionality of the signal construction. Especially it is independent of the dimensionality of the signal constellation. In the derivations, it was seen that each amplitude in a signal constellation is equivalent to a sample in terms of the sampling theorem. In essence, N amplitudes gives N degrees of freedom, which can be translated to N samples. Each sample, or P ) bits per channel use. In this aspect, one real dimension, can transmit 12 log(1 + WN 0 amplitude in one dimension in the signal space is regarded as one sample. Hence, from an information theoretic view there is no difference in transmitting N signals from a onedimensional constellation during time T, or one signal from an Ndimensional constellation in the same time. They both represent an Ndimensional signal. Even though the above derivations states that the dimensionality of the signal does not matter, one has to be a bit careful. The requirements in the derivations are that the basis functions are orthonormal and that the utilized bandwidth is unchanged. In the above description, MPAM signals are considered. An MQAM constellation √ is essentially formed by using two orthogonal MPAM constellations (see Figure 10.7, which describes how two 4PAM constellations are used to form a 16QAM constellation). In general, such construction can be done using two real signals modulated in terms of a complex signal. Consider a real baseband signal sb (t) with the positive bandwidth W (see Figure 10.8a). Since sb (t) is real, its spectrum is Hermitian symmetric. Denoting the ϕ2(t)
ϕ2(t)
ϕ1(t)
Figure 10.7
⇒
ϕ1(t)
Two orthogonal 4PAM considered as a 16QAM constellation.
274
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
Sb( f ) S+* (− f )
(a)
S+ ( f )
−W
f
W
S( f ) 1 2 Sb( f
(b) – fc – W
+ fc)
– fc
1 2 Sb( f
– fc + W
fc – W
− fc) fc + W
fc
f
SSSB( f )
(c)
1 * 2 S+
(− ( f + fc)) – fc – W
1 2 S+ ( f
– fc
fc
− f c)
fc + W
f
Figure 10.8 Modulation of the signal sb (t) to a higher carrier frequency fc using single sideband modulation.
positive frequency side of Sb (f ) by S+ (f ), the negative side is the complex conjugate ∗ (−f ). mirror image S+ A frequencyshifted signal centered at carrier frequency fc is created by s(t) = sb (t) cos 2𝜋fc t
(10.31)
S(f ) = 12 Sb (f + fc ) + 12 Sb (f − fc )
(10.32)
Its Fourier transform is
which is shown in Figure 10.8b. Since the inner half of the signal, i.e. for fc − W ≤ f  < fc is a mirror image of the outer half, this can be filtered without losing any information. The procedure is called single sideband modulation and is shown as the function SSSB (f ) in Figure 10.8c. This means the effective bandwidth of both the baseband signal sb (t), and the frequencyshifted version sSSB (t) is W. Hence, the capacity for the system is ) ( ( E ) 1 1 P = log 1 + 2 s [b/ch.u.] (10.33) C = log 1 + 2 N0 W 2 N0 or, by using the Nyquist sampling rate Fs = 2W, ( E ) C = W log 1 + 2 s [b/s] N0
(10.34)
Now, like in the QAM construction, consider two real signals in two dimensions. A natural way is to consider a complex signal with the two real baseband signals s (t) and s (t) with positive bandwidth W, written as sb (t) = s (t) + js (t)
(10.35)
10.2 A NOTE ON DIMENSIONALITY
275
Since the signal is complex, there are no longer any symmetries in the frequency domain, and the complete bandwidth −W ≤ f ≤ W is used for information. However, there is no way to transmit a complex signal directly since the signals are transmitted in a real world. Therefore, the signal is shifted up in frequency using cosine for the real part and sine for the imaginary part as } { (10.36) s(t) = Re sb (t)ej2𝜋fc t = 12 s (t) cos 2𝜋fc t − 12 s (t) sin 2𝜋fc t To view the signal in the frequency domain, use Re{x(t)} = 12 (x(t) + x∗ (t)), } } { { 1 1 sb (t)ej2𝜋fc t + s∗b (t)e−j2𝜋fc t 2 2 1 1 ∗ = Sb (f − fc ) + Sb (−(f + fc )) 2 2
S(f ) = {s(t)} =
(10.37)
where the second equality follows from (x∗ (t)) = X ∗ (−f ). The second term in (10.37), 12 Sb∗ (−(f + fc )) is a complex conjugated and mirrored version of 12 Sb (f − fc ) centered around −fc , meaning the negative frequency side of S(f ) is a Hermitian reflection of the positive frequency side, as it should for a real sequence. In this case, the whole bandwidth fc − W ≤ f ≤ fc + W contains information and the resulting bandwidth for the modulated signal is W (2) = 2W. By assuming the power P(2) used over the signal, the resulting capacity is ) ( 1 P(2) [b∕ch.u] (10.38) C(2) = log 1 + 2 N0 W (2) and, equivalently by using Fs(2) = 2W (2) ( C(2) = W (2) log 1 +
P(2) N0 W (2)
) [b/s]
(10.39)
To compare the two signaling schemes, where onedimensional or twodimensional real signals are used, the constants in (10.39) need to be interpreted. Since the bandwidth is doubled in the second scheme, the power consumption will also double, P(2) = 2P. Similarly, the energy used in the signaling will be divided over the two dimensions, and the energy in the second signal becomes Es(2) = 2Es . Hence, the SNR for the second signaling can be expressed as SNR(2) =
Es(2) P(2) 2P = = N0 2W N0 N0 W (2)
(10.40)
and ( E(2) ) b/s C(2) = 2W log 1 + s N0
(10.41)
This relation also reflects the relation between PAM and QAM signaling since QAM is a twodimensional version of PAM.
276
10.3
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
SHAPING GAIN
The channel capacity depicted as the gray line in Figure 10.6 is the maximum achievable transmission over a Gaussian channel with the SNR measured in Es ∕N0 . To reach this limit, the communication system must be optimized in all possible ways. One of many requirements is that the input signal should be chosen according to a continuous Gaussian distribution. In most communication systems, the choice of signal is done according to uniform distribution over a discrete set of signals. In the figure, this asymptotic loss is shown as the gap between the channel capacity and the dotted line. Since this reflects the gain that is possible to achieve by shaping the input distribution from uniform to Gaussian, it is called the shaping gain and often denoted 𝛾s . By viewing the total gain that is possible, compared to the uncoded case, it can be split into two parts, the shaping gain 𝛾s and coding gain 𝛾c . Often it is easy to achieve a coding gain of a couple of dB by using some standard channel coding. But to achieve higher gains more complex codes must be used alternative is to consider shaping of the constellation. The ultimate shaping gain of 1.53 dB denoted in Figure 10.6 denotes the maximum shaping gain [74]. To show this value, consider the case when the SNR, Es ∕N0 , becomes large. The interesting part of the plot is then the growth of the mutual information for MPAM signaling before it flattens due to a finite number of signals. By letting the number of signal alternatives approaching infinity, the distribution of X becomes the continuous rectangular distribution 1 , where − a ≤ x ≤ a (10.42) 2a This should be compared to the case of a Gaussian distribution, fg (x). For the Gaussian case, the average signal energy and the entropy is (see Appendix A) [ ] Pg = E Xg2 = 𝜎 2 (10.43) fu (x) =
1 1 (10.44) log 2𝜋e𝜎 2 = log 2𝜋ePg 2 2 For the uniform case, the corresponding derivation gives [ ] a2 Pu = E Xu2 = (10.45) 3 1 H(Xu ) = log 2a = log 12Pu (10.46) 2 In this region of the plot, for high SNR, the mutual information is dominated by the entropy of the input distribution. For these two distributions to have the same entropy, the relation on input power is H(Xg ) =
𝛾s =
Pu 𝜋e = ≈ 1.62 = 1.53 dB Pg 6
(10.47)
The shaping gain is the gain made from using a Gaussian distribution on the transmitted signal compared to a uniform distribution. In the next example, it is shown that a fair amount of the gain can be reached just by considering a distribution that
10.3 SHAPING GAIN
−7
−5
−3
−1
1
3
5
7
g(t)
277
Figure 10.9 Signal alternatives in an 8PAM constellation.
favors the lowenergy signals before the high energy. The mapping from a uniform to nonuniform distribution indicates that the shaping process can be seen as the dual of source coding, in the sense that perfect source coding gives a uniform distribution of the code symbols. One easy way to get unequal vectors from equally distributed bits is to consider unequal lengths of the input vectors, and this mapping can be performed in a binary tree.
Example 10.2 First, the unshaped system is defined as an 8PAM system. The signal alternatives can be viewed as in Figure 10.9. If they are equally likely the energy derived as the second moment of the signal amplitudes is E[X 2 ] = 21 and for each signal 3 bits are transmitted. To find a constellation that gives a shaping gain, the signal energy should be lowered while the average number of transmitted bits and inter signal distance should be unchanged. Instead, the distribution of the signal alternatives should be chosen nonuniform. If the input sequence is considered as i.i.d. equiprobable bits, one way to alter the distribution is to have unequal length of the vectors mapping to the signal alternative. Here, these vectors are determined from the paths in a binary tree where there are no unused leaves. By choosing some vectors shorter than 3 and others longer, and by mapping high probable vectors to lowenergy signals, the total energy can be lowered. The tree in Figure 10.10 shows the mapping between signal alternatives si and the input vectors decided by the tree paths. Since the binary information is assumed to be equiprobable, the probabilities for the nodes at each level are shown under the tree. The average length of the information vectors can then be determined by the path length lemma as 1 =3 E[L] = 1 + 2 12 + 2 14 + 2 18 + 4 16
s6 11 s5 10 s7 011 s4 010
p:
1
Figure 10.10
1 2
1 4
1 8
1 16
s8 s3 s9 s2 s10 s1 s11 s0
00111 00110 00101 00100 00011 00010 00001 00000
1 32
A binary tree for determining a shaping constellation.
(10.48)
278
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
s1
s2
s3
s4
s5
s6
s7
s8
s9
s10
s11
−11 −9
−7
−5
−3
−1
1
3
5
7
9
11
1/32
1/32
1/32
1/8
1/4
1/4
1/8
1/32
1/32
1/32
1/32
s0
1/32
Figure 10.11
g(t)
Signal alternatives and the probabilities in the shaped constellation.
so the average number of bits per signal is unchanged. In the tree, there are 12 leaves corresponding to signal alternatives. Hence, the price paid is an expansion of the signal constellation, but the idea is to use the added highenergy alternative with a low probability so on average there is a gain. The amplitudes and the corresponding probabilities of the signal alternatives are shown in Figure 10.11. The energy derived as the second moment is then [ ] 1 (52 + 72 + 92 + 112 ) = 20 (10.49) E Xs2 = 2 14 + 2 18 32 + 2 32 and the shaping gain is 𝛾s = 10 log10
21 20
= 0.21dB
(10.50)
In Problem 10.6, it is shown that the same construction when letting the tree grow even further can give an asymptotic shaping gain of 𝛾s(∞) = 0.9177dB. In the example, it was seen that the average energy can be decreased by shaping the probability distribution over the signal constellation. The shaping procedure can also be seen in another way. A vector of two symbols, each modulated by a 16PAM signal constellation, results in a 256QAM signal constellation (see upper left constellation of Figure 10.12). Since the QAM signal space has a square form, the energy in the corner signal alternatives is rather high. If instead, the 256 signal alternatives are
Figure 10.12 The signal alternatives in the twodimensional constellations 256QAM and a sphericalshaped version. Below are the distributions projected to one dimension. The dashed distribution is the projection of the continuous spherical constellation.
10.3 SHAPING GAIN
279
chosen within a circle, the upper right constellation in the figure, the total energy can be decreased. Assuming the distance between two signal points in the figure is 2 and that they are used with equal probability, the average energy derived as the second moment for the squared constellation is EQAM = 170
(10.51)
Similarly, when the signal alternatives in the squared constellation are equally probable, the energy is ESphere = 162.75
(10.52)
The resulting shaping gain is 𝛾s = 10 log10
EQAM ESphere
= 0.189dB
(10.53)
In Figure 10.12, it is assumed that the signal alternatives are equally likely in both the squared and the spherical case. The distributions below the signal constellations are the probability functions projected in one dimension. Clearly for the square case, there are 16 equally likely alternatives. In the spherical case, there are 18 alternatives where the lowenergy alternatives have highest probability. Hence, by choosing a spherical constellation in two dimensions, the distribution is shaped when projected into one dimension. To find the maximum shaping, a cubic constellation in N dimensions, representing N PAM constellations, is compared with a spherical constellation in N dimensions. When the number of signal alternatives grows, the discrete constellations can be replaced with continuous distributions without any essential loss of accuracy. Then the second moment of a uniform distribution over an Ndimensional cube should be compared with the second moment of a uniform distribution over an Ndimensional sphere. To compare the two distributions, they should have the same volume and therefore they are normalized to unit volume. Starting with the cubic constellation, the volume of an N dimensional cube with side A is A∕2
V□ =
∫□
dx =
∫
⋯ dx1 … dxN = AN ∫
(10.54)
−A∕2
where x = (x1 , … , xN ) is an Ndimensional vector. Normalizing to a unit volume cube gives that A = 1. Since the Ncube is the boundary for a uniform distribution, the probability function is f□ (x) = 1∕V□ = 1. Hence, the second moment, or the energy, for the cubic constellation in N dimensions can be derived as 1∕2 (N) E□
=
∫□
x dx = 2
∫
⋯
) x12 + ⋯ + xN2 dx1 … dxN
−1∕2 1∕2
=N
∫
(
∫−1∕2
x2 dx = N
[
x3 3
]1∕2 −1∕2
=N
1 12
(10.55)
280
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
To do similar derivations for the spheric constellation in N dimensions, a useful integral relation from [52], formula 4.642, is noted R
∫x2 ≤R2
f (x)dx =
2𝜋 N∕2 N−1 ( N ) ∫ x f (x)dx 0 Γ 2
(10.56)
where Γ(n) is the gamma function (see Section A.2). By letting f (x) = 1, the volume of an Ndimensional sphere is R
V○ =
∫○
=
dx =
∫x2 ≤R2
dx =
2𝜋 N∕2 xN−1 dx ( ) Γ N2 ∫0
[ ] 2𝜋 N∕2 xN R 2𝜋 N∕2 RN = (N ) (N ) N 0 Γ 2 Γ 2 N
(10.57)
Setting V○ = 1 yields the radius ( ( ))1∕N ( ( ))1∕N 1 1 = √ Γ N2 + 1 R = √ N2 Γ N2 𝜋 𝜋
(10.58)
and then the normalized energy can be derived as (N) E○ =
=
∫○
x2 dx =
R
2𝜋 N∕2 xN−1 x2 dx ( ) Γ N2 ∫0
2𝜋 N∕2 RN+2 2𝜋 N∕2 RN N = (N ) R2 (N ) Γ 2 N+2 Γ 2 N N+2 ⏟⏞⏞⏟⏞⏞⏟ V○ =1
=
N (N + 2)𝜋
( ( ))2∕N Γ N2 + 1
(10.59)
The shaping gain for the Ndimensional case when comparing the cubic and the spherical constellations is 𝛾s(N)
=
(N) E□ (N) E○
=
𝜋(N + 2) ( )2∕N 12Γ N2 + 1
(10.60)
The gamma function generalizes the factorial function to positive real values with a smooth curve where n! = Γ(n + 1), for a positive integer n. Therefore, it is reasonable to use Stirling’s approximation to get √ ( )n (10.61) Γ(n + 1) = n! ≈ 2𝜋n ne Hence, for large N, 𝛾s ≈
=
𝜋(N + 2) (( )1∕2 ( N )N∕2 )2∕N 12 2𝜋 N2 2e
𝜋e N + 2 ( 1 )1∕N 𝜋e → , 𝜋N 6 N 6
N→∞
(10.62)
10.4 SNR GAP
281
which is the same ultimate shaping gain as when comparing uniform and Gaussian distributions for the input symbols. Actually, as seen in Problem 10.7, the projection from a uniform distribution over a multidimensional sphere to one dimension will be a Gaussian distribution when the dimensionality grows to infinity. Therefore, comparing the shaping gain between multidimensional cubic and spherical uniform distributions is the same as comparing the onedimensional uniform and Gaussian distributions.
10.4
SNR GAP
When describing the capacity formula for discrete input constellations like MPAM, it is also natural to consider the SNR gap. This is a measure of how far from the capacity limit a system is working for a specific achieved probability of error. Then the SNR gap describes the possible gain in SNR by approaching the capacity. Previously, the signal constellation for 2, 4, and 8PAM has been considered (see Figures 10.1 and 10.9). In general, for an MPAM constellation the signal amplitudes are determined by Ai = M − 1 − 2i,
i = 0, 1, … M − 1
(10.63)
Then the valid amplitudes will be √ as described in Figure 10.13. The pulse shape is determined by the function g(t) = Eg 𝜙(t), where 𝜙(t) has unit energy. The received signal, distorted by AWGN, is given as y = Ai + z, where z ∼ √ N(0, N0 ∕2). An ML decoding rule chooses the signal amplitude closest to the received signal in terms of Euclidian distance in Figure 10.13. There will be a decoding error in the case when the received signal is not closest to the transmitted signal alternative. For the M − 2 inner signal alternatives, i ∈√ {1, … , M − 2}, this will happen when the noise component z is either larger than Eg or smaller than ( √ √ ) − Eg . In both cases, the probability is P z > Eg . For the outer signal alternatives, i ∈ {0, M − 1}, it will only be error in one of the cases. That means the error probability conditioned on the signal alternative is { ( √ ) 2P z > Eg , i = 1, … , M − 2 ( (10.64) Pei = √ ) P z > Eg , i = 0, M − 1 With equally likely signal alternatives, the average error probability is ( ∑ 1 ( ( √ ) √ )) 1 (M − 2)2P z > Eg + 2P z > Eg Pe = Pei = M M i ) ( ( √ ) √ ) M−1 ( 1 =2 P z > Eg P z > Eg = 2 1 − M M i:
M−1
M−2
··· Ai :
− (M − 1) − (M − 3)
Figure 10.13
M 2
−1
−1
M 2
+1
1
0
M−3
M−1
··· 1
Signal alternatives in an MPAM constellation.
(10.65)
√Egϕ(t)
282
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
The above probability is given in terms of the energy in the pulse shape Eg . the energy in signal alternative i is A2i Eg , and, hence, the average signal energy is given by Es =
M−1 ∑ Eg M−1 Eg 2 1 ∑ 2 Ai Eg = (M − 1 − 2i)2 = (M − 1) M i=0 M i=0 3
(10.66)
or, equivalently, Eg =
3Es
(10.67) M2 − 1 Then, together with the noise variance of N0 ∕2, the signal error probability can be expressed as √ ) ( ) ( 1 3Es P z > M 2 −1 Pe = 2 1 − M ) (√ ) ( 1 3Es Q = 2 1− 2 (M −1)N0 ∕2 M ) (√ ) ( 1 Es 3 Q 2 = 2 1− M 2 −1 N0 M ) (√ ( ) 1 P 3 Q = 2 1− (10.68) 2 M −1 WN0 M When transmitting binary vectors, the number of signal alternatives should be a power of two, M = 2k , where k is the number of transmitted bits per channel use. Comparing with the capacity, this value should be lower, in bits per transmission, 1 log(1 + SNR) (10.69) 2 By rearranging the relation between the capacity and the transmitted bits, it is seen that SNR ≥1 (10.70) 22k − 1 Therefore, it is reasonable to define a normalized SNR as SNR SNRnorm = 2k (10.71) 2 −1 where the SNR is E E P = 2 s = 2k b (10.72) SNR = WN0 N0 N0 k≤C=
As k = C the normalized SNR is one since C = 12 log(1 + SNR) gives Thus, { = 0dB, k = C SNRnorm >0dB, k < C
SNR 22C −1
= 1.
(10.73)
which means the normalized SNR can be seen as a measure of how far from the capacity a system works.
10.4 SNR GAP
10−1
Pe
283
2PAM 4PAM 8PAM MPAM
10−2 10−3 10−4 10−5
SNRnorm (dB)
10−6 1
2
3
4
5
6
7
8
9 10
10−7 Figure 10.14 SNR.
Symbol error probability for MPAM signals as a function of the normalized
Since M = 2k the normalized SNR can be written as SNRnorm = error probability for the MPAM constellation becomes ) (√ ) ( 1 Q Pe = 2 1 − 3 ⋅ SNRnorm M
SNR , and the M 2 −1
(10.74)
For large M, it is simplified to ) (√ Pe = 2Q 3 ⋅ SNRnorm
(10.75)
In Figure 10.14, the error probability is plotted as a function of the normalized SNR for 2PAM, 4PAM, 8PAM and MPAM, where M is large. At an error probability of 10−6 , the normalized SNR is close to 9 dB for large M. For a 2PAM system, it is for the same error probability 8.8 dB. The conclusion from this is that a PAM system working at an error probability of 10−6 has a gap to the capacity limit of 9 dB. Quite often, the SNR gap is used when estimating the bit rate achieved by a PAM (or QAM) system. Then it is viewed from another angle. Starting with (10.75) the symbol error probability for large M, the normalized SNR can be written as ( ))2 1 −1 ( Q Pe ∕2 (10.76) SNRnorm = 3 Since the normalized SNR is SNRnorm =
SNR , 22k −1
22k = 1 + ( 1 3
this gives
SNR Q−1 (Pe ∕2)
)2
or, equivalently, the number of bits per transmission ) ( ) ( 1 1 SNR SNR = k = log 1 + ( log 1 + ) 2 1 2 2 Γ Q−1 (P ∕2) 3
e
(10.77)
(10.78)
284
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
Figure 10.15 SNR gap Γ as a function of the symbol error Pe .
Γ (dB) 10 8 6 4 2
−1 −2 −3 −4 −5 −6 −7 −8
log10Pe
)2 ( where Γ = 13 Q−1 (Pe ∕2) is the same SNR gap for PAM (or QAM) constellations as derived earlier from Figure 10.14, in terms of normalized SNR. Going back to Figure 10.6, the circles on the curves for the mutual information for the MPAM systems correspond to the SNR where Pe = 10−6 . For high SNR, the horizontal difference in SNR between the capacity and the circular mark is the SNR gap Γ. If the required error probability is decreased, the uncoded MPAM system can tolerate a lower SNR and the gap is decreased. Similarly, if the required error probability is increased, the SNR for the MPAM system is moved to the right and the gap is increased. It is here worth noticing that the capacity as well as the mutual information plots in the figure are bounds for when it is possible to achieve arbitrarily low error probability, while the circular point denote the uncoded system when the error is 10−6 . To maintain the same error probability for a lower SNR some coding and/or shaping is required. The capacity limit is in this aspect the limit of the lowest possible SNR for which it is possible to transmit this number of bits. In Figure 10.15, the SNR gap Γ is plotted as a function of the symbol error rate Pe . For Pe = 10−6 then it becomes Γ ≈ 9 dB. For the bit rate in bits per seconds, the Nyquist sampling rate of 2W can be assumed to get ) ( ) ( P SNR = W log 1 + (10.79) Rb = W log 1 + Γ ΓWN0 Example 10.3 Consider a communication system using the bandwidth 20 MHz. Assume that the received signal level is −70 dBm over the complete band, which is a quite good signal strength in, e.g., longterm evolution (LTE). That gives the signal power P = 10−70∕10 mW. As soon as an electrical current flows through a conductor, the thermal noise is added. So just by receiving the signal in the antenna, a noise level of −174 dBm/Hz is added to the signal. This means that N0 = 10−174∕10 mW/Hz. The SNR over the bandwidth is then SNR =
P 10−7 = 1.26 × 103 = 31 dB = −17.4 N0 W 10 ⋅ 20 × 106
(10.80)
PROBLEMS
The capacity for this system is then ( ) C = W log 1 + SNR = 206 Mb/s
285
(10.81)
Assuming a communication system based om MPAM or MQAM, working at an error rate of Pe = 10−6 implies an SNR gap of Γ = 9 dB = 7.94. Thus, an estimated bit rate for the system is ) ( SNR = 146 Mb/s (10.82) Rb = W log 1 + Γ This is the estimated bit rate for an uncoded system. If an errorcorrecting code is added to the system, the effect on the bit rate can be estimated by adding the corresponding coding gain. For many codes, this is somewhere between 3 and 4 dB. Assuming a relatively powerful code, the coding gain is set to 𝛾c = 4 dB. Expressed in dB, the effective SNR is SNReff = SNR − Γ + 𝛾c = 31 − 9 + 4 = 26 dB = 397
(10.83)
The resulting estimated bit rate is
( ) Rb = W log 1 + SNReff = 173 Mb/s
(10.84)
PROBLEMS 10.1
In a communication system, a binary signaling is used, and the transmitted variable X has two equally likely amplitudes +1 and −1. During transmission, a uniform noise is added to the signal, and the received variable is Y = X + Z, where Z ∼ U(𝛼), E[Z] = 0. Derive the maximum transmitted number of bits per channel use, when (a) 𝛼 < 2 (b) 𝛼 ≥ 2
10.2
In the channel model described in Problem 10.1, consider the case when 𝛼 = 4. A hard decoding of the channel can be done by assigning ⎧1, Y≥1 ̃Y = ⎪ ⎨Δ, −1 < Y ≤ 1 ⎪−1, Y < −1 ⎩ Derive the capacity for the channel from X to Ỹ and compare with the result in Problem 10.1.
10.3
An additive channel, Y = X + Z, has the input alphabet X ∈ {−2, −1, 0, 1, 2} and Z is uniformly distributed Z ∼ U(−1, 1). Derive the capacity.
10.4
A communication scheme uses 4PAM system, meaning there are four different signal alternatives differentiated by their amplitudes (see Figure 10.16). During the transmission, there is a noise, Z, added to the signal so the received signal is Y = X + Z. The noise has the distribution as viewed in Figure 10.17.
286
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
x0
x1
x2
x3
–3
–1
1
3
x
Figure 10.16 signaling.
4PAM
Figure 10.17 Density function of the additive noise.
f (z) 1/2 1/4 z –1.5 –1 –0.5
0.5
1
1.5
(a) Assuming the signal alternatives are equally likely, how much information can be transmitted in each transmission (channel use)? (b) What is the capacity for the transmission, i.e. what is the maximum mutual information using the given signal alternatives and the noise. For what distribution on X can it be obtained? How is the average power of the transmitted signal affected by the optimization? 10.5
Consider a 4PAM communication system with the signal alternatives √ sx (t) = Ax Eg 𝜙(t), x = 0, 1, 2, 3 function. where Ax ∈ {−3, −1, 1, 3} are the amplitudes and 𝜙(t) a normalized basis √ During the transmission, the noise Z is added with the distribution Z ∼ N(0, N0 ∕2). At the receiver, each signal is decoded back to {0, 1, 2, 3} according to the decision regions in Figure 10.18. Denote the probability for the receiver to make an erroneous decision by ( √ ) 𝜀 = P Z > Eg It can be assumed that the probabilities of making errors to nonneighboring decision regions are negligible, i.e. ( √ ) P Z > 3 Eg ≈ 0 (a) Construct a corresponding discrete memoryless channels (DMC)? (b) Assume that the symbols are transmitted with equal probability. Express the maximum information transmission per channel use for the DMC, in terms of 𝜀 and the binary entropy function. Sketch a plot for different 𝜀.
3
2
1
0
Signal alternative:
s3(t)
s2(t)
s1(t)
s0(t)
Amplitude:
−3
−1
1
3
Decision region:
–2 Figure 10.18
0
4PAM modulation and decision regions.
2
√Egϕ(t)
PROBLEMS
10.6
287
In Example 10.2, a shaping algorithm based on a binary tree construction is given. In this problem, the same construction is used and the number of signal alternative expanded. (a) Below is a tree given with two additional nodes compared with the example. What is the shaping gain for this construction? (b) Letting the shaping constellation and tree in Example 10.2 have two levels and in subproblem (a) have three levels. Consider the same construction with k levels and show that L = 3 for all k ≥ 2. (c) For the constellation in subproblem (b) show that as k → ∞ the second moment is E[Xs2 ] = 17, and thus the asymptotic shaping gain is 𝛾s(∞) = 0.9177dB. Note: It might be useful to consider the following standard sums for 𝛼 < 1, ∞ ∑ i
10.7
𝛼i =
𝛼 1−𝛼
∞ ∑
i𝛼 i =
i
𝛼 (1 − 𝛼)2
∞ ∑
i2 𝛼 i =
i
𝛼 + 𝛼2 (1 − 𝛼)3
∞ ∑ i
i3 𝛼 i =
𝛼 + 4𝛼 2 + 𝛼 3 (1 − 𝛼)4
The maximum shaping gain, 𝛾s , can be derived in two ways. First, it is the relation in power between a uniform distribution and a Gaussian distribution with equal entropies. Second, it is the relation between second moments of an Ndimensional square uniform distribution and an Ndimensional spheric uniform distribution, as N → ∞. This will give the maximum shaping gain since the most efficient way to pack the points is as a sphere. In this problem, it will be shown that the results are equivalent, since the spherical distribution projected to one dimension becomes Gaussian as N → ∞. (a) What is the radius in an Ndimensional sphere if the volume is one, i.e. if it constitutes a uniform probability distribution? (b) If X = (X1 , … , XN ) is distributed according to an Ndimensional spherical uniform distribution, show that its projection in one dimension is )2∕N ) N−1 ( (N N−1 2 Γ 2 +1 𝜋 2 2 1dx̃ = ( N 1 ) −x fX (x) = ∫̃x2 ≤R2 −x2 𝜋 Γ + 2
2
where x̃ is an N − 1 dimensional vector. (c) Using the first order Stirling’s approximation ) ( x − 1 x−1 Γ(x) ≈ e show that the result in (b) can be written as ) N−1 ( 1 2 − 𝜋ex2 2 fX (x) ≈ 1 + N−1 2
for large N. (d) Let the dimensionality N grow to infinity and use limN→∞ (1 + Nx )N = ex to show ( √ 1 ) , i.e. that that X ∼ N 0, 2𝜋e lim fX (x) = √
N→∞
where 𝜎 2 =
1 . 2𝜋e
1 2𝜋𝜎 2
e−x
2 ∕2𝜎 2
288 10.8
CHAPTER 10
DISCRETE INPUT GAUSSIAN CHANNEL
Assume a transmission system uses a bandwidth of W = 10 kHz and the allowed signaling power is P = 1 mW. The channel noise can be assumed to be Gaussian with N0 = 1 nW/Hz. (a) Derive the channel capacity for the system. (b) Give an estimate of the achievable bit rate when PAM modulation is used, if the targeted error probability is Pe = 10−6 .
10.9
Sketch a plot for the ratio between the estimated achievable bit rate and the capacP ity for a channel with Gaussian noise. The SNR = WN should be in the range from 0 −10 to 30 dB. Make plots for different allowed bit error probabilities, e.g., Pe ∈ {10−3 , 10−6 , 10−9 }.
10.10
A signal is based on an orthogonal frequency division multiplexing (OFDM) modulation with 16 subchannels of width Δf = 10 kHz. The signal power level in the whole spectra is −70 dBm/Hz. On the transmission channel, the noise level is constant at −140 dBm/Hz, but the signal attenuation is increasing with the frequency as Hi 2 = 5i + 10 dB, i = 0, … , 15. (a) Derive the capacity for the channel. (b) If the required error rate on the channel is 10−6 , and it is expected that the errorcorrecting code gives a coding gain of 3 dB, what is the estimated obtained bit rate for the system?
10.11
Consider a frequency divided system like orthogonal frequency division multiplexing (OFDM), where the total bandwidth of W = 10 MHz, is split in 10 equally wide independent subbands. In each of the subbands, an MPAM modulation should be used and the total allowed power is P = 1 W. On the subbands, the noisetoattenuation ratios are given by the vector No,i Gi 2
( = −53
−43
−48
−49
−42
−54
−45
−45
−52
) −49 [dBm/Hz]
where N0,i is the noise on subband i and Gi the signal attenuation on subband i. The system is supposed to work at an average error probability of Pe = 10−6 . The aim of this problem is to maximize the total information bit rate Rb for the system. (a) Show that the total information bit rate for the system can be maximized using the waterfilling procedure. (b) Derive the maximum information bit rate for the system. (c) Assume that you add an errorcorrecting code in each subband, with a coding gain of 𝛾c = 3 dB. How does that influence the maximum information bit rate?
CHAPTER
11
INFORMATION THEORY AND DISTORTION
I
N THE PREVIOUS chapters, the aim was to achieve perfect reconstruction for source coding and arbitrary small error probability in error coding. This is the basis for the source coding theorem and the channel coding theorem. However, in practical system design, this is not always the case. For example in image compression or voice coding, it is affordable to have a certain amount of losses in the reconstruction, as long as the perceived quality is not affected. This is the idea behind lossy coding instead of lossless coding, like Huffman coding or the Lempel–Ziv (LZ) algorithms. The gain with allowing some distortion to the original image is that the compression ratio can be made much better. In image coding or video coding, algorithms like JPEG or MPEG are typical examples. In his 1948 paper [1], Shannon started the study on how to incorporate an allowed distortion in the theory. Ten years later, in 1957, he published the full theory including distortion [53]. In this paper, the ratedistortion function is defined and shown to bound the compression capability in the same manner as the entropy does in the lossless case. In both [68, 78] the ratedistortion theory is described in more details. This chapter will give the basic theory for rate distortion, and see how this influence the bounds on source coding and channel coding. For source coding, distortion means lossy compression, which is used in, e.g., audio and video coding. These algorithms are often based on quantization, which is described later in the chapter. Finally, transform coding is described, which is the basis of, e.g., JPEG and MPEG compression.
11.1
RATEDISTORTION FUNCTION
To start the study of rate distortion, it must first be determined what is meant by distortion of a source. In Figure 11.1, a model for a source coding is depicted. The source symbol is a vector of length n, X = X1 , … Xn . This is encoded to a length 𝓁 vector Y = Y1 … Y𝓁 , which is then decoded back (reconstructed) to a length n vector X̂ = X̂ 1 , … X̂ n . The codeword length 𝓁 is regarded as a random variable, and its expected Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
289
290 X
CHAPTER 11
Encoder
INFORMATION THEORY AND DISTORTION
Y
Xˆ
Decoder
Figure 11.1 A communication model for introducing distortion.
value is denoted by L = E[𝓁]. This is the same model as used in the lossless case in Chapter 4. The difference is that the mapping from X to X̂ includes an allowance of a mismatch, i.e. in general they will not be equal. The rate of the code is defined as L R= (11.1) n This is the transmission rate and should not be confused with the compression ratio used earlier, which is its inverse. For simplicity, assume that Y is a binary vector. To measure the introduced mismatch between the source symbol and the reconstructed symbol, a distortion measure is required. It is here assumed that the distortion measure is additive and that the average distortion per symbol can be written as d(x, x̂ ) =
n ∑
d(xi , x̂ i )
(11.2)
i=1
where d(x, x̂ ) is the singleletter distortion. Without loss of generality, it can be assumed that the minimum distortion is zero, minx̂ d(x, x̂ ) = 0, for all x. There are several such measures, but the two most well known are the Hamming distortion and the squared distance. The first one is typically used for discrete sources, especially for the binary case, whereas the second is mostly used for continuous sources. Definition 11.1
The Hamming distortion between two discrete letters x and x̂ is { 0, x = x̂ d(x, x̂ ) = (11.3) 1, x ≠ x̂
For the binary case, the Hamming distortion can be written as d(x, x̂ ) = x ⊕ x̂
(11.4)
where ⊕ denotes addition modulo 2. Definition 11.2
The squared distance distortion between two variables x and x̂ is d(x, x̂ ) = (x − x̂ )2
(11.5)
In principle, all vector norms can be used as distortion measures, but, for example, the maximum as d(x, x̂ ) = maxi xi − x̂ i  does not work with the assumption of additive distortion measures. In the following, the derivations will be performed for discrete sources, but in most cases it is straightforward to generalize for continuous sources. In the model for the lossy source coding scheme, the distortion is introduced in the encoder/decoder mapping. A mathematical counterpart of the decoder is the probability for the reconstructed symbol X̂ conditioned on the source symbol X,
11.1 RATEDISTORTION FUNCTION
291
p(̂xx). Then the distortion is modeled as a probabilistic mapping between the inputs and outputs. From the assumption of additive distortion, the average distortion over a vector of length n is n n ] [ ∑ ] [ ] ] 1∑ [ 1 ̂ ̂ ̂ d(Xi , Xi ) = E d(Xi , X̂ i ) = E d(X, X) E d(X, X) = E n i=1 n i=1
[
(11.6)
By specifying a maximum [ ]distortion per symbol as 𝛿, the averaged distortion should ̂ ≤ 𝛿. The expected distortion is averaged over the joint be bounded by E d(X, X) probability of the input sequence and the output sequence, p(x, x̂ ) = p(x)p(̂xx). Among those the input distortion is fixed by the source, meaning that the requirement of a maximum symbol distortion gives a set of conditional distributions as { } ̂ ≤𝛿 p(̂xx) : E[d(X, X)] (11.7) According to (11.6), this can for an additive distortion measure be written as { } ̂ ≤𝛿 p(̂xx) : E[d(X, X)] (11.8) From the assumption that Y is a binary vector with average length L, the number of codewords is 2L = 2nR . Each code vector is decoded to an estimated reconstruction ̂ and there are equally many possible reconstructed vectors. Thus, the mutual vector X, information between the input and the output can be bounded as ̂ = H(X) ̂ − H(XX) ̂ ̂ ≤ log 2nR = nR I(X; X) ≤ H(X)
(11.9)
Equivalently, the rate can be bounded by the mutual information as 1 ̂ I(X; X) (11.10) n That is, to get a measure of the lowest possible rate, the mutual information should be minimized with respect to a certain maximum distortion. Since the maximum distortion level corresponds to a set of conditional distributions, the following definition is reasonable. R≥
Definition 11.3 The ratedistortion function for a source with output vector X and a distortion measure d(x, x̂ ) is R(𝛿) =
min
̂ p(̂xx):E[d(X,X)]≤𝛿
1 ̂ I(X; X) n
(11.11)
̂ = nI(X; X), ̂ For an identical and independently distributed (i.i.d.) source, I(X; X) together with (11.8) gives the following theorem. Theorem 11.1 The ratedistortion function for an i.i.d. source with output variable X and the distortion measure d(x, x̂ ) is R(𝛿) =
min
̂ p(̂xx):E[d(X,X)]≤𝛿
̂ I(X; X)
(11.12)
292
CHAPTER 11
INFORMATION THEORY AND DISTORTION
Before showing that R(𝛿) is the minimum average number of bits needed to represent a source symbol when the acceptable distortion is 𝛿, a closer look at the actual derivation of the ratedistortion function and some of its properties is in place. ̂ ≤ 𝛿1 } is a subset of {p(̂xx) : If 𝛿1 ≤ 𝛿2 , the set of distributions {p(̂xx) : E[d(X, X)] ̂ E[d(X, X)] ≤ 𝛿2 }, and R(𝛿1 ) ≥ R(𝛿2 )
(11.13)
Hence, the ratedistortion function is a decreasing function in 𝛿. To see how the ratedistortion function can behave, the next example derives it for a binary source.
Example 11.1 Consider a binary i.i.d. source with output symbol X ∈ {0, 1} and p(X = 0) = p, where p ≤ 1∕2. The aim of this example is to derive the ratedistortion function for a binary source and Hamming distortion of maximum 𝛿 ≤ 1∕2. To derive the ratedistortion function, it is possible to apply standard optimization technology, but already in this simple case it becomes relatively complex. Instead, first note that ̂ = P(X ⊕ X̂ = 1) ≤ 𝛿. Then a lower bound on the mutual inforE[d(x, x̂ )] = P(X ≠ X) mation can be derived as ̂ = H(X) − H(XX) ̂ I(X; X) ̂ X) ̂ = h(p) − H(X ⊕ X ̂ ≥ h(p) − h(𝛿) ≥ h(p) − H(X ⊕ X)
(11.14)
̂ = For this lower bound to equal the ratedistortion function, it is needed that H(XX) h(𝛿), which gives the distribution ̂ P(XX) X̂
X=0
X=1
0 1
1−𝛿 𝛿
𝛿 1−𝛿
To get the distribution on X̂ assign P(X̂ = 0) = q, p = P(X = 0) = P(X = 0X̂ = 0)P(X̂ = 0) + P(X = 0X̂ = 1)P(X̂ = 1) = (1 − 𝛿)q + 𝛿(1 − q) = (1 − 2𝛿)q + 𝛿
(11.15)
or, equivalently, p−𝛿 1 − 2𝛿
1−p−𝛿 (11.16) 1 − 2𝛿 For the case when 0 ≤ 𝛿 ≤ p ≤ 1∕2, the probability of X̂ in (11.16) is bounded by 0 ≤ q ≤ p.Thus, q and 1 − q forms a distribution, and according to (11.14) the ratedistortion function is R(𝛿) = h(p) − h(𝛿), 0 ≤ 𝛿 ≤ p. For the case when p < 𝛿 ≤ 1∕2, let P(X̂ = 1X) = 1; q and 1 − q do not form a distribution since p − q < 0. Instead, always set the reconstructed symbol to X̂ = 1 q=
and
1−q=
11.1 RATEDISTORTION FUNCTION
293
Figure 11.2 Ratedistortion function for a binary i.i.d. source.
R(δ) h(p)
p
1/2
δ
̂ = p ≤ 𝛿 and the distortion requirement is fulfilled. Since X̂ = 1 is to get E[d(X, X)] ̂ = 0, which gives R(𝛿) = 0. Sumindependent of X, the mutual information is I(X; X) marizing, for a binary i.i.d. source with P(X = 0) = p, the ratedistortion function is { h(p) − h(𝛿), 0 ≤ 𝛿 ≤ p ≤ 1∕2 R(𝛿) = (11.17) 0, p < 𝛿 ≤ 1∕2 In Figure 11.2, this function is shown as a plot. It is interesting to notice in Figure 11.2 that for no distortion, i.e. 𝛿 = 0, the ratedistortion function equals the entropy for the source. Since the ratedistortion function was defined as a lower bound on the transmission rate, and that the symbols are binary, this is the amount of information in one source symbol. Thus, it falls back to the lossless case and the source coding theorem as seen before. In the previous example, the relation between p(x), p(x̂x), and p(̂x) is often described by using a backward test channel from X̂ to X, as shown in Figure 11.3. It should be noted that this channel does not have anything to do with transmission; it should be seen as a mathematical model showing the relations. It has its purpose in giving an overview of the distributions involved in the problem. It turns out that the retedistortion function plotted in Figure 11.2 has a typical behavior. It starts at some value for 𝛿 = 0 and decreases as a convex function down until 𝛿 = 𝛿max where R(𝛿max ) = 0. As was seen in (11.13), the ratedistortion function R(𝛿) is a decreasing function, but not necessarily strictly decreasing. At some value 𝛿max , the allowed distortion is so large that the reconstructed value X̂ can take a predetermined value. Then it is not needed to transmit any codeword, and the rate becomes
q
0 Xˆ
1–q
1–δ δ
X
δ 1
p
0
1–δ
1
1–p
Figure 11.3 Test channel for describing the distributions in Example 11.1.
294
CHAPTER 11
INFORMATION THEORY AND DISTORTION
R(𝛿max ) = 0. Since the ratedistortion function is decreasing and the mutual information is nonnegative, R(𝛿) = 0, 𝛿 ≥ 𝛿max . To determine 𝛿max , notice that since the output is predetermined, the input X and output X̂ are independent, giving p(̂xx) = p(̂x), and [ ] ∑ ̂ = E d(X, X) p(x, x̂ )d(x, x̂ ) x,̂x
=
∑
p(x)p(̂xx)d(x, x̂ )
x,̂x
=
∑
p(̂x)
∑
x̂
p(x)d(x, x̂ )
(11.18)
x
∑ To get the minimum, find an x̂ that minimizes x p(x)d(x, x̂ ) and set p(̂x) = 1 for this value, yielding ∑ 𝛿max = min p(x)d(x, x̂ ) (11.19) x̂
x
To show that the ratedistortion function is convex, let p1 (̂xx) and p2 (̂xx) denote the distributions achieving R(𝛿1 ) and R(𝛿2 ), i.e. [ ] ̂ ̂ ≤ 𝛿1 R(𝛿1 ) = Ip1 (X; X) where Ep1 d(X, X) (11.20) [ ] ̂ ̂ R(𝛿2 ) = Ip2 (X; X) where Ep2 d(X, X) ≤ 𝛿2 (11.21) Consider the probability p(̂xx) = 𝛼1 p1 (̂xx) + 𝛼2 p2 (̂xx), where 𝛼1 ≥ 0, 𝛼2 ≥ 0 and 𝛼1 + 𝛼2 = 1. Then [ ] ∑ ̂ = Ep d(X, X) p(x)p(̂xx)d(x, x̂ ) x,̂x
=
∑ x,̂x
= 𝛼1
( ) p(x) 𝛼1 p1 (̂xx) + 𝛼2 p2 (̂xx) d(x, x̂ )
∑
p(x)p1 (̂xx)d(x, x̂ ) + 𝛼2
x,̂x
∑
p(x)p2 (̂xx)d(x, x̂ )
x,̂x
[ ] [ ] ̂ + 𝛼1 Ep d(X, X) ̂ = 𝛼1 Ep1 d(X, X) 1 ≤ 𝛼1 𝛿1 + 𝛼2 𝛿2
(11.22)
With 𝛿 = 𝛼1 𝛿1 + 𝛼2 𝛿2 , this shows p(̂xx) is one of the distribution in the minimization to reach R(𝛿). From the convexity of the mutual information ̂ ≤ 𝛼1 Ip (X; X) ̂ + 𝛼2 Ip (X; X) ̂ R(𝛿) ≤ Ip (X; X) 1 2 = 𝛼1 R(𝛿1 ) + 𝛼2 R(𝛿2 )
(11.23)
which shows the convexity of the ratedistortion function. To summarize the above reasoning, the following theorem is stated. Theorem 11.2 The ratedistortion function R(𝛿) is a convex and decreasing func∑ tion. Furthermore, there exists a 𝛿max = minx̂ x p(x)d(x, x̂ ) such that R(𝛿) = 0, 𝛿 ≥ 𝛿max .
11.1 RATEDISTORTION FUNCTION
295
So far the ratedistortion function has been considered for discrete random variables, but the same definition makes sense for continuous variables. The same theory as above will hold for this case. One important case is naturally the Gaussian distribution, that is treated in the next example.
Example 11.2 Consider an i.i.d. source where the output is a Gaussian variable [ ] ̂ where it is assumed that E X̂ = 0 X ∼ N(0, 𝜎X ). The reconstructed variable is X, is inherited from X. It is also assumed that the squared distance distortion measure d(x, x̂ ) = (x − x̂ )2 is used. Similar to the previous example with the binary source, instead of going directly to standard optimization methods, derive a lower bound for the mutual information and find a distribution to fulfill it. Starting with the mutual information ̂ = H(X) − H(XX) ̂ I(X; X) ) ( 1 ̂ X) ̂ = log 2𝜋e𝜎X2 − H(X − X 2 ) ( 1 ̂ ≥ log 2𝜋e𝜎X2 − H(X − X) (11.24) 2 [ ] [ ] [ ] [ ] ̂ 2 = From E X̂ = 0, it follows that E X − X̂ = 0 and V X − X̂ = E (X − X) [ ] [ ] ̂ ≤ 𝛿. Define a random variable Z ∼ N(0, 𝜎Z ), where 𝜎 2 = V X − X̂ . The E d(X, X) Z ̂ over the distributions ratedistortion function R(𝛿) is found by minimizing I(X; X) f (̂xx) : 𝜎Z2 ≤ 𝛿. Since the Gaussian distribution maximizes the differential entropy ̂ ≤ 1 log(2𝜋e𝜎 2 ) ≤ 1 log(2𝜋e𝛿). Hence, the bound on the mutual informaH(X − X) Z 2 2 tion becomes ( 𝜎2 ) ) ( ̂ ≥ 1 log 2𝜋e𝜎 2 − 1 log(2𝜋e𝛿) = 1 log X (11.25) I(X; X) X 2 2 2 𝛿 To see that this bound is actually tight, and equals R(𝛿), notice that X = X̂ + Z and √ ( √ 2 ) choose X̂ ∼ N 0, 𝜎X − 𝛿 and Z ∼ N(0, 𝛿). Then X ∼ N(0, 𝜎X ) and the average [ ] [ ] ̂ = V Z = 𝛿, meaning the minimization criterion is fulfilled. distortion E d(X, X) ( 𝜎2 ) Hence, for 0 ≤ 𝛿 ≤ 𝜎X2 the ratedistortion function is R(𝛿) = 12 log 𝛿X . For 𝛿 ≥ 𝜎X2 ̂ = 0. The minimization criterion choose X̂ = 0 independently I(X; X) [ ]of X, [implying ] ̂ 2 = E X 2 = 𝜎 2 ≤ 𝛿. Summarizing, the rate distortion is fulfilled since E (X − X) X function for an i.i.d. Gaussian source is { ( 𝜎2 ) 1 X , 0 ≤ 𝛿 ≤ 𝜎X2 log 𝛿 R(𝛿) = 2 (11.26) 0, 𝛿 ≥ 𝜎X2 The function is plotted in Figure 11.4. The importance of the ratedistortion function was partly seen in (11.10) where the rate is lower bounded by the mutual information. Together with the definition of the
296
CHAPTER 11
INFORMATION THEORY AND DISTORTION
Figure 11.4 Ratedistortion function for a Gaussian source.
R(δ)
σx2
δ
̂ ratedistortion function, it means for an i.i.d.[source that ] R(𝛿) ≤ I(X; X) ≤ R. Hence, ̂ ≤ 𝛿 the rate is bounded by R ≥ for any source code with average distortion E d(X, X) R(𝛿). The next theorem, called the ratedistortion theorem, is the direct counterpart of the source coding theorem, stating also the existence of such code. Theorem 11.3 Let X = X1 X2 … Xn be generated by an i.i.d. source, X̂ = X̂ 1 X̂ 2 … X̂ n the reconstructed sequence after source coding, and 𝛿 the allowed distortion when the additive distortion measure d(x, x̂ ) is used. In the limit as n → ∞, there exists a source code with rate R if and only if R ≥ R(𝛿) =
min
̂ p(̂xx):E[d(X,X)]≤𝛿
̂ I(X; X)
(11.27)
Proof: The first part of the theorem, that the rate of a given code satisfying the distortion requirement is bounded by the ratedistortion function, is already shown above. The existence part, that for a given rate satisfying the bound there exists a code, is a bit more tedious. The idea is to extend the concept of jointly typical sequences and construct an encoding/decoding pair satisfying the bound as the length of the source vector grows to infinity. As a start, a set of distortion typical sequences are defined. ̂ is the set of Definition 11.4 The set of all distortion typical sequences A𝜀,𝛿 (X, X) all pairs of ndimensional vectors of i.i.d. variables x = (x1 , x2 , … , xn ) and
x̂ = (̂x1 , x̂ 2 , … , x̂ n )
(11.28)
̂ (see Definition 6.5), and such that they are jointly typical (x, x̂ ) ∈ A𝜀 (X, X) [ ] 1 ̂  ≤ 𝜀 (11.29)  d(x, x̂ ) − E d(X, X)  n [ ] ̂ ≤ 𝛿. where E d(X, X)
11.1 RATEDISTORTION FUNCTION
297
From the weak law of large numbers, it follows directly that [ ] p 1 1∑ ̂ , d(xi , x̂ i ) → E d(X, X) d(x, x̂ ) = n n i=1 n
n→∞
(11.30)
Following Theorem 6.7, it can be seen that there exists a set of integers ni , i = 1, 2, 3, 4, such that ( ) 𝜀   (11.31) n > n1 P1 = P − 1n log p(x) − H(X) > 𝜀 < ,   ( ) 4  ̂  > 𝜀 < 𝜀 , P2 = P − 1n log p(̂y) − H(X) (11.32) n > n2   4) (  ̂  > 𝜀 < 𝜀 , P3 = P − 1n log p(x, x̂ ) − H(X, X) (11.33) n > n3   4 ( ) [ ]  ̂  > 𝜀 < 𝜀 , P4 = P  1n d(x, x̂ ) − E d(X, X) (11.34) n > n4   4 [ ] ̂ ≤ 𝛿. Then, for n > max{n1 , n2 , n3 , n4 }, by the use of union bound, where E d(X, X) ( ) ̂ 0 and sufficiently large n ( ) ̂ ≥1−𝜀 P (x, x̂ ) ∈ A𝜀,𝛿 (X, X)
(11.35)
(11.36)
From the alternative definition of typical sequences, Definition 6.6, the conditional probability P(̂xx) is bounded as p(̂xx) =
p(x, x̂ ) p(x, x̂ ) = p(̂x) p(x) p(x)p(̂x)
≤ p(̂x)
̂
2−n(H(X,X)−𝜀)
̂ 2−n(H(X)+𝜀) 2−n(H(X)+𝜀) ̂ ̂ ̂ = p(̂x)2n(H(X)+H(X)−H(X,X)+3𝜀) = p(̂x)2n(I(X;X)+3𝜀)
(11.37)
or, in other words, ̂
p(̂x) ≥ p(̂xx)2−n(I(X;X)+3𝜀)
(11.38)
To continue the encoding and decoding procedure should be specified. First, let p∗ (̂xx) be a distribution that gives the ratedistortion function for distortion 𝛿, i.e. p∗ (̂xx) = arg
min
̂ p(̂xx):E[d(X,X)]≤𝛿
From the source statistics p(x), let p∗ (̂x) =
∑ x
̂ I(X; X)
p∗ (̂xx)p(x)
(11.39)
(11.40)
298
CHAPTER 11
INFORMATION THEORY AND DISTORTION
Going back to Figure 11.1, a binary source vector x of length n is encoded to a codeword y. The decoder maps the codeword to a reconstructed binary vector x̂ of length n. When the rate is R, there are 2nR codewords y, and equally many reconstructed vectors x̂ . To define a decoding rule, generate 2nR reconstruction vectors using the distribution p∗ (̂x) =
n ∏
p∗ (̂xi )
(11.41)
i=1
and pair these with the codewords. Denote the decoding function x̂ = g(y). The encoding rule can be based on typical sequences. Given a vector x, find a codeword y such ̂ If there are more than one possible codeword, choose one that (x, g(y)) ∈ A𝜀,𝛿 (X, X). of them at random, and if there is no codeword forming a typical pair with x choose y = 0. To see what this means for the average distortion first define the event that x and x̂ = g(y) are distortion typical sequences, } { ̂ x̂ = g(y) (11.42) Eyx (x, x̂ ) ∈ A𝜀,𝛿 (X, X)  Then the event that x does not have any matching codeword becomes ⋂ c Eex = Eyx (11.43) y
Since the reconstructed vectors are generated i.i.d., the corresponding codewords are independent and (⋂ c ) P(Eex ) = P Eyx y
∏ ( ) c = P Eyx y
∏( ) = 1 − P(Eyx ) y
∏( = 1− y
∏( 1− ≤ y
( = 1−
)
∑
p(̂x)
x̂ :(x,̂x)∈A𝜀,𝛿
∑
̂
p(̂xx)2−n(I(X;X)+3𝜀)
x̂ :(x,̂x)∈A𝜀,𝛿
∑
̂
p(̂xx)2−n(I(X;X)+3𝜀)
)2nR
x̂ :(x,̂x)∈A𝜀,𝛿
( ̂ = 1 − 2−n(I(X;X)+3𝜀)
∑
)
p(̂xx)
)2nR (11.44)
x̂ :(x,̂x)∈A𝜀,𝛿
For 1 − 𝛼x > 0, the ITinequality gives ln(1 − 𝛼x) ≤ −𝛼x. Thus, (1 − 𝛼x)M = eM ln(1−𝛼x) ≤ e−M𝛼x . Furthermore, for 0 ≤ x ≤ 1 it can be found that e−M𝛼x ≤ 1 − x + eM𝛼
(11.45)
11.1 RATEDISTORTION FUNCTION
299
To see this, first notice that the bound is clearly fulfilled for the end points x = 0 and x = 1. At the considered interval, the lefthand side, e−M𝛼x is convex, whereas the righthand side is linearly decreasing with x, and, hence, the bound must be fulfilled in between the end points as well. So, for 0 ≤ x ≤ 1, 0 ≤ 𝛼 ≤ 1 and M ≥ 0 (1 − 𝛼x)M ≤ 1 − x + eM𝛼 (11.46) ∑ ̂ nR −n(I(X; X)+3𝜀 Applying to (11.44) and identifying M = 2 , x = p(̂xx) and 𝛼 = 2 gives ∑ ̂ −n(I(X;X)+3𝜀) 2nR p(̂xx) + e2 (11.47) P(Eex ) ≤ 1 − x̂ :(x,̂x)∈A𝜀,𝛿
Averaging over all x gives the total probability of no match as ∑ P(Ee ) = p(x)P(Eex ) x
≤ 1−
∑
̂ n(R−I(X;X)−3𝜀)
p(x)p(̂xx) + e2
(x,̂x)∈A𝜀,𝛿
( ) n(R−R(𝛿)−3𝜀) = P (x, x̂ ) ∉ A𝜀,𝛿 + e2
(11.48)
̂ = R(𝛿) in the last equality. From where it is used that p(̂xx) = p∗ (̂xx) to (get I(X; X) ) ̂ the definition of A𝜀,𝛿 (X, X), the term P (x, x̂ ) ∉ A𝜀,𝛿 ≤ 𝜀, where 𝜀 can be chosen arbitrarily small. For R > R(𝛿) and small enough 𝜀, the exponent in the second term R − R(𝛿) − 3𝜀 < 1, and the term will decrease toward zero as n grows. Thus, with R > R(𝛿) it is possible to find a code where P(Ee ) → 0 as n → ∞. To derive the average distortion, consider first the vector pairs (x, x̂ ) ∈ ̂ Then the distortion is bounded by A𝜀,𝛿 (X, X). [ ] 1 ̂ +𝜀≤𝛿+𝜀 (11.49) d(x, x̂ ) ≤ Ep∗ d(X, X) n For the vector pairs not included in the set of distortion typical sequences, the diŝ where 𝛿̂ = max(x,̂x) d(x, x̂ ) is assumed to be finite. tortion is bounded by 1n d(x, x̂ ) ≤ 𝛿, Then the average distortion is ] ( ) 1 [ ̂ ̂ ≤ (𝛿 + 𝜀)P Ec + 𝛿P(E E d(X, X) e) e n ̂ ≤ 𝛿 + 𝜀 + 𝛿P(E (11.50) e) = 𝛿 + 𝜀 ̂ where 𝜀 = 𝜀 + 𝛿P(E e ) can be chosen arbitrarily small, for large enough n. This completes the proof. From the above ratedistortion theorem, the ratedistortion function plays the same role for lossy source coding as the entropy does for lossless source coding. It is the limit for when it is possible to find a code. It does not, however, say much on how to construct the code since the construction in the proof is not practically implementable. Especially in the area of image, video, and voice coding there are active research ongoing. Another, closely related, topic is quantization, which in its nature is both lossy and a compression. In Section 11.3, quantization is treated more
300
CHAPTER 11
INFORMATION THEORY AND DISTORTION
in detail, and in Section 11.4 transform coding is described, including overviews of JPEG and MPEC coding. As in the case of the source coding theorem, the ratedistortion theorem can be generalized to hold for stationary ergodic sources. The theory for this is out of the scope for this text.
11.2
LIMIT FOR FIX Pb
In the previous section, it was shown that the ratedistortion function has the same interpretation for lossy source coding as the entropy has for lossless source coding. In this section, it will be seen that it can also be applied to the case of channel coding when a certain bit error rate can be acceptable. For this purpose, the system model has to be expanded a bit to include the channel. In Figure 11.5, the source vector X = X1 … Xk is of length k and the code vector Y = Y1 … Yn of length n, which gives the encoding rate R = nk . After transmission over the channel, the received vector is Ŷ = Ŷ 1 … Ŷ n . Then the decoding outputs the estimated vector as X̂ = X̂ 1 … X̂ k . In Section 6.5, it was shown that reliable communication is possible if and only if the rate is bounded by the capacity, ̂ R < C = max I(Y; Y)
(11.51)
p(y)
The term reliable communication refers to the case when the error probability after decoding can be made arbitrarily low. As with the case of lossless compared to lossy compression, this puts some hard restrictions on the system. In a real system design, a certain level of error probability can often be accepted. It is possible to treat this error level as an acceptable level of distortion at the decoder output. The next theorem shows the relation between the channel capacity and the ratedistortion function. Theorem 11.4 Given a source with probability distribution p(x), that is encoded with a rate R channel code before transmitted over a channel. If the acceptable distortion is 𝛿 for a distortion measure d(x, x̂ ), such system can be designed if and only if R≤
C R(𝛿)
(11.52)
where C is the channel capacity for the channel and R(𝛿) the ratedistortion function. In this text, the proof of the theorem is omitted. Instead refer to [54]. The above theorem gives a relation between the channel capacity and the ratedistortion function. In the next, the influence of the acceptable distortion on the fundamental limit in Section 9.3 is treated. The limit Eb ∕N0 ≥ −1.59 dB was derived X
Encoder
Figure 11.5
Y
Channel
Yˆ
Decoder
Block scheme with source and channel coding.
Xˆ
11.2 LIMIT FOR FIX Pb
301
by considering a binary equiprobable source where the bits are encoded by a rate R channel code before the bits are transmitted over channel with signaltonoise ratio Eb ∕N0 . For reliable communication, the limit on the coding rate can be written as ( E ) 1 (11.53) R < C = log 1 + 2R b 2 N0 Assuming a binary source with equally distributed bits, and an acceptable bit error probability Pb after decoding, the ratedistortion function is given by R(Pb ) = 1 − h(Pb ) Thus, the code rate bound becomes R
N0 2R
(11.56)
In Figure 11.6, the bound is plotted as the minimum signaltonoise ratio for the bit error probability. In the figure, there are four plots, one each for the coding rates R = 1∕4, R = 1∕2, R = 3∕4, and the fourth, left most, curve is the case when the encoding rate tends to zero. This is the case when the fundamental limit is given, and the function becomes 22R(1−h(Pb )) − 1 (11.57) = ln(2)(1 − h(Pb )) R→0 2R which describes the lowest achievable Eb ∕N0 for an acceptable bit error probability of Pb at the receiver. As the bit error rate becomes smaller, the entropy function in the lim
100
Figure 11.6 Plot of the achievable signaltonoise ratio for certain bit error probability.
Pe
10–1 10–2 R
10–3
0
R = 1/4
10–4
R = 1/2
10–5
R = 3/4
10–6 Eb /N0 (dB) –1.59 –0.82 0
0.85
302
CHAPTER 11
INFORMATION THEORY AND DISTORTION
formula will close to zero and the curves fall down close to vertically below about Pe = 10−3 , where they equal the capacity limit for a given rate.
11.3
QUANTIZATION
In the next two sections, two examples of lossy compression are considered. First, it is quantization that represents a continuous variable by a discrete, and thus introducing disturbance, and second transform decoding. A wellknown example of the latter is the image format JPEG that will be briefly described. As said, quantization maps a continuous variable to a discrete version for the purpose of representing it with a finite length binary vector. An analogtodigital converter consist of sampling and quantization, i.e. first mapping from continuous time to discrete time and then from continuous amplitude to discrete amplitude. This operation, as well as its inverse–digitaltoanalog conversion , is a common component in circuits operating with signals from and to an outer unit, like a sensor of some kind. In the sampling procedure, the optimal sampling frequency and the reconstruction formula are described by the sampling theorem used in Chapter 9. According to this, sampling and reconstruction do not introduce any distortion. However, to be able to represent the sample values in a computer using finite vectors they have to be quantized. This operation means representing a real value by a discrete variable, and it is inevitable that information is destroyed, and thus distortion introduced. In this description, a uniform quantization, as shown in Figure 11.7, is used. The input to the quantizer is the continuous variable x. The mapping to the quantizer output xQ is determined by a staircase function in the figure. In a uniform quantizer, the size of the steps is constant, say Δ. In a uniform quantizer, the quantization intervals are equally sized, and the staircase function is centered around a linear function, the dashed line in Figure 11.7.
M
– M2 Δ
– 1Δ
Figure 11.7 A uniform quantization function.
xQ
2
Δ
M 2
Δ
– M 2– 1 Δ
Δ
x
11.3 QUANTIZATION
303
For a nonuniform quantizer, the steps are of unequal size, typically large steps for large values. Then the line center line is nonlinear, and typically have more of an Sshape. This can be used to form the quantizer for the statistics of the continuous source and to have different sizes of the quantization intervals. However, in most practical implementations a uniform quantizer is used. If the statistics differ much from the uniform distribution, the quantizer can either be followed by a source code like the Huffman code or preceded by a compensation filter. In the figure, a quantizer with M output levels is shown. Assuming a maxiΔ, the granularity of the quantization mum level of the output mapping of D = M−1 2 2D becomes Δ = M−1 . The mth output level then corresponds to the value ( ) M−1 Δ xQ (m) = mΔ − Δ = (2m − M + 1) (11.58) 2 2 The mapping function shown in the figure is determined from finding an integer m such that xQ (m) −
Δ Δ ≤ x < xQ (m) − 2 2
(11.59)
then the output index is y = m. If the input value x can exceed the interval xQ (0) − x < xQ (M − 1) +
Δ , 2
Δ 2
≤
the limits should be
⎧m, ⎪ y = ⎨0, ⎪M − 1, ⎩
xQ (m) − Δ2 ≤ x < xQ (m) − x < xQ (0) + Δ2 x ≥ xQ (M − 1) − Δ2
Δ , 2
1≤m≤M−2 (11.60)
From (11.58), this can equivalently be written as ⎧m, ⎪ y = ⎨0, ⎪M − 1, ⎩
(2m − M) Δ2 ≤ x < (2m − M) Δ2 + Δ, x < (2 − M) Δ2
for 1 ≤ m ≤ M − 2 (11.61)
x ≥ (M − 2) Δ2
The output values from the quantizer can be represented by a finite length binary vector. The price for representing a real value with finite levels is an error introduced in the signal. In Figure 11.8, this error, defined as the difference x − xQ , is shown in the upper plot, and the corresponding distortion, d(x, xQ ) = (x − xQ )2 in the lower plot.
− M2 Δ
x − xQ M 2
Δ
M 2
Δ
x
d( x, x Q)
− M2 Δ
x
Figure 11.8 The quantization error, x − xQ , and distortion, d(x, xQ ) = (x − xQ )2 , for the uniform quantization function in Figure 11.7.
304
CHAPTER 11
INFORMATION THEORY AND DISTORTION
An estimate of the distortion introduced can be made by considering a uniformly distributed input signal, X ∼ U(−M Δ2 , M Δ2 ). Then all quantization levels will have uniformly distributed input with f (x) = can be made with normalized xQ = 0, ] [ E (X − XQ (m))2 Y = m = From the uniform assumption P(Y = m) =
1 , Δ
and deriving the average distortion
Δ∕2
∫−Δ∕2
1 , M
x2
Δ2 1 dx = Δ 12
(11.62)
and hence
∑ 1 Δ2 [ ] M−1 Δ2 E (X − XQ )2 = = M 12 12 m=0
(11.63)
When the quantized value is mapped to a vector of length k and M = 2k this is equiv] [ 2 alent to, E (X − XQ (m))2 ≈ 22(k−1) D12 , where the approximation M − 1 ≈ M is used. Viewing the distortion as a noise, it is convenient to consider the signaltoquantization noise ratio (SQNR). Since the signal has zero mean, its variance is [ ] E X2 =
M Δ2
∫−M Δ 2
x2
(MΔ)2 1 dx = MΔ 12
Hence the signaltoquantization noise is [ ] E X2 SQNR = [ ] = M 2 = 22k E (X − XQ )2
(11.64)
(11.65)
Expressed in dB, this means SQNRdB = 2k ⋅ 10 log10 2 ≈ k ⋅ 6 dB
(11.66)
i.e., the SQNR increases with 6 dB with each bit in the quantization.
Example 11.3 In the 4G mobile standard LTE, the downstream signals are constructed with an OFDM (orthogonal frequency division multiplexing) modulation scheme. The modulation carries 2, 4, or 6 bits per ton and transmission. To get the maximum data rate of the system, a reasonable lower requirement on the signaltonoise ratio is 30 dB. Then the quality of the total channel, both quantization and air channel, will not constrain the modulation due to the quantization. If the air channel is good enough for full speed, so will the combination with quantization. From the approximation of 6 dB per bit, this corresponds to k = 5 b/sample. There are six possible bandwidths for the communication link, W ∈ {1.4, 3, 5, 10, 15, 20} [MHz]
(11.67)
Following the Nyquist sampling rate FS ≥ 2W, and since the samples are complex, the total required bit rate is Rb = 2Fs k ≥ 2W ⋅ 2 ⋅ 5 = W20. In the next table, the resulting minimum bit rates for the LTE bands are shown. The calculations are based
11.3 QUANTIZATION
TABLE 11.1
305
Bandwidth and data rates for the CPRI protocol.
W (MHz)
Rb,min (Mbps)
Common Public Radio Interface (Mbps)
1.4 3 5 10 15 20
28 60 100 200 300 400
614.4/8 614.4/3 614.4 1228.8 1228.8 2457.6
on uniformly distributed amplitude of the samples, which is not the case in reality. So, the result is a bit optimistic and a real signal would require some extra bits per real sample. As a comparison, for each bit rate, the rates used by the fronthaul protocol Common Public Radio Interface (CPRI) is shown in Table 11.1. This is a standard developed for transporting samples within the base station, but also often considered for transporting LTE samples over fiber connections further distances. The relatively high bit rates come from the requirement of 15 b/real sample. In CPRI, the specified bit rates in Mbps are 614.4, 1228.8, 2457.6, 3072, 4915.2, 6144, and 9830.4. Then for the 1.4MHz band, there can be eight signals in one 614.4 Mbps stream and for the 3MHz band three signals in a 614.4Mbps stream. For the others, it is one signal per stream. In the case of uniform distribution, it is natural to set the reconstructed value to the center in the quantization interval. In the general case, for a given interval Δm ≤ x < Δm+1 and a reconstruction value xm in the interval m with the distribution f (xm), the average distortion is [ ] [ ] [ ] 2 dm = EXm (X − xm )2 = EXm X 2 − 2xm EXm X + xm (11.68) Thus, to find the reconstruction value that minimizes the distortion take the derivative with respect to xm to get [ ] 𝜕dm = −2EXm X + 2xm = 0 (11.69) 𝜕xm [ ] and hence the optimal reconstruction value is xm = EXm X . For the uniform distribution, this is indeed the center in the interval as used above. For other distributions, the value can change. In the next example, the reconstruction value for a Gaussian source when using a 1bit quantizer is derived. Example 11.4 Assume a Gaussian source where X ∼ N(0, 𝜎) and a 1bit quantizer. The natural intervals are divided buy the value x = 0, i.e. for x < 0, y = 0, and for x ≥ 0, y = 1. Since the two sides are symmetric, it is only needed to derive the optimal reconstruction level for the positive side. Therefore, the distribution is given by 2 2 2 e−x ∕2𝜎 (11.70) f (xy = 1) = √ 2𝜋𝜎 2
306
CHAPTER 11
INFORMATION THEORY AND DISTORTION
and the reconstruction value is ∞
x1 =
∫0
x√
2 2𝜋𝜎 2
√ −x2 ∕2𝜎 2
e
dx =
2 𝜎 𝜋
Consequently, the reconstruction value for the negative side √ 2 𝜎 x0 = − 𝜋
(11.71)
(11.72)
] [ With these levels, the average quantization distortion becomes E d(X, XQ ) = (𝜋 − 2).
11.4
𝜎2 𝜋
TRANSFORM CODING
There are two main families of source codes, lossless and lossy. The previously studied algorithms, Huffman and LZ, are both lossless source codes. Going back to Figure 4.1, it means that after the source vector X is encoded to Y and reconstructed ̂ there is no distortion, i.e. X ̂ = X. This is the typical behavior of a compression to X, algorithm for, e.g., text or program codes, where there can be no errors introduced. On the other hand, when compressing, e.g., images, a certain amount of distortion can be allowed, as long as end user does not perceive a substantial quality deterioration. In this way, the achieved compression can be much higher than in the case of lossless coding [68, 69, 88]. To get a measure of the loss made in the coding, a distortion measure is intrô For the case of an image, the symbols are typically the pixels. By the duced d(X, X). additive assumption of the distortion measure, the average distortion for the complete image with N pixels is 1∑ d(x, x̂ ) (11.73) N i It is not obvious how the distortion measure shall be chosen for image compression. Often the squared distance distortion is used, but this is also misleading. Different images can tolerate a different amount of distortion, and it also depends on where in the image it is located. To get a more reliable measure of how a certain coding and distortion affect the user experience, real user ratings has to be used. In those, people are asked to rate the distortion in the image or video that is compressed. These measures are very useful when developing the algorithms, but naturally not possible to use for all images. If a vector of length N symbols are compressed, the optimal method for a given compression rate R is the one that gives the lowest distortion. Ironically, when taking the computational complexity into account, in many cases it is preferably to use a suboptimal method. The computational complexity of an optimal algorithm often grows exponentially with the length of the vector. On the other hand, the efficiency of the compression also grows with the length of the vector, but not exponentially. So to get a good compression, it requires a longer vector, which means a high complexity. Often
11.4 TRANSFORM CODING
x0
y0
x1
y1
xN
T xn−1
Q0 Q1
y˜0 y˜1
.. . yn−1
Qn−1
H0 H1
z0
307
Figure 11.9 Block diagram for transform coding.
z1 zN
... y˜ n−1
Hn−1
zn−1
it is possible to construct a suboptimal compression method with a lower complexity growths and still almost as good results. Comparing this can actually mean that for a certain complexity, the best compression is achieved for a suboptimal method. In this section, one such method, called transform coding, will be described. It is the basis of the image format JPG, which will also briefly be described. For images today, there are a couple of formats including compression. As described in Section 5.4, PNG uses a combination of LZ and Huffman. The other main format is JPG, which uses a transform coding. In Figure 11.9, the base model for the transform encoder is shown. Assuming the source vector xN of length N is blocked into column vectors of length n, x = (x0 , … , xn−1 )T . Each of these vectors is transformed using a linear transform represented by the n × n transform matrix T as y = Tx
(11.74)
The general idea behind the algorithm is that each symbol in the vector before the transform has similar statistical properties, whereas after the transform there are some symbols with high variance and some with low variance. If each symbol is quantized independently, the low variance symbols need few bits whereas the high variance symbols need more bits. However, the required number of bits grows essentially as the logarithm of the variance and in total the number of bits required for the transformed vector can be lower than the number of bits for the untransformed vector, without distortion growth. To get a good mapping between the quantized value and the binary vector, a Huffman code, or some other efficient lossless compression, is followed after the quantization. Finally, the compressed binary vector is again merged into a long sequence, zN . The reconstruction works in the opposite direction, where the first code sequence is split into the binary codewords by the Huffman decoders. These are then reconstructed according to the quantization levels and inversely transformed using x̃ = T −1 ỹ
(11.75)
which forms the reconstructed sequence. In compression of, e.g., images and video, it is often assumed that the vectors are real valued. Then it is also reasonable to assume realvalued transform matrices. If the inverse of the transform matrix equals the transpose, i.e. if T −1 = T T , the transform is said to be orthonormal.1 1 For
the case of a complex transform matrix, it is instead the Hermitian transpose that is of interest.
308
CHAPTER 11
INFORMATION THEORY AND DISTORTION
Figure 11.10
x2
Sample set of data in domain.
3
−3
3
x1
−3
Example 11.5 Consider a twodimensional random variable X = (X1 X2 )T , and 50 measured outcomes as shown in Figure 11.10. It is seen in the figure that the samples are located relatively concentrated along a linear function angled 𝜋4 rad relative to the x1 axis. That means the samples have about the same dynamics in both dimensions. Hence, to quantify the samples, the same number of bits should be used in both dimensions. Since the samples are concentrated along the dashed line in the figure, an alternative solution is to use a quantization along this line. In other words, the sample set can be rotated 𝜋4 rad clockwise. To rotate the twodimensional vector x = (x1 x2 )T , an angle 𝜑 the transform matrix ( ) cos(𝜑) sin(𝜑) T𝜑 = (11.76) − sin(𝜑) cos(𝜑) It is easily seen that T𝜑 T𝜑T = I, thus it is an orthonormal transform. The transform matrix for 𝜑 = 𝜋4 is ( ) 1 1 −1 𝜋 T =√ (11.77) 4 2 1 1 The transformed sample space y = T 𝜋 x is shown in Figure 11.11. The dynamics is a 4 bit higher in the y1 dimension than in x1 or x2 , but the dynamics in y2 is much smaller. This can be utilized by using a smaller number of bits in the quantization for y2 . Figure 11.11
y2 3
y1 –3
3
–3
Sample set of data in domain.
11.4 TRANSFORM CODING
309
Quantizing the original vectors x with 4 bits in each dimension gives the mean squared error distortion d(x, x̃ ) = 0.027. If instead the data are transformed to y and quantized with 4 bits in y1 dimension and 3 bits in y2 dimension gives the distortion after inverse transform d(x, T T𝜋 ỹ ) = 0.029. So for, approximately, the same distortion 4
either 8 bits are used for quantization in domain or 7 bits is used in the domain. The previous example shows the idea behind transform coding. For a given ndimensional sample set, there might be a transform that gives a sample set where the quantization can be performed more efficiently. It can be shown that for highresolution quantization and optimal quantizer can be constructed by a uniform quantization followed by a Huffman code. By optimal quantizer is meant a quantizer that minimizes the distortion for a given rate. Let X be an ndimensional random column vector with mean and covariance matrix [ ] E X =0 (11.78) [ T] [ [ ]] (11.79) ΣX = E XX = E Xi Xj i,j=0…n−1
[
] 2
where the variances 𝜎X2 = E Xi are the diagonal elements in ΣX . Using the orthonori [ ] mal transform matrix T, the transformed vector Y = TX has zero mean, E Y = [ ] [ ] E TX = TE X = 0. Thus, the dynamics of a vector is given by the variances, which gives the power of the vector, ∑ ∑ [ ] [ ] PX = 𝜎X2 = E Xi2 = E XT X (11.80) i
i
i
Similarly, the power of Y is [ ] [ ] [ ] PY = E (TX)T TX = E XT T T TX = E XT X = PX
(11.81)
That means an orthogonal transform preserves the power of the vector. Finally, the covariance matrix of Y is given by [ ] [ ] [ ] (11.82) ΣY = E YY T = E TX(TX)T = TE XXT T T = TΣX T T Since the power is preserved by an orthonormal transform, the quantization distortion then comes down to its distribution over the vectors. Dimensions with smaller variance can use fewer bits than dimensions with high variance. If the entries of X are equally distributed with a constant variance, and the transformed vector has variable variance over the vector, there should be possibilities for gains in the quantization. To see this result in a bit more formal way, introduce the transform coding gain as the ratio between the average distortion for X and Y, GTC =
d(X) d(Y)
(11.83)
310
CHAPTER 11
INFORMATION THEORY AND DISTORTION
for a certain average number of bits per symbol, k. Consider a Gaussian vector X with constant variance, i.e. Xi ∼ N(0, 𝜎X ). For a Gaussian variable, the distortion due to optimal uniform quantization at high resolution can be approximated by [55]2 d(X) ≈ cG 𝜎X2 2−2k where cG =
𝜋e . 6
(11.84)
The sum of the variances for X can be written as [ ] ∑ 2 E XT X = 𝜎X = n𝜎X2
(11.85)
i
Again assuming that T is an orthonormal transform matrix, X can be expressed as X = T T Y. Thus, [ ] [ ] n𝜎X2 = E XT X = E (T T Y)T T T Y [ ] [ ] ∑ 2 = E Y T TT T Y = E Y T Y = 𝜎Y (11.86) i
i
which gives that the variance of X is the arithmetic mean of the variances for Yi , i.e., ∑ 𝜎X2 = 1n i 𝜎Y2 . i Since X ∼ N(0, ΣX ), the entries of the transform vector Y = TX are linear combinations of Gaussian variables, and hence, also Gaussian. Thus the transform vector is also Gaussian, Y ∼ N(0, ΣY ), with the distortion d(Yi ) ≈ cG 𝜎Y2 2−2ki . If the average i ∑ number of bits per dimension is 1n i ki = k, the optimal bit allocation can be found through the Lagrange optimization function ( ∑ ) 1∑ 1 J= cG 𝜎Y2 2−2ki + 𝜆 ki − k (11.87) i n i n i Differentiating and equal to zero yields 𝜕 2 ln 2 𝜆 J=− c 𝜎 2 2−2kj + = 0 𝜕kj n G Yj n
(11.88)
or, equivalently, 𝜆 = d(Y) (11.89) 2 ln 2 Hence, the bit loading should be performed such that the distortion is equal in all dimensions. Rewriting (11.89) gives that 𝜆 = d(Y)2 ln 2, and thus d(Yj ) =
−2 ln 2cG 𝜎Y2 2−2kj = −d(Y)2 ln 2 j
(11.90)
which gives the optimal bit allocation in dimension j as cG 𝜎Y2 j 1 ki = log 2 d(Y)
(11.91)
general, the minimum highresolution distortion can be written as d(X) ≈ c𝜎X2 2−2k , where c is a constant dependent on the distribution of X and the quantization method. For uniform quantization of a Gaussian variable, the constant is cG = 𝜋e . 6
2 In
11.4 TRANSFORM CODING
311
Hence, the average number of bits per dimension is cG cG 𝜎Y2 1 ∑ 1 i k= log = log 2n i d(Y) 2
(∏
2 i 𝜎Y
)1∕n
i
(11.92)
d(Y)
which leads to an expression for the distortion as (∏ )1∕n 𝜎Y2 2−2k = cG 𝜎Y2 2−2k d(Y) = cG i
i
(11.93)
(∏ 2 )1∕n . Insertwhere 𝜎Y2 is the geometric mean for the variances of Yi , i.e., 𝜎Y2 = i 𝜎Yi ing in the transform coding gain (11.83), 1∑ 2 2 −2k 𝜎X2 i 𝜎Yi d(X) cG 𝜎X 2 n GTC = = = (11.94) ≈ ( 2 ∏ 2 )1∕n d(Y) cG 𝜎 2 2−2k 𝜎 Y Y i 𝜎Y i
it is seen that the ratio between the arithmetic mean and the geometric mean for variances of the transformed vector is a relevant measure on the efficiency of the transform. Since the arithmetic mean is independent of the transform, the sum of the variances is constant. The geometric mean, however, depends on the transform. That is, if the variance of one dimension decreases, to preserve the sum the variance needs to increase in at least one other dimension. This means that the transform coding gain GTC is maximized if the geometric mean is minimized over all orthogonal transforms. For any positive valued sequence a1 , … , an , it can be shown from Jensen’s inequality that the arithmetic mean exceeds the geometric mean (see Problem 11.8), i.e. that (∏ )1∕n 1∑ ai ≥ ai (11.95) n i i with equality if and only if ai = aj , ∀i, j. That is, if X is Gaussian with constant variance, optimal transform coding using an orthonormal transform can only decrease the total distortion. An important requirement for result to hold is that the variances in the original vector are equal. The covariance matrix is by definition symmetric and therefore also normal, i.e. ΣΣT = ΣT Σ, and as such it has orthonormal eigenvectors [8]. Hence, the covariance matrix ΣX can be diagonalized by an orthonormal matrix A as AT ΣX A = D
(11.96)
where D is a diagonal matrix containing the eigenvalues of ΣX . From (11.82), it is seen that by defining a transform matrix T = AT the covariance matrix of Y = TX is ΣY = TΣX T T = AT ΣX A = D
(11.97)
In other words, by using a transform matrix where the rows are the eigenvectors of X, the transformed vector contains uncorrelated variables. The obtained transform is often referred to as the Karhunen–Loeve transform (KLT) [56, 57, 58].
312
CHAPTER 11
INFORMATION THEORY AND DISTORTION
Since T is an orthogonal transform matrix, its determinant is T = 1, and thus, ΣY  = T ⋅ ΣX  ⋅ T T  = ΣX 
(11.98)
If the KLT is used, ΣY is a diagonal matrix and the determinant is the product of the diagonal entries, ∏ 𝜎Y2 (11.99) ΣY  = i
i
From the Hadamard inequality, it is known that the determinant of a positive semidefinite matrix is upper bounded by the product of the diagonal elements [8]. Thus, the determinant of ΣX can be bounded as ∏ ΣX  ≤ 𝜎X2 (11.100) i
i
Summarizing, this means that, however, the variances are distributed over the vector X, the geometrical mean will not increase by applying the KLT since ∏ ∏ 𝜎X2 ≥ ΣX  = ΣY  = 𝜎Y2 (11.101) i
i
i
i
Hence, the KLT minimizes the geometrical mean of the variances over all orthonormal transforms, and consequently it maximizes the transform coding gain GTC . In practice, there are some drawbacks of the KLT since it requires knowledge of the statistics of the vector X. In most applications, this is not available and then has to be estimated. In that case, the statistics, or the transform matrix, must be sent together with the compressed data, which will eat much of the compression gain. In practical applications, there are other more suitable transforms, such as the discrete cosine transform introduced in the next section.
11.4.1
Applications to Image and Video Coding
Lossy compression, and especially transform coding, is often applied to image, video, and audio coding, where the quality required at the reconstruction is dependent on the situation. In, for example, a DVD recording, the demands on the quality are much higher than a video call over thirdparty application, like Skype. That means also there is room for substantial compression. By experiments, it has been noted that for a typical image the energy content is concentrated in the lowfrequency region, and highfrequency regions are not that vital for the perception. From the derivations previously discussed in this section, this is a typical case where transform coding should be very efficient. The most widespread example is the JPEG standard, standardized by the Joint Photographic Experts Group as a joint effort from the standardization organizations ITUT and ISO/IEC JTC1. There are different generations of the standard with JPEG as the first from 1994 [59, 60], followed by JPEG2000. In this text, an overview of the JPEG standard is given. For a more thorough description, refer to, e.g., [61, 12].
11.4 TRANSFORM CODING
313
Even though the KLT is optimal, it is not a practical transform since it requires knowledge of the covariance matrix of the vector. By comparing different transform, it has been found that the discrete cosine transform (DCT) is the one that works best for images [62]. The DCT can be viewed as a realvalued counterpart of the Fourier transform, and as such it can be defined in some different ways. The dominating version, DCTII, and the one used in the JPEG standard is given below Definition 11.5 (DCT) (x0 , … , xn−1 ) is given by yi =
n−1 ∑ j=0
The discrete cosine transform for the vector x = √
𝛼(i)
( (2j + 1)i𝜋 ) 2 xj , cos n 2n
where
{ 𝛼(i) =
i = 0, … , n − 1
1 √ , 2
i=0
1,
i = 1, … , n − 1
(11.102)
(11.103)
As before, it can be given in the matrix form by the transform matrix √ [ ( (2j + 1)i𝜋 )] 2 (11.104) T = 𝛼(i) cos n 2n i,j=0,…,n−1 For n = 8, the matrix becomes [ 𝛼(i) ( (2j + 1)i𝜋 )] cos T8 = 2 16 i,j=0,…,7 ⎛ 0.354 ⎜ 0.490 ⎜ 0.462 ⎜ 0.416 =⎜ ⎜ 0.354 ⎜ 0.278 ⎜ ⎜ 0.191 ⎝ 0.098
0.354 0.416 0.191 −0.098 −0.354 −0.490 −0.462 −0.278
0.354 0.278 −0.191 −0.490 −0.354 0.098 0.462 0.416
0.354 0.098 −0.462 −0.278 0.354 0.416 −0.191 −0.490
0.354 −0.098 −0.462 0.278 0.354 −0.416 −0.191 0.490
0.354 0.354 −0.278 −0.416 −0.191 0.191 0.490 0.098 −0.354 −0.354 −0.098 0.490 0.462 −0.462 −0.416 0.278
0.354 ⎞ −0.490 ⎟ 0.462 ⎟ ⎟ −0.416 ⎟ 0.354 ⎟ −0.278 ⎟ ⎟ 0.191 ⎟ −0.098 ⎠ (11.105)
The DCT given in Definition 11.5 is for the onedimensional case, i.e. a column vector x is transformed to y = Tx. It can be seen that the transform is an orthonormal transform since T ⋅ T T = I, and hence the inverse transform is given by x = T T x. By viewing the pixels as numbers, an image can be represented by an M × N matrix. In the JPEG standard, to make a transform coding of such matrix, the image is divided into subblocks of 8 × 8 pixels and encoded separately. The transform used is a twodimensional version of the above. This is performed by taking the transform
314
CHAPTER 11
INFORMATION THEORY AND DISTORTION
of each row and column separately. Letting X be the matrix for the subblock, the transform for each row is given by Yr = T8 X
(11.106)
Similarly, the transform of each column is given by Yc = XT8T
(11.107)
Thus, the twodimensional DCT for 8 × 8 matrix X is Y = T8 XT8T
(11.108)
Naturally, the transform in the general case for an n × n matrix is derived from Y = TXT T
(11.109)
The following definition summarizes the transform calculation. 11.6 (2DDCT) The discrete [Definition [ ] cosine transform for the matrix X = ] xij ij=0.…,n−1 is given by the matrix Y = yij ij=0.…,n−1 , where yij =
( (2k + 1)i𝜋 ) ( (2𝓁 + 1)i𝜋 ) 2 cos xk𝓁 𝛼(i)𝛼(j) cos n 2n 2n k=0 𝓁=0
n−1 ∑ n−1 ∑
and
{ 𝛼(u) =
1 √ , 2
u=0
1,
u = 1, … , n − 1
(11.110)
(11.111)
For the 8 × 8 case, this gives yij =
7 ∑ 7 ( (2k + 1)i𝜋 ) ( (2𝓁 + 1)i𝜋 ) ∑ 𝛼(i)𝛼(j) cos xk𝓁 cos 4 16 16 k=0 𝓁=0
(11.112)
In Figure 11.12, the lefthand picture contains 512 × 512 pixels. To compress this according to the JPEG standard, it is divided into 8 × 8 subpictures, whereas one of them is shown in the figure. The pixels are numbers between 0 and 255, and the subfigure here is represented by the matrix ⎛ 185 ⎜ 164 ⎜ 165 ⎜ 193 X=⎜ ⎜ 214 ⎜ 133 ⎜ ⎜ 202 ⎝ 170
191 164 168 208 200 129 196 142
205 150 139 207 195 134 192 138
207 164 91 192 189 163 183 126
208 164 94 201 178 178 187 146
211 184 87 198 162 171 190 165
202 201 94 195 165 181 175 148
169 ⎞ 197 ⎟ 109 ⎟ ⎟ 165 ⎟ 154 ⎟ 163 ⎟ ⎟ 153 ⎟ 113 ⎠
(11.113)
11.4 TRANSFORM CODING
Figure 11.12
315
The original picture with 512 × 512 pixels, and one of the 8 × 8 subpictures.
To take the transform of this matrix, first the values have to be centered around zero. This is done by subtracting 128 from each value. The transformed matrix is thus given by Y = T8 (X − 128)T8T 38.4 −1.5 34.0 −20.9 ⎛ 326.9 −7.7 12.3 −26.6 −5.1 ⎜ 34.9 ⎜ −2.2 −32.7 −10.2 23.6 −7.7 ⎜ 109.2 −48.6 −45.7 −2.4 14.8 =⎜ 27.0 −30.0 11.8 −9.6 ⎜ 84.6 ⎜ 62.3 30.1 −25.7 −2.8 −15.4 ⎜ 4.0 4.5 −0.4 2.8 ⎜ −128.6 ⎝ −38.8 85.6 25.5 −12.6 2.8
7.2 −5.5 8.3 14.4 8.7 −7.6 −5.8 −6.7
−6.6 9.3 ⎞ −5.8 −3.7 ⎟ 8.5 −4.7 ⎟ ⎟ −7.7 −3.5 ⎟ 5.0 5.0 ⎟ 2.6 5.0 ⎟ ⎟ 0.9 7.1 ⎟ 7.8 2.6 ⎠ (11.114)
Even though the subpicture is taken from the fur of the baboon, which is an area with many changes and a typically hard part to compress, it is clearly seen that the highfrequency content is much less than the lowfrequency content. The magnitude of the values decreases when moving from the left upper corner to the right lower corner, which is also how the frequencies increase. On top of this, the human perception is more sensitive to lowfrequency parts than the highfrequency parts in an image. To meet this, the highfrequency content is not only lower in magnitude than the lowfrequency content, it should also be quantized harder. In JPEG, this is solved by having predefined quantization matrices, as the one in (11.115). ⎛ 16 ⎜ 12 ⎜ 14 ⎜ 14 Q=⎜ ⎜ 18 ⎜ 24 ⎜ ⎜ 49 ⎝ 72
11 12 13 17 22 35 64 92
10 14 16 22 37 55 78 95
16 19 24 29 56 64 87 98
24 26 40 51 68 81 103 112
40 58 57 87 109 104 121 100
51 60 69 80 103 113 120 103
61 ⎞ 55 ⎟ 56 ⎟ ⎟ 62 ⎟ 77 ⎟ 92 ⎟ ⎟ 101 ⎟ 99 ⎠
(11.115)
316
CHAPTER 11
INFORMATION THEORY AND DISTORTION
The quantized value of Y is derived as the rounded value of yij when normalized by qij , yQ,ij =
⌊ yij qij
+
1 2
⌋ (11.116)
For our example in (11.114), the result is 3 0 2 −1 ⎛ 20 1 −1 0 ⎜ 3 −1 ⎜ 0 −3 −1 1 0 ⎜ 8 −3 −2 0 0 ⎜ YQ = 1 −1 0 0 ⎜ 5 ⎜ 3 1 0 0 0 ⎜ −3 0 0 0 0 ⎜ ⎝ −1 1 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0⎞ 0⎟ 0⎟ ⎟ 0⎟ 0⎟ 0⎟ ⎟ 0⎟ 0⎠
(11.117)
To store or transmit the values, they should ideally be compressed using a Huffman code. Since the statistics is not available, it is replaced by a lookup table procedure giving a compression scheme that is close to the optimum. Before performing the compression, however, there are two aspects of the generated data that can be utilized. The first aspect to notice is that the upper left element of Y, i.e. y00 , is a bias term that gives the average tone of this part of the image. For most parts of the full image, this is a slowly varying parameter between subblocks, so to decrease the dynamics of the value, instead the difference to the corresponding value in the subsequent subblock is encoded. In most cases, this value is more limited and can be more efficiently compressed. The second observation is again that the magnitude of Y decreases with growing frequency. In YQ that typically means the lower right part of the matrix contains only zeros. By reading the values into a vector according to a zigzag pattern over the data as shown in Figure 11.13, this vector should typically end with a sequence of
0 0 1 2 3 4 5 6 7
1
2
3
4
5
6
7
Figure 11.13
Sequence of samples for encoding.
11.4 TRANSFORM CODING
317
zeros. By applying the zigzag pattern to the matrix in (11.117), the following vector is obtained: yQ = (20, 3, 3, 0, −1, 0, 2, 1, −3, 8, 5, −3, −1, −1, −1, 0, 0, 1, −2, 1, 3, −3, 1, −1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, −1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
(11.118)
where there are 27 zeros at the end. Instead of coding these trailing zeros individually, a special codeword is introduced called end of block (EOB). In this case, the EOB symbol replaces 27 trailing zeros. At the decoder side, first the binary codewords are decoded so the transform matrix YQ is reconstructed. To map the quantized data back to the transform matrix, the following function is used: ŷ ij = yQ,ij qij
(11.119)
Finally, the reconstructed subblock is derived as ̂ + 128 X̂ = T8T YT
(11.120)
The additional 128 reinserts the bias term that was removed at the beginning of the encoding process. Hence, the reconstruction of (11.117) gives ⎛ 181 ⎜ 164 ⎜ 162 ⎜ 212 X̂ = ⎜ ⎜ 192 ⎜ 129 ⎜ ⎜ 211 ⎝ 153
189 164 151 215 198 135 202 144
197 159 124 210 197 141 187 134
204 158 93 198 187 150 179 135
213 171 80 193 177 166 185 151
214 193 84 198 168 182 189 160
198 204 89 199 153 181 174 142
177 ⎞ 202 ⎟ 88 ⎟ ⎟ 194 ⎟ 136 ⎟ 170 ⎟ ⎟ 153 ⎟ 117 ⎠
(11.121)
In Figure 11.14, the matrix X̂ is shown as a picture. The left picture in the figure is the resulting distortion after reconstruction introduced by the quantization. To change the level of compression, the quantization matrix Q is altered. Naturally, the obtained quality in the reconstructed picture is degraded if the compression level is increased. In Figure 11.15, the reconstructed picture for the case with quantization matrix Q is shown on the left. This picture has a good resemblance with the original picture shown in Figure 11.12. In total, there are 141,000 trailing zeros that are removed in the encoding process. Comparing with the total number of pixels in the original picture, which is 512 × 512 = 262, 144, this is about 54% of the possible values. In the righthand picture of Figure 11.15, the quantization matrix is changed to 8Q, which clearly lower the quality of the picture. The subblocks are clearly visible at several places in the picture and the fur is blurred, especially at the lower left and right parts. On the other hand, 89% of the values in the DCT domain are trailing zeros that can be removed, so the compression is substantially improved. In general, JPEG
318
CHAPTER 11
INFORMATION THEORY AND DISTORTION
Figure 11.14 The reconstructed subblock and the quantization distortion compared to the original subblock in Figure 11.12.
can often compress pictures to use in average less that 1 bit per pixel without severe distortion in the reconstructed picture. Image coding is an essential part of video coding, since a movie is composed of a series of images. Moreover, the images in a movie are often strongly correlated which can be utilized. In principle, objects in an image can be followed to neighboring images by motion estimation. By using the data for how objects are moved, the compression rate for the images can be increased substantially. In MPEG coding (Moving Picture Experts Group), the series of images is encoded by three types of frames. A prediction frame, P frame, can be derived from the previous P frame by motion estimation. To allow for a viewer to start the play back in the middle of the movie, and to prevent errors to propagate too long in the series, periodically there are frames containing the full image encoded with JPEG, the socalled I frames. The series of I frames and P frames constitutes the anchor frames of the movie. The
Figure 11.15 The reconstructed image after quantizing using matrix Q, lefthand picture, and 8Q, righthand picture.
PROBLEMS
I
B B B P B B
B
319
P B B B P
Figure 11.16 The frame structure in MPEG video coding. The arrows show how frames are predicted in the algorithm.
P frame is estimated from the most recent anchor frame. Images in between two consecutive anchor frames are encoded using a bidirectional motion estimation using both the previous and the following anchor frames. These frames are called B frames (see Figure 11.16). The B frames are not used in prediction, so errors in these will only affect this image. An error in a P frame or an I frame will propagate to the preceding frames until the next I frame.
PROBLEMS 11.1
Consider a kary source with statistics P(X = x) = 1k . Given the Hamming distortion { d(x, x̂ ) =
0, x = x̂ 1, x ≠ x̂
and that the source and destination alphabets are the same, show that the ratedistortion function is (Hint: Fano’s lemma can be useful.) { log(k) − 𝛿 log(k − 1) − h(𝛿), 0 ≤ 𝛿 ≤ 1 − 1k R(𝛿) = 0, 𝛿 ≥ 1 − 1k 11.2
In this problem, it is shown that the exponential distribution maximizes the entropy over all onesided distribution with fixed mean [89]. The idea is to consider a general distribution f (x) such that f (x) ≥ 0, with equality for x < 0, and E[X] = 1∕𝜆. The result ∞ is obtained by maximizing the entropy H(X) = − ∫0 f (x) ln f (x)dx with respect to the requirements ∞
∫0
f (x)dx = 1 (11.122)
∞
∫0
xf (x)dx = 1∕𝜆
For simplicity, the derivation will be performed over the natural base in the logarithm. (a) Set up a maximization function in f according to the Lagrange multiplier method. (Notice that you will need two side conditions). Differentiate with respect to the
320
CHAPTER 11
INFORMATION THEORY AND DISTORTION
function f , and equal to zero. Show that this gives an optimizing function on the form f (x) = e𝛼+𝛽x and that the equation system in (11.122) is solved by the exponential distribution. (b) Let g(x) be an arbitrary distribution with the same requirements as in (11.122). Show that Hg (X) ≤ Hf (X) i.e. that f (x) = 𝜆e−𝜆x maximizes the entropy. 11.3
To derive the rate distortion function for the exponential distribution, X ∼ Exp(𝜆), i.e. f (x) = 𝜆e−𝜆x , first introduce a distortion measure and bound the mutual information. Then define a test channel from X̂ to X to show that the bound can be obtained with equality. Use the natural logarithm in the derivations. (a) Consider the distortion measure d(x, x̂ ) =
{
x − x̂ , x ≥ x̂ ∞, o.w.
Use the result that the exponential distribution maximizes the entropy over all ̂ ≥ − ln(𝜆𝛿), where onesided distributions (see Problem 11.2) to show that I(X; X) E[d(x, x̂ )] ≤ 𝛿. (b) Define a test channel from X̂ to X in order to show equality in the bound for the mutual information. To derive the distribution on X, first show that the Laplace transform of the density function for the exponential distribution, T ∼ Exp(𝜆), where fT (t) = 𝜆e−𝜆t , is [ ] 1 E esT = 1 + s∕𝜆 Derive the distribution on X and argue that the rate distortion function is { − ln(𝜆𝛿), 0 ≤ 𝛿 ≤ 1∕𝜆 R(𝛿) = 0, 𝛿 > 1∕𝜆 11.4
11.5
A source is given with i.i.d. symbols generated according to the Laplacian distribution, 𝛼 f𝛼 (x) = e−𝛼x , −∞ ≤ x ≤ ∞ 2 With the distortion measure d(x, x̂ ) = x − x̂ , show that the ratedistortion function is { − log(𝛼𝛿), 0 ≤ 𝛿 ≤ 𝛼1 R(𝛿) = 0, 𝛿 ≥ 𝛼1 √ The source variable X ∼ N(0, 2) is quantized with an 3bit linear quantizer where the quantization limits are given by the integers {−3, −2, −1, 0, 1, 2, 3} (a) If the reconstruction values are located at {−3.5, −2.5, −1.5, −0.5, 0.5, 1.5, 2.5, 3.5} derive (numerically) the average distortion.
PROBLEMS
321
(b) Instead of the reconstruction levels above, define optimal levels. What is the average distortion for this case? (c) Assume that the quantizer is followed by an optimal source code, what is the required number of bits per symbol? 11.6
In Example 11.4, it is shown that the optimal reconstruction levels for a 1bit quantiza√ tion of a Gaussian variable, X ∼ N(0, 𝜎) are ± 2∕𝜋𝜎. Derive the average distortion.
11.7
A random variable X is Gaussian distributed with zero mean and unit variance, X ∼ N(0, 1). Let the outcome from this variable be quantized by a uniform quantizer with eight intervals of width Δ. That is, the quantization intervals are given by the limits {−3Δ, −2Δ, −Δ, 0, Δ, 2Δ, 3Δ} and the reconstruction values xQ ∈ { 7Δ 5Δ 3Δ Δ Δ 3Δ 5Δ 7Δ } − 2 , − 2 , − 2 , − 2 , 2 , 2 , 2 , 2 . Notice that since the Gaussian distribution has infinite width, i.e., −∞ ≤ x ≤ ∞, the outer most intervals also have infinite width. That means any value exceeding the upper limit 3Δ will be reconstructed to the highest , and vice versa for the lowest values. If Δ is very small, the reconstruction value 7Δ 2 outer regions, the clipping regions, will have high probabilities and the quantization error will be high. On the other hand, if Δ is large, so the clipping region will have very low probability, the quantization intervals will grow and this will also give high quantization error. (a) Sketch a plot of the squared quantization error when varying the quantization interval Δ. (b) Find the Δ that minimizes the quantization error Note: The solution requires numerical calculation of the integrals.
11.8
Use Jensen’s inequality to show that the arithmetic mean exceeds the geometric mean, i.e. that (∏ )1∕n 1∑ ai ≥ ai (11.123) n i i for any set of positive real numbers a1 , a2 , … , an .
APPENDIX
A
PROBABILITY DISTRIBUTIONS
I
N THIS APPENDIX , some of the most common distributions are listed. In Section A.1 the discrete distributions are described, and in Section A.2 the continuous distributions are described. The distributions are given by the probability function, pX (x) = P(X = k), for the discrete case, and the density function, fX (x), for the continuous case. Together with the distributions, expressions for the mean and variance are listed together with the entropy function. The entropy is calculated using the natural logarithm, [ ] He (X) = E − ln p(x) (A.1)
which gives the unit nats and not bits. To convert to base 2 use He (X) (A.2) ln 2 The reason for using nats in the derivations is that with the natural base in the logarithm, integration does not need base conversion. H(X) =
A.1
DISCRETE DISTRIBUTIONS
In this section, some common discrete distributions are shown. For each of them, the mean, variance, and entropy are listed.
A.1.1
Bernoulli Distribution
If the random variable X has a Bernoulli distribution, X ∼ Be(p), it describes a binary outcome, X = 0 or X = 1. The probability function is { p, k=1 pX (k) = (A.3) 1 − p, k = 0 or, equivalently, pX (k) = pk + (1 − p)(1 − k), The mean and variance are
[ ] E X =p [ ] V X = p(1 − p)
k = 0, 1
(A.4) (A.5) (A.6)
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
323
324
APPENDIX A
PROBABILITY DISTRIBUTIONS
The entropy for the Bernoulli distribution is the wellknown binary entropy function He (X) = he (p) = −p ln p − (1 − p) ln(1 − p),
A.1.2
[nats]
(A.7)
Uniform Distribution
If the random variable X has a uniform distribution, X ∼ U(n), it describes n equiprobable outcomes, {1 , k = 0, 1, … , n − 1 pX (k) = n (A.8) 0, otherwise (see Figure A.1). The mean, variance, and entropy are given by [ ] n−1 E X = 2 [ ] n2 − 1 V X = 12 H(X) = ln n [nats]
A.1.3
(A.9) (A.10) (A.11)
Geometric Distribution
If the random variable X has a geometric distribution, X ∼ Ge(p), it describes the number of binary experiments until the first successful outcome. Let a successful experiment occur with probability p and an unsuccessful experiment occur with probability 1 − p. The probability for the kth experiment being the first successful is pX (k) = p(1 − p)k−1 ,
k = 1, 2, …
(see Figure A.2). The mean, variance, and entropy are given by [ ] 1 E X = p [ ] 1−p V X = p2 h (p) He (X) = e [nats] p
(A.12)
(A.13) (A.14) (A.15)
Figure A.1 Probability function of the uniform distribution, X ∼ U(n).
pX(x)
1 n
n−1
k
A.1 DISCRETE DISTRIBUTIONS
325
Figure A.2 Probability function of the geometric distribution, X ∼ Ge(p).
pX(x) p
k
A.1.4
Binomial Distribution
If the random variable X has a binomial distribution, X ∼ Bin(n, p), it describes the probability of success in exactly k binary experiments out of n possible. Let a successful experiment occur with probability p and an unsuccessful experiment occur with probability 1 − p. Then the probability function is ( ) n k p (1 − p)n−k , k = 0, 1, … n (A.16) pX (k) = k (see Figure A.3). The mean, variance, and entropy are given by [ ] E X = np [ ] V X = np(1 − p) ( ) ( ) 1 He (X) = ln 2𝜋enp(1 − p) + O 1n [nats] 2
A.1.5
(A.17) (A.18) (A.19)
Poisson Distribution
If the random variable X has a Poisson distribution, X ∼ Po(𝜆), it describes the probability for a number of events during a time interval, if the intensity of events is 𝜆, and the events occur independent of each other. The probability function is pX (k) =
𝜆k e−𝜆 , k!
k = 0, 1, 2, …
(A.20)
Figure A.3 Probability function of the binomial distribution, X ∼ Bin(n, p).
pX(x)
E[X ]
n
k
326
APPENDIX A
PROBABILITY DISTRIBUTIONS
pX(x)
Figure A.4 Probability function of the Poisson distribution, X ∼ Po(𝜆).
k
(see Figure A.4). The mean, variance, and entropy are given by [ ] E X =𝜆 [ ] V X =𝜆 He (X) = 𝜆 ln
∞ ∑
e 𝜆k ln k! + e−𝜆 𝜆 k! k=0
[nats]
(A.21) (A.22) (A.23)
The interpretation of the Poisson distribution described above can be seen from the binomial distribution. View a time interval as n time slots in which an event can occur with probability p. Then the probability of k events during this time follows from the binomial distribution. With 𝜆 = np being the mean number of events and letting n → ∞, and consequently p = 𝜆n → 0, ( )( ) ( ) 𝜆 n−k n 𝜆 k 1− n→∞ k n n
pX (k) = lim
𝜆 ) (n − k + 1) ⋯ (n − 1)n ( n )k ( 𝜆 n 1 − n→∞ k! n 1 − 𝜆n ) (n − k + 1) ⋯ (n − 1)n 𝜆k ( 1 )k ( −𝜆 n 1 + = lim n→∞ k! 1 − 𝜆 n nk ⏟⏞⏞⏞⏞⏟⏞⏞⏞⏞⏟ ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ n ⏟⏞⏞⏟⏞⏞⏟ →1 →e−𝜆
= lim
→1
=
𝜆k e−𝜆
(A.24)
k!
A Poisson process with intensity 𝜆 is a stochastic process where the number of events in a time interval of length 𝜏 is Poisson distributed with the expected number of event 𝜆𝜏. For this process, let T be a random variable describing the time until the first event. The probability for T, to exceed 𝜏 is the probability that there is no events in the interval [0, 𝜏], P(T > 𝜏) =
(𝜆𝜏)0 e−𝜆𝜏 = e−𝜆𝜏 0!
(A.25)
A.2 CONTINUOUS DISTRIBUTIONS
327
The density function of T can be obtained from the derivative of P(T < 𝜏) = 1 − e−𝜆𝜏 as fT (𝜏) = 𝜆e−𝜆𝜏
(A.26)
which is recognized as the density function of an exponential distribution, Exp(𝜆). Hence, the time between two events in a Poisson process is exponential distributed.
A.2
CONTINUOUS DISTRIBUTIONS
In this section, several commonly used continuous distributions are listed. Sometimes the density function is given for a normalized case. The entropy for the nonnormalized case can be found from the relations He (aX + c) = He (X) + ln a
(A.27)
where c is a constant and a a positive constant. There are also a couple of other functions that show up in the description. The gamma function can be defined in some different ways, but the most common is ∞
Γ(z) =
∫0
e−t tz−1 dt
(A.28)
It is a generalization of the factorial function to real values (actually, it can also be defined for complex values). If k is a positive integer then Γ(k) = (k − 1)!
(A.29)
The digamma function is defined as 𝜓(x) =
Γ′ (x) 𝜕 ln Γ(x) = 𝜕x Γ(x)
(A.30)
In some cases, the Euler–Mascheroni constant shows up in the formulas. It is often defined by the limit value 𝛾 = lim
n→∞
n ∑ 1 k=1
k
− ln n
(A.31)
and a numerical value of is 𝛾 = 0.5772156649015. It is related to the gamma and digamma functions through ∞( ) ∑ 1 1 1 𝜓(x) = − − 𝛾 − − x n+x n n=1
(A.32)
If k is an integer, 𝜓(k) = −𝛾 +
k−1 ∑ 1 n=1
n
(A.33)
328
APPENDIX A
PROBABILITY DISTRIBUTIONS
and for the case when k = 1, 𝛾 = −𝜓(1) = −Γ′ (1)
(A.34)
Finally, the beta function is defined as B(p, q) =
Γ(p)Γ(q) Γ(p + q)
(A.35)
Similar to the gamma function being a generalization of the factorial function, the beta function is a generalization of the binomial function. If n and k are positive integers B(n − k, k) =
1 (n − k)
(n−1)
(A.36)
k−1
In the following, several continuous distributions are given by their density function, together with the corresponding mean, variance, and entropy functions. As in the previous section, the entropy is given for the natural base, i.e. in the unit nats. Many of the expressions for the entropies can be found in [63].
A.2.1
Uniform (Rectangular) Distribution
If the random variable X has a uniform distribution, X ∼ U(a), the density function is {1 , 0 ≤ x ≤ a, a > 0 fX (x) = a (A.37) 0, otherwise (see Figure A.5). The mean, variance, and entropy are given by [ ] a E X = 2 [ ] a2 V X = 12 He (X) = ln a [nats]
(A.38) (A.39) (A.40)
Since the entropy is not dependent on a shift in x, the described distribution starts at 0. In a more general case, there can be one starting point and one ending point, U(a, b). Figure A.5 Density function of the uniform distribution, X ∼ U(a).
fX(x) 1 a
a
x
A.2 CONTINUOUS DISTRIBUTIONS
329
Figure A.6 Density function of the triangular distribution, X ∼ Tri(a, b).
fX(x) 2 b
a
A.2.2
b
x
Triangular Distribution
If the random variable X has a triangular distribution, X ∼ Tri(a, b), the density function is ⎧ 2 x, 0≤x≤a ⎪ ab fX (x) = ⎨ 2 (−x + b), a ≤ x ≤ b b(b−a) ⎪0, otherwise ⎩
(A.41)
(see Figure A.6). The mean, variance, and entropy are given by [ ] a+b E X = (A.42) 3 [ ] a2 + b2 − ab V X = (A.43) 18 1 b He (X) = + ln [nats] (A.44) 2 2 As for the uniform distribution, the start of the density function is chosen to x = 0. In a more general description, there is a starting point, highest point, and end point.
A.2.3
Exponential Distribution
If the random variable X has an exponential distribution, X ∼ Exp(𝜆), the density function is fX (x) = 𝜆e−𝜆x ,
x≥0
(see Figure A.7). The mean, variance, and entropy are given by [ ] 1 E X = 𝜆 [ ] 1 V X = 2 𝜆 He (X) = 1 − ln 𝜆 [nats]
(A.45)
(A.46) (A.47) (A.48)
The exponential distribution shows the remaining lifetime in a system where there is no memory, i.e. the remaining lifetime is independent of the past lifetime.
330
APPENDIX A
PROBABILITY DISTRIBUTIONS
Figure A.7 Density function of the exponential distribution, X ∼ Exp(𝜆).
fX(x) λ
x
A.2.4
Normal Distribution
If the random variable X has a normal distribution, or Gaussian distribution, X ∼ N(𝜇, 𝜎), the density function is 2 2 1 e−(x−𝜇) ∕2𝜎 fX (x) = √ 2 2𝜋𝜎
−∞≤x≤∞
(A.49)
(see Figure A.8). The mean, variance, and entropy are given by [ ] E X =𝜇 (A.50) [ ] V X = 𝜎2 (A.51) ) 1 ( [nats] (A.52) He (X) = ln 2𝜋e𝜎 2 2 The normal distribution is very important in both probability theory and its applications. The sum of two normal distributed variables is again normal distributed, √ ( ) X1 ∼ N(𝜇1 , 𝜎1 ), X2 ∼ N(𝜇2 , 𝜎2 ) ⇒ X1 + X2 ∼ N 𝜇1 + 𝜇2 , 𝜎1 + 𝜎2 (A.53) One of its most wellknown use is from the central limit theorem stating that for n identical and independently distributed (i.i.d.) random variables, Xi , i = 1, 2, … , n, with mean E[Xi ] = 𝜇 and variance V[Xi ] = 𝜎 2 , the arithmetic mean 1∑ X n i=1 i n
X=
will be normal distributed with N(𝜇, √𝜎 ) as n goes to infinity. n
fX(x)
Figure A.8 Density function of the normal distribution, X ∼ N(𝜇, 𝜎).
1 √ 2πσ2
μ
x
(A.54)
A.2 CONTINUOUS DISTRIBUTIONS
331
Often, a normalized Gaussian distribution is used, Z ∼ N(0, 1). Then the density function, mean, variance, and entropy are given by 2 1 fZ (z) = √ e−z ∕2 (A.55) 2𝜋 [ ] E Z =0 (A.56) [ ] V Z =1 (A.57) 1 (A.58) He (Z) = ln(2𝜋e) [nats] 2 In the ndimensional case, a vector X = (X1 , … , Xn ) is ndimensional Gaussian distributed, X ∼ N(𝝁, Σ), then the density function is
fX (x) = √
1
1
(2𝜋)k Σ
where the mean vector is
−1 (x−𝝁)T
e− 2 (x−𝝁)Σ
(A.59)
[ ] E X =𝝁
(A.60)
and covariance matrix [ ] ( [ ]) Σ = E (X − 𝝁)T (X − 𝝁) = E (Xi − 𝜇i )(Xj − 𝜇j )
i,j=1,…,n
(A.61)
The entropy is ) 1 ( (A.62) ln (2𝜋e)n Σ [nats] 2 The above vector representation is assumed to be real valued. It can also be generalized to the complex vector, but that lies outside the scope of this text. He (X) =
A.2.5
Truncated Normal Distribution
If the random variable X has a truncated normal distribution, X ∼ TN(a, 𝜎), the density function is a truncated version of the normal distribution N(0, 𝜎). The interval support of the random variable is −a ≤ X ≤ a, and the corresponding density function is given by fX (x) =
fG (x) 1 − 2Q( 𝜎a )
,
−a ≤ x ≤ a
(A.63)
where 2 2 1 fG (x) = √ e−x ∕2𝜎 2𝜋𝜎 2
(A.64)
is the density function of the original normal distribution with zero mean and variance 𝜎 2 (see Figure A.9). The function Q(z) is the onesided normalized error function ∞
Q(z) =
∫z
1 −t2 ∕2 dt √ e 2𝜋
(A.65)
332
APPENDIX A
PROBABILITY DISTRIBUTIONS
Figure A.9 Density function of the truncated normal distribution, X ∼ TN(a, 𝜎).
fX(x) 1 √ 2πσ2 (1−2Q(a/σ))
−a
a
x
Sometimes, the twosided error function is used instead, i.e., ∞ √ 2 −t2 erfc(𝜁 ) = √ e dt = 2Q( 2𝜁 ) ∫𝜁 𝜋 or, alternatively, the erffunction, defined as erf(𝜁 ) = 1 − erfc(𝜁 ). Then the denominator can be expressed as 1 − 2Q( 𝜎a ) = 1 − erfc( √a ) = erf( √a ) 2𝜎
2𝜎
(A.66)
The mean, variance, and entropy for the truncated normal distribution are given by [ ] E X =0 (A.67) √ [ ] a𝜎 2 2 2 e−a ∕2𝜎 V X = 𝜎2 − √ ( (A.68) a ) 𝜋 1 − 2Q( 𝜎 ) ( )2 ) ( 2 2 a 1 −√ e−a ∕2𝜎 [nats] He (X) = ln 2𝜋e𝜎 2 1 − Q( 𝜎a ) ( ) 2 2𝜋𝜎 1 − Q( a ) 𝜎
(A.69)
A.2.6
logNormal Distribution
If the random variable X has an lognormal distribution, X ∼ logN(𝜇, 𝜎), the density function is 2 2 1 e−(ln x−𝜇) ∕2𝜎 0 ≤ x ≤ ∞ (A.70) fX (x) = √ x 2𝜋𝜎 2 (see Figure A.10). The mean, variance, and entropy are given by 𝜎2 [ ] E X = e𝜇+ 2 [ ] ) 2( 2 V X = e2𝜇+𝜎 e𝜎 − 1 ) 1 ( He (X) = ln 2𝜋e𝜎 2 + 𝜇 [nats] 2 If X ∼ logN(𝜇, 𝜎), then its logarithm is normal, Y = ln X ∼ N(𝜇, 𝜎).
(A.71) (A.72) (A.73)
333
A.2 CONTINUOUS DISTRIBUTIONS
Figure A.10 Density function of the lognormal distribution, X ∼ logN(𝜇, 𝜎).
fX(x) 1 √ 2πσ2
σ2 −
e2
μ
eμ − σ
A.2.7
x
2
Rayleigh Distribution
If the random variable X has a Rayleigh distribution, X ∼ R(𝜎), the density function is fX (x) =
x −x2 ∕2𝜎 2 e , 𝜎2
x≥0
(see Figure A.11). The mean, variance, and entropyare given by √ [ ] 𝜋 E X =𝜎 2 ) ( [ ] 𝜋 2 V X = 2𝜎 1 − 4 𝛾 𝜎 He (X) = 1 + ln √ + [nats] 2 2
(A.74)
(A.75) (A.76) (A.77)
If X1 √ and X2 are two independent random variables distributed according to N(0, 𝜎),
then X12 + X22 is Rayleigh distributed, R(𝜎). This distribution is often used in channel modeling for wireless channels.
A.2.8
Cauchy Distribution
If the random variable X has a Cauchy distribution, X ∼ C(𝜆), the density function is fX (x) =
𝜆 , 𝜋(𝜆2 + x2 )
−∞ ≤ x ≤ ∞
(A.78)
Figure A.11 Density function of the Rayleigh distribution, X ∼ R(𝜎).
fX(x) 1 −1/2 σe
σ
x
334
APPENDIX A
PROBABILITY DISTRIBUTIONS
Figure A.12 Density function of the Cauchy distribution, X ∼ C(𝜆).
fX(x) 1 πλ
x
(see Figure A.12). The mean variance does not exist for this distribution, but the entropy is given by He (X) = ln(4𝜋𝜆) [nats]
(A.79)
If the angle 𝜙 is a random variable that is uniformly distributed in the interval − 𝜋2 ≤ 𝜙 ≤ 𝜋2 , then X = 𝜆 tan 𝜙 is Cauchy distributed, C(𝜆).
A.2.9
ChiSquared Distribution
If the random variable X has a chisquared distribution, X ∼ 𝜒 2 (r), the density function is r 1 −1 − x fX (x) = (A.80) (r )x2 e 2 , x ≥ 0 r∕2 2 Γ 2 (see Figure A.13). The mean, variance, and entropy are given by [ ] E X =r (A.81) [ ] V X = 2r (A.82) ) ( ) ( ( )) ( r r r r 𝜓 2 + He (X) = ln 2Γ 2 + 1 − [nats] (A.83) 2 2 Let X1 , … , Xr be independent random variables, each distributed according to N(0, 1), then X = X12 + ⋯ + Xr2 is chisquared distributed, 𝜒 2 (r). This also gives that if Y ∼ √ 𝜒 2 (2), then Y ∼ R(1). fX (x)
Figure A.13 Density function of the chisquared distribution, X ∼ 𝜒 2 (r). The maximum is valid for r ≥ 3.
f(r − 2)
r−2
x
335
A.2 CONTINUOUS DISTRIBUTIONS
Figure A.14 Density function of the Erlang distribution, X ∼ Er(k, 𝜆).
fX (x) f
k−1 λ
x
k−1 λ
A.2.10
Erlang Distribution
If the random variable X has an Erlang distribution, X ∼ Er(k, 𝜆), the density function is fX (x) =
𝜆k xk−1 e−𝜆x (k − 1)!
x≥0
(A.84)
(see Figure A.14). The mean, variance, and entropy are given by [ ] k E X = (A.85) 𝜆 [ ] k V X = 2 (A.86) 𝜆 (k − 1)! He (X) = ln − (k − 1)𝜓(k) + k [nats] (A.87) 𝜆 The Erlang distribution is often used to model the waiting time in queuing theory. If X1 , … , Xk are independent random variables that are exponentially distributed, Exp(𝜆), then the sum X1 + ⋯ + Xk is Erlangdistributed Er(k, 𝜆).
A.2.11
Gamma Distribution
If the random variable X has a gamma distribution, X ∼ Γ(n, 𝜆), the density function is 𝜆n n−1 −𝜆x x≥0 (A.88) x e fX (x) = Γ(n) (see Figure A.15). The mean, variance, and entropy are given by [ ] n E X = (A.89) 𝜆 [ ] n (A.90) V X = 2 𝜆 Γ(n) − (n − 1)𝜓(n) + n [nats] (A.91) He (X) = ln 𝜆 In the Erlang distribution, k must be a positive integer. The gamma distribution is a generalisation of positive real numbers.
336
APPENDIX A
PROBABILITY DISTRIBUTIONS
Figure A.15 Density function of the gamma distribution, X ∼ Γ(n, 𝜆).
fX (x) f
n−1 λ
x
n−1 λ
A.2.12
Beta Distribution
If the random variable X has a beta distribution, X ∼ 𝛽(p, q), the density function is fX (x) =
Γ(p + q) p−1 x (1 − x)q−1 , Γ(p)Γ(q)
0 ≤ x ≤ 1, p > 0, q > 0
(see Figure A.16). The mean, variance, and entropy are given by [ ] p E X = p+q [ ] pq V X = 2 (p + q) (p + q + 1) Γ(p)Γ(q) Γ(p + q) ( ) −(p − 1) 𝜓(p) − 𝜓(p + q) ( ) −(q − 1) 𝜓(q) − 𝜓(p + q)
(A.92)
(A.93) (A.94)
He (X) = ln
[nats]
(A.95)
The beta distribution is a generalization of the binomial distribution for noninteger values. Figure A.16 Density function of the beta distribution, X ∼ 𝛽(p, q). In the figure, four different settings of (p, q) are shown; (1.2, 2), (3, 3), (6, 2), and (5, 1).
fX (x)
1
x
APPENDIX
B
SAMPLING THEOREM
T
HE SAMPLING THEOREM is a vital part of the derivation of the Gaussian channel, so for completeness a proof of it is included as appendix. It is a vital part when understanding the relation between the analog and digital domains in an electronic system, and is often described in a first course in signal processing, like [85]. Normally, Nyquist gets the credit of the sampling theorem, but in Nyquist’s 1928 paper [3] sampling is not mentioned. Instead, he studied the maximum distinguishable pulses in a signal of a certain bandwidth and time duration, which can be viewed as the dual problem to sampling. There is no single source to refer to as the origin of the sampling theorem as normally stated today. Often Shannon is mentioned as one of them [64], but others are also mentioned, such as Kotelnikov [65] and Whittaker [66]. Even so, the theorem is often referred to as the Nyquist sampling theorem, or sometimes Nyquist–Shannon sampling theorem.
B.1
THE SAMPLING THEOREM
In general, a signal is analog, meaning it is both continuous in time and in amplitude. In order to process the signal in, e.g., a computer, it must first go through an analogtodigital converter, where both the time axis and the amplitude are discretized. The process of discretizing the amplitude is called quantization and is further described in Chapter 11. Sampling is then the process of discretizing the time, so it can be represented as a vector. In Figure B.1, a schematic view of sampling is shown. The signal x(t) enters the sampler, which outputs the sampled sequence xn . Then the samples are the amplitude values sorted as a vector, where xn = x(nTs ), ∀n ∈ ℤ (B.1) Them Ts is the time between samples, and correspondingly the sampling frequency is Fs = 1∕Ts . This process is of course only useful if there is a way to get back to the analog signal (digitaltoanalog conversion). This reverse process is the reconstruction process, and the sampling theorem sets a limit on the sampling frequency to be able to do perfect reconstruction by using the vector xn and Fs . Theorem B.1 (Shannon–Nyquist sampling theorem) Let x(t) be a bandlimited signal with the maximum frequency content at fmax ≤ W. If the signal is sampled Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
337
338
APPENDIX B SAMPLING THEOREM
x(t)
xn
Sample
x(t)
−Ts 0
Figure B.1
xˆ(t)
xn
Ts 2Ts 3Ts 4Ts
t
−1
0
xˆ(t)
Reconstruct
2
1
3
4
n
−Ts 0
Ts 2Ts 3Ts 4Ts
t
The process of sampling and reconstruction.
with Fs ≥ 2W samples per second to form the sequence xn = x(nTs ), Ts = be reconstructed with x(t) =
∞ ∑
xn sinc(t − nTs )
1 , Fs
it can
(B.2)
n=−∞
where sinc(t) =
sin(𝜋Fs t) 𝜋Fs t
(B.3)
The sampling frequency Fs = 2W is often called the Nyquist rate. The proof of this theorem can be derived in some different ways, but most often it involves a detour from time domain to the frequency domain and back. In Shannon’s work, it was shown using the Fourier series expansion, and although short and concise, the version here follows the more traditional via Fourier transforms. In this way, the steps in the sampling process becomes more clear. To start, the analog signal is assumed to be bandlimited, meaning its frequency contents are zero outside −W ≤ f ≤ W. In other words, the Fourier transform of x(t) has the property X(f ) = 0, if f  > W. From a practical aspects, taking a sample value at a certain time instant as in (B.1) is not straightforward. Instead the signal is averaged over a shorttime duration, Δ, i.e. an estimate of the sample value is given by nT +Δ
xn,Δ =
s 1 Δ ∫nTs
x(t)dt
(B.4)
In Figure B.2, the gray areas correspond to the sample intervals. In the sample interval, the argument can be viewed as the multiplication between the function x(t) and a rectangular pulse of width Δ and unit area, { 1∕Δ, 0 ≤ t ≤ Δ ΠΔ (t) = (B.5) 0, otherwise
339
B.1 THE SAMPLING THEOREM
xn,∆(t)
−Ts
0
Ts
Figure B.2 interval Δ.
∆
2Ts
3Ts
Sampling as average over a time
t
4Ts
Putting the pulses together in a sequence gives the pulse train in ∑ PΔ (t) = ΠΔ (t − nTs )
(B.6)
n
which is shown in Figure B.3. Then the grayshaded function in Figure B.2 is given by xn,Δ (t) = x(t)PΔ (t). Naturally, the smaller interval Δ, the better the accuracy of the sample value. From a mathematical point, letting the interval go to zero means lim ΠΔ (t) = 𝛿(t)
(B.7)
Δ→0
and, thus, the sample function becomes a series of Dirac pulses, ∑ ∑ lim PΔ (t) = lim ΠΔ (t − nTs) = 𝛿(t − nTs) Δ→0
Δ→0
n
(B.8)
n
Such infinite pulse train of Dirac pulses is a wellstudied function, and sometimes it goes under the name the Shah function, from the Cyrillic letter Shah, x. Definition B.1 unit distance,
The Shah function, x(t), is an infinite series of Dirac functions at
x(t) =
∑
𝛿(t − k)
(B.9)
k
To get the same function as in (B.8), the function must be scaled in time with the sampling time Ts . To preserve the unit area of the pulses, their amplitude must also be scaled. The corresponding function becomes (t) ∑ 1 x = 𝛿(t − nTs ) (B.10) T T s
s
Figure B.3 pulses.
P∆(t)
∆
−Ts
0
Ts
2Ts
n
3Ts
4Ts
t
The sampling function as block
340
APPENDIX B SAMPLING THEOREM 1 Ts
x(t)
−Ts 0
Ts 2Ts 3Ts 4Ts
t
×
−Ts 0
III ( Tts )
xn(t)
Ts 2Ts 3Ts 4Ts
t
=
−Ts 0
Ts 2Ts 3Ts 4Ts
t
F III(Ts f )
X( f )
Xn( f )
* −1/Ts −fmax
0
1/Ts
2/Ts
3/Ts
f
=
−1/Ts
0
1/Ts
3/Ts
2/Ts
f
−1/Ts
0
1/Ts
2/Ts
3/Ts
f
fmax
Figure B.4
Sampling viewed in time domain and frequency domain.
Thus, from a mathematical point of view, the sampled function can be seen as the sequence of scaled Dirac pulses in xn (t) = x(t) ⋅
( ) 1 x Tt Ts s
=
∑
xn 𝛿(t − nTs )
(B.11)
n
As seen in the upper row of Figure B.4, multiplication with the Shah function corresponds to the sampling process. It is further known that the sampled function x(t) is bandlimited, and its Fourier transform can schematically be viewed as the left function in the lower row of Figure B.4. From, e.g., [7], the Fourier transform of the Shah function can be found. Theorem B.2
The Shah function is its own Fourier transform,
x(t) ⟶ x(f )
(B.12)
With the scaling of the Shah function that means (t) 1 x Ts Ts
⟶ x(Ts f ) =
) ( 1 ∑ n 𝛿 f− Ts n Ts
(B.13)
which is shown in the middle plot of the lower row of Figure B.4. Since the functions are multiplied in the time domain, the Fourier transform of xn (t) is given by the
341
B.1 THE SAMPLING THEOREM
following convolution: Xn (f ) = X(f ) ∗ x(Ts f ) ) ( 1 ∑ n = Xn (f ) ∗ 𝛿 f − Ts n Ts ( ) ∑ n 1 X f− = Ts n n Ts
(B.14)
which is shown as the righthand plot in the lower row of Figure B.4. It is seen that sampling in the time domain corresponds to periodic repetition of the signal in the frequency domain, with period Fs = 1∕Ts . Since Fs ≥ fmax , the different pulses in the frequency domain do not overlap. This fact facilitates the reconstruction substantially. By filtering the pulse centered around f = 0 and deleting the others, the original signal will be reconstructed. As shown in Figure B.5, the frequency function for the sampled function, Xn (f ), can be multiplied by an ideal lowpass filter H(f ) to reconstruct the frequency contents for ̂ ). The lowpass filter is given by the original signal, here denoted by X(f { F 1, f  ≤ 2s (B.15) H(f ) = 0, otherwise Effectively, this means that the reconstruction takes whatever is in the interval − Fs 2
Fs 2
≤
and use as an estimate of X(f ). As long as the pulses are separated in the f ≤ frequency domain, this method will give perfect reconstruction. However, if the sampling frequency is chosen too low, i.e. Fs < fmax , the pulses will overlap and sum together. Then the reconstructed pulse is not the same as the original. This distortion is called aliasing.
Xn( f )
−Fs
Fs
0
2Fs
× f
3Fs
–2Fs
−Fs
–
F −1
0
Fs 2
xn(t)
−Ts
0
Figure B.5
Ts
Xˆ ( f )
H( f )
Fs 2
Fs
2Fs
=
f
−Fs
3Ts
4Ts
t
* −3Ts −2Ts −Ts
0
Ts
2Ts
3Ts
t
f
3F s
ˆ x(t)
h(t) = sinc(t)
2Ts
2F s
Fs
0
= −Ts
0
Ts
Reconstruction viewed in time domain and frequency domain.
2Ts
3Ts
4Ts
t
342
APPENDIX B SAMPLING THEOREM
X( f )
−Fs
Figure B.6
Fs
Xˆ ( f )
Xn( f )
f
−2Fs
−Fs
Fs
2Fs
f
−Fs
Fs
f
Sampling below the Nyquist rate, resulting in aliasing.
To see what the reconstruction corresponds in the time domain, the lower row in Figure B.5 shows the inverse Fourier transforms. The periodic repetition of the frequency pulses corresponds to the sampled function xn (t), and the multiplication a convolution. The ideal lowpass filter is a box in the frequency domain thus a sinc in the time domain, sin(2𝜋Wt) (B.16) 2𝜋Wt Since the Dirac pulse is the identity for convolution, a pulse in the xn (t) will be replaced by a sinc function with the same amplitude, ∑ x̂ (t) = xn (t) ∗ h(t) = sinc(t) ∗ 𝛿(t − nTS ) (B.17) h(t) = sinc(t) =
=
∑
n
) ( xn sinc(t) ∗ 𝛿(t − nTs )
(B.18)
xn sinc(t − nTs )
(B.19)
n
=
∑ n
This completes the proof. When the sampling frequency is chosen below the Nyquist rate, i.e. F − s < 2W, the reconstructed signal will be a distorted version of the original signal. This distortion is often called aliasing. The reason for the distortion is that the Fourier transform of the original signal is periodically repeated with interval Fs , and the F F reconstructed function is given by the contents in the interval [− 2s , 2s ]. In Figure B.6, the lefthand graph shows the Fourier transform of a function with its highest frequency contents above the Fs ∕2. When this function is sampled (in the time domain), the Fourier transform will be repeated every Fs and summed together. In the middle graph, the gray functions depict the repeated Fourier transforms and the solid graph depicts the sum of them. Then, at reconstruction the part between −Fs ∕2 and Fs ∕2 is extracted with ideal filtering, which is shown in the righthand graph. Here it is clear that the signal is distorted due to the overlapping between the Fourier transforms. Naturally, this will also mean a distortion in the time domain signal.
BIBLIOGRAPHY [1] C. E. Shannon. A mathematical theory of communication. Bell Syst. Tech. J., vol. 27, pp. 379–423, 623–656, 1948. [2] H. Nyquist. Certain factors affecting telegraph speed. Bell Syst. Tech. J., vol. 3, pp. 324–346, 1924. [3] H. Nyquist. Certain topics in telegraph transmission theory. Trans. AIEE, vol. 47, pp. 617–644, Apr. 1928. [4] R. V. L. Hartley. Transmission of information. Bell Syst. Tech. J., vol. 7, pp. 535–563, July 1928. [5] A. Gut. An Intermediate Course in Probability. SpringerVerlag, Berlin, Germany, 1995. [6] A. Papoulis. Probability, Random Variables, and Stochastic Processes, 3rd ed. McGrawHill, New York, 1991. [7] R. Bracewell. The Fourier Transform and Its Applications. McGrawHill, New York, 1999. [8] R. A. Horn and C. R. Johnson. Matrix Analysis. Cambridge University Press, Cambridge, UK, 1985. [9] S. Kullback and R. A. Leibler. On information and sufficiency. Ann. Math. Stat., vol. 22, no. 1, pp. 79–86, Mar. 1951. [10] J. Lin. Divergence measures based on the Shannon entropy. IEEE Trans. Inform. Theory, vol. 37, pp. 145–151, 1991. [11] T. M. Cover and J. A. Thomas. Elements of Information Theory, 2nd ed. John Wiley & Sons, Inc., Hoboken, NJ, 2006. [12] K. Sayood. Introduction to Data Compression. Elsevier, Amsterdam, the Netherlands, 2006. [13] R. G. Gallager. Information Theory and Reliable Communication. John Wiley & Sons, Inc., New York, 1968. [14] J. L. Massey. Lecture Notes: Applied Digital Information Theory I and II. Available at http://www.isiweb.ee.ethz.ch/archive/massey scr/, 1980–1998. [15] R. B. Ash. Information Theory. Dover Publication, Mineola, NY, 1990 (first published by John Wiley and Sons, 1965). [16] L. Kraft. A device for quantizing, grouping, and coding amplitude modulated pulses [master’s thesis]. Massachusetts Institute of Technology, Cambridge, MA, 1949. [17] B. McMillan. Two inequalities implied by unique decipherability. IEEE Trans. Inform. Theory, vol. 2, pp. 115–116, 1956. [18] R. K. Sundaram. A First Course in Optimization Theory. Cambridge University Press, Cambridge, UK, 1996. [19] B. McMillan. The basic theorems of information theory. Ann. Math. Stat., vol. 24, pp. 196–219, 1953. [20] D. A. Huffman. A method for the construction of minimum redundancy codes. Proc. Inst. Radio Eng., vol. 40, pp. 1098–1101, 1952. [21] N. Faller. An adaptive system for data compression. In Record of 7th Asilomar Conference on Circuits, Systems, and Computers, 1973, pp. 593–597. [22] R. G. Gallager. Variations on a theme by Huffman. IEEE Trans. Inform.Theory, vol. IT24, pp. 668– 674, 1978. [23] D. E. Knuth. Dynamic Huffman coding. J. Algorithms, vol. 6, pp. 163–180, 1985. [24] J. S. Vitter. Design and analysis of dynamic Huffman codes. J. ACM, vol. 34, no. 4, pp. 825–845, Oct. 1987.
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
343
344
BIBLIOGRAPHY
[25] J. Ziv and A. Lempel. A universal algorithm for sequential data compression. IEEE Trans. Inform. Theory, vol. 23, pp. 337–343, 1977. [26] J. Ziv and A. Lempel. Compression of individual sequences via variablerate coding. IEEE Trans. Inform. Theory, vol. 24, pp. 530–536, 1978. [27] J. A. Storer and T. G. Szymanski. Data compression via textual substitution. J. ACM, vol. 29, pp. 928– 951, 1982. [28] T. Welch. A technique for highperformance data compression. IEEE Comput., vol. 17, pp. 8–19, 1984. [29] P. Deutsch. RFC 1951 DEFLATE compressed data format specification version 1.3, May 1996. [30] W3C Recommendation, 10 November, 2003, Portable network graphics (png) specification (second edition) [online]. Available at https://www.w3.org/TR/PNG/. [31] G. Roelofs. PNG The Definite Guide. O’Reilly & Associates, Sebastopol, CA, 2003. [32] R. Johannesson. Informationsteori – grundvalen f¨or (tele) kommunikation. Studentlitteratur, Lund, Sweden, 1988 (in Swedish). [33] W. C. Huffman and V. Pless. Fundamentals of ErrorCorrecting Codes. Cambridge University Press, Cambridge, UK, 2003. [34] R. Johannesson and K. Zigangirov. Fundamentals of Convolutional Codes. IEEE Press, Piscataway, NJ, 1999. [35] S. Lin and D. J. Costello. Error Control coding, 2nd ed. Prentice Hall, Upper Saddle River, NJ, 2004. [36] F. J. MacWilliams and N. J. A. Sloane. The Theory of ErrorCorrecting Codes. North Holland, Amsterdam, the Netherlands, 1977. [37] ITUT Recommendation G.992.5, Asymmetric digital subscriber line 2 transceivers (ADSL2) Extended bandwidth ADSL2 (ADSL2plus), 2009. [38] Recommendation G.993.2, Very high speed digital subscriber line transceivers 2 (VDSL2), 2015. [39] H. Robbins. A remark on Stirling’s formula. Am. Math. Monthly, vol. 62, pp. 26–29, Jan. 1955. [40] P. Elias. Coding for noisy channels. IRE Conv. Rec., Pt. 4, pp. 37–46, Mar. 1955. [41] A. J. Viterbi. Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Trans. Inform. Theory, vol. IT13, pp. 260–269, Apr. 1967. [42] G. D. Forney Jr. The Viterbi algorithm. Proc. IEEE, vol. 61, pp. 268–278, 1973. [43] J. A. Heller. Short constraint length convolutional codes. Jet Propulsion Laboratory, Space Program Summary 37–54, vol. III, pp. 171–177, Oct./Nov. 1968. [44] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv. Optimal decoding of linear codes for minimizing symbol error rate. IEEE Trans. Inform. Theory, vol. IT20, pp. 284–287, Mar. 1974. [45] I. Reed and G. Solomon. Polynomial codes over certain finite fields. J. Soc. Ind. Appl. Math., vol. 8, no. 2, pp. 300–304, 1960. [46] G. D. Forney Jr. Concatenated Codes. MIT Press, Cambridge, MA, 1966. [47] C. Berrou, A. Glavieux, and P. Thitimajshima. Near Shannon limit errorcorrection. In ICC’93, Geneva, Switzerland, May 1993, pp. 1064–1070. [48] R. G Gallager. LowDensity ParityCheck Codes. MIT Press, Cambridge, MA, 1963. [49] D. J. Costello. Free distance bounds for convolutional codes. IEEE Trans. Inform. Theory, vol. 20, pp. 356–365, 1974. [50] D. Bertsekas and R. Gallager. Data Networks, 2nd ed. Prentice Hall, Englewood Cliffs, NJ, 1992. Available at web.mit.edu/dimitrib/www/datanets.html. [51] J. G. Proakis. Digital Communications, 4th ed. McGrawHill, New York, 2001. [52] I. S. Gradshteyn and I. M. Ryzhik. Table of Intergrals, Series and Products, 7th ed. Academic Press, New York, 2007. [53] C. E. Shannon. Coding theorems for a discrete source with a fidelity criterion. IRE National Convention Record, Part 4, pp. 142–163, 1959. [54] R. McEliece. The Theory of Information and Coding. Cambridge University Press, Cambridge, UK, 2004. [55] V. K. Goyal. Theoretical foundation of transform coding. IEEE Signal Process. Mag., vol. 18, pp. 9– 21, 2001.
BIBLIOGRAPHY
345
¨ [56] K. Karhunen. Uber lineare methoden in der Wahrscheinlichkeitsrechnung. Ann. Acad. Sci. Fennicae. Ser. A. I. Math.Phys., vol. 37, pp. 1–79, 1947. [57] M. Loeve. Fonctions aleatoires de second ordre. Processus Stochastiques et Mouvement Brownien, 1948. [58] H. Hetelling. Analysis of a complex of statistical variables into principal components. J. Educational Psychol., vol. 24, pp. 417–441 and 498–520, 1933. [59] ITUT Rec. T.81 (09/92) and ISO/IEC 109181:1994. Information technology – Digital compression and coding of continuoustone still images – Requirements and guidelines. [60] JPEG Group. http://www.jpeg.org/. [61] W. B. Pennebaker and J. L. Mitchell. JPEG Still Image Data Compression Standard. Kluwer Academic Publishers, Dordrecht, the Netherlands, 1992. [62] N. Ahmed, T. Natarajan, and K. R. Rao. Discrete cosine transform. IEEE Trans. Comput., vol. 23, pp. 90–93, 1974. [63] A. C. G. Verdugo and P. N. Rathie. On the entropy of continuous probability distributions. IEEE Trans. Inform. Theory, vol. IT24, no. 1, pp. 120–122, Jan. 1978. [64] C. E. Shannon. Communication in the presence of noise. Proc. IRE, vol. 37, pp. 10–21, 1949. [65] V. A. Kotelnikov. On the transmission capacity of the ether and of cables in electrical communications. In Proceedings of the first AllUnion Conference on the Technological Reconstruction of the Communications Sector and the Development of LowCurrent Engineering, Moscow, 1933 (translated from Russian). [66] E. T. Whittaker. On the functions which are represented by the expansions of the interpolation theory. Proc. Royal Soc. Edinburgh., vol. 35, pp. 181–194, 1915. [67] N. Abramson. Information Theory and Coding. McGrawHill, New York, 1963. [68] T. Berger and J. D. Gibson. Lossy source coding. IEEE Trans. Inform. Theory, vol. 44, pp. 2693– 2723, 1998. [69] I. Bocharova. Compression for Multimedia. Cambridge University Press, Cambridge, UK, 2009. [70] M. Bossert. Channel Coding for Telecommunications. John Wiley & Sons, Inc., New York, 1999. [71] A. el Gamal and T. Cover. Multiple user information theory. Proc. IEEE, vol. 68, pp. 1466–1483, 1980. [72] G. D. Forney Jr. Review of random tree codes. Technical report, Appendix A, Final Report, Contract NAS23637, NASA CR73176, NASA Ames Research Center, December 1967. [73] G. D. Forney Jr. and G. Ungerboeck. Modulation and coding for linear Gaussian channels. IEEE Trans. Inform. Theory, vol. 44, pp. 2384–2415, 1998. [74] G. D. Forney Jr. and L.F. Wei. Multidimensional constellations—Part I: Introduction, figures of merit, and generalized cross constellations. IEEE J. Sel. Areas Commun., vol. 7, pp. 877–892, 1989. [75] R. G. Gallager. Circularlysymmetric Gaussian random vectors [online]. Available at www.rle .mit.edu/rgallager/documents/CircSymGauss.pdf, January 1, 2008. [76] R. G. Gallager. Principles of Digital Communication. Cambridge University Press, Cambridge, UK, 2008. [77] Gnu.org. https://www.gnu.org/philosophy/gif.html. Last visited: 20150225. [78] R. M. Gray. Source Coding Theory. Kluwer Academic Publishers, Dordrecht, the Netherlands, 1990. [79] R. Hamming. Error detecting and error correcting codes. Bell Syst. Tech. J., vol. 29, pp. 147–160, 1950. [80] B. Kudryashov. Theori Informatii. Piter, St. Petersburg, Russia, 2009 (in Russian). [81] S. Kullback. Information Theory and Statistics. Dover Publications, Mineola, NY, 1997 (first published by John Wiley and Sons in 1959). [82] E. A. Lee and D. G. Messerschmitt. Digital Communication. Kluwer Academic Publishers, Dordrecht, the Netherlands, 1994. [83] R. McEliece. Finite Fields for Computer Scientists and Engineers. Springer, Berlin, Germany, 1986. [84] J. R. Pierce. An Introduction to Information Theory. Dover Publications, Mineola, NY, 1980 (first published by Harper and Brothers in 1961). [85] J. G. Proakis and D. G. Manolakis. Digital Signal Processing. Pearson Prentice Hall, Upper Saddle River, NJ, 2007.
346 [86] [87] [88] [89]
BIBLIOGRAPHY
F. M. Reza. An Introduction to Information Theory. McGrawHill, New York, 1961. S. Ross. Introduction to Probability Models, 10th ed. Elsevier, Amsterdam, the Netherlands, 2010. K. Sayood. Lossless Compression Handbook. Academic Press, New York, 2003. S. Verdu. The exponential distribution in information theory. Problems Inform. Transmission, vol. 32, pp. 86–95, 1996. [90] A. J. Viterbi and J. K. Omura. Principles of Digital Communication and Coding. McGraw Hill, New York, 1979. [91] J. M. Wozencraft and I. M. Jacobs. Principles of Digital Communication Engineering. John Wiley and Sons, Inc., New York, 1965. [92] J. F. Young. Information Theory. Butterworth & Co., London, 1971.
INDEX absorption, 152 achievable code rate, 142 adaptive Huffman Code, 105 additive distortion, 290 AEP, 133 aliasing, 341, 342 Arithmetic Coding, 95 asymptotic distribution, 31 asymptotic equipartition property (AEP), 134 autocorrelation, 27 autocovariance, 28 AWGN, 237 backward test channel, 293 band limited channel, 239 band limited Gaussian channel, 241 bandwidth, 240 bandwidth efficiency, 257 BCJR algorithm, 191 Bernoulli distribution, 323 Beta distribution, 336 Beta function, 328 binary asymmetric channel, 163 binary entropy function, 41 binary erasure channel (BEC), 155 binary symmetric channel (BSC), 145 binary tree, 73 Binomial distribution, 325 bit, 39 bits, 323 block code, 170 capacity for Gaussian channel, 239 Cauchy distribution, 333 central limit theorem, 20 certain event, 5
chain rule for probability, 8 channel, 144 channel capacity, 151 channel coding, 141 channel coding theorem, 150 Chebyshev’s inequality, 18 Chi squared distribution, 334 code rate, 142 codeword length, 70 concave function, 21 conditional differential entropy, 217 conditional entropy, 45 conditional mutual information, 49 conditional probability, 6 consensus, 152 constraint capacity, 268 convergence, 19 convex function, 21 convexity of information, 54 convolutional codes, 188 Costello bound, 203 counterfeit die, 9 covariance, 13 covariance matrix, 224, 228 CPRI, 305 cyclic redundancy check (CRC), 205 Dary entropy, 80 Dary tree, 73 transform, 197 data processing lemma, 58 deflate, 125 density function, 7 depth, 73 differential entropy, 213 digamma function, 327 digital subscriber line (DSL), 243
Information and Communication Theory, First Edition. Stefan H¨ost. © 2019 by The Institute of Electrical and Electronics Engineers, Inc. Published 2019 by John Wiley & Sons, Inc.
347
348
INDEX
dimensionality, 271 discrete cosine transform (DCT), 313 discrete memoryless channel (DMC), 145 distortion measure, 290 distortion typical sequence, 296 distribution function, 7 end of block, EOB, 317 energy per dimension, 272 entropy, 41 entropy of Gaussian variable, 224 Entropy rate, 59 𝜀typical, 135 erasure, 155 ergodic source, 140 Erlang distribution, 335 error detecting codes, 203 Euclid’s division theorem, 94 EulerMascheroni constant, 327 event, 5 expected value, 10 Exponential distribution, 327, 329 Fano’s lemma, 143 feedback channel, 155 finite uniform constellations, 265 free distance, 193 full tree, 73 Fundamental limit, 257 fundamental Shannon limit, 256 Gamma distribution, 335 Gamma function, 327 Gaussian channel, 237 Gaussian distribution, 330 generator matrix, 171, 190, 199 generator polynomial, 206 Geometric distribution, 324 GIF, 125 Gilbert bound, 183 Gilbert Varshamov bound, 188 GZIP, 125 Hadamard inequality, 254, 312 Hamming bound, 181, 186 Hamming code, 177 Hamming distance, 172 Hamming distortion, 290 Hamming weight, 172
Hartley, 38 Heller bound, 202 Hermitian matrix, 228 hidden Markov chain, 29 Huffman algorithm, onesweep, 106 Huffman algorithm, twosweep, 106 Huffman code, 84 Huffman code, optimality, 88 impossible event, 5 impulse response, 189 independent random variables, 8 information, 37 information channel capacity, 146, 238 ITinequality, 43 Jensen’s inequality, 23 joint differential entropy, 216 joint distribution, 7 joint entropy, 43 jointly typical sequences, 147 JPEG, 312 KarhunenLoeve transform, 311 Kolmogorov, 5 Kraft inequality, 76 Kuhn–Tucker, 245 KullbackLeibler divergence, 50 Lagrange multiplication method, 80 Lagrange multiplier, 244 law of large numbers, 19, 134 LDPC code, 202 leaf, 73 linear code, 171 logNormal distribution, 332 logsum inequality, 25 look ahead buffer, 112 lossless compression, 70 lossy compression, 70 Low Density Parity Check (LDPC), 169 LTE, 304 LZ77, 112 LZ78, 118 LZSS, 116 LZW, 121 MPAM, 265 marginal distribution, 8
INDEX
Markov chain, 28 Markov process, 28 Markov’s inequality, 18 maximum a posteriori (MAP), 172, 174 maximum distance separable (MDS), 182 maximum likelihood (ML), 172, 174 McMillan inequality, 79 metric, 51, 173 minimum distance, 174 minimum distance (MD), 174 minimum variance Huffman codes, 90 motion estimation, 318 MPEG, 318 MPEG frame structure, 319 multiple in, multiple out (MIMO), 251 mutual information, 48, 217 Mutual information, event, 39 nats, 214, 323 node, 73 nonsingular code, 71 nonuniform quantiser, 303 Normal distribution, 330 normalized SNR, 282 not yet transmitted (NYT), 110 Nyquist, 1 Nyquist rate, 241, 338 OFDM, 247 optimal codeword length, 81 orthonormal transform, 307 orthonormal pulses, 271 outcome, 5 parallel Gaussian channels, 244 parity check code, 204 parity check matrix, 176 path length lemma, 75 perfect code, 182 Plotkin bound, 183, 187 PNG, 126 Poisson distribution, 325 positive definite, 229 positive semidefinite, 229 prediction filter in PNG, 126 prefix code, 72 primitive polynomial, 209
349
probability function, 7 probability measure, 6 pulse amplitude modulation (PAM), 265 Qfunction, 267 quadrature amplitude modulation (QAM), 273 quantisation, 302 quantisation distortion, 303 random process, 27 random variable, 7 ratedistortion function, 291 ratedistortion function, binary, 293 ratedistortion function, Gaussian, 295 ratedistortion theorem, 296 Rayleigh distribution, 333 Reed–Solomon code, 201 relative entropy, 50, 219 relative free distance, 203 relative minimum distance, 184 repetition code, 170 root node, 73 sample space, 5 sampling frequency, 240, 337 sampling theorem, 240, 337 search buffer, 112 second order moment, 10 selfinformation, 41 Shah function, 339 Shannon, 1 ShannonFano code, 82 shaping gain, 271, 276 sibling property, 107 signal to noise ratio (SNR), 239 signaltoquantization noise ratio (SQNR), 304 similar matrices, 253 single letter distortion, 290 single sideband modulation, 274 Singleton bound, 182, 185 singular value decomposition (SVD), 253 SNR gap, 281 Source coding, 70 source coding theorem, 84, 140 sphere packing bound, 181 squared distance distortion, 290
350
INDEX
state, 29 state transition graph, 29 state transition matrix, 29 stationary, 28 stationary distribution, 32 Stirling’s approximation, 185 stochastic variable, 7 support, 220 symmetric channel, 157 symmetric matrix, 228 syndrome, 179 syndrome decoding, 180 timeinvariant, 28 transform coding gain, 309 transform encoder, 307 transform matrix, 307 tree structure, 73 trellis, 191 Triangular distribution, 329 Truncated Normal distribution, 331 truncating function, 245
Tukey, 39 typical sequences, 134 uncertainty, 41 Uniform distribution, 324, 328 uniform quantizer, 302 union bound, 149 uniquely decodable code, 72 unit memory process, 28 unused leaves, 94 variance, 12 Varshamov bound, 184 Viterbi algorithm, 191, 195 water filling, 246 weakly symmetric channel, 160 white noise, 241 wide sense stationary, 28 zigzag pattern, 316 ZIP, 125
IEEE PRESS SERIES ON DIGITAL AND MOBILE COMMUNICATION John B. Anderson, Series Editor University of Lund
1. Future Talk: The Changing Wireless Game Ron Schneiderman 2. Digital Transmission Engineering John B. Anderson 3. Fundamentals of Convolutional Coding Rolf Johannesson and Kamil Sh. Zigangirov 4. Mobile and Personal Communication Services and Systems Raj Pandya 5. Wireless Video Communications: Second to Third Generation and Beyond Lajos Hanzo, Peter J. Cherriman, and J¨urgen Streit 6. Wireless Communications in the 21st Century Mansoor Shafi, Shigeaki Ogose, and Takeshi Hattori 7. Introduction to WLLs: Application and Deployment for Fixed and Broadband Services Raj Pandya 8. Trellis and Turbo Coding Christian B. Schlegel and Lance C. Perez 9. Theory of Code Division Multiple Access Communication Kamil Sh. Zigangirov 10. Digital Transmission Engineering, Second Edition John B. Anderson 11. Wireless LAN Radios: System Definition to Transistor Design Arya Behzad 12. Wireless Broadband: Conflict and Convergence Vern Fotheringham and Chetan Sharma 13. Millimeter Wave Communication Systems KaoCheng Huang and Zhaocheng Wang 14. Channel Equalization for Wireless Communications: From Concepts to Detailed Mathematics Gregory E. Bottomley 15. Handbook of Position Location: Theory, Practice and Advances Seyed A. Reza Zekavat and R. Michael Buehrer 16. Digital Filters: Principles and Applications with MATLAB Fred J. Taylor 17. Resource Allocation in Uplink OFDMA Wireless Systems: Optimal Solutions and Practical Implementations Elias Yaacoub and Zaher Dawy
18. NonGaussian Statistical Communication Theory David Middleton 19. Frequency Stability: Introduction & Applications Venceslav F. Kroupa 20. Mobile Ad Hoc Networking: Cutting Edge Directions, Second Edition Stefano Basagni, Marco Conti, Silvia Giordano, and Ivan Stojmenovic 21. Surviving Mobile Data Explosion Dinesh C. Verma and Paridhi Verma 22. Cellular Communications: A Comprehensive and Practical Guide Nishith Tripathi and Jeffrey H. Reed 23. Fundamentals of Convolutional Coding, Second Edition Rolf Johannesson and Kamil Sh. Zigangirov 24. Trellis and Turbo Coding, Second Edition Christian B. Schlegel and Lance C. Perez 25. ProblemBased Learning in Communication Systems Using MATLAB and Simulink Kwonhue Choi and Huaping Liu 26. Bandwidth Efficient Coding John B. Anderson 27. Visible Light Communications: Modulation and Signal Processing Zhaocheng Wang, Qi Wang, Wei Huang, and Zhengyuan Xu 28. Switch/Router Architectures: SharedBus and SharedMemory Based Systems James Aweya 29. Handbook of Position Location: Theory, Practice, and Advances, Second Edition Edited by S. A. (Reza) Zekavat and R. Michael Buehrer 30. Information and Communication Theory Stefan H¨ost