SPA decoding on the Tanner graph

Similar documents
Low-density parity-check (LDPC) codes

CHAPTER 3 LOW DENSITY PARITY CHECK CODES

Graph-based codes for flash memory

A Class of Quantum LDPC Codes Constructed From Finite Geometries

Structured Low-Density Parity-Check Codes: Algebraic Constructions

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

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

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

A Proposed Quantum Low Density Parity Check Code

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

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

Low-Density Arrays of Circulant Matrices: Rank and Row-Redundancy Analysis, and Quasi-Cyclic LDPC Codes

Quasi-cyclic Low Density Parity Check codes with high girth

Design of Non-Binary Quasi-Cyclic LDPC Codes by Absorbing Set Removal

Making Error Correcting Codes Work for Flash Memory

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

Cyclic and Quasi-Cyclic LDPC Codes on Row and Column Constrained Parity-Check Matrices and Their Trapping Sets

A 2-error Correcting Code

An Introduction to Low Density Parity Check (LDPC) Codes

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

LDPC Codes. Intracom Telecom, Peania

Codes on graphs and iterative decoding

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

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

Codes on graphs and iterative decoding

Circulant Arrays on Cyclic Subgroups of Finite Fields: Rank Analysis and Construction of Quasi-Cyclic LDPC Codes

ON THE MINIMUM DISTANCE OF NON-BINARY LDPC CODES. Advisor: Iryna Andriyanova Professor: R.. udiger Urbanke

Lecture 4: Linear Codes. Copyright G. Caire 88

5.0 BCH and Reed-Solomon Codes 5.1 Introduction

The New Multi-Edge Metric-Constrained PEG/QC-PEG Algorithms for Designing the Binary LDPC Codes With Better Cycle-Structures

A Simplified Min-Sum Decoding Algorithm. for Non-Binary LDPC Codes

1.6: Solutions 17. Solution to exercise 1.6 (p.13).

LDPC codes based on Steiner quadruple systems and permutation matrices

Symmetric Product Codes

Introducing Low-Density Parity-Check Codes

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

Hamming codes and simplex codes ( )

ECEN 655: Advanced Channel Coding

Error Correction Review

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

ERROR CORRECTING CODES

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

Distributed Source Coding Using LDPC Codes

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

Amitkumar Mahadevan, Doctor of Philosophy, 2005

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

On the Construction and Decoding of Cyclic LDPC Codes

Codes designed via algebraic lifts of graphs

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

Construction and Encoding of QC-LDPC Codes Using Group Rings

Searching for Voltage Graph-Based LDPC Tailbiting Codes with Large Girth

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

Combinatorial Group Testing for DNA Library Screening

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

Construction of LDPC codes

Chapter 6. BCH Codes

Permutation Decoding and the Stopping Redundancy Hierarchy of Cyclic and Extended Cyclic Codes

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

Iterative Encoding of Low-Density Parity-Check Codes

Lecture 2 Linear Codes

Implementation of Galois Field Arithmetic. Nonbinary BCH Codes and Reed-Solomon Codes

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

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)

Symmetric configurations for bipartite-graph codes

Extended MinSum Algorithm for Decoding LDPC Codes over GF (q)

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

Non-binary Hybrid LDPC Codes: structure, decoding and optimization

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q

Analytical Performance of One-Step Majority Logic Decoding of Regular LDPC Codes

Construction of Protographs for QC LDPC Codes With Girth Larger Than 12 1

1 Vandermonde matrices

GALLAGER S binary low-density parity-check (LDPC)

Run-length & Entropy Coding. Redundancy Removal. Sampling. Quantization. Perform inverse operations at the receiver EEE

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

Which Codes Have 4-Cycle-Free Tanner Graphs?

Research Letter Design of Short, High-Rate DVB-S2-Like Semi-Regular LDPC Codes

Iterative Plurality-Logic and Generalized Algorithm B Decoding of q-ary LDPC Codes

Quasi-Cyclic Low-Density Parity-Check Codes With Girth Larger Than

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

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

Adaptive Decoding Algorithms for Low-Density Parity-Check Codes over the Binary Erasure Channel

Ma/CS 6b Class 25: Error Correcting Codes 2

Joint Iterative Decoding of LDPC Codes and Channels with Memory

Capacity-approaching codes

Linear Codes and Syndrome Decoding

ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

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

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

Quasi-Cyclic Asymptotically Regular LDPC Codes

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

Status of Knowledge on Non-Binary LDPC Decoders

EE512: Error Control Coding

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

Weaknesses of Margulis and Ramanujan Margulis Low-Density Parity-Check Codes

On the Typicality of the Linear Code Among the LDPC Coset Code Ensemble

ELEC-E7240 Coding Methods L (5 cr)

Transcription:

SPA decoding on the Tanner graph x,(i) q j,l = P(v l = x check sums A l \ {h j } at the ith iteration} x,(i) σ j,l = Σ P(s = 0 v = x,{v : t B(h )\{l}}) q {vt : t B(h j )\{l}} j l t j t B(h j )\{l} j,t v t,(i) x,(i+1) (i+1) x q j,l = α j,l p l σ ht A l \ {h j } t,l x,(i) v l σ a,l x,(i) σ j,l x,(i) q j,m x,(i) q j,l x,(i) + s j σ b,l x,(i) q j,n x,(i) 1

SPA decoding Initialization i = 0 For each pair (j,l) such that h j,l = 1, set q j,l 0,(i) = p l 0 and q j,l 1,(i) = p l 1 For each l and for each h j A l compute σ j,l x,(i), x {0,1} For each j and for each l such that h j A l compute q j,l x,(i+1) and P (i+1) (v l = x y), x {0,1} Determine the hard decisions based on P (i+1) (v l = x y) for each l and form the syndromes. If there remain parity check failures and if i < I max, set i = i + 1 and repeat Output hard decisions based on the previous step 2

Complexity of SPA decoding Number of multiplications per iteration: O(2Jρ+4nγ) Linear in the number of 1-entries in H Number of logarithm operations per iteration: O(n) 3

Alternative SPA description Update extrinsic information at each decoding iteration 4

Alternative SPA description Modified channel value matrix Z 5

6

Requirements: Design of LDPC codes Satisfy the conditions of the LDPC definition Provide good performance when used with a specified decoder Random codes: Determine the connections of the bipartite Tanner graph by using a (pseudo)random algorithm observing the degree distribution of the code bit vertices and the parity check vertices Regular Irregular Graph theoretic codes Combinatorial codes Codes from finite geometries Other algebraic constructions 7

An introduction to Euclidean geometries The m-dimensional Euclidean geometry over GF(2 s ) EG(m, 2 s ) consists of the set of all m-tuples (a 0,..., a m-1 ) such that each component a i GF (2 s ) Each m-tuple (a 0,..., a m-1 ) is called a point If a = (a 0,..., a m-1 ), then the set of 2 s points {βa: β GF(2 s )} is a line which contains the origin (0,..., 0) Let L = {βa: β GF(2 s )} be a line and b be a point not on L. We say that a and b are linearly independent. In general, a line in EG(m, 2 s ) is given by {b+βa: β GF(2 s )} Two linearly independent points are connected by exactly one line Two different lines have either zero or one point in common Given a point a EG(m, 2 s ), there are exactly (2 ms -1)/(2 s -1) lines that intersect in the point a The total number of lines in EG(m, 2 s ) is 2 (m-1)s (2 ms -1)/(2 s -1) 8

Type-I geometry-q LDPC codes Q: A finite geometry with n points p 1,..., p n and J lines L 1,..., L J such that Each line has ρ points Each point lies on γ lines Two points are connected by exactly one line Two lines are either disjoint or they intersect at exactly one point Incidence vector of L: v L = (v 1,..., v n ) GF(2) n and v i = 1 iff. p i L Then, w(v L ) = ρ (1) H Q = J n matrix with Rows: The incidence vectors of all lines in Q: Row weight ρ Columns corresponding to the n points of Q: Column weight γ Then, no pair of rows have more than one 1 in common No pair of columns have more than one 1 in common Type-I geometry-q LDPC code 9

Type-I geometry-q LDPC: Properties Minimum distance γ + 1 Tanner graph: Regular; each of the n code bit nodes have degree γ and each of the J check nodes have degree ρ No cycles of length 4 Does contain cycles of length 6 (Exercise 17.23) 10

Type-II geometry-q LDPC codes Q: A finite geometry with n points p 1,..., p n and J lines L 1,..., L J such that Each line has ρ points Each point lies on γ lines Two points are connected by exactly one line Two lines are either disjoint or they intersect at exactly one point Intersecting vector of p: v p = (v 1,..., v J ) GF(2) J and v i = 1 iff. p L i Then, w(v p ) = γ (2) (1) H Q = [H Q ] T = n J matrix with Rows: Intersecting vectors of all points in Q: Row weight γ Columns: Incidence vectors of all lines in Q: Column weight ρ Then, no pair of rows have more than one 1 in common No pair of columns have more than one 1 in common Type-II geometry-q LDPC code. Companion of type-i code 11

Q = EG(m, 2 s ) and type-i n = 2 ms points = number of code bits J = 2 (m-1)s (2 ms -1)/(2 s -1) lines = number of parity checks ρ = 2 s points on each line Each point is contained in γ = (2 ms -1)/(2 s -1) lines Therefore, the minimum distance is at least γ+1 = (2 ms -1)/(2 s -1)+1 Example: Q = EG(2, 2 4 ) n = 2 ms = 256 points J = 2 (m-1)s (2 ms -1)/(2 s -1) = 272 lines ρ = 2 s = 16 points on each line γ = (2 ms -1)/(2 s -1) = 17; minimum distance is at least 18 (in fact = 18) The rank of H Q (1) = 81, so the dimension is 175 12

Q = EG(m, 2 s ) and type-ii J = 2 (m-1)s (2 ms -1)/(2 s -1) = number of code bits n = 2 ms = number of parity checks γ = (2 ms -1)/(2 s -1) = number of points on each line ρ = 2 s Therefore, the minimum distance is at least ρ+1 = 2 s +1 Example: Q = EG(2, 2 4 ) J = 2 (m-1)s (2 ms -1)/(2 s -1) = 272 number of code bits n = 2 ms = 256 number of parity checks γ = (2 ms -1)/(2 s -1) = 17 points on each line ρ = 2 s = 16; minimum distance is at least 17 (in fact = 17) The rank of H Q (2) = 81, so the dimension is 191 13

Cyclic EG-LDPC codes Remove origin point and all lines passing through it J 0 = (2 (m-1)s -1 )(2 ms -1)/(2 s -1) lines that do not pass through the origin n 0 = 2 ms -1 points ρ = 2 s points on each line γ 0 = (2 ms -1)/(2 s -1)-1 lines through each point Type-I code: Minimum distance at least γ 0 + 1 = (2 ms -1)/(2 s -1) This code, C EG,c (1) (m,0,s) turns out to be a cyclic code (Ch. 8*) with generator polynomial g EG,c (1) (X) Let α be a primitive element of GF(2 ms ) α h is a root of g EG,c (1) (X) for h < 2 (m-1)s + 2 (m-2)s+1-1 minimum distance. This follows from the BCH bound This lower bound is tighter than the γ 0 + 1 bound, except for m = 2 14

Cyclic EG-LDPC codes: Type-I, m=2 n 0 = 2 2s 1 points and J 0 = 2 2s 1 parity checks Can show: n 0 k 0 = 3 s 1 parity check bits Dimension k 0 = 2 2s 3 s Minimum distance is at least γ 0 + 1 = 2 s + 1 (in fact, equality holds) Density r = 2 s / (2 2s 1) 15

Projective geometry LDPC codes LDPC codes can also be designed using projective geometries in the place of Q Slightly different parameters 16

Example: Type-I cyclic EG-LDPC m = 2, s = 5: (1023,781,33) code, R = 0.763 Also shown: Type-I cyclic PG-LDPC (1057,813,34), R = 0.769 17

Example: Type-I cyclic EG-LDPC m = 2, s = 6: (4095,3367,65) code, R = 0.83 Also shown: Type-I cyclic PG-LDPC (4161,3431,66), R = 0.825 18

Example: Type-I cyclic EG-LDPC m = s = 3: (511,139, 79) code, R = 0.272 Type-II (quasi-cyclic) EG-LDPC (4599,4227, 9), R = 0.92 19

Yet another example Type-I cyclic EG-LDPC (255,175) code Type-I cyclic PG-LDPC (273,191) and two random (273,191) codes 20

FG versus random LDPC codes Longer codes: Random LDPC codes should outperform FG LDPC codes Encoding may be difficult for random codes due to lack of structure 21

Performance vs. number of iterations 22