CSC 310: Information Theory: University of Toronto, Fall 2011 Instructor: Radford M. Neal
CSC 310: Information Theory: University of Toronto, Fall 2011 Instructor: Radford M. Neal
Week 8
Information Channels
Suppose that data must be sent through a channel before it can be used.
This channel may be unreliable, but we can use a code designed
counteract this.
Some questions we aim to answer:
• If we have low tolerance for errors, will we be able to make full use of
a channel, or must some of the channel’s capacity be lost to ensure a
low error probability?
Noise Channel
Decoder for
Decompression Data
Error-Correcting
Code Program Out
Error Detection
We might also be interested in detecting errors, even if we can’t correct
them:
• For RAM or disk memory, error detection tells us that we need to call
the repair person.
Qj|i = P (Y = bj | X = ai )
These transition probabilities are fixed by the nature of the channel. They
can be changed only by redesigning it.
The Binary Symmetric Channel (BSC)
For the BSC, the input and output alphabets are both {0, 1}.
With probability f , the symbol received is different from the symbol
transmitted. With probability 1 − f , the symbol is received correctly.
We can view the input and output alphabets as Z2 , the field of integers
modulo 2. The channel can then be seen as adding “noise” to the input:
b = a+n
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0
The Binary Erasure Channel (BEC)
For the BEC, the input alphabet is {0, 1}, but the output alphabet is
{0, ?, 1}. The “?” output represents an “erasure”, in which the
transmitted symbol is lost.
An erasure happens with probability f ; otherwise, the symbol is received
correctly.
The transition probabilities for the BEC can be arranged in a matrix as
follows:
1−f 0
Q = (Qj|i ) = f f
0 1−f
The Z Channel
The Z Channel has input alphabet is {0, 1}, and output alphabet {0, 1},
like the BSC.
However, the Z channel is asymmetrical. The 0 symbol is always
transmitted correctly, but the 1 symbol is received incorrectly (as 0) with
probability f .
The matrix of transition probabilities for the Z channel is as follows:
1 f
Q = (Qj|i ) =
0 1−f
Channel Input Distribution
We can choose what input symbols we feed into the channel. We might
send symbols from some source, the output of a data compression program
applied to that source, or an error-correcting code for either of these.
For the moment, we’ll assume that the symbols we put in are independent
of each other, with some specified distribution:
pi = P (X = ai )
Rij = P (X = ai , Y = bj )
= P (X = ai ) P (Y = bj | X = ai ) = pi Qj|i
The backward probabilities give the situation from the receiver’s point of
view — given that I’ve received symbol bj , how likely is it that the symbol
sent was ai ?
Input, Output, and Joint Entropies
The amount of information being sent is measured by the input entropy:
Xr
H(X) = pi log(1/pi )
i=1
where pi = P (X = ai ).
Similarly, the amount of “information” received (some of which may
actually be noise) is measured by the output entropy:
s
X
H(Y ) = qj log(1/qj )
j=1
where qj = P (Y = bj ).
We also have the joint entropy:
r X
X s
H(X, Y ) = Rij log(1/Rij )
i=1 j=1
We assume that we can’t change (1), but that we can change (2).
The capacity of a channel is the maximum value of I(X; Y ) that can be
obtained with any choice of input distribution.
We will eventually see that the capacity is the rate at which data can be
sent through the channel with vanishingly small probability of error.