Polar Codes
Polar Codes
Information Theory
Lecture 9: Polar Codes
Mert Pilanci
Stanford University
February 5, 2019
Outline
I Entropy
1 X
H(U ) = E[log ]=− p(u) log p(u)
p(U ) u
Channel coding
I Entropy
1 X
H(U ) = E[log ]=− p(u) log p(u)
p(U ) u
I Conditional Entropy
1 X
H(X|Y ) = E[log ]= p(y)H(X|Y = y)
p(X|Y ) y
Channel coding
I Entropy
1 X
H(U ) = E[log ]=− p(u) log p(u)
p(U ) u
I Conditional Entropy
1 X
H(X|Y ) = E[log ]= p(y)H(X|Y = y)
p(X|Y ) y
I Mutual Information
C = max I(X; Y )
PX
Capacity
Assume thatof
the the
channelbinary erasure
has “input-output channel (BEC)
symmetry.”
Examples:
BSC(ǫ) BEC(ǫ)
1−ǫ 1−ǫ
0 0 0 0
ǫ ǫ
?
ǫ ǫ
1 1 1 1
1−ǫ 1−ǫ
log M
rate n bits/channel use
probability of error Pe = P (Jˆ 6= J)
Channel Coding
log M
rate n bits/channel use
probability of error Pe = P (Jˆ 6= J)
I If R < maxPx I(X; Y ), then rate R is achievable, i.e., there
exists schemes with rate ≥ R and Pe → 0
Channel Coding
log M
rate n bits/channel use
probability of error Pe = P (Jˆ 6= J)
I If R < maxPx I(X; Y ), then rate R is achievable, i.e., there
exists schemes with rate ≥ R and Pe → 0
I If R > maxPx I(X; Y ), then R is not achievable.
Main result: maximum rate of reliable communication
C = maxPX I(X; Y )
Today: Polar Codes
U1 X1
+
U2 X2
U1 X1
+
U2 X2
U1 X1
+
U2 X2
U1 X1
U= X=
U2 X2
1 1
Define G2 := then we have X = G2 U
0 1
G22 := G2 G2
W2 : U2 → (Y1 , Y2 , U1 )
Properties of G2
U1 X1
+
U2 X2
U1 X1
U= X=
U2 X2
1 1
Define G2 := then we have X = G2 U
0 1
G22 := G2 G2
1 1 1 1 U1
G2 G2 U =
0 1 0 1 U2
W2 : U2 → (Y1 , Y2 , U1 )
Properties of G22
U1 X1 U1
+ +
U2 X2 U2
1 1
Define G2 := then we have X = G2 U
0 1
G22 := G2 G2
1 1 1 1 U1
G2 G2 U =
0 1 0 1 U2
1 1 U1 ⊕ U2
=
0 1 U2
=
heErasure
channel channel
has “input-output symmetry.”
BSC(ǫ) BEC(ǫ)
1−ǫ 1−ǫ
0 0 0
ǫ
?
ǫ
1 1 1
1−ǫ 1−ǫ
on Encoding Decoding Construction Pe
BSC(ǫ) BEC(ǫ)
second bit-channel
1−ǫ
W2 1−ǫ
0 0 0 0
ǫ ǫ
?
ǫ ǫ
1 1 1 1
1−ǫ
W2 : U2 →1 −(Y
ǫ
1 , Y 2 , U1 )
I Repetition coding
U1 Y1
W
Y2
W
Combining two erasure channels
W2 : U2 → (Y1 , Y2 , U1 )
U1 Y1
+ W
U2 Y2
W
W1 : U1 → (Y1 , Y2 )
First bit-channel W1 : U1 → (Y1 , Y2 )
U1 Y1
+ W
random U2 Y2
W
C (W1 ) = I (U1 ; Y1 , Y2 )
second bit-channel W2
W : U → (Y , Y , U )
2 W 2: U → 1(Y , Y
2 1
Second bit-channel 2 2 1 2 , U1 )
U1 Y1
+ W
U2 Y2
W
on Encoding Decoding Construction Pe
Capacity is conserved
second bit-channel W2
C(W1 ) + C(W2 ) = C(W ) + C(W ) = 2C(W )
: U2)→
W2C(W (Y1 ,)Y≤2C(W
≤ C(W
, U1 ) )
1 2
U1 Y1
+ W
U2 Y2
W
Polarization process
2 − 2 2(2 − 2 ) − (2 − 2 )2
(2 − 2 )2
2(2 ) − (2 )2
2 (2 )2
A familiar update rule...
wt+1 = wt + et wt (1 − wt )
A familiar update rule
Let et be i.i.d. uniform ±1 for t = 1, 2...
wt+1 = wt + et wt (1 − wt )
Martingales
wt+1 = wt + et wt (1 − wt )
E[wt+1 |wt ] = wt
Martingales
wt+1 = wt + et wt (1 − wt )
E[wt+1 |wt ] = wt
1
Theorem 1−δ
The bit-channel capacities {C (Wi )} polarize: for any
δ ∈ (0, 1), as the construction size N grows
no. channels with C (Wi ) > 1 − δ
−→ C (W )
N
and
no. channels with C (Wi ) < δ
−→ 1 − C (W )
N
δ
0
Freezing noisy channels
Freezing noisy channels
Freezing noisy channels
Encoding
0 Y1
frozen +0 + 1
+ 1
W
0 0 1 1 Y2
frozen + + W
0 Y3
frozen +1 1
+ 0
W
1 1 1 0 Y4
free + W
0 Y5
frozen +1 + 0 0
W
1 1 0 0 Y6
free + W
0 Y7
free +1 1 1
W
1 1 1 1 Y8
free W
: U2 → (Y1 , Y2 , U1 )
Polarization of generalW2channels
U1 Y1
+ W
U2 Y2
W
1X
W − (Y1 , Y2 |U1 ) = W1 (y1 |u1 ⊕ u2 )W2 (y2 |u2 )
2 u
2
1
W + (Y1 , Y2 , U1 |U2 ) = W1 (y1 |u1 + u2 )W2 (y2 |u2 )
2
: U2 → (Y1 , Y2 , U1 )
Polarization of generalW2channels
U1 Y1
+ W
U2 Y2
W
1X
W − (Y1 , Y2 |U1 ) = W1 (y1 |u1 ⊕ u2 )W2 (y2 |u2 )
2 u
2
1
W + (Y1 , Y2 , U1 |U2 ) = W1 (y1 |u1 + u2 )W2 (y2 |u2 )
2
U1 Y1
+ W
U2 Y2
W
1X
W − (Y1 , Y2 |U1 ) = W1 (y1 |u1 ⊕ u2 )W2 (y2 |u2 )
2 u
2
1
W + (Y1 , Y2 , U1 |U2 ) = W1 (y1 |u1 + u2 )W2 (y2 |u2 )
2
Theorem
For any rate R < I (W ) and block-length N, the probability of
frame error for polar codes under successive cancelation decoding is
bounded as √ √
Pe (N, R) = o 2− N+o( N)
Improved decoders
Summary
Given W , N = 2n , and R < I (W ), a polar code can be constructed
such that it has
◮ construction complexity O(Npoly(log (N))),
◮ encoding complexity ≈ N log N,
◮ successive-cancellation decoding complexity ≈ N log N,
√ √
◮ frame error probability Pe (N, R) = o 2− N+o( N) .
5G Communications