Optimizing LDPC Codes for message-passing decoding.

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

(speaker) Fedor Groshev Vladimir Potapov Victor Zyablov IITP RAS, Moscow.
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.
CS774. Markov Random Field : Theory and Application Lecture 04 Kyomin Jung KAIST Sep
Near Shannon Limit Performance of Low Density Parity Check Codes
UCLA Progress Report OCDMA Channel Coding Jun Shi Andres I. Vila Casado Miguel Griot Richard D. Wesel UCLA Electrical Engineering Department-Communication.
OCDMA Channel Coding Progress Report
Asymptotic Enumerators of Protograph LDPCC Ensembles Jeremy Thorpe Joint work with Bob McEliece, Sarah Fogal.
1 Scalable Image Transmission Using UEP Optimized LDPC Codes Charly Poulliat, Inbar Fijalkow, David Declercq International Symposium on Image/Video Communications.
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.
Division of Engineering and Applied Sciences DIMACS-04 Iterative Timing Recovery Aleksandar Kavčić Division of Engineering and Applied Sciences Harvard.
Generalized Communication System: Error Control Coding Occurs In Right Column. 6.
1 Verification Codes Michael Luby, Digital Fountain, Inc. Michael Mitzenmacher Harvard University and Digital Fountain, Inc.
The Role of Specialization in LDPC Codes Jeremy Thorpe Pizza Meeting Talk 2/12/03.
Optimizing LDPC Codes for message-passing decoding. Jeremy Thorpe Ph.D. Candidacy 2/26/03.
Channel Polarization and Polar Codes
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.
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 7 Low Density Parity Check Codes.
Daphne Koller Message Passing Loopy BP and Message Decoding Probabilistic Graphical Models Inference.
Probabilistic Graphical Models
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.
Andrea Montanari and Ruediger Urbanke TIFR Tuesday, January 6th, 2008 Phase Transitions in Coding, Communications, and Inference.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
Iterative decoding If the output of the outer decoder were reapplied to the inner decoder it would detect that some errors remained, since the columns.
Last time, we talked about:
Lecture 2: Statistical learning primer for biologists
Part 1: Overview of Low Density Parity Check(LDPC) codes.
Low Density Parity Check codes
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
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.
Baseband Receiver Receiver Design: Demodulation Matched Filter Correlator Receiver Detection Max. Likelihood Detector Probability of Error.
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
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.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Institute for Experimental Mathematics Ellernstrasse Essen - Germany DATA COMMUNICATION introduction A.J. Han Vinck May 10, 2003.
Institute of Statistics and Decision Sciences In Defense of a Dissertation Submitted for the Degree of Doctor of Philosophy 26 July 2005 Regression Model.
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 1: INTRODUCTION.
Lecture 1.31 Criteria for optimal reception of radio signals.
Learning Deep Generative Models by Ruslan Salakhutdinov
The Johns Hopkins University
Bridging the Gap Between Parallel and Serial Concatenated Codes
LECTURE 03: DECISION SURFACES
UCLA Progress Report OCDMA Channel Coding
Factor Graphs and the Sum-Product Algorithm
Rate 7/8 (1344,1176) LDPC code Date: Authors:
General Strong Polarization
Progress report of LDPC codes
S Digital Communication Systems
Chapter 6.
Bayesian Models in Machine Learning
Physical Layer Approach for n
Chris Jones Cenk Kose Tao Tian Rick Wesel
CT-474: Satellite Communications
Expectation-Maximization & Belief Propagation
Irregular Structured LDPC Codes and Structured Puncturing
Boltzmann Machine (BM) (§6.4)
Parametric Methods Berlin Chen, 2005 References:
Markov Networks.
Error Correction Coding
Presentation transcript:

Optimizing LDPC Codes for message-passing decoding. Jeremy Thorpe Ph.D. Candidacy 2/26/03

Overview Research Projects Background to LDPC Codes Randomized Algorithms for designing LDPC Codes Open Questions and Discussion

Data Fusion for Collaborative Robotic Exploration Developed a version of the Mastermind game as a model for autonomous inference. Applied the Belief Propagation algorithm to solve this problem. Showed that the algorithm had an interesting performance-complexity tradeoff. Published in JPL's IPN Progress Reports.

Dual-Domain Soft-in Soft-out Decoding of Conv. Codes Studied the feasibility of using the Dual SISO algorithm for high rate turbo-codes. Showed that reduction in state-complexity was offset by increase in required numerical accuracy. Report circulated internally at DSDD/HIPL S&S Architecture Center, Sony.

Short-Edge Graphs for Hardware LDPC Decoders. Developed criteria to predict performance and implementational simplicity of graphs of Regular (3,6) LDPC codes. Optimized criteria via randomized algorithm (Simulated Annealing). Achieved codes of reduced complexity and superior performance to random codes. Published in ISIT 2002 proceedings.

Evalutation of Probabilistic Inference Algorithms Characterize the performance of probabilistic algorithms based on observable data Axiomatic definition of "optimal characterization" Existence, non-existence, and uniqueness proofs for various axiom sets Unpublished

Optimized Coarse Quantizers for Message-Passing Decoding Mapped 'additive' domains for variable and check node operations Defined quantized message passing rule in these domains Optimized quantizers for 1-bit to 4-bit messages Submitted to ISIT 2003

Graph Optimization using Randomized Algorithms Introduce Proto-graph framework Use approximate density evolution to predict performance of particular graphs Use randomized algorithms to optimize graphs (Extends short-edge work) Achieves new asymptotic performance-complexity mark

Bacground to LDPC codes

The Channel Coding Strategy Encoder chooses the mth codeword in codebook C and transmits it across the channel Decoder observes the channel output y and generates m’ based on the knowledge of the codebook C and the channel statistics. Encoder Channel Decoder

Linear Codes A linear code C (over a finite field) can be defined in terms of either a generator matrix or parity-check matrix. Generator matrix G (k×n) Parity-check matrix H (n-k×n)

LDPC Codes LDPC Codes -- linear codes defined in terms of H H has a small average number of non-zero elements per row or column.

Graph Representation of LDPC Codes H is represented by a bipartite graph. There is an edge from v to c if and only if: A codeword is an assignment of v's s.t.: Variable nodes v c . . . . . . Check nodes

Message-Passing Decoding of LDPC Codes Message Passing (or Belief Propagation) decoding is a low-complexity algorithm which approximately answers the question “what is the most likely x given y?” MP recursively defines messages mv,c(i) and mc,v(i) from each node variable node v to each adjacent check node c, for iteration i=0,1,...

Two Types of Messages... Likelihood Ratio For y1,...yn independent conditionally on x: Probability Difference For x1,...xn independent:

...Related by the Biliniear Transform Definition: Properties:

Message Domains Probability Difference Likelihood Ratio Log Prob. Difference Log Likelihood Ratio

Variable to Check Messages On any iteration i, the message from v to c is: In the additive domain: v c . . . . . .

Check to Variable Messages On any iteration, the message from c to v is: In the additive domain: v c . . . . . .

Decision Rule After sufficiently many iterations, return the likelihood ratio:

Theorem about MP Algorithm If the algorithm stops after r iterations, then the algorithm returns the maximum a posteriori probability estimate of xv given y within radius r of v. However, the variables within a radius r of v must be dependent only by the equations within radius r of v, r ... v ... ...

Regular (λ,ρ) LDPC codes Every variable node has degree λ, every check node has degree ρ. Best rate 1/2 code is (3,6), with threshold 1.09 dB. This code had been invented by 1962 by Robert Gallager.

Regular LDPC codes look the same from anywhere! The neighborhood of every edge looks the same. If the all-zeros codeword is sent, the distribution of any message depends only on its neighborhood. We can calculate a single message distribution once and for all for each iteration.

Analysis of Message Passing Decoding (Density Evolution) We assume that the all-zeros codeword was transmitted (requires a symmetric channel). We compute the distribution of likelihood ratios coming from the channel. For each iteration, we compute the message distributions from variable to check and check to variable.

D.E. Update Rule The update rule for Density Evolution is defined in the additive domain of each type of node. Whereas in B.P, we add (log) messages: In D.E, we convolve message densities:

Familiar Example: If one die has density function given by: The density function for the sum of two dice is given by the convolution: 1 2 3 4 5 6 2 3 4 5 6 7 8 9 10 11 12

D.E. Threshold Fixing the channel message densities, the message densities will either "converge" to minus infinity, or they won't. For the gaussian channel, the smallest SNR for which the densities converge is called the density evolution threshold.

D.E. Simulation of (3,6) codes Threshold for regular (3,6) codes is 1.09 dB Set SNR to 1.12 dB (.03 above threshold) Watch fraction of "erroneous messages" from check to variable

Improvement vs. current error fraction for Regular (3,6) Improvement per iteration is plotted against current error fraction Note there is a single bottleneck which took most of the decoding iterations

Irregular (λ, ρ) LDPC codes a fraction λi of variable nodes have degree i. ρi of check nodes have degree i. Edges are connected by a single random permutation. Nodes have become specialized. Variable nodes π λ2 ρ4 λ3 . . . . . . ρm λn Check nodes

D.E. Simulation of Irregular Codes (Maximum degree 10) Set SNR to 0.42 dB (~.03 above threshold) Watch fraction of erroneous check to variable messages. This Code was designed by Richardson et. al.

Comparison of Regular and Irregular codes Notice that the Irregular graph is much flatter Note: Capacity achieving LDPC codes for the erasure channel were designed by making this line exactly flat

Constructing LDPC code graphs from a proto-graph Consider a bipartite graph G, called a "proto-graph" Generate a graph G α called an "expanded graph" replace each node by α nodes. replace each edge by α edges, permuted at random =G α=2 =G2

Local Structure of Gα The structure of the neighborhood of any edge in Gα can be found by examining G The neighborhod of radius r of a random edge is increasingly probably loop-free as α→∞.

Density Evolution on G For each edge (c,v) in G, compute: and:

Density Evolution without convolution One-dimensional approximation to D.E, which requires: A statistic that is approximately additive for check nodes A statistic that is approximately additive for variable nodes A way to go between these two statistics A way to characterize the message distribution from the channel

Optimizing a Proto Graph using Simulated Annealing Simulated Annealing is an iterative algorithm that approximately minimizes an energy function Requirements: A space S over which to find the optimum point An energy function E(s):S→R A random perturbation function p(s):S→S A "temperature profile" t(i)

Optimization Space Graphs with a fixed number of variable and check nodes (rate is fixed) Optionally, we can add untransmitted (state) variables to the code Typical Parameters 32 transmitted variables 5 untransmitted variables 21 parity checks

Energy function Ideal: density evolution threshold. Practical: Approximate density evolution threshold Number of iterations to converge to fixed error probability at fixed SNR

Perturbations Types of operation Add an edge Delete an edge Swap two edges Note: Edge swapping operation not necessary to span the space

Basic Simulated Annealing Algorithm Take s0 = a random point in S For each iteration i, define si' = p(si) if E(si') < E(si) set si+1 = si' if E(si ') > E(si) set si+1 = si' w.p.

Degree Profile of Optimized Code The optimized graph has a large fraction of degree 1 variables Check variables range from degree 3 to degree 8 (recall that the graph is not defined by the degree profile)

Threshold vs. Complexity Designed codes of rate .5 with threshold 8 mB from channel capacity on AWGN channel Low complexity (maximum degree = 8)

Improvement vs. Error Fraction Comparison to Regular (3,6) The regular (3,6) code has a dramatic bottleneck. The irregular code with maximum degree 10 is flatter, but has a bottleneck. The optimized proto-graph based code is nearly flat for a long stretch.

Simulation Results n=8192, k=4096 Achieves bit error rate of about 4×10-4 at SNR=0.8dB. Beats the performance of n=10000 code in [1] by a small margin. There is evidence that there is an error floor

Review We Introduced the idea of LDPC graphs based on a proto-graph We designed proto-graphs using the Simulated Annealing algorithm, using a fast approximation to density evolution The design handily beats other published codes of similar maximum degree

Open Questions What's the ultimate limit to the performance vs. maximum degree tradeoff? Can we find a way to achieve the same tradeoff without randomized algorithms? Why do optimizing distributions sometimes force the codes to have low-weight codewords?

A Big Question Can we derive the shannon limit in the context of MP decoding of LDPC codes, so that we can meet the inequalities with equality?

Free Parameters within S.A. Rate Maximum check, variable degrees Proto-graph size Fraction of untransmitted variables Channel Parameter (SNR) Number of iterations in Simulated Annealing

Performance of Designed MET Codes Shows performance competitive with best published codes Block error probability <10-5 at 1.2 dB a soft error floor is observed at very high SNR, but not due to low-weight codewords

Multi-edge-type construction Edges of a particular "color" are connected through a permutation. Edges become specialized. Each edge type has a different message distribution each iteration.

MET D.E. vs. decoder simulation