Lecture_13
Lecture_13
X2 X2
P Y2 V ⊕ P Y2 V P− Y1 , Y2
Modified
−→ ⇐⇒
X1 X1
U P Y1 U P Y1 U P+ Y1 , Y2 , V
igure 12.4: Repetition code for n = 2 for BEC(p) channel for input U ∼ Unif{0, 1}. Figure 12.6
Channel inputs: X1Figure
= X2 = U13.1:
. The coding scheme in the left is a plain-vanilla repetition
code for two uses of
the channel. It is modified (right) by adding an extra bit V to the second use of the channel.
12.3.4 Conclusion
We lower bound the mutual information term
Thus, we have in some sense divided two symmetric channels P into two separate channels.
Equivalence:
I(U ; Y1 , Y2 ) = I(U ; YAs
1 ) + shown
I(U ; Y in
2 |Y1first
The FigureP −13.1,
) channel the modified
is less ‘reliable’ coding
than P , whereas scheme
the second is Pequivalent
channel + to
is more ‘reliable’.
In the+next lecture, we’ll cascade this argument to obtain polar − codes. +
transmitting U via channel P , and transmitting V via channel P , where P has higher
≥ I(U ; Y1 )
capacity than= PC., and P − is lower capacity than
(12.1)
P. 12-5
Even though the underlying physical channels do not transform/split, for ease of ex-
12-3 loosely use phrases like - Channel P splits into channels P + and P − ,
position, we shall
P, P ⇔ P , P to refer to the above equivalence, and we shall also refer P + , P − as the bit
+ −
channels.
13-1
2. However, from V ’s point of view, it is passed through a BEC(1 − (1 − p)2 ) channel,
EE/Stats 376A Lecture 13 — February 23 Winter 2017
which has less capacity than BEC(p).
X2
V ⊕ BEC(p) Y2 V BEC(1 − (1 − p)2) Y1 , Y2
⇐⇒
X1
U BEC(p) Y1 U BEC(p2 ) Y1 , Y2 , V
13-2
EE/Stats 376A Lecture 13 — February 23 Winter 2017
(a) (b)
Applying the same transformation to the pairs of above four channels will further split
them into 8 different channels whose transformation is shown in Figure 13.5
Figure 13.5: Third stage of the transformation with 8 P channels, transformed bits U ,
codeword bits X, and output Y .
(n)
As we keep on splitting further, the bit channels denoted by Pi converge to either a
noiseless or a useless channel. This statement is made precise in the following theorem:
Theorem 1. As the number of channels grow, capacity of the ‘bit’ channels converge to
either 0 or 1, and the fraction is equal to
(n)
i : C(Pi ) > 1 − δ n→∞
−→ C(P ) ∀δ > 0
n
(n)
i : C(Pi ) < δ n→∞
−→ 1 − C(P ) ∀δ > 0, (13.1)
n
where n is the total number of ‘original’ P channels.
13-3
EE/Stats 376A Lecture 13 — February 23 Winter 2017
Proof. Out of the scope of this class. Interested reader can refer the original paper [Arikan].
(n)
Corollary 1. The above equations (13.1) directly implies that capacities of all the Pi
channels gravitate to either 0 or 1 i.e,
(n)
i : δ < C(Pi ) < 1 − δ n→∞
−→ 0.
n
This phenomenon of polarization of capacities is illustrated in Figures 13.6 and 13.7.
Figure 13.6: Plotting capacity of the bit channels as we apply the polar code transformation
in successive stages. Note that there are n = 2k bit channels at the k th stage. In this figure
the channels are denoted by W instead of P .
Figure 13.7: Plotting capacity of the bit channels for a BEC(1/2) with n = 64 (left) and
n = 1024 (right). Observe that capacities concentrate near 0 or 1 as n increases.
13-4
EE/Stats 376A Lecture 13 — February 23 Winter 2017
13.4 Encoding
13.4.1 Linear representation of Polar codes
2nd stage - 4 channels splitting
Let us first consider the case of 4 channels. From Figure 13.8 it is easy to see that codeword
bits for message bits U1 , U2 , U3 and U4 are
1. X1 = U1 ⊕ U2 ⊕ U3 ⊕ U4
2. X2 = U2 ⊕ U4
3. X3 = U3 ⊕ U4
4. X4 = U4 .
0 0 0 1 U4 X4
We see that the top left, top right, and bottom right blocks of A4 are all the equal to
1 1
, and this is a direct consequence of successive splitting [13.3.1] of the channels.
0 1
13-5
EE/Stats 376A Lecture 13 — February 23 Winter 2017
P
P
P
P
Figure 13.8
which can be verified from Figure 13.9. Here too we have a recursive structure:
A4 A4
A8 = . (13.2)
A4 A4
Up until this point, we have only established equivalence between the splitting of the
channels and the linear transformations from message bits U ’s to codeword bits X’s. How
do we obtain a working coding scheme from this? The answer lies in capacities of the bits
channels corresponding to U1 , U2 · · ·
13.4.2 Encoding
For n = 8 and P = BEC(1/2), the effective capacities are listed in Figure 13.9. Here, the
encoding scheme sends over the data in the top nC = 4 bit channels (U8 , U7 , U6 , U5 ), and
‘sends’ no information (or 0’s) in the rest of the bits channels. Note that the order of the
bit channel capacities is not monotonic, and in this case we would use the bits U8 , U7 , U6 ,
and U4 to send over the data.
13-6
EE/Stats 376A Lecture 13 — February 23 Winter 2017
P
P
P
P
P
P
P
P
Figure 13.9: Diagram showing the polar code transformation for P = BEC(1/2), n = 8. The
bit channel capacities are shown in the ‘I(Wi )’ column, and their rank, in order of descending
magnitude, is shown in the ‘Rank’ column. The bits corresponding to high-capacity channels
are the ones which should be used to send information (marked ‘data’), and no information
should be sent using bits corresponding to low-capacity channels (marked ‘frozen’).
In the above example, the sum of the capacities of the top four bit channels is only 80% of
the total capacity and hence, block length of n = 8 is not large enough for the asymptotics
of equations (13.1) to kick in. Therefore, in practice we use larger block lengths of size
n = 1024.
Encoding Complexity
From Theorem ?? we know that encoding for polar codes is a linear transformation, and
hence it can be achieved in O(n2 ) steps. However, in the previous subsection we showed that
the generator matrix of polar codes has an interesting ‘recursive’ structure, and using this,
the running time can be improved up to O(n log n).
13.5 Decoding
For the two channel case, decoding P + channel requires the knowledge of Y1 , Y2 , and V .
Thus we must decode the P − channel (which only depends on Y1 and Y2 ) before decoding
P + to determine V . Notice that the lesser reliable channel P − should be decoded before
decoding P + . Similarly in the four channel case (see Fig. 13.8) we have to first decode
U1 (least reliable channel). Then decode U2 , and finally decode U3 , then U4 . Alternative
argument - the value of U4 corresponds to the repetition code ‘embedded’ in X1 , X2 , X3 , and
X4 , so it clearly must be decoded last.
13-7
EE/Stats 376A Lecture 13 — February 23 Winter 2017
Let us go through a detailed example for the n = 8 BEC(1/2) channel shown in Fig.
13.9. As per the previous section 13.4.2, we encode the message bits by ‘freezing’ (send 0)
U1 , U2 , U3 , U5 because these bit channels have the lowest capacity. The message is thus sent
only over the U4 , U6 , U7 , U8 (high capacity bit channels). In the following, we step through
the decoding the output Y1 , · · · , Y8 to obtain back the message.
1. Decode U1 (Frozen) → U1 = 0.
2. Decode U2 (Frozen) → U2 = 0.
3. Decode U3 (Frozen) → U3 = 0.
5. Decode U5 (Frozen) → U5 = 0.
So in general, we need know ‘previous’ bits Û1 , . . . , Ûi−1 to decode Ui . From the above bit-
by-bit decoding scheme, we conclude that decoding a message of length n requires O(nm)
steps, where m is the time required to decode each bit.
To find the complexity of decoding each bit, we look at the k th splitting stage shown in
Figure 13.10:
Decoding comprises of two steps (i) Decoding Ua from Ya , Yb , and then (ii) decoding Ub
from Ya , Yb , Ua . This procedure has to be repeated for k − 1 lower splitting stages. Thus, the
complexity of decoding in k th stage = 2×complexity of decoding in (k − 1)th stage, which
implies m is equal to 2k = n. Thus, the total running time of this recursive algorithm is
O(n2 ). Similar to encoding, the ‘recursive’ structure of the generator matrix can be exploited
to reuse components and therefore reduce the running time from O(n2 ) to O(n log n).
With encoding and decoding running time as efficient as O(n log n), polar codes can be
applied in practice. In fact, polar codes have been incorporated into the latest 5G wireless
standard.
13-8
Bibliography