are polar codes practical? polar codes practical? prof. warren j. gross mcgill university, ... sdr...

64
Are Polar Codes Practical? Prof. Warren J. Gross McGill University, Montreal, QC. Coding: from Practice to Theory Berkeley, CA. Feb. 10 th , 2015.

Upload: lamque

Post on 05-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Are Polar Codes Practical?

Prof. Warren J. GrossMcGill University, Montreal, QC.

Coding: from Practice to TheoryBerkeley, CA.Feb. 10th, 2015.

Page 2: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Achieving the Channel Capacity

Polar Codes20080 dB

using SCas n Ñ 8

Successive cancellation Ñ low throughput.

Mediocre performance at moderate code-length.Becomes excellent for N ° 220.

2/36

Page 3: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Channel Polarization

u0 W y0

u1 W y1

I0 “ IpW q “ I1

u0 ` W y0

u1 W y1

I0 ă IpW q ă I1

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

`

`

`

`

`

`

`

`

`

`

`

`

Proportion of reliable bits Ñ IpW q.

1/26

Page 4: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Channel Polarization

u0 W y0

u1 W y1

I0 “ IpW q “ I1

u0 ` W y0

u1 W y1

I0 ă IpW q ă I1

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

`

`

`

`

`

`

`

`

`

`

`

`

Proportion of reliable bits Ñ IpW q.

1/26

Page 5: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Channel Polarization

u0 W y0

u1 W y1

I0 “ IpW q “ I1

u0 ` W y0

u1 W y1

I0 ă IpW q ă I1

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

`

`

`

`

`

`

`

`

`

`

`

`

Proportion of reliable bits Ñ IpW q.

1/26

Page 6: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Decoding

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

S0 S1 S2

u0

u0 ‘ u1

u2 u1

u0 ‘ u1 ‘ u2 ‘ u3

u4 u1 ‘ u3

u4 ‘ u5 u2 ‘ u3

u6 u5 u3

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

F

G

2/26

Page 7: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Decoding

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

S0 S1 S2

u0

u0 ‘ u1

u2 u1

u0 ‘ u1 ‘ u2 ‘ u3

u4 u1 ‘ u3

u4 ‘ u5 u2 ‘ u3

u6 u5 u3

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

F

G

2/26

Page 8: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Decoding

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

S0 S1 S2

u0

u0 ‘ u1

u2 u1

u0 ‘ u1 ‘ u2 ‘ u3

u4 u1 ‘ u3

u4 ‘ u5 u2 ‘ u3

u6 u5 u3

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

`

F

G

2/26

Page 9: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Semi-Parallel SC Decoder Implementation

0 50 1000

0.2

0.4

0.6

0.8

1

# PEs

Speed, N “ 210

Utilization, N “ 210

ą 95% speed with 64 PEs.

First polar decoder ASIC.

Code (1024, 512)

Technology 180 nmArea 1.72 mm2

Frequency 150 MHzInfo. T/P 49 Mbps

Power 67 mW

Mishra et al., “A Successive Cancellation Decoder ASIC for a 1024-bit Polar Code in 180nm CMOS,” A-SSCC 2012. 3/26

Page 10: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

FPGA Implementation

N LUT FF RAM (bits) f (MHz) T/P (Mbps)

215 3,263 1,304 411,648 167 62R216 3,414 1,316 821,248 157 57R218 3,548 1,349 3,278,848 140 51R220 5,956 1,366 13,109,248 102 38R

4/26

Page 11: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Throughput of SC Decoders

0 20 40 60 80 100 120

SP-SC

SC-ASIC

TP-SC

56

88

106

Info. T/P for R “ 0.9 (Mbps)

Pamuk, ISIT 2013

Mishra, A-SSCC 2012

Raymond, TSP 2013

5/26

Page 12: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Improving Throughput

100 MbpsSC

100 GbpsUnrolled

1000ˆ

Page 13: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Tree

§ View the SC decoder graph as a tree.

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

6/26

Page 14: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Tree

§ View the SC decoder graph as a tree.

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

6/26

Page 15: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Tree

§ View the SC decoder graph as a tree.

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

6/26

Page 16: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Tree

§ View the SC decoder graph as a tree.

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

6/26

Page 17: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Tree

§ View the SC decoder graph as a tree.

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

6/26

Page 18: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Successive Cancellation Tree

§ View the SC decoder graph as a tree.

u0 ` ` ` y0

u1 ` ` y1

u2 ` ` y2

u3 ` y3

u4 ` ` y4

u5 ` y5

u6 ` y6

u7 y7

6/26

Page 19: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Simplified Successive-Cancellation Decoding

Rate-0 Rate-1

Alamdar-Yazdi and Kschischang., “A Simplified Successive-Cancellation Decoder for Polar Codes,” Comm. Lett., 2011. 7/26

Page 20: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Simplified Successive-Cancellation Decoding

Rate-0

Rate-1

Alamdar-Yazdi and Kschischang., “A Simplified Successive-Cancellation Decoder for Polar Codes,” Comm. Lett., 2011. 7/26

Page 21: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Simplified Successive-Cancellation Decoding

Rate-0 Rate-1

Alamdar-Yazdi and Kschischang., “A Simplified Successive-Cancellation Decoder for Polar Codes,” Comm. Lett., 2011. 7/26

Page 22: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Simplified Successive-Cancellation Decoding

Rate-0

Rate-1

Alamdar-Yazdi and Kschischang., “A Simplified Successive-Cancellation Decoder for Polar Codes,” Comm. Lett., 2011. 7/26

Page 23: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Simplified Successive-Cancellation Decoding

Rate-0 Rate-1

Alamdar-Yazdi and Kschischang., “A Simplified Successive-Cancellation Decoder for Polar Codes,” Comm. Lett., 2011. 7/26

Page 24: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoding

RepetitionSingleParityCheck

Sarkis et al., “Fast Polar Decoders: Algorithm and Implementation,” IEEE JSAC, 2014. 8/26

Page 25: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoding

Repetition

SingleParityCheck

Sarkis et al., “Fast Polar Decoders: Algorithm and Implementation,” IEEE JSAC, 2014. 8/26

Page 26: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoding

RepetitionSingleParityCheck

Sarkis et al., “Fast Polar Decoders: Algorithm and Implementation,” IEEE JSAC, 2014. 8/26

Page 27: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoding

Repetition

SingleParityCheck

Sarkis et al., “Fast Polar Decoders: Algorithm and Implementation,” IEEE JSAC, 2014. 8/26

Page 28: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoding

RepetitionSingleParityCheck

Sarkis et al., “Fast Polar Decoders: Algorithm and Implementation,” IEEE JSAC, 2014. 8/26

Page 29: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoding—New Nodes

Repetition

SPC

N “ 8

Rep-SPC

N “ 4

ML-0011

9/26

Page 30: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

SC Tree—(256, 230)

10/26

Page 31: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

SSC and Fast-SSC Trees—(256, 230)

Developed a compiler to convert the graph to instructions.

11/26

Page 32: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

SSC and Fast-SSC Trees—(256, 230)

Developed a compiler to convert the graph to instructions.

11/26

Page 33: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fast-SSC Decoder Implementation

R LUT FF RAM (bits) f (MHz) T/P (Mbps)

Fast-SSC

0.83 25,866 7,209 536,126 108 7910.90 1,081

SSC

0.90 276

For any code of length = 32,768.

Sarkis et al. “Fast polar decoders: algorithm and implementation,” IEEE JSAC, 2014. 12/26

Page 34: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Throughput of Hardware Decoders

0 500 1,000 1,500 2,000 2,500 3,000

TP-SC

Fast-SSC

BP

106

1,081

2,338

Info. T/P (Mbps)

Park, Sym. VLSI 2014ASIC, 300 MHz

(1024, 512)

Sarkis, JSAC 2014FPGA, 108 MHz(32678, 29492)

Pamuk, ISIT 2013FPGA, 230 MHz(16384, 14746)

13/26

Page 35: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0C1 C0C2 C1 C0C3 C2 C1 C0C4 C3 C2 C1 C0C5 C4 C3 C2 C1 C0

14/26

Page 36: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0C1 C0C2 C1 C0C3 C2 C1 C0C4 C3 C2 C1 C0C5 C4 C3 C2 C1 C0

14/26

Page 37: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0

C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0

C1 C0C2 C1 C0C3 C2 C1 C0C4 C3 C2 C1 C0C5 C4 C3 C2 C1 C0

14/26

Page 38: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0

C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0

C1 C0

C2 C1 C0C3 C2 C1 C0C4 C3 C2 C1 C0C5 C4 C3 C2 C1 C0

14/26

Page 39: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0C1 C0

C2 C1 C0

C3 C2 C1 C0C4 C3 C2 C1 C0C5 C4 C3 C2 C1 C0

14/26

Page 40: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0C1 C0C2 C1 C0

C3 C2 C1 C0

C4 C3 C2 C1 C0C5 C4 C3 C2 C1 C0

14/26

Page 41: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0C1 C0C2 C1 C0C3 C2 C1 C0

C4 C3 C2 C1 C0

C5 C4 C3 C2 C1 C0

14/26

Page 42: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder

§ (8, 4) polar code:

C0C1

C0

C2

C1C0

C3

C2C1 C0

C4

C3C2 C1

C0

C5

C4C3 C2

C1

C0

§ Unroll and pipeline all operations.

F Rep G SPC ‘

C0C1 C0C2 C1 C0C3 C2 C1 C0C4 C3 C2 C1 C0

C5 C4 C3 C2 C1 C0

14/26

Page 43: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

The Unrolled Decoder Implementation

LUT FF RAM (bits) f (MHz) Info. T/P (Gbps)

SP-SC4,130 1,388 11,904 196 0.04

Unrolled155,858 158,185 285,120 231 118.5

BP (ASIC)300 2.3

For a (1024, 512) polar code.

Giard et al. “A 237 Gbps unrolled hardware polar decoder,” submitted to IET Letters and arXiv, Dec. 2014 15/26

Page 44: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

SDR and Modern Software ECC

107 108 109 1010

Demodulation

ECC

Instructions

Viterbi decoder

OFDM

Demel et al. “A LTE Receiver Framework Using GNU Radio,” JSPS, 2015.

2 4 6 8 10 12

LDPC

Turbo

Info. T/P (Mbps) per Core

Wu et al.Asilomar 2013

6 iterations

Sarkis et al.GlobalSIP 2014

30 iterations

16/26

Page 45: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

SDR and Modern Software ECC

107 108 109 1010

Demodulation

ECC

Instructions

Viterbi decoder

OFDM

Demel et al. “A LTE Receiver Framework Using GNU Radio,” JSPS, 2015.

2 4 6 8 10 12

LDPC

Turbo

Info. T/P (Mbps) per Core

Wu et al.Asilomar 2013

6 iterations

Sarkis et al.GlobalSIP 2014

30 iterations

16/26

Page 46: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

SDR and Modern Software ECC

107 108 109 1010

Demodulation

ECC

Instructions

Viterbi decoder

OFDM

Demel et al. “A LTE Receiver Framework Using GNU Radio,” JSPS, 2015.

2 4 6 8 10 12

LDPC

Turbo

Info. T/P (Mbps) per Core

Wu et al.Asilomar 2013

6 iterations

Sarkis et al.GlobalSIP 2014

30 iterations

Goal: 50Mbps!16/26

Page 47: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Floating-Point Throughput

(2048, 1707) (16384, 14746) (32768, 29492)

150

200

250

300

350In

fo.

T/P

(Mbp

s)ICASSP 2014

GlobalSIP 2014

§ SIMD.

§ Branchless.

§ Single core.

Giard et al. “Fast Software Polar Decoders,” ICASSP 2014.Sarkis et al. “Autogenerating Software Polar Decoders,” GlobalSIP 2014. 17/26

Page 48: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Fixed-Point Software Polar Decoders

Decoder f pGHzq Info. T/P (Mbps) Latency µs

Le Gal et al. 3.6+ 1,557 605Fast-SSC-int8 3.1+ 1,412 21

(32768, 29492) polar code.

Le Gal et al. “Multi-Gb/s Software decoding of Polar Codes,” TSP 2015.Giard et al. “Low-latency Software Polar Decoders,” in preparation. 18/26

Page 49: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Improving Finite-Length Error-Correction Performance

Eb{N0

BE

R

LDPC

PC

PC List-CRC

19/26

Page 50: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

List Decoding

§ For each information bit, continue decoding assuming both0 and 1.

u0 u1 u2 u3

ˆ

ˆ

00000001

01000101

000

01

000001

010011

u0

u1

u2

u3

0

00 01

000 001 010 011

0000 0001 0010 0011 0100 0101 0110 0111

§ Select paths according to reliability values.

§ Using a CRC to select the output yields a significantimprovement.

20/26

Page 51: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

List Decoding

§ For each information bit, continue decoding assuming both0 and 1.

u0 u1 u2 u3

ˆ

ˆ

00000001

01000101

000

01

000001

010011

u0

u1

u2

u3

0

00 01

000 001 010 011

0000 0001 0010 0011 0100 0101 0110 0111

§ Select paths according to reliability values.

§ Using a CRC to select the output yields a significantimprovement.

20/26

Page 52: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

List Decoding

§ For each information bit, continue decoding assuming both0 and 1.

u0 u1 u2 u3

ˆ

ˆ

00000001

01000101

000

01

000001

010011

u0

u1

u2

u3

0

00 01

000

001

010

011

0000 0001

0010 0011

0100 0101

0110 0111

§ Select paths according to reliability values.

§ Using a CRC to select the output yields a significantimprovement.

20/26

Page 53: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

List Decoding

§ For each information bit, continue decoding assuming both0 and 1.

u0 u1 u2 u3

ˆ

ˆ

00000001

01000101

000

01

000001

010011

u0

u1

u2

u3

0

00 01

000

001

010

011

0000 0001

0010 0011

0100 0101

0110 0111

§ Select paths according to reliability values.

§ Using a CRC to select the output yields a significantimprovement.

20/26

Page 54: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

List Decoding

§ For each information bit, continue decoding assuming both0 and 1.

u0 u1 u2 u3

ˆ

ˆ

00000001

01000101

000

01

000001

010011

u0

u1

u2

u3

0

00

01

000 001

010

011

0000 0001 0010 0011

0100

0101 0110 0111

§ Select paths according to reliability values.

§ Using a CRC to select the output yields a significantimprovement.

20/26

Page 55: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

List Decoding

§ For each information bit, continue decoding assuming both0 and 1.

u0 u1 u2 u3

ˆ

ˆ

00000001

01000101

000

01

000001

010011

u0

u1

u2

u3

0

00

01

000 001

010

011

0000 0001 0010 0011

0100

0101 0110 0111

§ Select paths according to reliability values.

§ Using a CRC to select the output yields a significantimprovement.

20/26

Page 56: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

ASIC Implementation

§ Synthesis results for N “ 1024 using UMC 90nm:

L Area (mm2) f (MHz) T/P (Mbps)

2 1.60 459 181R4 3.53 314 89R

Balatsoukas-Stimming et al. “Hardware Architecture for List Successive Cancellation Decoding of Polar Codes,” TCAS II, 2014. 21/26

Page 57: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Two-Step SW List Decoder

§ List decoders are slower than Fast-SSC decoders.

§ List have better error-correction performance thanFast-SSC decoders.

§ Combine both:

Fast-SSC

ValidCRC?

Done

List-CRC

yes

no

22/26

Page 58: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Two-Step SW List Decoder

§ List decoders are slower than Fast-SSC decoders.

§ List have better error-correction performance thanFast-SSC decoders.

§ Combine both:

Fast-SSC

ValidCRC?

Done

List-CRC

yes

no

Sarkis et al. “Increasing the Speed of Polar List Decoders,” SiPS, 2014. 22/26

Page 59: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Two-Step SW List Decoder

Eb{N0

FER

(2048, 1723)

Fast-SSC

SSC-List-CRC

23/26

Page 60: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Two-Step SW List Decoder

Eb{N0

FER

(2048, 1723)

Fast-SSC

SSC-List-CRC

T “ kp1´FERFqLpFast-SSCq`FERFLpListq bit/s

23/26

Page 61: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Two-Step SW List Decoder

3.5 4 4.5

10´8

10´7

10´6

10´5

10´4

10´3

10´2

10´1

Eb{N0 (dB)

FER

LDPC, Imax “ 30 SSC-List-CRC, L “ 32 SSC-List-CRC, L “ 64

(2048, 1723)

24/26

Page 62: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Two-Step SW List Decoder

3.5 4 4.50

10

20

30

40

50

60

Eb{N0 (dB)

Info

rmat

ion

T/P

(Mbp

s)

LDPC, Imax “ 30 SSC-List-CRC, L “ 32 SSC-List-CRC, L “ 64

(2048, 1723)

25/26

Page 63: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Conclusion

§ Polar codes can have excellent error-correctionperformance.

§ Polar codes can have throughput in the hundred-Gbpsrange.

§ Once throughput and performance improvements arecombined, we believe that polar codes will be a viableoption for multiple applications.

Thank you!

26/26

Page 64: Are Polar Codes Practical? Polar Codes Practical? Prof. Warren J. Gross McGill University, ... SDR and Modern Software ECC 107 108 109 1010 Demodulation …

Conclusion

§ Polar codes can have excellent error-correctionperformance.

§ Polar codes can have throughput in the hundred-Gbpsrange.

§ Once throughput and performance improvements arecombined, we believe that polar codes will be a viableoption for multiple applications.

Thank you!

26/26