Decoding Reed-Muller and Polar Codes by Successive Factor Graph - - PowerPoint PPT Presentation

decoding reed muller and polar codes by successive factor
SMART_READER_LITE
LIVE PREVIEW

Decoding Reed-Muller and Polar Codes by Successive Factor Graph - - PowerPoint PPT Presentation

Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations Seyyed Ali Hashemi a , Nghia Doan a , Marco Mondelli b , Warren J. Gross a a McGill University, Canada b Stanford University, USA ISTC 2018 Hong Kong December 4, 2018.


slide-1
SLIDE 1

Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations

Seyyed Ali Hashemia, Nghia Doana, Marco Mondellib, Warren J. Grossa

aMcGill University, Canada bStanford University, USA

ISTC 2018 Hong Kong December 4, 2018.

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 0/19

slide-2
SLIDE 2

Motivation

◮ Polar Codes: adopted in 5G eMBB control channel

◮ Requires low-complexity decoders with good performance

◮ Reed-Muller (RM) Codes: very similar to polar codes

In this talk:

We propose a new low-complexity decoder for RM and polar codes with good performance!

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 1/19

slide-3
SLIDE 3

RM and Polar Codes: Encoding

RM(8, 4), P(8, 4) uG⊗3 = x

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 2/19

slide-4
SLIDE 4

RM and Polar Codes: Encoding

RM(8, 4), P(8, 4) uG⊗3 = x             u0 u1 u2 u3 u4 u5 u6 u7            

T 

           1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1             =             x0 x1 x2 x3 x4 x5 x6 x7            

T

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 2/19

slide-5
SLIDE 5

RM and Polar Codes: Encoding

RM(8, 4), P(8, 4) uG⊗3 = x             u3 u5 u6 u7            

T 

           1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1             =             x0 x1 x2 x3 x4 x5 x6 x7            

T

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 2/19

slide-6
SLIDE 6

RM and Polar Codes: Encoding

RM(8, 4), P(8, 4) uG⊗3 = x             u3 u5 u6 u7            

T 

           1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1             =             x0 x1 x2 x3 x4 x5 x6 x7            

T

RM rule:

Remove rows with lowest Hamming weights

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 2/19

slide-7
SLIDE 7

RM and Polar Codes: Encoding

RM(8, 4), P(8, 4) uG⊗3 = x             u3 u5 u6 u7            

T 

           1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1             =             x0 x1 x2 x3 x4 x5 x6 x7            

T

Polar rule:

Remove rows with lowest reliabilities

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 2/19

slide-8
SLIDE 8

RM and Polar Codes: Recursive Construction

u0 u1 x0 x1 layer 1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 3/19

slide-9
SLIDE 9

RM and Polar Codes: Recursive Construction

u0 u1 u2 u3 x0 x1 x2 x3 layer 1 2

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 3/19

slide-10
SLIDE 10

RM and Polar Codes: Recursive Construction

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 layer 1 2 3

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 3/19

slide-11
SLIDE 11

RM and Polar Codes: Decoding

Successive-Cancellation (SC) αi,l,βi,l αi+2l,l,βi+2l,l αi,l+1,βi,l+1 αi+2l,l+1,βi+2l,l+1 layer l l + 1 αi,l = f

  • αi,l+1, αi+2l,l+1
  • αi+2l,l = g
  • αi,l+1, αi+2l,l+1, βi,l
  • βi,l+1 = βi,l ⊕ βi+2l,l

βi+2l,l+1 = βi+2l,l

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 4/19

slide-12
SLIDE 12

RM vs Polar

◮ RM:

◮ Minimizes error probability under MAP decoding ◮ High complexity ◮ Channel-independent ◮ Low complexity

◮ Polar:

◮ Minimizes error probability under SC decoding ◮ Low complexity ◮ Channel-dependent ◮ High complexity ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 5/19

slide-13
SLIDE 13

SC List (SCL) Decoding: Something in Between

◮ SCL instantiates multiple SC decoders

◮ L codeword candidates survive to limit complexity ◮ A CRC can help SCL find the correct candidate

SC ← → SCL ← → MAP

◮ Requires a large L to get close to MAP

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 6/19

slide-14
SLIDE 14

Factor Graph Permutations

0 1 2 3 1 2 3 1 2 3

◮ n = log2 N layers → n! factor graph permutations ◮ Decode over multiple factor graphs → Pick the best one

◮ High decoding complexity ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 7/19

slide-15
SLIDE 15

Bit Index Permutations

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 u0 u4 u1 u5 u2 u6 u3 u7 x0 x4 x1 x5 x2 x6 x3 x7 1 2 3 1 2

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 8/19

slide-16
SLIDE 16

Architecture

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π−1 π

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 9/19

slide-17
SLIDE 17

Permutations on Sub-Graphs

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

2

π1

2

π0

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 10/19

slide-18
SLIDE 18

Total Number of Permutations

◮ By cyclic shift permutations at each layer: n−1

  • l=0

(n − l)(2l)

◮ Much larger than n! ◮ Quickly grows with n

◮ 1658880 permutations for length 32 ◮ More than 1.9 × 1027 for length 128

Issue:

Decoding over all permutations is impossible!

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 11/19

slide-19
SLIDE 19

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

2

π1

2

π0

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-20
SLIDE 20

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π1

2

π0

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-21
SLIDE 21

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π0

2

π1

2

π0

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-22
SLIDE 22

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π0

2

π1

2

π0

1

π0

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-23
SLIDE 23

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π0

2

π1

2

π0

1

π0

1

π1

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-24
SLIDE 24

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π0

2

π1

2

π1

2

π0

1

π0

1

π1

1

π1

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-25
SLIDE 25

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π0

2

π1

2

π1

2

π0

1

π0

1

π1

1

π1

1

π2

1

π2

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-26
SLIDE 26

Successive Permutations for SC

u0 u1 u2 u3 u4 u5 u6 u7 x0 x1 x2 x3 x4 x5 x6 x7 1 2 3 1 2 π0

3

π0

3

π0

2

π0

2

π1

2

π1

2

π0

1

π0

1

π1

1

π1

1

π2

1

π2

1

π3

1

π3

1

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 12/19

slide-27
SLIDE 27

Selection Criterion

◮ Reliability of a vector of LLR values α of length N:

R(α) =

N−1

  • i=0

|αi|

◮ A larger R(α) indicates a more reliable LLR vector

Criterion:

Permutation with which the f function results in the most reliable LLR vector Pl+1 = arg max

pl+1∈πl+1 2l−1

  • i=0
  • f
  • αpl+1(i),l+1, αpl+1(i+2l),l+1
  • ISTC 2018

Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 13/19

slide-28
SLIDE 28

Complexity Analysis

◮ Memory: Same as SC ◮ Parallel implementation:

◮ Computational complexity: Roughly n times SC ◮ Latency: Same as SC

◮ Serial implementation:

◮ Computational complexity: Same as SC ◮ Latency: Roughly n times SC ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 14/19

slide-29
SLIDE 29

Performance Analysis

◮ RM Codes:

◮ Permutations do not change the info/frozen bit pattern ◮ Code is unchanged but better bits are decoded earlier ◮ Significant improvement is expected

◮ Polar Codes:

◮ Permutations may result in a different info/frozen bit pattern

not optimized for the channel

◮ We only apply SP on RM sub-codes of polar codes ◮ The info/frozen bit pattern remains unchanged ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 15/19

slide-30
SLIDE 30

Results: RM(128, 64)

2 2.5 3 3.5 4 4.5 5 5.5 6 10−6 10−5 10−4 10−3 10−2 10−1

Eb/N0 [dB] FER

SC SCL(2) SCL(4) SCL(8) SPSC SPSCL(2) SPSCL(4) SPSCL(8) SCL(16) SPSCL(16) MAP Lower Bound

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 16/19

slide-31
SLIDE 31

Results: P(128, 64)

2 2.5 3 3.5 4 4.5 5 5.5 10−6 10−5 10−4 10−3 10−2 10−1

Eb/N0 [dB] FER

SC SCL(2) SCL(4) SCL(8) SPSC SPSCL(2) SPSCL(4) SPSCL(8) SCL(16) SPSCL(16)

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 17/19

slide-32
SLIDE 32

Conclusion

◮ We derived total number of permutations for RM and polar

codes

◮ We proposed successive factor graph permutations for RM

and polar codes to find the suitable permutations on the fly

◮ At FER = 10−4:

◮ SP gains up to 0.5 dB over SC and SCL of RM(128, 64) ◮ SP gains up to 0.1 dB over SC and SCL of P(128, 64)

◮ SCL(16) with SP is within 0.05 dB of the MAP lower bound

  • f RM(128, 64)

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 18/19

slide-33
SLIDE 33

Open Problems

◮ Is this the best selection criterion? ◮ Can we adapt it to BP? ◮ Can we make it fully compatible to polar codes?

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 19/19

slide-34
SLIDE 34

Thank you!

ISTC 2018 Decoding Reed-Muller and Polar Codes by Successive Factor Graph Permutations 19/19