Polar Coding Part 2 - Construction and Performance Erdal Arkan - - PowerPoint PPT Presentation

polar coding
SMART_READER_LITE
LIVE PREVIEW

Polar Coding Part 2 - Construction and Performance Erdal Arkan - - PowerPoint PPT Presentation

Polar Coding Part 2 - Construction and Performance Erdal Arkan Electrical-Electronics Engineering Department, Bilkent University, Ankara, Turkey Algorithmic Coding Theory Workshop June 13 - 17, 2016 ICERM, Providence, RI Table of Contents


slide-1
SLIDE 1

Polar Coding

Part 2 - Construction and Performance Erdal Arıkan

Electrical-Electronics Engineering Department, Bilkent University, Ankara, Turkey

Algorithmic Coding Theory Workshop June 13 - 17, 2016 ICERM, Providence, RI

slide-2
SLIDE 2

Table of Contents

Channel polarization Polar coding Polar codes for selected applications

slide-3
SLIDE 3

Channel polarization Polar coding Polar codes for selected applications

Channel polarization 1 / 95

slide-4
SLIDE 4

The channel

Let W : X → Y be a binary-input discrete memoryless channel W X Y

◮ input alphabet: X = {0, 1}, ◮ output alphabet: Y, ◮ transition probabilities:

W (y|x), x ∈ X, y ∈ Y

Channel polarization The setup 2 / 95

slide-5
SLIDE 5

Symmetry assumption

Assume that the channel has “input-output symmetry.” Examples: 1 − ǫ 1 − ǫ ǫ ǫ 1 1 BSC(ǫ) 1 − ǫ 1 − ǫ ǫ ǫ 1 1 ? BEC(ǫ)

Channel polarization The setup 3 / 95

slide-6
SLIDE 6

Capacity

For channels with input-output symmetry, the capacity is given by C(W ) ∆ = I(X; Y ), with X ∼ unif. {0, 1} Use base-2 logarithms: 0 ≤ C(W ) ≤ 1

Channel polarization The setup 4 / 95

slide-7
SLIDE 7

The main idea

◮ Channel coding problem trivial for two types of channels

◮ Perfect: C(W ) = 1 ◮ Useless: C(W ) = 0

◮ Transform ordinary W into such extreme channels

Channel polarization The method 5 / 95

slide-8
SLIDE 8

The method: aggregate and redistribute capacity

W W

b b b

W

Original channels (uniform)

Wvec

Vector channel

Combine

WN WN−1

b b b

W1

Split

New channels (polarized)

Channel polarization The method 6 / 95

slide-9
SLIDE 9

Combining

◮ Begin with N copies of W , ◮ use a 1-1 mapping

GN : {0, 1}N → {0, 1}N

◮ to create a vector channel

Wvec : UN → Y N W W W XN X2 X1 YN Y2 Y1 GN UN U2 U1 Wvec

Channel polarization The method 7 / 95

slide-10
SLIDE 10

Conservation of capacity

Combining operation is lossless:

◮ Take U1, . . . , UN i.i.d. unif. {0, 1} ◮ then, X1, . . . , XN i.i.d. unif. {0, 1} ◮ and

C(Wvec) = I(UN; Y N) = I(X N; Y N) = NC(W ) W W W GN XN X2 X1 YN Y2 Y1 UN U2 U1 Wvec

Channel polarization The method 8 / 95

slide-11
SLIDE 11

Splitting

C(Wvec) = I(UN; Y N) =

N

  • i=1

I(Ui; Y N, Ui−1) =

N

  • i=1

C(Wi) Define bit-channels Wi : Ui → (Y N, Ui−1) Wvec UN Ui+1 Ui Ui−1 U1 U1 Ui−1 YN Yi Y1 Wi

Channel polarization The method 9 / 95

slide-12
SLIDE 12

Polarization is commonplace

◮ Polarization is the rule not the

exception

◮ A random permutation

GN : {0, 1}N → {0, 1}N is a good polarizer with high probability

◮ Equivalent to Shannon’s random

coding approach W W W GN XN X2 X1 YN Y2 Y1 UN U2 U1

Channel polarization The method 10 / 95

slide-13
SLIDE 13

Random polarizers: stepwise, isotropic

5 10 15 20 25 30 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity

Isotropy: any redistribution order is as good as any other.

Channel polarization The method 11 / 95

slide-14
SLIDE 14

The complexity issue

◮ Random polarizers lack structure, too complex to implement ◮ Need a low-complexity polarizer ◮ May sacrifice stepwise, isotropic properties of random

polarizers in return for less complexity

Channel polarization The method 12 / 95

slide-15
SLIDE 15

Basic module for a low-complexity scheme

Combine two copies of W +

U2 U1

G2

W W Y2 Y1 X2 X1

and split to create two bit-channels W1 : U1 → (Y1, Y2) W2 : U2 → (Y1, Y2, U1)

Channel polarization Recursive method 13 / 95

slide-16
SLIDE 16

The first bit-channel W1

W1 : U1 → (Y1, Y2) +

random U2 U1 W W Y2 Y1

C(W1) = I(U1; Y1, Y2)

Channel polarization Recursive method 14 / 95

slide-17
SLIDE 17

The second bit-channel W2

W2 : U2 → (Y1, Y2, U1) +

U2 U1 W W Y2 Y1

C(W2) = I(U2; Y1, Y2, U1)

Channel polarization Recursive method 15 / 95

slide-18
SLIDE 18

Capacity conserved but redistributed unevenly

+

U2 U1 W W Y2 Y1 X2 X1 ◮ Conservation:

C(W1) + C(W2) = 2C(W )

◮ Extremization:

C(W1) ≤ C(W ) ≤ C(W2) with equality iff C(W ) equals 0 or 1.

Channel polarization Recursive method 16 / 95

slide-19
SLIDE 19

Extremality of BEC

H(U1|Y1Y2) ≤ H(X1|Y1) + H(X2|Y2) − H(X1|Y1)H(X2|Y2) with equality iff W is a BEC. +

U2 U1 W W Y2 Y1 X2 X1

Channel polarization Recursive method 17 / 95

slide-20
SLIDE 20

Extremality of BSC (Mrs. Gerber’s lemma)

Let H−1 : [0, 1

2] → [0, 1 2] be the inverse of the binary entropy

function H(p) = −p log(p) − (1 − p) log(1 − p), 0 ≤ p ≤ 1

2.

H(U1|Y1Y2) ≥ H

  • H−1(H(X1|Y1)) ∗ H−1(H(X2|Y2))
  • with equality iff W is a BSC.

+

U2 U1 W W Y2 Y1 X2 X1

Channel polarization Recursive method 18 / 95

slide-21
SLIDE 21

Notation

The two channels created by the basic transform (W , W ) → (W1, W2) will be denoted also as W − = W1 and W + = W2 Likewise, we write W −−, W −+ for descendants of W −; and W +−, W ++ for descendants of W +.

Channel polarization Recursive method 19 / 95

slide-22
SLIDE 22

For the size-4 construction

+

W W

Channel polarization Recursive method 20 / 95

slide-23
SLIDE 23

... duplicate the basic transform

+ +

W W W W

Channel polarization Recursive method 20 / 95

slide-24
SLIDE 24

... obtain a pair of W − and W + each

W + W + W − W −

Channel polarization Recursive method 20 / 95

slide-25
SLIDE 25

... apply basic transform on each pair

+ +

W + W + W − W −

Channel polarization Recursive method 20 / 95

slide-26
SLIDE 26

... decode in the indicated order

+ +

W + W + W − W − U4 U2 U3 U1

Channel polarization Recursive method 20 / 95

slide-27
SLIDE 27

... obtain the four new bit-channels

W ++ W −+ W +− W −− U4 U2 U3 U1

Channel polarization Recursive method 20 / 95

slide-28
SLIDE 28

Overall size-4 construction

+ + + +

W W W W U4 U2 U3 U1 Y4 Y2 Y3 Y1 X4 X2 X3 X1

Channel polarization Recursive method 20 / 95

slide-29
SLIDE 29

“Rewire” for standard-form size-4 construction

+ + + +

W W W W U4 U3 U2 U1 Y4 Y3 Y2 Y1 X4 X3 X2 X1

Channel polarization Recursive method 20 / 95

slide-30
SLIDE 30

Size 8 construction

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 U8 U7 U6 U5 U4 U3 U2 U1 X8 X7 X6 X5 X4 X3 X2 X1

Channel polarization Recursive method 21 / 95

slide-31
SLIDE 31

Polarization of a BEC W

Polarization is easy to analyze when W is a BEC. If W is a BEC(ǫ), then so are W − and W +, with erasure probabili- ties ǫ− ∆ = 2ǫ − ǫ2 and ǫ+ ∆ = ǫ2 respectively. 1 − ǫ 1 − ǫ ǫ ǫ 1 1 ? W

Channel polarization Recursive method 22 / 95

slide-32
SLIDE 32

The first bit channel W −

The first bit channel W − is a BEC. If W is a BEC(ǫ), then so are W − and W +, with erasure probabili- ties ǫ− ∆ = 2ǫ − ǫ2 and ǫ+ ∆ = ǫ2 respectively. 1 − ǫ− 1 − ǫ− ǫ− ǫ− 1 1 ? W −

Channel polarization Recursive method 22 / 95

slide-33
SLIDE 33

The second bit channel W +

The second bit channel W + is a BEC. If W is a BEC(ǫ), then so are W − and W +, with erasure probabili- ties ǫ− ∆ = 2ǫ − ǫ2 and ǫ+ ∆ = ǫ2 respectively. 1 − ǫ+ 1 − ǫ+ ǫ+ ǫ+ 1 1 ? W +

Channel polarization Recursive method 22 / 95

slide-34
SLIDE 34

Polarization for BEC(1

2): N = 16

2 4 6 8 10 12 14 16 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=16

Channel polarization Recursive method 23 / 95

slide-35
SLIDE 35

Polarization for BEC(1

2): N = 32

5 10 15 20 25 30 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=32

Channel polarization Recursive method 23 / 95

slide-36
SLIDE 36

Polarization for BEC(1

2): N = 64

10 20 30 40 50 60 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=64

Channel polarization Recursive method 23 / 95

slide-37
SLIDE 37

Polarization for BEC(1

2): N = 128

20 40 60 80 100 120 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=128

Channel polarization Recursive method 23 / 95

slide-38
SLIDE 38

Polarization for BEC(1

2): N = 256

50 100 150 200 250 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=256

Channel polarization Recursive method 23 / 95

slide-39
SLIDE 39

Polarization for BEC(1

2): N = 512

50 100 150 200 250 300 350 400 450 500 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=512

Channel polarization Recursive method 23 / 95

slide-40
SLIDE 40

Polarization for BEC(1

2): N = 1024

100 200 300 400 500 600 700 800 900 1000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Bit channel index Capacity Capacity of bit channels

N=1024

Channel polarization Recursive method 23 / 95

slide-41
SLIDE 41

Polarization martingale

1 1 2 3 4 5 6 7 8

C(W ) C(W2) C(W1) C(W ++) C(W −+) C(W +−) C(W −−)

Channel polarization Recursive method 24 / 95

slide-42
SLIDE 42

Theorem (Polarization, A. 2007)

The bit-channel capacities {C(Wi)} polarize: for any δ ∈ (0, 1), as the construction size N grows

  • no. channels with C(Wi) > 1 − δ

N

→ C(W ) and

  • no. channels with C(Wi) < δ

N

→ 1 − C(W )

Theorem (Rate of polarization, A. and Telatar (2008))

Above theorem holds with δ ≈ 2−

√ N.

δ 1 − δ 1

Channel polarization Recursive method 25 / 95

slide-43
SLIDE 43

Channel polarization Polar coding Polar codes for selected applications

Polar coding 26 / 95

slide-44
SLIDE 44

Polar coding

◮ Code construction ◮ Encoding ◮ Decoding ◮ Performance

Polar coding 27 / 95

slide-45
SLIDE 45

Polar code example: W = BEC(1

2), N = 8, rate 1/2

I(Wi) 0.0039 0.1211 0.1914 0.6836 0.3164 0.8086 0.8789 0.9961 Rank 8 7 6 4 5 3 2 1

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 U8 U7 U6 U5 U4 U3 U2 U1 data data data frozen data frozen frozen frozen

Polar coding Encoding 28 / 95

slide-46
SLIDE 46

Polar code example: W = BEC(1

2), N = 8, rate 1/2

I(Wi) 0.0039 0.1211 0.1914 0.6836 0.3164 0.8086 0.8789 0.9961 Rank 8 7 6 4 5 3 2 1

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 U8 U7 U6 U4

Polar coding Encoding 28 / 95

slide-47
SLIDE 47

Encoding complexity

Theorem Encoding complexity for polar coding is O(N log N). Proof:

◮ Polar coding transform can be represented as a graph with

N[1 + log(N)] variables.

◮ The graph has (1 + log(N)) levels with N variables at each

level.

◮ Computation begins at the source level and can be carried out

level by level.

◮ Space complexity O(N), time complexity O(N log N).

Polar coding Encoding 29 / 95

slide-48
SLIDE 48

Encoding: an example

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 1 1 1 free free free frozen free frozen frozen frozen

Polar coding Encoding 30 / 95

slide-49
SLIDE 49

Encoding: an example

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 1 1 1 1 1 1 1 1 1 free free free frozen free frozen frozen frozen

Polar coding Encoding 30 / 95

slide-50
SLIDE 50

Encoding: an example

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 free free free frozen free frozen frozen frozen

Polar coding Encoding 30 / 95

slide-51
SLIDE 51

Encoding: an example

+ + + + + + + + + + + +

W W W W W W W W Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 free free free frozen free frozen frozen frozen

Polar coding Encoding 30 / 95

slide-52
SLIDE 52

Successive Cancellation Decoding (SCD)

Theorem The complexity of successive cancellation decoding for polar codes is O(N log N). Proof: Given below.

Polar coding Decoding 31 / 95

slide-53
SLIDE 53

SCD: Exploit the x = |a|a + b| structure

+ + + + + + + + + + + +

W W W W W W W W

y8 y7 y6 y5 y4 y3 y2 y1 u8 u7 u6 u5 u4 u3 u2 u1 x8 x7 x6 x5 x4 x3 x2 x1 a4 a3 a2 a1 b4 b3 b2 b1

Polar coding Decoding 32 / 95

slide-54
SLIDE 54

First phase: treat a as noise, decode (u1, u2, u3, u4)

+ + + + + + + +

W W W W W W W W

u4 u3 u2 u1 x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 33 / 95

slide-55
SLIDE 55

End of first phase

+ + + + + + + + + + + +

W W W W W W W W

y8 y7 y6 y5 y4 y3 y2 y1 u8 u7 u6 u5 ˆ u4 ˆ u3 ˆ u2 ˆ u1 x8 x7 x6 x5 x4 x3 x2 x1 a4 a3 a2 a1 ˆ b4 ˆ b3 ˆ b2 ˆ b1

Polar coding Decoding 34 / 95

slide-56
SLIDE 56

Second phase: Treat ˆ b as known, decode (u5, u6, u7, u8)

+ + + + + + + +

W W W W W W W W

u8 u7 u6 u5 y8 y7 y6 y5 y4 y3 y2 y1 a4 a3 a2 a1 known ˆ b4 known ˆ b3 known ˆ b2 known ˆ b1

Polar coding Decoding 35 / 95

slide-57
SLIDE 57

First phase in detail

+ + + + + + + +

W W W W W W W W

u4 u3 u2 u1 x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 36 / 95

slide-58
SLIDE 58

Equivalent channel model

+ + + +

W W W W W W W W

x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 37 / 95

slide-59
SLIDE 59

First copy of W −

+ + + +

W W W W W W W W W W

x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 38 / 95

slide-60
SLIDE 60

Second copy of W −

+ + + +

W W W W W W W W W W

x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 39 / 95

slide-61
SLIDE 61

Third copy of W −

+ + + +

W W W W W W W W W W

x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 40 / 95

slide-62
SLIDE 62

Fourth copy of W −

+ + + +

W W W W W W W W W W

x8 x7 x6 x5 x4 x3 x2 x1 y8 y7 y6 y5 y4 y3 y2 y1 noise a4 noise a3 noise a2 noise a1 b4 b3 b2 b1

Polar coding Decoding 41 / 95

slide-63
SLIDE 63

Decoding on W −

+ + + +

W − W − W − W −

u4 u3 u2 u1 (y4, y8) (y3, y7) (y2, y6) (y1, y5) b4 b3 b2 b1

Polar coding Decoding 42 / 95

slide-64
SLIDE 64

b = |t|t + w|

+ + + +

W − W − W − W −

u4 u3 u2 u1 (y4, y8) (y3, y7) (y2, y6) (y1, y5) b4 b3 b2 b1 t2 t1 w2 w1

Polar coding Decoding 43 / 95

slide-65
SLIDE 65

Decoding on W −−

+

W −− W −−

u2 u1 (y2, y4, y6, y8) (y1, y3, y5, y7) w2 w1

Polar coding Decoding 44 / 95

slide-66
SLIDE 66

Decoding on W −−−

W −−−

u1 (y1, y2, . . . , y8) Compute L−−− ∆ = W −−−(y1, . . . , y8 | u1 = 0) W −−−(y1, . . . , y8 | u1 = 1) and set ˆ u1 =      u1 if u1 is frozen else if L−−− > 0 1 else

Polar coding Decoding 45 / 95

slide-67
SLIDE 67

Decoding on W −−+

+

W −− W −−

u2 known ˆ u1 (y2, y4, y6, y8) (y1, y3, y5, y7)

Polar coding Decoding 46 / 95

slide-68
SLIDE 68

Decoding on W −−+

W −−+

u2 (y1, . . . , y8, ˆ u1) Compute L−−+ ∆ = W −−+(y1, . . . , y8, ˆ u1 | u2 = 0) W −−+(y1, . . . , y8, ˆ u1 | u2 = 1) and set ˆ u2 =      u2 if u2 is frozen else if L−−+ > 0 1 else

Polar coding Decoding 46 / 95

slide-69
SLIDE 69

Complexity for successive cancelation decoding

◮ Let CN be the complexity of decoding a code of length N ◮ Decoding problem of size N for W reduced to two decoding

problems of size N/2 for W − and W +

◮ So

CN = 2CN/2 + kN for some constant k

◮ This gives CN = O(N log N)

Polar coding Decoding 47 / 95

slide-70
SLIDE 70

Performance of polar codes

Probability of Error (A. and Telatar (2008) For any binary-input symmetric channel W , the probability of frame error for polar coding at rate R < C(W ) and using codes of length N is bounded as Pe(N, R) ≤ 2−N0.49 for sufficiently large N. A more refined versions of this result has been given given by S. H. Hassani, R. Mori, T. Tanaka, and R. L. Urbanke (2011).

Polar coding Decoding 48 / 95

slide-71
SLIDE 71

Construction complexity

Construction Complexity Polar codes can be constructed in time O(Npoly(log(N))). This result has been developed in a sequence of papers by

◮ R. Mori and T. Tanaka (2009) ◮ I. Tal and A. Vardy (2011) ◮ R. Pedarsani, S. H. Hassani, I. Tal, and E. Telatar (2011)

Polar coding Construction 49 / 95

slide-72
SLIDE 72

Gaussian approximation

◮ Trifonov (2011) introduced a Gaussian approximation

technique for constructing polar codes

◮ Dai et al. (2015) studied various refinements of Gaussian

approximation for polar code construction

◮ These methods work extremely well although a satisfactory

explanation of why they work is still missing

Polar coding Construction 50 / 95

slide-73
SLIDE 73

Example of Gaussian approximation

Polar code construction and performance estimation by Gaussian approximation

1 2 3 4 5 6 7 8

Es/N0 (dB)

10-6 10-5 10-4 10-3 10-2 10-1 100

FER

Polar(65536,61440,8) - BPSK Ultimate Shannon limit BPSK Shannon limit Threshold SNR at target FER Gaussian approximation

Shannon BPSK limit Shannon limit Gap to ultimate capacity = 3.42 Gap to BPSK capacity = 1.06 Polar coding Construction 51 / 95

slide-74
SLIDE 74

Polar coding summary

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)

.

Polar coding Construction 52 / 95

slide-75
SLIDE 75

Performance improvement for polar codes

◮ Concatenation to improve minimum distance ◮ List decoding to improve SC decoder performance

Polar coding Performance 53 / 95

slide-76
SLIDE 76

Concatenation

Method Ref Block turbo coding with polar constituents AKMOP (2009) Generalized concatenated coding with polar inner AM (2009) Reed-Solomon outer, polar inner BJE (2010) Polar outer, block inner SH (2010) Polar outer, LDPC inner EP (ISIT’2011) AKMOP: A., Kim, Markarian, ¨ Ozg¨ ur, Poyraz GCC: A., Markarian BJE: Bakshi, Jaggi, and Effros SH: Seidl and Huber EP: Eslami and Pishro-Nik

Polar coding Performance 54 / 95

slide-77
SLIDE 77

Overview of decoders for polar codes

◮ Successive cancellation decoding: A depth-first search method

with complexity roughly N log N

◮ Sufficient to prove that polar codes achieve capacity ◮ Equivalent to an earlier algorithm by Schnabl and Bossert

(1995) for RM codes

◮ Simple but not powerful enough to challenge LDPC and turbo

codes in short to moderate lengths

◮ List decoding: A breadth-first search algorithm with limited

branching (known as “beam search” in AI).

◮ First proposed by Tal and Vardy (2011) for polar codes. ◮ List decoding was used earlier by Dumer and Shabunov (2006)

for RM codes

◮ Complexity grows as O(LN log N) for a list size L. But

hardware implementation becomes problematic as L grows due to sorting and memory management.

◮ Sphere-decoding (“British Museum” search with branch and

bound, starts decoding from the opposite side).

Polar coding Performance 55 / 95

slide-78
SLIDE 78

List decoder for polar codes

◮ First produce L candidate decisions ◮ Pick the most likely word from the list ◮ Complexity O(LN log N)

Polar coding Performance 56 / 95

slide-79
SLIDE 79

Polar code performance

Successive cancellation decoder

EsNo (dB)

0.5 1 1.5 2 2.5 3 3.5

FER

10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2

Polar coding Performance 57 / 95

slide-80
SLIDE 80

Polar code performance

Improvement by list-decoding: List-32

EsNo (dB)

0.5 1 1.5 2 2.5 3 3.5

FER

10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-0, SNR = 2

Polar coding Performance 58 / 95

slide-81
SLIDE 81

Polar code performance

Improvement by list-decoding: List-1024

EsNo (dB)

0.5 1 1.5 2 2.5 3 3.5

FER

10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-1024, CRC-0, SNR = 2

Polar coding Performance 59 / 95

slide-82
SLIDE 82

Polar code performance

Comparison with ML bound

EsNo (dB)

0.5 1 1.5 2 2.5 3 3.5

FER

10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-1024, CRC-0, SNR = 2 ML Bound for P(2048,1024), 4-QAM

Polar coding Performance 60 / 95

slide-83
SLIDE 83

Polar code performance

Introducing CRC improves performance at high SNR

EsNo (dB)

0.5 1 1.5 2 2.5 3 3.5

FER

10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-1024, CRC-0, SNR = 2 ML Bound for P(2048,1024), 4-QAM P(2048,1024), 4-QAM, L-32, CRC-16, SNR = 2

Polar coding Performance 61 / 95

slide-84
SLIDE 84

Polar code performance

Comparison with dispersion bound

EsNo (dB)

0.5 1 1.5 2 2.5 3 3.5 4

FER

10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-1024, CRC-0, SNR = 2 ML Bound for P(2048,1024), 4-QAM P(2048,1024), 4-QAM, L-32, CRC-16, SNR = 2 Dispersion bound for (2048,1024)

Polar coding Performance 62 / 95

slide-85
SLIDE 85

Polar codes vs WiMAX Turbo Codes

Comparable performance obtained with List-32 + CRC

EsNo (dB) 0.5 1 1.5 2 2.5 3 3.5 4 FER 10-5 10-4 10-3 10-2 10-1 100

P(1024,512), 4-QAM, L-1, CRC-0, SNR = 2 P(1024,512), 4-QAM, L-32, CRC-0, SNR = 2 P(1024,512), 4-QAM, L-32, CRC-16, SNR = 2 Dispersion bound for (1024,512) WiMAX CTC (960,480)

Polar coding Performance 63 / 95

slide-86
SLIDE 86

Polar codes vs WiMAX LDPC Codes

Better performance obtained with List-32 + CRC

EsNo (dB) 0.5 1 1.5 2 2.5 3 3.5 4 FER 10-5 10-4 10-3 10-2 10-1 100

P(2048,1024), 4-QAM, L-1, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-0, SNR = 2 P(2048,1024), 4-QAM, L-32, CRC-16, SNR = 2 Dispersion bound for (2048,1024) WiMAX LDPC(2304,1152), Max Iter = 100

Polar coding Performance 64 / 95

slide-87
SLIDE 87

Polar Codes vs DVB-S2 LDPC Codes

LDPC (16200,13320), Polar (16384,13421). Rates = 0.82. BPSK-AWGN channel.

2 2.5 3 3.5 10

−4

10

−3

10

−2

10

−1

10 Polar N = 16384, R = 37/45, Frame Error Rate of List Decoder Eb/N0 (dB) FER Polar List = 1 Polar List = 32 Polar List 32 with CRC DVBS216200 37/45 Polar coding Performance 65 / 95

slide-88
SLIDE 88

Polar codes vs IEEE 802.11ad LDPC codes

Park (2014) gives the following performance comparison. (Park’s result on LDPC conflicts with reference IEEE 802.11-10/0432r2. Whether there exists an error floor as shown needs to be confirmed independently.)

Source: Youn Sung Park, “Energy-Effcient Decoders of Near-Capacity Channel Codes,” PhD Dissertation, The University of Michigan, 2014.

Polar coding Performance 66 / 95

slide-89
SLIDE 89

Summary of performance comparisons

◮ Successive cancellation decoder is simplest but inherently

sequential which limits throughput

◮ BP decoder improves throughput and with careful design

performance

◮ List decoder but significantly improves performance at low

SNR

◮ Adding CRC to list decoding improves performance

significantly at high SNR with little extra complexity

◮ Overall, polar codes under list-32 decoding with CRC offer

performance comparable to codes used in present wireless standards

Polar coding Performance 67 / 95

slide-90
SLIDE 90

Implementation performance metrics

Implementation performance is measured by

◮ Chip area (mm2) ◮ Throughput (Mbits/sec) ◮ Energy efficiency (nJ/bit) ◮ Hardware efficiency (Mb/s/mm2)

Polar coding Polar coding performance 68 / 95

slide-91
SLIDE 91

Successive cancellation decoder comparisons

[1] [2]1 [3]2 Decoder Type SC SC BP Block Length 1024 1024 1024 Technology 90 nm 65 nm 65 nm Area [mm2] 3.213 0.68 1.476 Voltage [V] 1.0 1.2 1.0 0.475 Frequency [MHz] 2.79 1010 300 50 Power [mW] 32.75

  • 477.5

18.6 Throughput [Mb/s] 2860 497 4676 779.3 Engy.-per-bit [pJ/b] 11.45

  • 102.1

23.8

  • Hard. Eff. [Mb/s/mm2]

890 730 3168 528 [1] O. Dizdar and E. Arıkan, arXiv:1412.3829, 2014. [2] Y. Fan and C.-Y. Tsui, “An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation,” Signal Processing, IEEE Transactions on, vol. 62, no. 12, pp. 3165-3179, June 2014. [3] C. Zhang, B. Yuan, and K. K. Parhi, “Reduced-latency SC polar decoder architectures,” arxiv.org, 2011. 1Throughput 730 Mb/s calculated by technology conversion metrics 2Performance at 4 dB SNR with average no of iterations 6.57 Polar coding Polar coding performance 69 / 95

slide-92
SLIDE 92

BP decoder comparisons

Property Unit [1] [2] [3] [3] [4] [4] Decoding type and Scheduling SCD with folded HPPSN Specialized SC BP Circular Unidirec- tional BP Circular Unidirec- tional BP All-ON, Fully Parallel BP Circular Unidirec- tional, Reduced Complexity Block length 1024 16384 1024 1024 1024 1024 Rate 0.9 0.5 0.5 0.5 0.5 Technology CMOS Altera Stratix 4 CMOS CMOS CMOS CMOS Process nm 65 40 65 65 45 45 Core area mm2 0.068 1.48 1.48 12.46 1.65 Supply V 1.2 1.35 1 0.475 1 1 Frequency MHz 1010 106 300 50 606 555 Power mW 477.5 18.6 2056.5 328.4 Iterations 1 1 15 15 15 15 Throughput∗ Mb/s 497 1091 1024 171 2068 1960 Energy efficiency pJ/b 102.1 23.8 110.5 19.3 Energy eff. per iter. pJ/b/iter 15.54 3.63 7.36 1.28 Area efficiency Mb/s/mm2 7306.78 693.77 99.80 166.01 1187.71 Normalized to 45 nm according to ITRS roadmap Throughput∗ Mb/s 613.4 1263.8 210.6 2068 1960 Energy efficiency pJ/b 149.6 34.9 110.5 19.3 Area efficiency Mb/s/mm2 18036.5 1250.21 179.85 166.01 1187.71 ∗ Throughput obtained by disabling the BP early-stopping rules for fair comparison. [1] Y.-Z. Fan and C.-Y. Tsui, “An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation,” IEEE Transactions on Signal Processing, vol. 62, no. 12, pp. 3165–3179, June 2014. [2] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, “Fast polar decoders: Algorithm and implementation,” IEEE Journal on Selected Areas in Communications, vol. 32, no. 5, pp. 946–957, May 2014. [3] Y. S. Park, “Energy-efficient decoders of near-capacity channel codes,” in http://deepblue.lib.umich.edu/handle/2027.42/108731, 23 October 2014 PhD. [4] A. D. G. Biroli, G. Masera, E. Arıkan, “High-throughput belief propagation decoder architectures for polar codes,” submitted 2015.

Polar coding Polar coding performance 70 / 95

slide-93
SLIDE 93

Channel polarization Polar coding Polar codes for selected applications

Polar codes for selected applications 71 / 95

slide-94
SLIDE 94

Polar codes for selected applications

◮ 60 GHz wireless ◮ Optical access networks ◮ 5G

Polar codes for selected applications 72 / 95

slide-95
SLIDE 95

Millimeter Wave 60 GHz Communications

◮ 7 GHz of bandwidth available (57-64 GHz allocated in the US) ◮ Free-space path loss (4πd/λ)2 is high at λ = 5 mm but

compensated by large antenna arrays.

◮ Propagation range limited severely by O2 absorption. Cells

confined to rooms.

Polar codes for selected applications 60 GHz Wireless 73 / 95

slide-96
SLIDE 96

Millimeter Wave 60 GHz Communications

◮ Recent IEEE 802.11.ad Wi-Fi standard operates at 60 GHz

ISM band and uses an LDPC code with block length 672 bits, rates 1/2, 5/8, 3/4, 13/16.

◮ Two papers compare polar codes that study polar coding for

60 GHz applications:

◮ Z. Wei, B. Li, and C. Zhao, “On the polar code for the 60 GHz

millimeter-wave systems,” EURASIP, JWCN, 2015.

◮ Youn Sung Park, “Energy-Effcient Decoders of Near-Capacity

Channel Codes,” PhD Dissertation, The University of Michigan, 2014.

Polar codes for selected applications 60 GHz Wireless 74 / 95

slide-97
SLIDE 97

Millimeter Wave 60 GHz Communications

Wei et al compare polar codes with the LDPC codes used in the standard using a nonlinear channel model

Wei, B. Li, and C. Zhao, “On the polar code for the 60 GHz millimeter-wave systems,” EURASIP, JWCN, 2015.

Polar codes for selected applications 60 GHz Wireless 75 / 95

slide-98
SLIDE 98

Millimeter Wave 60 GHz Communications

Wei et al compare polar codes with the LDPC codes used in the standard using a nonlinear channel model

Wei, B. Li, and C. Zhao, “On the polar code for the 60 GHz millimeter-wave systems,” EURASIP, JWCN, 2015.

Polar codes for selected applications 60 GHz Wireless 76 / 95

slide-99
SLIDE 99

Millimeter Wave 60 GHz Communications

Wei et al compare polar codes with the LDPC codes used in the standard using a nonlinear channel model

Wei, B. Li, and C. Zhao, “On the polar code for the 60 GHz millimeter-wave systems,” EURASIP, JWCN, 2015.

Polar codes for selected applications 60 GHz Wireless 77 / 95

slide-100
SLIDE 100

Polar codes vs IEEE 802.11ad LDPC codes

Park (2014) gives the following performance comparison. (Park’s result on LDPC conflicts with reference IEEE 802.11-10/0432r2. Whether there exists an error floor as shown needs to be confirmed independently.)

Source: Youn Sung Park, “Energy-Effcient Decoders of Near-Capacity Channel Codes,” PhD Dissertation, The University of Michigan, 2014.

Polar codes for selected applications 60 GHz Wireless 78 / 95

slide-101
SLIDE 101

Polar codes vs IEEE 802.11ad LDPC codes

In terms of implementation complexity and throughput, Park (2014) gives the following figures.

Source: Youn Sung Park, “Energy-Efficient Decoders of Near-Capacity Channel Codes,” PhD Dissertation, The University of Michigan, 2014.

Polar codes for selected applications 60 GHz Wireless 79 / 95

slide-102
SLIDE 102

Optical access/transport network

◮ 10-100 Gb/s at 1E-12 BER ◮ OTU4 (100 Gb/s Ethernet) and ITU G.975.1 standards use

Reed-Solomon (RS) codes

◮ The challenge is to provide high reliability at low hardware

complexity.

Polar codes for selected applications Optical access 80 / 95

slide-103
SLIDE 103

Polar codes for optical access/transport

There have been some studies of polar codes fore optical transmission.

◮ A. Eslami and H. Pishro-Nik, “A practical approach to polar

codes,” ISIT 2011. (Considers a polar-LDPC concatenated code and compares it with OTU4 RS codes.)

◮ Z. Wu and B. Lankl, “Polar codes for low-complexity forward

error correction in optical access networks,” ITG-Fachbericht 248: Photonische Netze - 05, 06.05.2014, Leipzig. (Compares polar codes with G.975.1 RS codes.)

◮ T. Ahmad, “Polar codes for optical communications”, MS

Thesis, Bilkent University, May 2016.

◮ L. Beygi, E. Agrell, J. M. Kahn, and M. Karlsson, “Coded

modulation for fiber-optic networks,” IEEE Sig. Proc. Mag.,

  • Mar. 2014. (Coded modulation for optical transport.)

Polar codes for selected applications Optical access 81 / 95

slide-104
SLIDE 104

Comparison of polar codes with G.975.1 RS codes

Source: Z. Wu and B. Lankl, above reference.

Polar codes for selected applications Optical access 82 / 95

slide-105
SLIDE 105

Comparison of polar codes with G.975.1 RS codes

Source: Z. Wu and B. Lankl, above reference.

Polar codes for selected applications Optical access 83 / 95

slide-106
SLIDE 106

Comparison of polar codes with all codes in G.975.1

In a recent MS thesis, T. Ahmad compared polar codes with G.975.1 codes.

5 6 7 8 9 10 11 12 13 14 15 16 Eb/N0 (dB) 10-15 10-14 10-13 10-12 10-11 10-10 10-9 BER Polar codes are optimized for a target BER of 10-12 BERin(coded) (with FEC overhead) BERin(uncoded) (without FEC overhead) Concatenated BCH super FEC Concatenated RS/BCH RS/Product code, quantization= 2 bits RS/Product code, quantization= 1 bit LDPC super FEC RS (255, 239) RS (2720, 2550) Polar (2040, 1912) Polar (32640, 30592) polar (130560, 122368) Polar (261120, 244736)

Polar codes for selected applications Optical access 84 / 95

slide-107
SLIDE 107

Comparison of polar codes with all codes in G.975.1

The conclusion of Ahmad (2016) is that polar codes perform better than all G.975.1 FEC schemes.

FEC Code BERin NCG (dB) CG (dB) Q (dB)

Eb No (dB)

RS (255, 239) 1.82E-04 5.62 5.90 11.04 8.31 LDPC super FEC code 1.33E-03 7.10 7.39 9.56 6.83 RS (2720, 2550) 1.26E-03 7.06 7.34 9.60 6.87

  • Conc. RS/CSOC code(24.5%OH)

5.80E-03 7.95 8.90 8.04 5.31 Concatenated BCH code 3.30E-03 7.98 8.26 8.68 5.95

  • Conc. RS/BCH code

2.26E-03 7.63 7.91 9.06 6.34

  • Conc. RS/Product code

4.60E-03 8.40 8.68 8.30 5.57 Polar (2040, 1912) 2.81E-04 5.91 6.19 10.75 8.02 Polar (32640, 30592) 2.60E-03 7.74 8.02 8.92 6.20 Polar (130560, 122368) 4.61E-03 8.35 8.63 8.31 5.58 Polar (261120, 244736) 5.72E-03 8.60 8.89 8.06 5.33 Polar codes for selected applications Optical access 85 / 95

slide-108
SLIDE 108

Comparison of polar codes with 3rd Generation FEC for

  • ptical transport

Ahmad’s study finds that polar codes fall short of beating 3G FEC proposed for optical transport.

FEC code NCG (dB) Comments Polar (32640, 27200) 10.07 Ahmad (2016) Polar (130560, 108800) 10.79 Ahmad (2016) Polar (261120, 217600) 11.07 Ahmad (2016) Polar (522240, 435200) 11.30 Ahmad (2016) CC-LDPC (10032, 4, 24) 11.50 3G FEC, 12 iterations QC-LDPC (18360, 15300) 11.30 3G FEC, 12 iterations

Polar codes for selected applications Optical access 86 / 95

slide-109
SLIDE 109

Summary

◮ With list-decoding and CRC polar codes deliver comparable

performance to LDPC and Turbo codes used in present wireless standards

◮ SoA in coding is already close to theoretical limits, leaving

little margin for improvement

◮ Polar coding compared to SoA offers some advantages:

◮ Universal: the same hardware can be used with different code

lengths, rates, channels

◮ Flexible: the code rate can be adjusted readily to any number

between 0 and 1

◮ Versatile: can be used in multi-terminal coding scenarios Polar codes for selected applications Polar code outlook 87 / 95

slide-110
SLIDE 110

FEC for 5G

◮ What is 5G? ◮ What will be new in terms of FEC?

Polar codes for selected applications 5G applications 88 / 95

slide-111
SLIDE 111

What is 5G?

Andrews et al.3 answer this question as follows.

◮ It willl not be an incremental advance over 4G. ◮ Will be characterized by

◮ Very high frequencies and massive bandwidths with very large

no of antennas

◮ Extreme base station and device connectivity ◮ Universal connectivity between 5G new air interfaces, LTE,

WiFi, etc.

3Andrews et al., “What will 5G be?” JSAC 2014 Polar codes for selected applications 5G applications 89 / 95

slide-112
SLIDE 112

Technical requirements for 5G

Again, according to Andrews et al., 5G will have to meet the following requirements (not all at once):

◮ Data rates compared to 4G

◮ Aggregate: 1000 times more capacity/km2 compared to 4G ◮ Cell-edge: 100 - 1000 Mb/s/user with 95% guarantee ◮ Peak: 10s of Gb/s/user

◮ Round-trip latency: Some applications (tactile Internet,

two-way gaming, virtual reality) will require 1 ms latency compared to 10-15 ms that 4G can provide

◮ Energy and cost: Link energy consumption should remain the

same as data rates increase, meaning that a 100-times more energy-efficient link is required

◮ No of devices: 10,000 more low-rate devices for M2M

communications, along with traditional high-rate users

Polar codes for selected applications 5G applications 90 / 95

slide-113
SLIDE 113

Key technology ingredients for 5G

It is generally agreed that the 1000x aggregate data rate increase will be possible through a combination of three types of gains.

◮ Densification of network access nodes ◮ Increased bandwidth (move to mm waves) ◮ Increased spectral efficiency through new communication

techniques:

◮ advanced MIMO ◮ improved multi-access ◮ better interference management ◮ improved coding and modulation schemes Polar codes for selected applications 5G applications 91 / 95

slide-114
SLIDE 114

Energy challenge

◮ Latest smartphone batteries have a power rating of about 10

Wh (2550 mAh at 3.85 V) or an energy of 36 kJ = 3.6E13 nJ

◮ Typical energy consumption at the decoder today is 1-10

nJ/bit

◮ At 3.6 nJ/bit and a data rate of 1 Gb/s, the FEC consumes

all battery power in 20 mins!

◮ Technology challenge: Build FEC with energy consumption

less than 10 pJ/bit

Polar codes for selected applications 5G applications 92 / 95

slide-115
SLIDE 115

Throughput challenge

Typical backbone (fronthaul/backhaul) requirement for the near future:

◮ 1 Tb/s data rate ◮ Frame Error Rate (FER) better than 1E-15 ◮ Latency: 10-200 µsec ◮ Total power consumption: 20 W max (20 pJ/bit)

Polar codes for selected applications 5G applications 93 / 95

slide-116
SLIDE 116

Outlook for applied FEC research

Applied FEC research will remain an active area for the next decade

◮ Diverse set of applications, diverse set of requirements ◮ More sophisticated coding techniques to serve multi-user

techniques (relaying, etc.) are in demand

◮ One-size-fits-all type of solution impossible ◮ A trade-off will emerge given the conflicting demands for

energy-efficiency, low-latency, flexibility, and near-optimal performance

Polar codes for selected applications 5G applications 94 / 95

slide-117
SLIDE 117

Thank you!

Polar codes for selected applications 5G applications 95 / 95