YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar Coding Tutorial

Erdal Arıkan

Electrical-Electronics Engineering DepartmentBilkent UniversityAnkara, Turkey

Jan. 15, 2015Simons InstituteUC Berkeley

Page 2: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The channel

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

WX Y

◮ input alphabet: X = {0, 1},

◮ output alphabet: Y,

◮ transition probabilities:

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

Page 3: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The channel

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

WX Y

◮ input alphabet: X = {0, 1},

◮ output alphabet: Y,

◮ transition probabilities:

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

Page 4: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The channel

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

WX Y

◮ input alphabet: X = {0, 1},

◮ output alphabet: Y,

◮ transition probabilities:

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

Page 5: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The channel

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

WX Y

◮ input alphabet: X = {0, 1},

◮ output alphabet: Y,

◮ transition probabilities:

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

Page 6: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Symmetry assumption

Assume that the channel has “input-output symmetry.”

Page 7: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Symmetry assumption

Assume that the channel has “input-output symmetry.”

Examples:

1− ǫ

1− ǫ

ǫ

ǫ

1

0

1

0

BSC(ǫ)

Page 8: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Symmetry assumption

Assume that the channel has “input-output symmetry.”

Examples:

1− ǫ

1− ǫ

ǫ

ǫ

1

0

1

0

BSC(ǫ)

1− ǫ

1− ǫ

ǫ

ǫ

1

0

1

0

?

BEC(ǫ)

Page 9: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Capacity

For channels with input-output symmetry, the capacity is given by

C (W )∆= I (X ;Y ), with X ∼ unif. {0, 1}

Page 10: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 11: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 12: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 13: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 14: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 15: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The method: aggregate and redistribute capacity

W

W

b

b

b

W

Original channels(uniform)

Page 16: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The method: aggregate and redistribute capacity

W

W

b

b

b

W

Original channels(uniform)

Wvec

Vectorchannel

Combine

Page 17: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The method: aggregate and redistribute capacity

W

W

b

b

b

W

Original channels(uniform)

Wvec

Vectorchannel

Combine

WN

WN−1

b

b

b

W1

Split

New channels(polarized)

Page 18: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

WXN

X2

X1

YN

Y2

Y1

Page 19: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

WXN

X2

X1

YN

Y2

Y1

GN

UN

U2

U1

Page 20: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

WXN

X2

X1

YN

Y2

Y1

GN

UN

U2

U1

Wvec

Page 21: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 (XN ;Y N)

= NC (W )

W

W

W

GN

XN

X2

X1

YN

Y2

Y1

UN

U2

U1

Wvec

Page 22: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 (XN ;Y N)

= NC (W )

W

W

W

GN

XN

X2

X1

YN

Y2

Y1

UN

U2

U1

Wvec

Page 23: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 (XN ;Y N)

= NC (W )

W

W

W

GN

XN

X2

X1

YN

Y2

Y1

UN

U2

U1

Wvec

Page 24: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Splitting

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

Wvec

UN

Ui+1

Ui

Ui−1

U1

YN

Yi

Y1

Page 25: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Splitting

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

=N∑

i=1

I (Ui ;YN ,U i−1)

Wvec

UN

Ui+1

Ui

Ui−1

U1

YN

Yi

Y1

Page 26: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Splitting

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

=N∑

i=1

I (Ui ;YN ,U i−1)

Define bit-channels

Wi : Ui → (Y N ,U i−1)

Wvec

UN

Ui+1

Ui

Ui−1

U1

U1

Ui−1

YN

Yi

Y1

Wi

Page 27: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Splitting

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

=N∑

i=1

I (Ui ;YN ,U i−1)

=N∑

i=1

C (Wi )

Define bit-channels

Wi : Ui → (Y N ,U i−1)

Wvec

UN

Ui+1

Ui

Ui−1

U1

U1

Ui−1

YN

Yi

Y1

Wi

Page 28: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization is commonplace

◮ Polarization is the rule not theexception

◮ A random permutation

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

is a good polarizer with highprobability

◮ Equivalent to Shannon’s randomcoding approach

W

W

W

GN

XN

X2

X1

YN

Y2

Y1

UN

U2

U1

Page 29: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization is commonplace

◮ Polarization is the rule not theexception

◮ A random permutation

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

is a good polarizer with highprobability

◮ Equivalent to Shannon’s randomcoding approach

W

W

W

GN

XN

X2

X1

YN

Y2

Y1

UN

U2

U1

Page 30: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization is commonplace

◮ Polarization is the rule not theexception

◮ A random permutation

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

is a good polarizer with highprobability

◮ Equivalent to Shannon’s randomcoding approach

W

W

W

GN

XN

X2

X1

YN

Y2

Y1

UN

U2

U1

Page 31: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Random polarizers: stepwise, isotropic

5 10 15 20 25 300

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Page 32: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Random polarizers: stepwise, isotropic

5 10 15 20 25 300

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

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

Page 33: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The complexity issue

◮ Random polarizers lack structure, too complex to implement

◮ Need a low-complexity polarizer

◮ May sacrifice stepwise, isotropic properties of randompolarizers in return for less complexity

Page 34: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The complexity issue

◮ Random polarizers lack structure, too complex to implement

◮ Need a low-complexity polarizer

◮ May sacrifice stepwise, isotropic properties of randompolarizers in return for less complexity

Page 35: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The complexity issue

◮ Random polarizers lack structure, too complex to implement

◮ Need a low-complexity polarizer

◮ May sacrifice stepwise, isotropic properties of randompolarizers in return for less complexity

Page 36: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Basic module for a low-complexity scheme

Combine two copies of W

W

W

Y2

Y1

X2

X1

Page 37: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Basic module for a low-complexity scheme

Combine two copies of W

+

U2

U1

G2

W

W

Y2

Y1

X2

X1

Page 38: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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)

Page 39: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The first bit-channel W1

W1 : U1 → (Y1,Y2)

+

random U2

U1

W

W

Y2

Y1

Page 40: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The first bit-channel W1

W1 : U1 → (Y1,Y2)

+

random U2

U1

W

W

Y2

Y1

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

Page 41: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The second bit-channel W2

W2 : U2 → (Y1,Y2,U1)

+

U2

U1

W

W

Y2

Y1

Page 42: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

The second bit-channel W2

W2 : U2 → (Y1,Y2,U1)

+

U2

U1

W

W

Y2

Y1

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

Page 43: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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.

Page 44: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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.

Page 45: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Notation

The two channels created by the basic transform

(W ,W ) → (W1,W2)

will be denoted also as

W− = W1 and W+ = W2

Page 46: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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+.

Page 47: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

For the size-4 construction

+

W

W

Page 48: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

... duplicate the basic transform

+

+

W

W

W

W

Page 49: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

W+

W+

W−

W−

Page 50: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

... apply basic transform on each pair

+

+

W+

W+

W−

W−

Page 51: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

... decode in the indicated order

+

+

W+

W+

W−

W−

U4

U2

U3

U1

Page 52: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

... obtain the four new bit-channels

W++

W−+

W+−

W−−

U4

U2

U3

U1

Page 53: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Overall size-4 construction

+

+

+

+

W

W

W

W

U4

U2

U3

U1

Y4

Y2

Y3

Y1

X4

X2

X3

X1

Page 54: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

“Rewire” for standard-form size-4 construction

+

+

+

+

W

W

W

W

U4

U3

U2

U1

Y4

Y3

Y2

Y1

X4

X3

X2

X1

Page 55: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 56: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Demonstration of polarization

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

0

1

0

?

W

Page 57: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Demonstration of polarization

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

0

1

0

?

W−

Page 58: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Demonstration of polarization

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

0

1

0

?

W+

Page 59: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 16

2 4 6 8 10 12 14 160

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=16

Page 60: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 32

5 10 15 20 25 300

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=32

Page 61: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 64

10 20 30 40 50 600

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=64

Page 62: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 128

20 40 60 80 100 1200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=128

Page 63: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 256

50 100 150 200 2500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=256

Page 64: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 512

50 100 150 200 250 300 350 400 450 5000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=512

Page 65: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization for BEC(12): N = 1024

100 200 300 400 500 600 700 800 900 10000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Bit channel index

Cap

acity

Capacity of bit channels

N=1024

Page 66: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

C(W )

Page 67: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1

C(W )

C(W2)

C(W1)

Page 68: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 69: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 70: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22 3333

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 71: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22 3333 44444444

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 72: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22 3333 44444444 5555555555555555

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 73: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22 3333 44444444 5555555555555555 66666666666666666666666666666666

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 74: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22 3333 44444444 5555555555555555 66666666666666666666666666666666 7777777777777777777777777777777777777777777777777777777777777777

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 75: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polarization martingale

0

1

1 22 3333 44444444 5555555555555555 66666666666666666666666666666666 7777777777777777777777777777777777777777777777777777777777777777 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888

C(W )

C(W2)

C(W1)

C(W++)

C(W−+)

C(W+−)

C(W−−)

Page 76: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 . 0

δ

1− δ

1

Page 77: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 . 0

δ

1− δ

1

Page 78: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), N = 8, rate 1/2

I (Wi )

0.0039

0.1211

0.1914

0.6836

0.3164

0.8086

0.8789

0.9961

+

+

+

+

+

+

+

+

+

+

+

+

W

W

W

W

W

W

W

W

Y8

Y7

Y6

Y5

Y4

Y3

Y2

Y1

U8

U7

U6

U5

U4

U3

U2

U1

Page 79: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

Page 80: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

Page 81: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

Page 82: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

Page 83: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

data

Page 84: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

Page 85: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar code example: W = BEC(12), 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

0

U4

0

0

0

data

data

data

frozen

data

frozen

frozen

frozen

Page 86: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding complexity

Theorem

Encoding complexity for polar coding is O(N logN).

Proof:

◮ Polar coding transform can be represented as a graph withN[1 + log(N)] variables.

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

◮ Computation begins at the source level and can be carried outlevel by level.

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

Page 87: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding complexity

Theorem

Encoding complexity for polar coding is O(N logN).

Proof:

◮ Polar coding transform can be represented as a graph withN[1 + log(N)] variables.

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

◮ Computation begins at the source level and can be carried outlevel by level.

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

Page 88: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding complexity

Theorem

Encoding complexity for polar coding is O(N logN).

Proof:

◮ Polar coding transform can be represented as a graph withN[1 + log(N)] variables.

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

◮ Computation begins at the source level and can be carried outlevel by level.

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

Page 89: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding complexity

Theorem

Encoding complexity for polar coding is O(N logN).

Proof:

◮ Polar coding transform can be represented as a graph withN[1 + log(N)] variables.

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

◮ Computation begins at the source level and can be carried outlevel by level.

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

Page 90: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding: an example

+

+

+

+

+

+

+

+

+

+

+

+

W

W

W

W

W

W

W

W

Y8

Y7

Y6

Y5

Y4

Y3

Y2

Y1

1

0

1

0

1

0

0

0

free

free

free

frozen

free

frozen

frozen

frozen

Page 91: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding: an example

+

+

+

+

+

+

+

+

+

+

+

+

W

W

W

W

W

W

W

W

Y8

Y7

Y6

Y5

Y4

Y3

Y2

Y1

1

0

1

0

1

0

0

0

1

1

1

1

1

1

0

0

free

free

free

frozen

free

frozen

frozen

frozen

Page 92: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding: an example

+

+

+

+

+

+

+

+

+

+

+

+

W

W

W

W

W

W

W

W

Y8

Y7

Y6

Y5

Y4

Y3

Y2

Y1

1

0

1

0

1

0

0

0

1

1

1

1

1

1

0

0

1

1

0

0

1

1

1

1

free

free

free

frozen

free

frozen

frozen

frozen

Page 93: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Encoding: an example

+

+

+

+

+

+

+

+

+

+

+

+

W

W

W

W

W

W

W

W

Y8

Y7

Y6

Y5

Y4

Y3

Y2

Y1

1

0

1

0

1

0

0

0

1

1

1

1

1

1

0

0

1

1

0

0

1

1

1

1

1

1

0

0

0

0

1

1

free

free

free

frozen

free

frozen

frozen

frozen

Page 94: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Successive Cancellation Decoding (SCD)

Theorem

The complexity of successive cancellation decoding for polar codesis O(N logN).

Proof: Given below.

Page 95: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 96: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 97: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 98: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 99: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 100: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 101: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 102: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 103: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 104: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 105: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−

+

+

+

+

W−

W−

W−

W−

u4

u3

u2

u1

(y4, y8)

(y3, y7)

(y2, y6)

(y1, y5)

b4

b3

b2

b1

Page 106: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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

Page 107: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−

+

W−−

W−−

u2

u1

(y2, y4, y6, y8)

(y1, y3, y5, y7)

w2

w1

Page 108: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−−

W−−−

u1 (y1, y2, . . . , y8)

Page 109: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−−

W−−−

u1 (y1, y2, . . . , y8)

Compute

L−−− ∆=

W−−−(y1, . . . , y8 | u1 = 0)

W−−−(y1, . . . , y8 | u1 = 1).

Page 110: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−−

W−−−

u1 (y1, y2, . . . , y8)

Compute

L−−− ∆=

W−−−(y1, . . . , y8 | u1 = 0)

W−−−(y1, . . . , y8 | u1 = 1).

Set

u1 =

u1 if u1 is frozen

0 else if L−−− > 0

1 else

Page 111: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−−

W−−−

u1 (y1, y2, . . . , y8)

Compute

L−−− ∆=

W−−−(y1, . . . , y8 | u1 = 0)

W−−−(y1, . . . , y8 | u1 = 1).

Set

u1 =

u1 if u1 is frozen

0 else if L−−− > 0

1 else

Page 112: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−−

W−−−

u1 (y1, y2, . . . , y8)

Compute

L−−− ∆=

W−−−(y1, . . . , y8 | u1 = 0)

W−−−(y1, . . . , y8 | u1 = 1).

Set

u1 =

u1 if u1 is frozen

0 else if L−−− > 0

1 else

Page 113: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−+

+

W−−

W−−

u2

known u1

(y2, y4, y6, y8)

(y1, y3, y5, y7)

Page 114: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−+

W−−+u2 (y1, . . . , y8, u1)

Page 115: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−+

W−−+u2 (y1, . . . , y8, u1)

Compute

L−−+ ∆=

W−−+(y1, . . . , y8, u1 | u2 = 0)

W−−+(y1, . . . , y8, u1 | u2 = 1).

Page 116: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−+

W−−+u2 (y1, . . . , y8, u1)

Compute

L−−+ ∆=

W−−+(y1, . . . , y8, u1 | u2 = 0)

W−−+(y1, . . . , y8, u1 | u2 = 1).

Set

u2 =

u2 if u2 is frozen

0 else if L−−+ > 0

1 else

Page 117: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−+

W−−+u2 (y1, . . . , y8, u1)

Compute

L−−+ ∆=

W−−+(y1, . . . , y8, u1 | u2 = 0)

W−−+(y1, . . . , y8, u1 | u2 = 1).

Set

u2 =

u2 if u2 is frozen

0 else if L−−+ > 0

1 else

Page 118: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Decoding on W−−+

W−−+u2 (y1, . . . , y8, u1)

Compute

L−−+ ∆=

W−−+(y1, . . . , y8, u1 | u2 = 0)

W−−+(y1, . . . , y8, u1 | u2 = 1).

Set

u2 =

u2 if u2 is frozen

0 else if L−−+ > 0

1 else

Page 119: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 decodingproblems of size N/2 for W− and W+

◮ SoCN = 2CN/2 + kN

for some constant k

◮ This gives CN = O(N logN)

Page 120: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 decodingproblems of size N/2 for W− and W+

◮ SoCN = 2CN/2 + kN

for some constant k

◮ This gives CN = O(N logN)

Page 121: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 decodingproblems of size N/2 for W− and W+

◮ SoCN = 2CN/2 + kN

for some constant k

◮ This gives CN = O(N logN)

Page 122: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

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 decodingproblems of size N/2 for W− and W+

◮ SoCN = 2CN/2 + kN

for some constant k

◮ This gives CN = O(N logN)

Page 123: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Performance of polar codes

Theorem

For any rate R < I (W ) and block-length N, the probability offrame error for polar codes under successive cancelation decoding isbounded as

Pe(N,R) = o(

2−√

N+o(√

N))

Proof: Given in the next presentation.

Page 124: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Construction complexity

Theorem

Given W and a rate R < I (W ), a polar code can be constructed inO(Npoly(log(N))) time that achieves under SCD the performance

Pe = o(

2−√

N+o(√

N))

Proof: Given in the next presentation.

Page 125: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar coding summary

Summary

Given W , N = 2n, and R < I (W ), a polar code can be constructedsuch that it has

◮ construction complexity O(Npoly(log(N))),

◮ encoding complexity ≈ N logN,

◮ successive-cancellation decoding complexity ≈ N logN,

◮ frame error probability Pe(N,R) = o(

2−√

N+o(√

N))

.

Page 126: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar coding summary

Summary

Given W , N = 2n, and R < I (W ), a polar code can be constructedsuch that it has

◮ construction complexity O(Npoly(log(N))),

◮ encoding complexity ≈ N logN,

◮ successive-cancellation decoding complexity ≈ N logN,

◮ frame error probability Pe(N,R) = o(

2−√

N+o(√

N))

.

Page 127: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar coding summary

Summary

Given W , N = 2n, and R < I (W ), a polar code can be constructedsuch that it has

◮ construction complexity O(Npoly(log(N))),

◮ encoding complexity ≈ N logN,

◮ successive-cancellation decoding complexity ≈ N logN,

◮ frame error probability Pe(N,R) = o(

2−√

N+o(√

N))

.

Page 128: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Polar coding summary

Summary

Given W , N = 2n, and R < I (W ), a polar code can be constructedsuch that it has

◮ construction complexity O(Npoly(log(N))),

◮ encoding complexity ≈ N logN,

◮ successive-cancellation decoding complexity ≈ N logN,

◮ frame error probability Pe(N,R) = o(

2−√

N+o(√

N))

.

Page 129: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

List decoder for polar codes

Developed by Tal and Vardy (2011); similar to Dumer’s listdecoder for Reed-Muller codes.

◮ First produce L candidate decisions

◮ Pick the most likely word from the list

◮ Complexity O(LN logN)

Page 130: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

List decoder for polar codes

Developed by Tal and Vardy (2011); similar to Dumer’s listdecoder for Reed-Muller codes.

◮ First produce L candidate decisions

◮ Pick the most likely word from the list

◮ Complexity O(LN logN)

Page 131: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

List decoder for polar codes

Developed by Tal and Vardy (2011); similar to Dumer’s listdecoder for Reed-Muller codes.

◮ First produce L candidate decisions

◮ Pick the most likely word from the list

◮ Complexity O(LN logN)

Page 132: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performanceLength n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 133: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performanceLength n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 134: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performanceLength n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 135: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performanceLength n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 136: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performance

Length n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 137: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performance

Length n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 138: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder performance

Length n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

List-of-L performance quickly approaches ML performance!

Page 139: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

List decoder with CRC

◮ Same decoder as before but data contains a built-in CRC

◮ Selection made by CRC and relative likelihood

Page 140: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

List decoder with CRC

◮ Same decoder as before but data contains a built-in CRC

◮ Selection made by CRC and relative likelihood

Page 141: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder with CRC

Length n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 142: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder with CRC

Length n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Page 143: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Tal-Vardy list decoder with CRC

Length n = 2048, rate R = 0.5, BPSK-AWGN channel, list-size L.

Polar codes (+CRC) achieve state-of-the-art performance!

Page 144: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Summary

◮ Polarization is a commonplace phenomenon – almostunavoidable

◮ Polar codes are low-complexity methods designed to exploitpolarization for achieving Shannon limits

◮ Polar codes with some help from other methods performcompetitively with the state-of-the-art codes in terms ofcomplexity and performance

Page 145: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Summary

◮ Polarization is a commonplace phenomenon – almostunavoidable

◮ Polar codes are low-complexity methods designed to exploitpolarization for achieving Shannon limits

◮ Polar codes with some help from other methods performcompetitively with the state-of-the-art codes in terms ofcomplexity and performance

Page 146: Polar Coding Tutorial · 2017-07-19 · Polarization Encoding Decoding Construction Performance Polar Coding Tutorial Erdal Arıkan Electrical-Electronics Engineering Department Bilkent

Polarization Encoding Decoding Construction Performance

Summary

◮ Polarization is a commonplace phenomenon – almostunavoidable

◮ Polar codes are low-complexity methods designed to exploitpolarization for achieving Shannon limits

◮ Polar codes with some help from other methods performcompetitively with the state-of-the-art codes in terms ofcomplexity and performance


Related Documents