Staircase Codes. for High-Speed Optical Communications

Similar documents
Staircase Codes. Error-correction for High-Speed Fiber-Optic Channels

Analysis and Design of Staircase Codes for High Bit-Rate Fibre-Optic Communication. Lei Zhang

Symmetric Product Codes

Spatially-coupled Split-component Codes with Iterative Algebraic Decoding

ECEN 655: Advanced Channel Coding

Dr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

Spatially Coupled LDPC Codes

An Introduction to Low Density Parity Check (LDPC) Codes

Coding Techniques for Data Storage Systems

Modern Coding Theory. Daniel J. Costello, Jr School of Information Theory Northwestern University August 10, 2009

Time-invariant LDPC convolutional codes

Belief propagation decoding of quantum channels by passing quantum messages

Structured Low-Density Parity-Check Codes: Algebraic Constructions

Quasi-Cyclic Asymptotically Regular LDPC Codes

Graph-based codes for flash memory

Successive Cancellation Decoding of Single Parity-Check Product Codes

Lecture 12. Block Diagram

ECC for NAND Flash. Osso Vahabzadeh. TexasLDPC Inc. Flash Memory Summit 2017 Santa Clara, CA 1

Low-complexity error correction in LDPC codes with constituent RS codes 1

Polar Codes: Graph Representation and Duality

Low-density parity-check (LDPC) codes

Practical Polar Code Construction Using Generalised Generator Matrices

Low Density Parity Check (LDPC) Codes and the Need for Stronger ECC. August 2011 Ravi Motwani, Zion Kwok, Scott Nelson

Convergence analysis for a class of LDPC convolutional codes on the erasure channel

Physical Layer and Coding

LDPC Codes. Slides originally from I. Land p.1

Making Error Correcting Codes Work for Flash Memory

Reed-Solomon codes. Chapter Linear codes over finite fields

Random Redundant Soft-In Soft-Out Decoding of Linear Block Codes

LDPC Code Ensembles that Universally Achieve Capacity under BP Decoding: A Simple Derivation

Polar Coding for the Large Hadron Collider: Challenges in Code Concatenation

Code design: Computer search

Lower Bounds on the Graphical Complexity of Finite-Length LDPC Codes

Error Correction Methods

Iterative Encoding of Low-Density Parity-Check Codes

Codes on graphs and iterative decoding

Codes on graphs and iterative decoding

Constructions of Nonbinary Quasi-Cyclic LDPC Codes: A Finite Field Approach

Design and Analysis of Graph-based Codes Using Algebraic Lifts and Decoding Networks

Cyclic Redundancy Check Codes

On the minimum distance of LDPC codes based on repetition codes and permutation matrices 1

ECE8771 Information Theory & Coding for Digital Communications Villanova University ECE Department Prof. Kevin M. Buckley Lecture Set 2 Block Codes

Rate-Compatible Low Density Parity Check Codes for Capacity-Approaching ARQ Schemes in Packet Data Communications

5. Density evolution. Density evolution 5-1

Introduction to Wireless & Mobile Systems. Chapter 4. Channel Coding and Error Control Cengage Learning Engineering. All Rights Reserved.

Spatially-Coupled MacKay-Neal Codes Universally Achieve the Symmetric Information Rate of Arbitrary Generalized Erasure Channels with Memory

Single-Gaussian Messages and Noise Thresholds for Low-Density Lattice Codes


Channel Coding I. Exercises SS 2017

Lecture 4 : Introduction to Low-density Parity-check Codes

16.36 Communication Systems Engineering

Lecture 4: Linear Codes. Copyright G. Caire 88

STUDY OF PERMUTATION MATRICES BASED LDPC CODE CONSTRUCTION

Low-density parity-check codes

Integrated Code Design for a Joint Source and Channel LDPC Coding Scheme

EE229B - Final Project. Capacity-Approaching Low-Density Parity-Check Codes

Spatially Coupled LDPC Codes Constructed from Protographs

Optimum Soft Decision Decoding of Linear Block Codes

Channel Coding I. Exercises SS 2017

Turbo Codes for xdsl modems

GLDPC-Staircase AL-FEC codes: A Fundamental study and New results

On the exact bit error probability for Viterbi decoding of convolutional codes

Message Passing Algorithm with MAP Decoding on Zigzag Cycles for Non-binary LDPC Codes

Quasi-cyclic Low Density Parity Check codes with high girth

ON THE ANALYSIS OF SPATIALLY-COUPLED GLDPC CODES AND THE WEIGHTED MIN-SUM ALGORITHM. A Dissertation YUNG-YIH JIAN

arxiv:cs/ v2 [cs.it] 1 Oct 2006

Performance Analysis and Code Optimization of Low Density Parity-Check Codes on Rayleigh Fading Channels

Advanced Hardware Architecture for Soft Decoding Reed-Solomon Codes

Advances in Error Control Strategies for 5G

Channel Codes for Short Blocks: A Survey

Exact Probability of Erasure and a Decoding Algorithm for Convolutional Codes on the Binary Erasure Channel

Girth Analysis of Polynomial-Based Time-Invariant LDPC Convolutional Codes

Low-Density Parity-Check Codes

State-of-the-Art Channel Coding

Compressed Sensing and Linear Codes over Real Numbers

Asynchronous Decoding of LDPC Codes over BEC

Performance of Spatially-Coupled LDPC Codes and Threshold Saturation over BICM Channels

Chapter 7 Reed Solomon Codes and Binary Transmission

New EPoC Burst Markers with Data Field

Research Collection. The fractality of polar codes. Conference Paper. ETH Library. Author(s): Geiger, Bernhard C. Publication Date: 2016

On Generalized EXIT Charts of LDPC Code Ensembles over Binary-Input Output-Symmetric Memoryless Channels

An Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission

Joint Iterative Decoding of LDPC Codes and Channels with Memory

Introducing Low-Density Parity-Check Codes

Threshold Saturation on Channels with Memory via Spatial Coupling

R. A. Carrasco and M. Johnston, Non-Binary Error Control Coding Cork 2009

Approaching Blokh-Zyablov Error Exponent with Linear-Time Encodable/Decodable Codes

The PPM Poisson Channel: Finite-Length Bounds and Code Design

VHDL Implementation of Reed Solomon Improved Encoding Algorithm

RCA Analysis of the Polar Codes and the use of Feedback to aid Polarization at Short Blocklengths

Information Theoretic Imaging

FEC performance on multi-part links

LDPC Codes. Intracom Telecom, Peania

Optical Storage Technology. Error Correction

THE polar code of [1] achieves capacity of the symmetric

An Introduction to Low-Density Parity-Check Codes

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

Codes on Graphs. Telecommunications Laboratory. Alex Balatsoukas-Stimming. Technical University of Crete. November 27th, 2008

Efficiently decodable codes for the binary deletion channel

Transcription:

Staircase Codes for High-Speed Optical Communications Frank R. Kschischang Dept. of Electrical & Computer Engineering University of Toronto (Joint work with Lei Zhang, Benjamin Smith, Arash Farhood, Andrew Hunt, John Lodge, and Dmitry Trukhachev) Jacobs University, Bremen, Germany August 21st, 2014 1

Acknowledgements Joint work with: Benjamin P. Smith, Lei Zhang University of Toronto Andrew Hunt and John Lodge Communications Research Centre, Ottawa Arash Farhood Cortina Systems Inc., Sunnyvale/Ottawa Dmitry Trukhachev Dalhousie University, Halifax Thank you to the organizers, especially Werner Henkel, for organizing, and for inviting me to speak! 2

Source: Nicolas Rapp, Fortune Magazine, July 23, 2012 3

eunetworks Optical Fiber Network Map Source: www.eunetworks.de 4

Fiber-Optic Communication Systems: Challenges Reliability P e < 10 15 5

Fiber-Optic Communication Systems: Challenges Reliability P e < 10 15 Speed 100 Gb/s per-channel data rates 5

Fiber-Optic Communication Systems: Challenges Reliability P e < 10 15 Speed 100 Gb/s per-channel data rates Non-Linearity The fiber-optic channel is non-linear in the input power (very interesting topic, but not part of this talk) 5

Outline of Talk This talk is about... Outline FEC for the binary symmetric channel (BSC) After optical (and/or) electrical compensation, suitable as forward-error-correction (FEC) for 100Gb/s PD-QPSK systems without soft information 1 Existing solutions (G.975, G.975.1) 2 Implementation considerations 3 Staircase codes 4 Ensemble analysis 5 Conclusions 6

Measures Net Coding Gain Given a particular BER, we can obtain the corresponding Q via Q = 2erfc 1 (2 BER). The coding gain (CG) of an error-correcting code is defined as CG (in db) = 20 log 10 (Q out /Q in ), and the Net Coding Gain (NCG) is NCG (in db) = CG + 10 log 10 (R), where R is the rate of the code. Overhead Overhead = # redundant symbols # information symbols = n k k = 1 R R 7

Existing Solutions 8

ITU-T G.975 (1996) Reed-Solomon (255,239) Code Coding Symbols are bytes Depth-16 interleaving corrects (some) bursts up to 1024 bits Coding Gain = 6.1 db Net Coding Gain = 5.8 db Overhead = 16/239 = 6.69% P[e] 10-3 10-6 10-9 10-12 10-15 Shannon Limit (C=239/255) 2-PSK Limit (C=239/255) BSC Limit (C=239/255) 6.1 db 0 5 10 15 20 20 log 10 (Q) (db) RS(255,239) uncoded 2-PSK Constraint: Rate and framing structure fixed for future generations 9

ITU-T G.975.1 (2004) Concatenated Codes Product-like codes with algebraic component codes k a n a C C k b Information Symbols Row Parity Π n b Column Parity Parity on Parity 10

ITU-T G.975.1 (2004) Code NCG Notes I.2 8.88 db @ 10 15 Outer RS, Inner CSOC I.3 8.99 db @ 10 15 Outer BCH (t = 3), Inner BCH (t = 10) I.4 8.67 db @ 10 15 Outer RS, Inner BCH (t = 8) I.5 8.5 db @ 10 15 Outer RS, Inner Product (t = 1) I.6 8.02 db @ 10 15 LDPC I.7 8.09 db @ 10 15 Outer BCH (t = 4), Inner BCH (t = 11) I.8 8.00 db @ 10 15 RS(2720,2550) I.9 8.63 db @ 7 10 14 Product BCH (t = 3), Erasure Dec? 11

Objectives Increased Net Coding Gain NCG Shannon Limit of BSC (9.97 db at 10 15 ) Error Floor Error floor 10 15 Lower error floor Insurance in presence of correlated errors Block Length n 2 10 6 or less Low Implementation Complexity Dataflow considerations at 100Gb/s 12

Implementation Considerations 13

Hardware Considerations: Product vs. LDPC Product Code C Π C Algebraic component codes Syndrome-based decoding LDPC Code Π SPC component codes Belief propagation decoding 14

Syndrome-based Decoding of Product Codes Decoding an (n, k) component codeword n received symbols n k symbol syndrome R = 239/255, n 1000, n k 32 For high-rate codes, syndromes provide compression 3 decodings/component 96 bits/decoding 2 1000 components/symbol 0.768 bits/symbol Syndrome Algebraic Decoder Error Locators Update Syndromes Total Dataflow At 100Gb/s, 76.8 Gb/s internal dataflow 15

LDPC Belief Propagation Decoding 15 iterations 2 messages/iteration edge 5 bits/message 3 edges/symbol 450 bits/symbol Π Total Dataflow At 100Gb/s, 45Tb/s internal dataflow! 16

Dataflow Comparison 76.8 Gb/s 45 Tb/s 2 3 orders of magnitude (huge implementation challenge for soft message-passing LDPC decoders). 17

Our Solution 18

Coding with Algebraic Component Codes C 1 C 2 C 3 C l Π Graph Optimization Degrees of Freedom Mixture of component codes (e.g., Hamming, BCH) Multi-edge-type structures 19

Staircase Codes: Construction Consider a sequence of m-by-m matrices B i m B 1 B 0 B 1 B 2 m and a linear, systematic, (n = 2m, k = 2m r) component code C 2m r Information r Parity Encoding Rule i 0, all rows of [ B T i 1 B i] are codewords in C 20

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Construction B 1 B T 0 B 1 B T 2 B 3 21

Staircase Codes: Properties Hybridization of recursive convolution coding and block coding Recurrent Codes of Wyner-Ash (1963) Info i B i 1 Algebraic Encoder Delay B i Rate : R = 1 r/m Variable-latency (sliding-window) decoder B i 1 B i B i+1 B i+2 B i+3 B i+4 22

Staircase Codes are a type of Braided Block Code I P P Felström, Truhachev, Lentmaier, Zigangirov, Braided Block Codes, IEEE Trans. on Info. Theory, 2009. 23

Staircase Codes are a type of Braided Block Code I P P I P P Felström, Truhachev, Lentmaier, Zigangirov, Braided Block Codes, IEEE Trans. on Info. Theory, 2009. 23

Staircase Codes are a type of Braided Block Code I P P I P P I P P Felström, Truhachev, Lentmaier, Zigangirov, Braided Block Codes, IEEE Trans. on Info. Theory, 2009. 23

Staircase Codes: Properties B T i Bi+1 B T i+2 Bi+3 The multiplicity of (minimal) stalls of size (t + 1) (t + 1) is K = ( ) m t + 1 t+1 j=1 ( )( ) m m, j t + 1 j and the corresponding contribution to the error floor, for transmission over a binary symmetric channel with crossover probability p, is BER floor = K (t + 1)2 m 2 p (t+1)2. 24

General Stall Patterns B T i B i+1 B T i+2 B i+3 (5,5)-stall K L Contribution 4 4 3.55 10 21 4 5 7.81 10 28 5 5 2.54 10 22 5 6 2.21 10 28 6 6 1.40 10 23 6 7 1.49 10 29 7 7 8.53 10 25 7 8 1.83 10 32 Contribution of (K, L)-stalls, p = 4.8 10 3. 25

Graphical Representation most reliable least reliable Π Π Π C C Π 26

Movie Time (Sliding Window Decoding) B i 1 B i B i+1 B i+2 B i+3 B i+4 play movie 27

FPGA-based Simulation Results Code Parameters m = 510, r = 32, triple-error-correcting BCH component code 20 log 10 (Q) (db) 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 10-6 10-7 10-8 10-9 10-10 BER out 10-11 10-12 BSC Limit (C=239/255) Staircase I.9 G.975.1 codes I.3 I.4 I.5 RS(255,239) 10-13 10-14 10-15 10-2 10-3 BER in 10-4 28

Further Staircase Code Designs Systematically searched over space of staircase codes with shortened primitive BCH component decoders over length 2 m with: 1 R {l/(l + 1) : l = 3, 4,..., 16} 2 t {2, 3,..., 6} 3 m {8, 9, 10, 11, 12} Two-stage search process 1 idealized decoding without mis-corrections (to estimate performance) 2 full-blown simulations with actual decoders, with performance extrapolation to a BER of 10 15. 29

Staircase code designs with t = 4 component codes OH (%) m w p NCG (db) Gap (db) 6.25 11 748 4.70e-03 9.44 0.45 9.09 10 480 7.04e-03 9.82 0.52 10.00 10 440 7.54e-03 9.87 0.59 11.11 10 400 8.33e-03 9.96 0.63 12.50 10 360 9.29e-03 10.05 0.68 14.29 10 320 1.03e-02 10.13 0.77 16.67 9 252 1.25e-02 10.32 0.78 20.00 9 216 1.44e-02 10.41 0.92 23.10 9 192 1.62e-02 10.49 1.03 25.00 9 180 1.76e-02 10.56 1.06 33.33 9 144 2.12e-02 10.60 1.38 Table: NCG calculated from extrapolated p. Gap is NCG gap to BSC capacity. 30

Staircase code designs with t = 5 component codes OH (%) m w p NCG (db) Gap (db) 6.67 11 880 5.16e-03 9.54 0.43 7.15 11 825 5.54e-03 9.60 0.45 7.69 11 770 5.90e-03 9.66 0.48 23.10 9 240 1.71e-02 10.58 0.94 25.00 9 225 1.82e-02 10.62 1.00 33.33 9 180 2.24e-02 10.70 1.28 Table: NCG calculated from extrapolated p. Gap is NCG gap to BSC capacity. 31

Net Coding Gain vs. Overhead Net Coding Gain (db) 13 12 11 10 BSC capacity t = 4 staircase codes t = 5 staircase codes Codes from [4] Code from [5] 9 5 10 15 20 25 30 35 Overhead (%) 32

Extrapolated Simulation Results 10 1 10 4 10 7 BER 10 10 10 13 10 16 0.45 0.5 0.55 0.6 0.7 0.8 0.9 1 1.1 1.3 1.7 2.1 2.5 10 2 p 10 2 10 2 33

Ensemble Analysis 34

Prior Work Cores in random graphs [Molloy, 2005][Janson, 2007] A k-core of G is a subgraph in which each vertex has degree at least k. Peeling algorithm to identify graph cores Threshold on core emergence for G(n, p) A (t + 1)-core corresponds to an uncorrectable error pattern Poisson analysis of product codes [Justesen, 2011] Very long component codes No mis-correction assumption Iterative row-column peeling decoding Recursive update of Poisson parameters 35

Prior Work (cont d) Our analysis affirms (with a different approach) these earlier results: Hard-decision decoding of spatial-coupled GLDPC codes [Pfister, 2012, Pfister, 2013] Bounded-distance decoding Density evolution of average bit-error probability Potential threshold 36

References M. Molloy Cores in random hypergraphs and Boolean formulas. Random Structures & Algorithms, vol. 27, no. 1, pp. 124-135, Aug. 2005. S. Janson, M.J. Luczak A simple solution to the k-core problem. Random Structures & Algorithms, vol. 30, no. 1-2, pp. 50-62, Jan. 2007. J. Justesen Performance of product codes and related structures with iterated decoding. IEEE Trans. Commun., vol. 59, no.2, pp. 407-415, Feb. 2011. Y.-Y. Jian, H.D. Pfister, K.R. Narayanan Approaching capacity at high rates with iterative hard-decision decoding. 2012 IEEE International Symposium on Information Theory Proceedings, pp. 2696-2700, 1-6 July 2012. A. Yedla, Y.-Y. Jian, P.S. Nguyen, H.D. Pfister A simple proof of Maxwell saturation for coupled scalar recursions. ArXiv e-prints, Sep. 2013. 37

Staircase Ensemble The (C(n, k, t), v, M, w, L) ensemble C(n, k, t): component code v: variable degree M: component codes per (spatial) position w: coupling width L: coupling length G.709-compatible staircase code C(n, k, t) = (1022, 990, 3) shortened, extended BCH v = 2, M = 512, w = 2, L = Sliding window decoding Product permutations 38

Staircase Ensemble Protograph of staircase ensemble with L = 6, w = 3 C C C C C C C C Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π c Π v Π v Π v Π v Π v Π v 0 1 2 3 4 5 6 7 Protograph characteristics Component codewords and variable nodes partitioned deterministically Main source of randomness is Π c 39

Staircase Ensemble Sample from a staircase ensemble with n = 18, v = 2, M = 1, w = 3, L = 3 C C C C C Π c k 0 1 2 3 4 40

Peeling Decoder Key simplifications 1 Independent edge removal as M 2 No mis-corrections (optimistic for small t) Peeling Decoding Algorithm (PD) 1 Sample each variable node from BSC(p). 2 Remove all correctly received variable nodes. 3 Remove all check nodes of degree t. 4 Remove all variable nodes adjacent to check nodes removed in 3. 5 Repeat 3 and 4 until no more check nodes can be removed. 41

Poisson Analysis Check degree Check edges (component codeword bits) are divided into w edge-types: (c 0,..., c n/w 1 c n/w,..., c 2n/w 1... c (w 1)n/w,..., c n 1 ) }{{}}{{}}{{} type 0 type 1 type w-1 A check of degree (i 0, i 1,..., i w 1 ) contains i τ edges of type τ. 42

Poisson Analysis Check degree distribution Let λ = np. For large n, the check degree distribution at position k after PD step 2 is approximately Pr{(i 0,..., i w 1 )} ( Po i τ ; λ ) w where Po(i; x) e x x i /i!. τ [w] τ [w] Po(i τ ; x τ (k, l = 0)). 43

Poisson Analysis Let x(k, l) = ξ x ξ(k, l) and define π(a, x) Po(i; x). i:i>a Check node removal The number of edges of type τ after the l-th iteration of PD step 3 is i τ M Po(i ξ ; x ξ (k, l)) = Mx τ (k, l)π(t, x(k, l)). (i 0,...,i w 1 ): i 0 + +i w 1 t+1 ξ [w] 44

Poisson Analysis Let Pr{E τ,v (k, l)} be the probability that any particular edge of type τ at position k remains after the l-th iteration of PD step 4. Poisson thinning At the beginning of iteration l + 1, the check degree distribution of {(i 0,..., i w 1 ) : i 0 + + i w 1 t + 1} is modified by the Poisson thinning process Pr{(i 0,..., i w 1 )} = Po (i τ ; x τ (k, l) Pr{E τ,v (k, l)}). τ [w] 45

Spatially Coupled Scalar Recursion For the (C(n, k, t), v,, w, L) ensemble, let x(l) = (x(0, l),..., x(l + w 2, l)) T, X = [0, x max ], Y = [0, y max ], and Λ = [0, n]. Define f : Y Λ X, g : X Y f (x, λ) = λx v 1 g(x) = π(t, x). Let f, g denote the element-wise application of f, g on a vector x and A be the canonical spatial-coupling matrix. Proposition 1 Under the initial condition x( 1) = (,..., ) T, the ensemble average Poisson parameter prior to iteration l 0 of PD is x(l) = A T f(ag(x(l 1)), λ). 46

Potential Threshold Potential function The single-system potential function for the coupled scalar recursion in Proposition 1 is [Pfister, 2013] x g(x) U s (x, λ) = xg(x) g(z) dz 0 0 ( t 1 = xπ(t, x) x π(i + 1, x) i=0 f (z, λ) dz ) λ 1 [π(t, x)]v 1 v 47

Potential Functions 16 x 10 7 14 12 10 8 U s (x,λ) 6 4 2 0 2 4 0 2 4 6 8 10 12 x top to bottom: p = 0.005697 (below threshold); p = 0.005755 (threshold); p = 0.005687 (above threshold) (n = 1022, t = 3) 48

Computed Thresholds w. Binary Primitive BCH codes (no mis-corrections) 7 10 2 6 10 2 5 10 2 4 10 2 p 3 10 2 2 10 2 1 10 2 0 0.5 0.6 0.7 0.8 0.9 1 R 49

Conclusions and Future Directions At rate 239/255, staircase codes provide best-in-class 9.41 db NCG with an efficient hardware realization Future work Analysis of component code decoding with mis-corrections GMD decoding between coupled component codes 50