ECEN 655: Advanced Channel Coding

Similar documents
Introduction to Low-Density Parity Check Codes. Brian Kurkoski

An Introduction to Low Density Parity Check (LDPC) Codes

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

Belief-Propagation Decoding of LDPC Codes

Low-density parity-check codes

Graph-based Codes and Iterative Decoding

An Introduction to Algorithmic Coding Theory

SIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land

LDPC Codes. Intracom Telecom, Peania

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

Coding Techniques for Data Storage Systems

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

Time-invariant LDPC convolutional codes

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

Introducing Low-Density Parity-Check Codes

An Introduction to Low-Density Parity-Check Codes

Graph-based codes for flash memory

Symmetric Product Codes

Making Error Correcting Codes Work for Flash Memory

Codes on graphs and iterative decoding

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

Capacity-approaching codes

Lecture 4 Noisy Channel Coding

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

Low-Density Parity-Check codes An introduction

Iterative Decoding for Wireless Networks

Joint Iterative Decoding of LDPC Codes and Channels with Memory

Belief propagation decoding of quantum channels by passing quantum messages

On Bit Error Rate Performance of Polar Codes in Finite Regime

Successive Cancellation Decoding of Single Parity-Check Product Codes

BOUNDS ON THE MAP THRESHOLD OF ITERATIVE DECODING SYSTEMS WITH ERASURE NOISE. A Thesis CHIA-WEN WANG

Turbo Codes are Low Density Parity Check Codes

Notes 3: Stochastic channels and noisy coding theorem bound. 1 Model of information communication and noisy channel

A Non-Asymptotic Approach to the Analysis of Communication Networks: From Error Correcting Codes to Network Properties

Channel Codes for Short Blocks: A Survey

Low-Density Parity-Check Codes

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

Recent Results on Capacity-Achieving Codes for the Erasure Channel with Bounded Complexity

Codes on graphs and iterative decoding

Iterative Encoding of Low-Density Parity-Check Codes

Spatially Coupled LDPC Codes

Quasi-cyclic Low Density Parity Check codes with high girth

Capacity of a channel Shannon s second theorem. Information Theory 1/33

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

Optimal Rate and Maximum Erasure Probability LDPC Codes in Binary Erasure Channel

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

Structured Low-Density Parity-Check Codes: Algebraic Constructions

Capacity-Achieving Ensembles for the Binary Erasure Channel With Bounded Complexity

Advances in Error Control Strategies for 5G

An algorithm to improve the error rate performance of Accumulate-Repeat-Accumulate codes Tae-Ui Kim

Fountain Uncorrectable Sets and Finite-Length Analysis

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

Low-density parity-check (LDPC) codes

Message Passing Algorithm and Linear Programming Decoding for LDPC and Linear Block Codes

Factor Graphs and Message Passing Algorithms Part 1: Introduction

Compressed Sensing and Linear Codes over Real Numbers

Iterative Quantization. Using Codes On Graphs

5. Density evolution. Density evolution 5-1

Analysis of Sum-Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Approximation

Lecture 4: Proof of Shannon s theorem and an explicit code

Convolutional Codes ddd, Houshou Chen. May 28, 2012

Bifurcations in iterative decoding and root locus plots

Staircase Codes. for High-Speed Optical Communications

Bounds on the Performance of Belief Propagation Decoding

Error-Correcting Codes:

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

State-of-the-Art Channel Coding

Lecture 6 I. CHANNEL CODING. X n (m) P Y X

LOW-density parity-check (LDPC) codes were invented

Lecture 5: Channel Capacity. Copyright G. Caire (Sample Lectures) 122

AN INTRODUCTION TO LOW-DENSITY PARITY-CHECK CODES

Efficient design of LDPC code using circulant matrix and eira code Seul-Ki Bae

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei

Maximum Likelihood Decoding of Codes on the Asymmetric Z-channel

One Lesson of Information Theory

A Mathematical Approach to Channel Codes with a Diagonal Matrix Structure

Construction of low complexity Array based Quasi Cyclic Low density parity check (QC-LDPC) codes with low error floor

6.1.1 What is channel coding and why do we use it?

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

Expansion Coding for Channel and Source. Coding

Chapter 4. Data Transmission and Channel Capacity. Po-Ning Chen, Professor. Department of Communications Engineering. National Chiao Tung University

Turbo Codes for Deep-Space Communications

Construction and Performance Evaluation of QC-LDPC Codes over Finite Fields

Quasi-Cyclic Asymptotically Regular LDPC Codes

THE seminal paper of Gallager [1, p. 48] suggested to evaluate

/12/$ IEEE 486

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

Binary Convolutional Codes

Codes designed via algebraic lifts of graphs

Lecture 12. Block Diagram

CHAPTER 3 LOW DENSITY PARITY CHECK CODES

Part III Advanced Coding Techniques

Physical Layer and Coding

Message-Passing Decoding for Low-Density Parity-Check Codes Harish Jethanandani and R. Aravind, IIT Madras

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

ABSTRACT. The original low-density parity-check (LDPC) codes were developed by Robert

Asynchronous Decoding of LDPC Codes over BEC

Copyright Warning & Restrictions

A Class of Quantum LDPC Codes Derived from Latin Squares and Combinatorial Design

Transcription:

ECEN 655: Advanced Channel Coding Course Introduction Henry D. Pfister Department of Electrical and Computer Engineering Texas A&M University ECEN 655: Advanced Channel Coding 1 / 19

Outline 1 History and Applications 2 Course Outline 3 Examples 4 State of the Art ECEN 655: Advanced Channel Coding 2 / 19

A Punctured History of ECC: In the Beginning 1945: Hamming experiments with ECC for computers 1948: Claude Shannon publishes treatise on information theory 1949: Golay publishes the binary Golay code 1950: Hamming publishes seminal Hamming parity-check code 1955: Elias publishes first paper on convolutional codes 1960: Reed-Solomon code paper and Peterson BCH decoding paper 1960: Gallager introduces low-density parity-check (LDPC) codes and iterative decoding in his PhD thesis ECEN 655: Advanced Channel Coding 3 / 19

A Punctured History of ECC: Big Breakthroughs 1993: Berrou et al. revolutionize coding with turbo codes 1995: MacKay and Neal rediscover LDPC codes 1997: LMSSS approach capacity with irregular LDPC codes 2000: DVB-RCS and 3GPP standards are first to include turbo codes 2001: Zigangirov et al. introduce LDPC convolutional codes 2001: RU introduce density evolution to optimize LDPC codes 2002: Luby s rateless fountain codes achieve capacity on the BEC 2004: DVB-S2 standard is the first to include LDPC codes 200x: Optimized LDPC codes solve most coding problems ECEN 655: Advanced Channel Coding 4 / 19

A Punctured History of ECC: Recent Advances 2009: Arikan s polar codes deterministically achieve capacity 2011: Kudekar, Richardson, and Urbanke discover threshold saturation and show LDPC convolutional codes achieve capacity 2012: Variants of LDPC convolutional codes (e.g., braided codes) used in practice for optical communication Note: Many important advances (especially in algebraic coding) are neglected due to our focus on modern capacity approaching codes. ECEN 655: Advanced Channel Coding 5 / 19

Applications of Error-Correcting Codes Many devices make use of error-correcting codes: Compact Discs and DVDs Cell Phones Hard Disk Drives The Internet Flash Memory and RAM in your computer Microprocessor Bus Connections DNA Microarrays ECEN 655: Advanced Channel Coding 6 / 19

Main Elements of this Course Inference Problems: point-to-point communication multiple-access communication best assignment w/constraints rate distortion Coding Schemes: product codes turbo codes LDPC codes polar codes Mathematical Tools: factor graphs: marginalization and message passing probability: martingales, concentration, and Markov fields combinatorics: generating functions and duality ECEN 655: Advanced Channel Coding 7 / 19

Goals of this Course (1) 1. Define maximum-likelihood (ML) decoding, maximum-a-posteriori (MAP) decoding, and a-posteriori-probability (APP) processing for inference problems. 2. Understand random codes (graphs) and code (graph) ensembles. 3. Find the factor graph for an inference problem and approximate its marginalization via message-passing on that factor graph. 4. Understand connections between: (i) the Gibb s free energy and APP processing, (ii) the Bethe free energy and sum-product processing. 5. Analyze the performance of message-passing decoding on the binary erasure channel (BEC) for both code ensembles and individual codes. ECEN 655: Advanced Channel Coding 8 / 19

Goals of this Course (2) 6. Explain the gap between message-passing and MAP decoding and use EXIT functions to derive bounds on that gap on the BEC. 7. Analyze the performance of message-passing decoding for code ensembles on binary memoryless symmetric (BMS) channels. 8. Compute average weight enumerator and spectral shape of standard ensembles and use them to bound ML decoding thresholds. 9. Identify communications and signal processing problems where message-passing can be used implement detection and estimation. ECEN 655: Advanced Channel Coding 9 / 19

Standard Point-to-Point Communication X n 1 U k 1 Encoder Channel Decoder Û k 1, ˆX n 1 Y n 1 Encoder: Maps data U k 1 {0, 1} k to codeword X n 1 C X n Channel: Randomly maps X n 1 X n to Y n 1 Y n (i.i.d. p(y x)) Decoder: Estimates information sequence Û k 1 and codeword ˆX n 1 Information Theory: Shannon s Channel Coding Theorem An information rate R = k/n (bits/channel use) is achievable iff R < I(X; Y ), where I(X; Y ) is the mutual information Capacity C is the maximum of I(X; Y ) over the input dist. p(x) Proof based on using a random code from a suitable ensemble ECEN 655: Advanced Channel Coding 10 / 19

Binary Memoryless Symmetric (BMS) Channels For BMS Channels, capacity is achieved by: Uniform input distribution (Pr(X =0)=Pr(X =1)=1/2) Uniform random codes with maximum-likelihood (ML) decoding Consider a BSC(p): (i.e., binary symmetric channel with error rate p) Capacity is C = 1 h(p), where h(p) p log 1 p + (1 p) log 2 Hamming ball: B(y n 1, m) = {z n 1 {0, 1} n d H (y n 1, z n 1 ) m} For any ɛ>0, we find δ n =Pr (X n 1 1 1 p / B(Y n 1, (p+ɛ)n)) 0 by LLN pn errors expected and prob. of > (p + ɛ)n errors vanishes as n ECEN 655: Advanced Channel Coding 11 / 19

Random Coding for the BSC (1) Consider a random code where: For i = 0, 1,..., 2 k 1, ith codeword X n 1 (i) is i.i.d. Bernoulli( 1 2 ) Codeword X n 1 (j) is transmitted Decoder lists all codewords in ball B(Y n 1, (p + ɛ)n) around received Returns a codeword if exactly one codeword in ball Declares failure otherwise A union bound on P e (j), the decoder error probability, gives P e (j) δ n + 2 k i=0,i j Pr (X n 1 (i) B(Y n 1, (p + ɛ)n)) ECEN 655: Advanced Channel Coding 12 / 19

Random Coding for the BSC (2) Assume p + ɛ 1 2. Since Xn 1 (i) is independent of Y n 1 for i j, Pr (X n 1 (i) B(Y n 1, (p + ɛ)n)) 1 2 n B(Y n 1, (p + ɛ)n) = 1 2 n (p+ɛ)n i=0 ( ) n 2 n[h(p+ɛ) 1] i ECEN 655: Advanced Channel Coding 13 / 19

Random Coding for the BSC (2) Assume p + ɛ 1 2. Since Xn 1 (i) is independent of Y n 1 for i j, Pr (X n 1 (i) B(Y n 1, (p + ɛ)n)) 1 2 n B(Y n 1, (p + ɛ)n) = 1 2 n (p+ɛ)n i=0 ( ) n 2 n[h(p+ɛ) 1] i If R < C =1 h(p), then R+h(p+ɛ) 1<0 for some ɛ>0 and P e (j) δ n + 2 k i=0,i j Pr (X n 1 (i) B(Y n 1, (p + ɛ)n)) <0 {}}{ δ n + 2 k 2 n[h(p+ɛ) 1] = δ n + 2 n [R + h(p + ɛ) 1] 0 ECEN 655: Advanced Channel Coding 13 / 19

Random Linear Codes Also holds for codes defined by random k n generator matrix Only problem is that codewords are no longer independent r.v. Given 2 codewords, distribution on a 3rd changes due to linearity Need only to argue more carefully that, for i j, Pr (X n 1 (i) B(Y n 1, (p + ɛ)n)) 1 2 n B(Y n 1, (p + ɛ)n) A few facts about random linear codes: For fixed code, symmetry implies error prob. independent of j Since 0 C, we order codewords so X n 1 (0) = 0 and choose j = 0 Then, Pr(X n 1 (i) = x n 1 X n 1 (0) = 0) = Pr(X n 1 (i) = x n 1 ) and: For i 0, X1 n(i) is independent of both Xn 1 (0) and Y n 1 Pr ( X1 n (i) B(Y n 1, (p + ɛ)n)) 1 B(Y n 2 n 1, (p + ɛ)n) ECEN 655: Advanced Channel Coding 14 / 19

The 50 Year Challenge For general linear codes: storage and encoding is tractable Requires nk bits for storage and nk boolean operations NP decision problems require Yes be verified in polynomial time Is there a codeword z n 1 s.t. d H(z n 1, y n 1 ) e? is NP-complete! For the generator matrix G, ML decoding is the inference problem ˆx n 1 = arg max x n 1 {ug u {0,1}k } Pr (Y n 1 = y n 1 X n 1 = x n 1 ) Q: Is there a code structure that makes decoding tractable? ECEN 655: Advanced Channel Coding 15 / 19

Low-Density Parity-Check (LDPC) Codes code bits permutation parity checks Linear codes defined by xh T = 0 for all c.w. x C H is an r n sparse parity-check matrix for the code Ensembles defined by bit/check degrees and rand. perm. Bipartite Tanner graph Bit (check) nodes associated with columns (rows) of H Each check is attached to all bits that must satisfy the check ECEN 655: Advanced Channel Coding 16 / 19

Sparse Graph Codes = = = = = = = = = = = + + + Codeword constraints defined via sparse factor graph factor nodes define the constraints variable nodes define the variables half-edges represent observations (or degree-1 factor nodes) Three typical constraints Equality (=): Edges are bits that must have the same value Parity (+): Edges are bits that must sum to zero (mod 2) Trellis: Bit edges must be compatible with state edges ECEN 655: Advanced Channel Coding 17 / 19

Some Recent History Turbo Codes Introduced in 1993 by Berrou, Glavieux, and Thitimajshima Revolutionized coding theory with performance McEliece et al.: turbo decoding = belief propagation (1998) ECEN 655: Advanced Channel Coding 18 / 19

Some Recent History Turbo Codes Introduced in 1993 by Berrou, Glavieux, and Thitimajshima Revolutionized coding theory with performance McEliece et al.: turbo decoding = belief propagation (1998) Low Density Parity Check (LDPC) Codes Introduced in 1960 by Gallager and then forgotten Re-discovered by MacKay in 1995 Irregular LDPC achieves capacity on BEC (1997) Density evolution for AWGN: 0.0045 db from cap. (2001) ECEN 655: Advanced Channel Coding 18 / 19

Some Recent History Turbo Codes Introduced in 1993 by Berrou, Glavieux, and Thitimajshima Revolutionized coding theory with performance McEliece et al.: turbo decoding = belief propagation (1998) Low Density Parity Check (LDPC) Codes Introduced in 1960 by Gallager and then forgotten Re-discovered by MacKay in 1995 Irregular LDPC achieves capacity on BEC (1997) Density evolution for AWGN: 0.0045 db from cap. (2001) Sparse Graph Codes Natural generalization that encompasses many code families Low-complexity iterative decoding has outstanding performance ECEN 655: Advanced Channel Coding 18 / 19

Turbo vs. LDPC Performance BER: Standard Turbo (blue) vs Irregular LDPC (red) From The Capacity of LDPC Codes Under Message Passing Decoding, Richardson & Urbanke, Trans. IT 2001 ECEN 655: Advanced Channel Coding 19 / 19