90
Architectures of Polar Decoders Camille Leroux Laboratoire de l'Intégration du Matériau au Système (IMS) Bordeaux-INP Réunion scientifique du GDR-ISIS : « Architecture de Codes Correcteurs d’Erreurs » 4 Novembre 2014, Brest

Successive cancelation decoder architecture exploration

Embed Size (px)

Citation preview

Page 1: Successive cancelation decoder architecture exploration

Architectures of Polar Decoders

Camille Leroux

Laboratoire de l'Intégration du Matériau au Système (IMS) Bordeaux-INP

Réunion scientifique du GDR-ISIS : « Architecture de Codes Correcteurs d’Erreurs » 4 Novembre 2014, Brest

Page 2: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

2

Page 3: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

3

Page 4: Successive cancelation decoder architecture exploration

• Polar codes are linear block codes

• Polar codes are recent : Erdal Arikan - 2008 – Bilkent University

• Polar codes are optimal: achieve the capacity of any binary input symmetric memoryless channel

• Polar codes have low encoding and decoding complexity:

O(N logN)

• Polar codes are regular : no random structure (interleaver, random graph,…)

BUT:

• Polar codes require a very long code length to approach compelling performance

Polar codes ?

4

Page 5: Successive cancelation decoder architecture exploration

• Code length N=2m

• Generator matrix: rows of G2m

𝐺2 =1 01 1

Generator matrix construction

5

Page 6: Successive cancelation decoder architecture exploration

• Code length N=2m

• Generator matrix: rows of G2m

𝐺22 =

𝐺2 0𝐺2 𝐺2

Generator matrix construction

6

Page 7: Successive cancelation decoder architecture exploration

• Code length N=2m

• Generator matrix: rows of G2m

𝐺22 =

1 0 0 01 1 0 01 0 1 01 1 1 1

Generator matrix construction

7

Page 8: Successive cancelation decoder architecture exploration

• Code length N=2m

• Generator matrix: rows of G2m

𝐺23 =

𝐺2 0 0 0𝐺2 𝐺2 0 0𝐺2 0 𝐺2 0𝐺2 𝐺2 𝐺2 𝐺2

Generator matrix construction

8

Page 9: Successive cancelation decoder architecture exploration

• Code length N=2m

• Generator matrix: rows of G2m

𝐺23 =

1 0 0 0 0 0 0 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 1 1 1 0 0 0 01 0 0 0 1 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 1 1 1 1 1 1

X=[u0 u1 u2 u3 u4 u5 u6 u7]G23

Polar coding

9

Page 10: Successive cancelation decoder architecture exploration

• Code length N=2m

• Generator matrix: rows of G2m

𝐺23 =

1 0 0 0 0 0 0 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 1 1 1 0 0 0 01 0 0 0 1 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 1 1 1 1 1 1

X=[0 0 0 u3 0 u5 u6 u7]G23

Polar coding

10

Page 11: Successive cancelation decoder architecture exploration

Polar encoding

u0=0

u1=0

0

0

u2=0

u3=0

u4=0

0

0

u5=0

0

0

u6=1

u7=1

0

1

0

0

0

0

0

1

0

1

0

1

0

1

0

1

0

1

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

W

W

W

W

W

W

W

W

11

Page 12: Successive cancelation decoder architecture exploration

Polar encoder

Berhault, G.; Leroux, C.; Jego, C.; Dallet, D., "Partial sums generation architecture for successive cancellation decoding of polar codes," Signal Processing Systems (SiPS), 2013 IEEE Workshop on 12

Page 13: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

13

Page 14: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

• Algorithm for which asymptotical optimal performance were demonstrated

• F={0,1,2,4}

• For 0<i<N-1

– If iF, ûi=0

– Else,

14

Page 15: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

15

Page 16: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

16

Page 17: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

17

Page 18: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21

18

Page 19: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

19

Page 20: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21

-1,55

u0=0

u1=0

20

Page 21: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21

-1,55

0

0

-1,75

-0,26

u0=0

u1=0

21

Page 22: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21

-1,55

0

0

-1,75

-0,26

0,26

u0=0

u1=0

u2=0

22

Page 23: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

-1,55 u1=0

0

0

-1,75

-0,26

0,26 u2=0

2,01 u3=0

23

Page 24: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

-1,55 u1=0

0

0

-1,75

-0,26

0,26 u2=0

2,01 u3=0

u4=0

0

0

0

0

0

0

-1,40

-0,77

-1,57

3,03

-1,40

0,77

-0,77

24

Page 25: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

-1,55 u1=0

0

0

-1,75

-0,26

0,26 u2=0

2,01 u3=0

u4=0

0

0

0

0

0

0

-1,40

-0,77

-1,57

3,03

-1,40

0,77

-0,77

u5=0 2,17

0

0

25

Page 26: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

-1,55 u1=0

0

0

-1,75

-0,26

0,26 u2=0

2,01 u3=0

u4=0

0

0

0

0

0

0

-1,40

-0,77

-1,57

3,03

-1,40

0,77

-0,77

u5=0 2,17

0

0

1,63

-2,34

-1,63 u6=1

26

Page 27: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

-1,55 u1=0

0

0

-1,75

-0,26

0,26 u2=0

2,01 u3=0

u4=0

0

0

0

0

0

0

-1,40

-0,77

-1,57

3,03

-1,40

0,77

-0,77

u5=0 2,17

0

0

1,63

-2,34

-1,63 u6=1

u7=1 -3,97

27

Page 28: Successive cancelation decoder architecture exploration

How does SC decoding perform ?

Polar codes require a large codelength to compete with state of the art ECC… How about the hardware complexity ?

28

Page 29: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

29

Page 30: Successive cancelation decoder architecture exploration

Successive Cancellation (SC) Decoding

1,34

-0,21

0,84

0,05

3,44

-2,74

-0,41

-1,62

-1,34

-0,21

-0,05

-0,41

-1,34

-0,21

0,21 u0=0

-1,55 u1=0

0

0

-1,75

-0,26

0,26 u2=0

2,01 u3=0

u4=0

0

0

0

0

0

0

-1,40

-0,77

-1,57

3,03

-1,40

0,77

-0,77

u5=0 2,17

0

0

1,63

-2,34

-1,63 u6=1

u7=1 -3,97

𝐿𝑎

𝐿𝑏 0 =

𝐿𝑐 = 𝑓(𝐿𝑎, 𝐿𝑏)

𝑓 𝐿𝑎, 𝐿𝑏 = 2𝑡𝑎𝑛ℎ−1(tanh𝐿𝑎2

. tanh(𝐿𝑏2))

𝑓 𝐿𝑎, 𝐿𝑏 ~𝑠𝑖𝑔𝑛 𝐿𝑎 . 𝑠𝑖𝑔𝑛(𝐿𝑏).min( 𝐿𝑎 , |𝐿𝑏|)

𝐿𝑎

𝐿𝑏 = 𝐿𝑐 = 𝑔(𝑢𝑠, 𝐿𝑎, 𝐿𝑏)

𝑢𝑠

𝑔(𝑢𝑠, 𝐿𝑎, 𝐿𝑏) = (−1)𝑢𝑠 . 𝐿𝑏 + 𝐿𝑎

30

Page 31: Successive cancelation decoder architecture exploration

Min-Sum approximation

Leroux, C.; Tal, I.; Vardy, A.; Gross, W.J., "Hardware architectures for successive cancellation decoding of polar codes," IEEE ICASSP 2011

31

Page 32: Successive cancelation decoder architecture exploration

Processing Element Architecture

Leroux, C.; Tal, I.; Vardy, A.; Gross, W.J., "Hardware architectures for successive cancellation decoding of polar codes," IEEE ICASSP 2011 32

Page 33: Successive cancelation decoder architecture exploration

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

Channel information: Li= Log(p0 / p1)

La

Lb

F

La

Lb

G

ûs

SC decoding scheduling

33

Page 34: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

Stage 0 Stage 1 Stage 2 Stage 3

ûi S0 S1 S2

û0 F F F

34

Page 35: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

Stage 0 Stage 1 Stage 2 Stage 3

35

Page 36: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

Stage 0 Stage 1 Stage 2 Stage 3

36

Page 37: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

Stage 0 Stage 1 Stage 2 Stage 3

37

Page 38: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

û4 F F G

Stage 0 Stage 1 Stage 2 Stage 3

38

Page 39: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

û4 F F G

û5 G F G

Stage 0 Stage 1 Stage 2 Stage 3

39

Page 40: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

û4 F F G

û5 G F G

û6 F G G

Stage 0 Stage 1 Stage 2 Stage 3

40

Page 41: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

û4 F F G

û5 G F G

û6 F G G

û7 G G G

Stage 0 Stage 1 Stage 2 Stage 3

41

Page 42: Successive cancelation decoder architecture exploration

SC decoding scheduling

û0

û4

û2

û6

û1

û5

û3

û7

û0 + û1+ û2+ û3

û2+ û3

û1+ û3

û3 û5 û6

û2

û4

û0

û1

û4+ û5

û0+ û1

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

û4 F F G

û5 G F G

û6 F G G

û7 G G G

Stage 0 Stage 1 Stage 2 Stage 3

42

Page 43: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

43

Page 44: Successive cancelation decoder architecture exploration

Combinational Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec

ûi S0 S1 S2

û0 F F F

û1 G F F

û2 F G F

û3 G G F

û4 F F G

û5 G F G

û6 F G G

û7 G G G

Stage 0 Stage 1 Stage 2 Stage 3

44

Page 45: Successive cancelation decoder architecture exploration

• HW complexity : (N-1) PE + N ME

• Routing is simple

• High data dependency

• Throughput : O(1/log(N))

• Some partial computations can be reused

Combinational Tree-SC Decoder

45

Page 46: Successive cancelation decoder architecture exploration

Pipelined Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec.

ûi S0 S1 S2

û0 F

Stage 0 Stage 1 Stage 2 Stage 3

46

Page 47: Successive cancelation decoder architecture exploration

Pipelined Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec.

ûi S0 S1 S2

û0 F

û0 F

Stage 0 Stage 1 Stage 2 Stage 3

47

Page 48: Successive cancelation decoder architecture exploration

Pipelined Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec.

ûi S0 S1 S2

û0 F

û0 F

û0 F

Stage 0 Stage 1 Stage 2 Stage 3

48

Page 49: Successive cancelation decoder architecture exploration

Pipelined Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec.

ûi S0 S1 S2

û0 F

û0 F

û0 F

û1 G

Stage 0 Stage 1 Stage 2 Stage 3

49

Page 50: Successive cancelation decoder architecture exploration

Pipelined Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec.

ûi S0 S1 S2

û0 F

û0 F

û0 F

û1 G

û2 G

Stage 0 Stage 1 Stage 2 Stage 3

50

Page 51: Successive cancelation decoder architecture exploration

Pipelined Tree-SC Decoder

ûi

ûi

P0,0

ûi

P2,0

P2,1

P2,2

P2,3

P1,1

P1,0

ûi

ûi

ûi

ûi

ûi

Dec.

ûi S0 S1 S2

û0 F

û0 F

û0 F

û1 G

û2 G

û2 F

û3 G

û4 G

û4 F

û4 F

û5 G

û6 G

û6 F

û7 G

Stage 0 Stage 1 Stage 2 Stage 3

51

Page 52: Successive cancelation decoder architecture exploration

• HW complexity : (N-1) PE + 2N ME

• Routing is simple

• Throughput : 2N-1 clock cycles / codeword:

0,5 bit per clock cycle

• Only one PE stage is used at the time !

Pipelined Tree-SC Decoder

52

Page 53: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

53

Page 54: Successive cancelation decoder architecture exploration

Line-SC Decoder

54

Page 55: Successive cancelation decoder architecture exploration

• HW complexity: N/2 PE + 2N ME + control and routing logic

• Routing is regular

• Throughput : same as pipelined tree

Line-SC Decoder

44% Memory 33% Processing logic 23% Control logic 250Mbps (=f/2) N=1024, R=1/2

C. Leroux, A. J. Raymond, G. Sarkis, A. Vardy and Warren J. Gross, Hardware Implementation of Successive-Cancellation Decoders for Polar Codes, Journal of SIgnal Processing and systems, 2012 55

Page 56: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

56

Page 57: Successive cancelation decoder architecture exploration

Semi-parallel SC Decoder

The decoder is idle most of the time !!

57

Page 58: Successive cancelation decoder architecture exploration

Semi-parallel SC Decoder

Leroux et al, A semi-parallel Successive-Cancellation Decoder for Polar Codes, IEEE Trans. on Signal Processing 2013

58

Page 59: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

59

Page 60: Successive cancelation decoder architecture exploration

Improved Semi-parallel SC Decoder

Raymond, A.J.; Gross, W.J., "A Scalable Successive-Cancellation Decoder for Polar Codes," Signal Processing, IEEE Transactions on, 2014

Memory : 75% Computation : 25%

• Chained Processing Elements (lookahead technique) • Semi-parallel partial sum computation

f

+

-

u0

u1

La Lb

60

Page 61: Successive cancelation decoder architecture exploration

Improved Semi-parallel SC Decoder

Semi-parallel

Improved Semi-parallel

Polar Decoder ≈ Memory 61

Page 62: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

62

Page 63: Successive cancelation decoder architecture exploration

Increasing throughput

Lots of rate 0/1 subcodes… No need to decode them ! Reduce the number of computations by a factor 2 to 20 Alamdar-Yazdi, Kschischang, A simplified Successive-Cancellation Decoder for Polar Codes, IEEE Comm. Letter 2011 63

Page 64: Successive cancelation decoder architecture exploration

Increasing throughput even further

Sarkis et al, Fast Polar Decoders : Algorithm and Implementation, IEEE Trans. On Sig. Processing, 2014

x20

64

Page 65: Successive cancelation decoder architecture exploration

Future challenges for SC decoders

- Memory reduction - Non-linear quantization - Hard-decision decoding (bit flipping) - Offset/scaled Min-Sum - Low power / low energy architectures - Optimized Software Implementations (GPP,

Embedded Proc., GPU) - …

65

Page 66: Successive cancelation decoder architecture exploration

• Construction and encoding

• Successive Cancellation Decoding

• Polar Decoders architectures – Tree decoder (combinational and pipelined)

– Line decoder

– Semi-parallel decoder

– Improved semi-parallel decoder

– SSC and ML-SSC decoders

– List Decoders

Outline

66

Page 67: Successive cancelation decoder architecture exploration

Is there anything better than SC ?

- Other decoding algorithms: - Belief Propagation decoding (BP) - Soft Cancellation decoding (SCAN) - List decoding - Linear Programming

- At finite length polar codes have poor performance => need to change the coding scheme

- Polar + RS (outer) - Polar + LDPC (outer) : OTN applications - Polar + LDPC (inner) + SCAN decoding - Polar + BCH (inner) - Polar + CRC (inner) + List decoding

67

Page 68: Successive cancelation decoder architecture exploration

CRC-aided List decoding

Nice ! How do we implement that ?

Kai Niu; Kai Chen, "CRC-Aided Decoding of Polar Codes," Communications Letters, IEEE, 2012 68

SC

List L=32

Turbo

List + CRC L=32

Page 69: Successive cancelation decoder architecture exploration

CRC-aided List decoding

L=2 : x3.8 L=4 : x8.4 Balatsoukas-Stimming, A.; Raymond, A.J.; Gross, W.J.; Burg, A., "Hardware Architecture for List Successive Cancellation Decoding of Polar Codes," TCASII, Aug. 2014

69

Page 70: Successive cancelation decoder architecture exploration

Architectures of Polar Decoders

Camille Leroux

Laboratoire de l'Intégration du Matériau au Système (IMS) Bordeaux-INP

Réunion scientifique du GDR-ISIS : « Architecture de Codes Correcteurs d’Erreurs » 4 Novembre 2014, Brest

Page 71: Successive cancelation decoder architecture exploration

• List decoding – A list of L decoders is created each of of them tracking one decision path that is updated

at each decoded bit.

– Computational complexity in O(LNlogN)

– A CRC can be added to help de final decision (improves performance significantly)

Other decoding algorithms: List decoding

Page 72: Successive cancelation decoder architecture exploration

• BP: messages are propagated (in a flooding manner) back and forth on the factor graph until a fixed number of iteration is reached

• SCAN: messages are propagated in the same order as SC but soft partial sums are used instead. This allows an iterative decoding. SCAN requires less iterations than BP for similar of better performance

• They provide a soft output

Other decoding algorithms: iterative decoding

Page 73: Successive cancelation decoder architecture exploration

• Polar code concatenated with an outer RS code (interleaved)

• Complexity : O(N log2 N log log N)

Other coding scheme: polar + RS

Page 74: Successive cancelation decoder architecture exploration

• Polar code concatenated with an inner LDPC

• BP-based algorithms

• Used in OTN context to lower error floors

Other coding scheme: polar + LDPC

Page 75: Successive cancelation decoder architecture exploration

Polarisation

75

Page 76: Successive cancelation decoder architecture exploration

Polarisation

76

Page 77: Successive cancelation decoder architecture exploration

Polarisation

77

Page 78: Successive cancelation decoder architecture exploration

Polarisation

78

Page 79: Successive cancelation decoder architecture exploration

Polarisation

79

Page 80: Successive cancelation decoder architecture exploration

Polarisation

80

Page 81: Successive cancelation decoder architecture exploration

Polarisation

81

Page 82: Successive cancelation decoder architecture exploration

Polarisation

82

Page 83: Successive cancelation decoder architecture exploration

Polarisation

83

Page 84: Successive cancelation decoder architecture exploration

Polarisation

• En calculant la probabilité d’erreur de chaque canal équivalent, on peut montrer que lorsque N, les canaux équivalents polarisent:

• La probabilité d’erreur de chaque canal tend soit vers 0 (canal parfait) soit vers 0.5 (canal complètement bruité)

• Pour construire un code polaire de rendement R, on caractérise chaque canal équivalent et on envoie de l’information sur les RxN canaux les plus fiables, on met des 0 sur les canaux les moins fiables.

84

Page 85: Successive cancelation decoder architecture exploration

Améliorer les performances: concaténation

Method

Generalized concatenated coding with polar inner

AM 2009

Generalized concatenated with BCH outer TS 2011

Reed-Solomon outer, polar inner BJE 2010

Polar outer, block inner SH 2010

Polar outer, LDPC inner EP 2011

AM : Arikan, Markarian BJE: Bakshi, Jaggi and Effros SH: Seidl and Huber EP: Eslami and Pishro-Nik TS: Trifonov, Semenov

85

Page 86: Successive cancelation decoder architecture exploration

Améliorer les performances: list decoding

• Décodeur par liste (Tal-Vardy 2011)

– Remplacer la décision dure par une liste de de L décision souple

– A chaque nouveau bit décodé, on met à jour la liste et on sélectionne les L décision les plus vraisemblables

– Complexité O(LNlogN)

86

Page 87: Successive cancelation decoder architecture exploration

Autres algorithmes de décodage par listes

• Li et al, An adaptive Successive-Cancellation List Decoder for Polar Codes with CRC, IEEE Comm. Letters 2012

• Chen et al, List successive cancellation decoding of polar codes, electronics letters 2012

• Niu et al, CRC-aided decoding of polar codes, IEEE Comm. Letters 2012

• Niu et al, Stack decoding of polar codes, Electronics Letters 2012

87

Page 88: Successive cancelation decoder architecture exploration

Améliorer les performances: list decoding

88

Page 89: Successive cancelation decoder architecture exploration

Améliorer les performances: list decoding + CRC

89

Page 90: Successive cancelation decoder architecture exploration

En résumé…

• Un code polaire de taille N=2m, et un rendement

R<C(W) - Compléxité de construction : O(N)

- Compléxité d’encodage : O(NlogN)

- Compléxité de décodage : O(NlogN)

- FER : Pe(N,R)=O(2-N/2)

- On peut améliorer les perf avec les méthodes classiques du codage canal (construction, algo de décodage, concaténation,…)

- L’intérêt des codes polaires pour les standards futurs dépendra également de leur complexité matérielle

90