Successive cancelation decoder architecture exploration
Transcript of Successive cancelation decoder architecture exploration
![Page 1: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/2.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/3.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/4.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/5.jpg)
• Code length N=2m
• Generator matrix: rows of G2m
𝐺2 =1 01 1
Generator matrix construction
5
![Page 6: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/6.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/7.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/8.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/9.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/10.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/13.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/23.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/29.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/31.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/33.jpg)
û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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/35.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/36.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/37.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/38.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/39.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/40.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/41.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/42.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/43.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/44.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/45.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/46.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/47.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/48.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/49.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/50.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/51.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/52.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/53.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/54.jpg)
Line-SC Decoder
54
![Page 55: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/55.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/56.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/57.jpg)
Semi-parallel SC Decoder
The decoder is idle most of the time !!
57
![Page 58: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/58.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/59.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/60.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/61.jpg)
Improved Semi-parallel SC Decoder
Semi-parallel
Improved Semi-parallel
Polar Decoder ≈ Memory 61
![Page 62: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/62.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/63.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/64.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/65.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/66.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/67.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/68.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/69.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/70.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/71.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/72.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/73.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/74.jpg)
• 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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/75.jpg)
Polarisation
75
![Page 76: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/76.jpg)
Polarisation
76
![Page 77: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/77.jpg)
Polarisation
77
![Page 78: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/78.jpg)
Polarisation
78
![Page 79: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/79.jpg)
Polarisation
79
![Page 80: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/80.jpg)
Polarisation
80
![Page 81: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/81.jpg)
Polarisation
81
![Page 82: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/82.jpg)
Polarisation
82
![Page 83: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/83.jpg)
Polarisation
83
![Page 84: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/84.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/85.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/86.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/87.jpg)
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](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/88.jpg)
Améliorer les performances: list decoding
88
![Page 89: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/89.jpg)
Améliorer les performances: list decoding + CRC
89
![Page 90: Successive cancelation decoder architecture exploration](https://reader034.fdocuments.net/reader034/viewer/2022051319/589d77961a28ab6d4a8b91dd/html5/thumbnails/90.jpg)
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