Division of Engineering and Applied Sciences March 2004 Belief-Propagation with Information Correction: Near Maximum-Likelihood Decoding of LDPC Codes.

Slides:



Advertisements
Similar presentations
Noise-Predictive Turbo Equalization for Partial Response Channels Sharon Aviran, Paul H. Siegel and Jack K. Wolf Department of Electrical and Computer.
Advertisements

Company LOGO F OUNTAIN C ODES, LT C ODES AND R APTOR C ODES Susmita Adhikari Eduard Mustafin Gökhan Gül.
Capacity of Wireless Channels
Jing Jiang and Krishna R. Narayanan Wireless Communication Group
Improving BER Performance of LDPC Codes Based on Intermediate Decoding Results Esa Alghonaim, M. Adnan Landolsi, Aiman El-Maleh King Fahd University of.
1 Finite-Length Scaling and Error Floors Abdelaziz Amraoui Andrea Montanari Ruediger Urbanke Tom Richardson.
Cooperative Multiple Input Multiple Output Communication in Wireless Sensor Network: An Error Correcting Code approach using LDPC Code Goutham Kumar Kandukuri.
Belief Propagation by Jakob Metzler. Outline Motivation Pearl’s BP Algorithm Turbo Codes Generalized Belief Propagation Free Energies.
By Hua Xiao and Amir H. Banihashemi
TELIN Estimation and detection from coded signals Presented by Marc Moeneclaey, UGent - TELIN dept. Joint research : - UGent.
TELIN Estimation and detection from coded signals Presented by Marc Moeneclaey, UGent - TELIN dept. Joint research : - UGent.
Near Shannon Limit Performance of Low Density Parity Check Codes
Linear-time encodable and decodable error-correcting codes Daniel A. Spielman Presented by Tian Sang Jed Liu 2003 March 3rd.
Asymptotic Enumerators of Protograph LDPCC Ensembles Jeremy Thorpe Joint work with Bob McEliece, Sarah Fogal.
Multiple-input multiple-output (MIMO) communication systems
1 Local optimality in Tanner codes June 2011 Guy Even Nissim Halabi.
1 Scalable Image Transmission Using UEP Optimized LDPC Codes Charly Poulliat, Inbar Fijalkow, David Declercq International Symposium on Image/Video Communications.
Network Coding and Reliable Communications Group Algebraic Network Coding Approach to Deterministic Wireless Relay Networks MinJi Kim, Muriel Médard.
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
RAPTOR CODES AMIN SHOKROLLAHI DF Digital Fountain Technical Report.
Interconnect Efficient LDPC Code Design Aiman El-Maleh Basil Arkasosy Adnan Al-Andalusi King Fahd University of Petroleum & Minerals, Saudi Arabia Aiman.
Division of Engineering and Applied Sciences DIMACS-04 Iterative Timing Recovery Aleksandar Kavčić Division of Engineering and Applied Sciences Harvard.
Variable-Length Codes: Huffman Codes
Generalized Communication System: Error Control Coding Occurs In Right Column. 6.
Improving the Performance of Turbo Codes by Repetition and Puncturing Youhan Kim March 4, 2005.
The Role of Specialization in LDPC Codes Jeremy Thorpe Pizza Meeting Talk 2/12/03.
Information-Theoretic Limits of Two-Dimensional Optical Recording Channels Paul H. Siegel Center for Magnetic Recording Research University of California,
Optimizing LDPC Codes for message-passing decoding. Jeremy Thorpe Ph.D. Candidacy 2/26/03.
CS774. Markov Random Field : Theory and Application Lecture 10 Kyomin Jung KAIST Oct
Analysis of Iterative Decoding
Page 1 of 37 Density Evolution, Capacity Limits, and the "5k" Code Result (L. Schirber 11/22/11) The Density Evolution (DE) algorithm calculates a "threshold.
Low Density Parity Check (LDPC) Code Implementation Matthew Pregara & Zachary Saigh Advisors: Dr. In Soo Ahn & Dr. Yufeng Lu Dept. of Electrical and Computer.
Block-LDPC: A Practical LDPC Coding System Design Approach
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 7 Low Density Parity Check Codes.
An Optimal Partial Decoding Algorithm for Rateless Codes Valerio Bioglio, Rossano Gaeta, Marco Grangetto, and Matteo Sereno Dipartimento di Informatica.
Tinoosh Mohsenin and Bevan M. Baas VLSI Computation Lab, ECE Department University of California, Davis Split-Row: A Reduced Complexity, High Throughput.
Threshold Phenomena and Fountain Codes Amin Shokrollahi EPFL Joint work with M. Luby, R. Karp, O. Etesami.
Iterative Soft-Decision Decoding of Algebraic-Geometric Codes Li Chen Associate Professor School of Information Science and Technology, Sun Yat-sen University,
Local Theory of BER for LDPC Codes: Instantons on a Tree Vladimir Chernyak Department of Chemistry Wayne State University In collaboration with: Misha.
1 –Mandatory exercise for Inf 244 –Deadline: October 29th –The assignment is to implement an encoder/decoder system.
Distributed computing using Projective Geometry: Decoding of Error correcting codes Nachiket Gajare, Hrishikesh Sharma and Prof. Sachin Patkar IIT Bombay.
Introduction of Low Density Parity Check Codes Mong-kai Ku.
DIGITAL COMMUNICATIONS Linear Block Codes
Information Theory Linear Block Codes Jalal Al Roumy.
Multi-Edge Framework for Unequal Error Protecting LT Codes H. V. Beltr˜ao Neto, W. Henkel, V. C. da Rocha Jr. Jacobs University Bremen, Germany IEEE ITW(Information.
LDPC Decoding: VLSI Architectures and Implementations
Computer Science Division
Part 1: Overview of Low Density Parity Check(LDPC) codes.
Low Density Parity Check codes
1 Lecture 7 System Models Attributes of a man-made system. Concerns in the design of a distributed system Communication channels Entropy and mutual information.
1 Design of LDPC codes Codes from finite geometries Random codes: Determine the connections of the bipartite Tanner graph by using a (pseudo)random algorithm.
Doc.: IEEE /992r1 Submission September, 2004 Victor Stolpman et. al Irregular Structured LDPC Codes and Structured Puncturing Victor Stolpman,
Code Construction and FPGA Implementation of a Low-Error-Floor Multi-Rate Low-Density Parity-Check Code Decoder Lei Yang, Hui Liu, C.-J Richard Shi Transactions.
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Memory-efficient Turbo decoding architecture for LDPC codes
Error-Correcting Code
1 Reliability-Based SD Decoding Not applicable to only graph-based codes May even help with some algebraic structure SD alternative to trellis decoding.
Tinoosh Mohsenin 2, Houshmand Shirani-mehr 1, Bevan Baas 1 1 University of California, Davis 2 University of Maryland Baltimore County Low Power LDPC Decoder.
1 Aggregated Circulant Matrix Based LDPC Codes Yuming Zhu and Chaitali Chakrabarti Department of Electrical Engineering Arizona State.
Reduced Complexity LDPC Decoder: Min Sum Algorithm (L
Recent Advances in Iterative Parameter Estimation
Q. Wang [USTB], B. Rolfe [BCA]
Factor Graphs and the Sum-Product Algorithm
Rate 7/8 (1344,1176) LDPC code Date: Authors:
Progress report of LDPC codes
Optimizing LDPC Codes for message-passing decoding.
Chris Jones Cenk Kose Tao Tian Rick Wesel
Irregular Structured LDPC Codes and Structured Puncturing
Selection procedure of turbo code parameters by combinatorial optimization Yannick Saouter 24/06/2019.
Presentation transcript:

Division of Engineering and Applied Sciences March 2004 Belief-Propagation with Information Correction: Near Maximum-Likelihood Decoding of LDPC Codes Ned Varnica +, Marc Fossorier #, Alek Kavčić + + Division of Engineering and Applied Sciences Harvard University # Department of Electrical Engineering University of Hawaii

Division of Engineering and Applied Sciences slide 2 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Outline Motivation – BP vs ML decoding Improved iterative decoder of LDPC codes Types of BP decoding errors Simulation results

Division of Engineering and Applied Sciences slide 3 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes LDPC Code Graph Bipartite Tanner code graph G = (V,E,C) –Variable (symbol) nodes v i  V, i = 0, 1, …, N-1 –Parity check nodes c j  C, j = 0, 1, …, N c -1 Code rate –R = k/N, k  N-N c Belief Propagation –Iterative propagation of conditional probabilities... Parity check matrix H A non-zero entry in H an edge in G N c x N

Division of Engineering and Applied Sciences slide 4 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Standard Belief-Propagation on LDPC Codes Locally operating –optimal for cycle-free graphs Optimized LDPC codes (Luby et al 98, Richardson, Shokrollahi & Urbanke 99, Hou, Siegel & Milstein 01, Varnica & Kavcic 02) –sub-optimal for graphs with cycles Good finite LDPC have an exponential number of cycles in their Tanner graphs (Etzion, Trachtenberg and Vardy 99) Encoder constructions BP to ML performance gap due to convergence to pseudo- codewords (Wiberg 95, Forney et al 01, Koetter & Vontobel 03)

Division of Engineering and Applied Sciences slide 5 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Examples Short Codes - e.g. Tanner code with N = 155, k = 64, diam = 6, girth = 8, d min = 20 Long Codes - e.g. Margulis Code with N = 2640 k = 1320

Division of Engineering and Applied Sciences slide 6 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Goals Construct decoder –Improved BP decoding performance –More flexibility in performance versus complexity –Can nearly achieve ML performance with much lower computational burden Reduce or eliminate LDPC error floors Applications –Can use with any “off-the-shelf” LDPC encoder –Can apply to any communication/data storage channel

Division of Engineering and Applied Sciences slide 7 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes ^ Subgraph Definitions Definition 1: Definition 1: SUC graph G S (L) = ( V S (L), E S (L), C S (L) ) is graph induced by SUC C S (L) Syndrome s = H x (L) Set of unsatisfied check nodes(SUC)C S (L) - Set of unsatisfied check nodes (SUC) C S (L) = {c i : (Hx (L) ) i  0} V S (L) - Set of variable nodes incident to c  C S (L) E S (L) - Set of edges connecting V S (L) and C S (L) channel x  {0,1} N r  RNr  RN transmitted binary vector received vector d Gs (v) - Degree in SUC graph G S (L) for v  V d Gs (v)  d G (v) ^ ^ BP decoder x (L)  {0,1} N decoded vector after L iterations BCJR detector

Division of Engineering and Applied Sciences slide 8 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Properties of SUC graph Observation 1 Observation 1: The higher the degree d Gs (v) of a node v  V s (L) the more likely is v to be in error d Gs = 0 d Gs = 1 d Gs = 2 d Gs = 3 Channel information LLR ( log(p true /p false ) ) LLR messages received from check nodes Percentage of variable nodes in error e.g. Statistics for Tanner (155,64) code blocks for which BP failed on AWGN channel at SNR = 2.5 dB Select v node Perform information correction

Division of Engineering and Applied Sciences slide 9 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Node Selection Strategy 1 Strategy 1 Strategy 1: Determine SUC graph and select the node with maximal degree d Gs in SUC graph G S (L) Select node v 0 or v 2 or v 12

Division of Engineering and Applied Sciences slide 10 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Properties of SUC graph, cntd Observation 2:neighbors (wrt to SUC graph) Observation 2: The smaller the number of neighbors (wrt to SUC graph) with high degree, the more likely v is to be in error Definition 2:neighbors with respect to SUC Definition 2: Nodes v 1 and v 2 are neighbors with respect to SUC if there exist c  C S (L) incident to both v 1 and v 2 n v (m) - number of neighbors of v with degree d Gs = m... n v (2) = 1 and n v (1) = 4 C S (L)

Division of Engineering and Applied Sciences slide 11 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Node Selection Strategy 2 Strategy 2: Strategy 2: Among nodes with maximal degree d Gs select a node with minimal number of highest degree neighbors Select node v 0 n v0 (2) = n v12 (2) = 1; n v2 (2) = 2 n v0 (1) = 4; n v12 (1) = 6

Division of Engineering and Applied Sciences slide 12 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Strategy 2 Alternatives to Strategy 2 d Gs = max d Gs (v) Set of suspicious nodesSet of suspicious nodes S v = {v : d Gs (v) = d Gs } Edge penalty function r(v,c) = (N c - set of v nodes incident to c) Penalty function R(v) =  r(v,c) –  r(v,c) Select v p  S v as v p = argmin R(v) Numerous related approaches possible max v  V v n  N c \{v} v  S v max c  C s c  C s max d Gs (v n ); if N c \ { v }   0 ; if N c \ { v } = 

Division of Engineering and Applied Sciences slide 13 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Node Selection Strategy 3 Observation 3: Observation 3: A variable node v is more likely to be incorrect if its decoder input is less reliable, i.e., if | O(v) | is lower Strategy 3: Strategy 3: Among nodes with maximal degree d Gs select node with minimal input reliability | O(v) | Decoder input on node v i Memoryless AWGN channel:

Division of Engineering and Applied Sciences slide 14 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Message Passing - Notation Set of log-likelihood ratios messages on v nodes: M = (C,O) Decoder input : O = [ O (v 0 ), …, O (v N-1 )] Channel detector (BCJR) input B = [ B (v 0 ), …, B (v N-1 )]... C V O T T T

Division of Engineering and Applied Sciences slide 15 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Symbol Correction Procedures Replace decoder and detector input LLRs corresponding to selected v p 1.O (v p ) = +S and B (v p ) = +S 2.O (v p ) = –S and B (v p ) = –S Perform correction in stages Test 2 j combinations at stage j For each test perform additional K j iterations Max number of attempts (stages) j max start j = 1j = 2j =

Division of Engineering and Applied Sciences slide 16 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Symbol Correction Procedures “codeword listing” approach –Test all 2 j max possibilities –W – collection of valid codeword candidates –Pick the most likely candidate e.g. for AWGN channel set x = argmin d(r,w) “first codeword” approach –Stop at a first valid codeword –Faster convergence, slightly worse performance for large j max w  W start j = 1j = 2j = ^

Division of Engineering and Applied Sciences slide 17 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Parallel and Serial Implementation ( j max = 3 ) start j = 1 j = 2j = start j = 1j = 2j =

Division of Engineering and Applied Sciences slide 18 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Complexity - Parallel Implementation start j = 1j = 2j = Decoding continued –M need to be stored –storage  (2 j max ) –lower K j required –“first codeword” procedure - fastest convergence Decoding restarted –M need not be stored –higher K j required

Division of Engineering and Applied Sciences slide 19 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Can we achieve ML? Fact 1:“codeword listing” algorithm Fact 1: As j max N, “codeword listing” algorithm with K j = 0, for j < j max, and K jmax = 1 becomes ML decoder For low values of j max (j max << N) performs very close to ML decoder –Tanner (N = 155, k = 64) code –j max = 11, K j = 10 –Decoding continued –faster decoding –M need to be stored –ML almost achieved

Division of Engineering and Applied Sciences slide 20 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Pseudo-codewords Elimination Pseudo-codewords compete with codewords in locally-operating BP decoding (Koetter & Vontobel 2003) c - a codeword in an m-cover of G  i - fraction of time v i  V assumes incorrect value in c  = (  0,  1, …,  N-1 ) - pseudo-codeword pseudo-distance (for AWGN) Eliminate a large number of pseudo-codewords by forcing symbol ‘0’ or symbol ‘1’ on nodes v p –Pseudo-distance spectra improved –Can increase min pseudo-distance if j max is large enough

Division of Engineering and Applied Sciences slide 21 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Types of BP decoding errors 1.Very high SNRs (error floor region) Stable errors on saturated subgraphs: decoder reaches a steady state and fails messages passed in SUC graph saturated 2. Medium SNRs (waterfall region) Unstable Errors: decoder does not reach a steady state Definition 3: Definition 3: Decoder D has reached a steady state in the interval [L 1,L 2 ] if C s (L) = C s (L 1 ) for all L  [L 1,L 2 ]

Division of Engineering and Applied Sciences slide 22 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes SUC Properties in Error Floor Region Corollary: Corollary: For regular LDPC codes with Theorem 1: Theorem 1: In the error floor region Information correction for high SNRs (error floor region) –Pros: –Small size SUC –Faster convergence –Cons: –d Gs plays no role in node selection

Division of Engineering and Applied Sciences slide 23 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Simulation Results Tanner (155,64) code –Regular (3,5) code –Channel: AWGN –Strategy 3 –j max = 11, K j = 10 –More than 1dB gain –ML almost achieved

Division of Engineering and Applied Sciences slide 24 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Simulation Results Tanner (155,64) code –Regular (3,5) code –Channel: AWGN –Strategy 3 –“First codeword” procedure –j max = 4,6,8 and 11 –K j = 10

Division of Engineering and Applied Sciences slide 25 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Simulation Results – Error Floors Margulis (2640,1320) code –Regular (3,6) code –Channel: AWGN –Strategy 3 –“First codeword” procedure –j max = 5, K j = 20 –More than 2 orders of magnitudes WER improvement

Division of Engineering and Applied Sciences slide 26 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Simulation Results – ISI Channels – Tanner (155,64) code – Channels: –Dicode (1-D) –EPR4 (1-D)(1+D) 2 –Strategy 2 – j max = 11, K j = 20 – 1dB gain – 20 % of detected errors are ML

Division of Engineering and Applied Sciences slide 27 Varnica, Fossorier,Kavčić – Near ML decoding of LDPC codes Conclusion Information correction in BP decoding of LDPC codes –More flexibility in performance vs complexity –Can nearly achieve ML performance with much lower computational burden –Eliminates a large number of pseudo-codewords Reduces or eliminates LDPC error floors Applications –Can use for any “off-the-shelf” LDPC encoder –Can apply to any communication/data storage channel