New Message-Passing Decoding Algorithm of LDPC Codes by Partitioning Check Nodes 1

Similar documents
LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

THE DESIGN OF STRUCTURED REGULAR LDPC CODES WITH LARGE GIRTH. Haotian Zhang and José M. F. Moura

On the construction of Tanner graphs

On combining chase-2 and sum-product algorithms for LDPC codes

Finding Small Stopping Sets in the Tanner Graphs of LDPC Codes

New LDPC code design scheme combining differential evolution and simplex algorithm Min Kyu Song

Overlapped Scheduling for Folded LDPC Decoding Based on Matrix Permutation

Quantized Iterative Message Passing Decoders with Low Error Floor for LDPC Codes

Complexity-Optimized Low-Density Parity-Check Codes

ISSN (Print) Research Article. *Corresponding author Akilambigai P

A Class of Group-Structured LDPC Codes

Performance Analysis of Gray Code based Structured Regular Column-Weight Two LDPC Codes

Capacity-approaching Codes for Solid State Storages

Lowering the Error Floors of Irregular High-Rate LDPC Codes by Graph Conditioning

Optimized Min-Sum Decoding Algorithm for Low Density PC Codes

A new two-stage decoding scheme with unreliable path search to lower the error-floor for low-density parity-check codes

Multiple Constraint Satisfaction by Belief Propagation: An Example Using Sudoku

Performance of the Sum-Product Decoding Algorithm on Factor Graphs With Short Cycles

Reduced Complexity of Decoding Algorithm for Irregular LDPC Codes Using a Split Row Method

Performance comparison of Decoding Algorithm for LDPC codes in DVBS2

Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) Codes for Deep Space and High Data Rate Applications

Analyzing the Peeling Decoder

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

Check-hybrid GLDPC Codes Without Small Trapping Sets

Modern Communications Chapter 5. Low-Density Parity-Check Codes

LDPC Codes a brief Tutorial

TURBO codes, [1], [2], have attracted much interest due

LOW-density parity-check (LDPC) codes have attracted

Error Floors of LDPC Codes

Novel Low-Density Signature Structure for Synchronous DS-CDMA Systems

An Algorithm for Counting Short Cycles in Bipartite Graphs

SERIAL LDPC DECODING ON A SIMD DSP USING HORIZONTAL SCHEDULING

On the Performance Evaluation of Quasi-Cyclic LDPC Codes with Arbitrary Puncturing

Hybrid Iteration Control on LDPC Decoders

A Parallel Decoding Algorithm of LDPC Codes using CUDA

A new way to optimize LDPC code in gaussian multiple access channel

Trapping Set Ontology

HDL Implementation of an Efficient Partial Parallel LDPC Decoder Using Soft Bit Flip Algorithm

Interlaced Column-Row Message-Passing Schedule for Decoding LDPC Codes

H-ARQ Rate-Compatible Structured LDPC Codes

HIGH-THROUGHPUT MULTI-RATE LDPC DECODER BASED ON ARCHITECTURE-ORIENTED PARITY CHECK MATRICES

Research Article Improved Design of Unequal Error Protection LDPC Codes

Error Control Coding for MLC Flash Memories

Use of the LDPC codes Over the Binary Erasure Multiple Access Channel

Layered Decoding With A Early Stopping Criterion For LDPC Codes

Design of Cages with a Randomized Progressive Edge-Growth Algorithm

Design, Simulation and Hardware Implementation of a Digital Television System: LDPC channel coding

A REVIEW OF CONSTRUCTION METHODS FOR REGULAR LDPC CODES

COMPARISON OF SIMPLIFIED GRADIENT DESCENT ALGORITHMS FOR DECODING LDPC CODES

FPGA Implementation of Binary Quasi Cyclic LDPC Code with Rate 2/5

Randomized Progressive Edge-Growth (RandPEG)

A Generic Architecture of CCSDS Low Density Parity Check Decoder for Near-Earth Applications

Partly Parallel Overlapped Sum-Product Decoder Architectures for Quasi-Cyclic LDPC Codes

Design of rate-compatible irregular LDPC codes based on edge growth and parity splitting

Low Complexity Quasi-Cyclic LDPC Decoder Architecture for IEEE n

A New Non-Iterative Decoding Algorithm for the Erasure Channel : Comparisons with Enhanced Iterative Methods

Performance Analysis of Min-Sum LDPC Decoding Algorithm S. V. Viraktamath 1, Girish Attimarad 2

Distributed Decoding in Cooperative Communications

Design of Cages with a Randomized Progressive Edge-Growth Algorithm

Complexity Comparison of Non-Binary LDPC Decoders

Energy Efficient Layer Decoding Architecture for LDPC Decoder

Nearly-optimal associative memories based on distributed constant weight codes

/$ IEEE

Partially-Parallel LDPC Decoder Achieving High-Efficiency Message-Passing Schedule

ITERATIVE COLLISION RESOLUTION IN WIRELESS NETWORKS

Low Error Rate LDPC Decoders

PRACTICAL communication systems often need to operate

Performance analysis of LDPC Decoder using OpenMP

Fountain Codes Based on Zigzag Decodable Coding

Code Design in the Short Block Length Regime

Multidimensional Decoding Networks for Trapping Set Analysis

ERROR correcting codes are used to increase the bandwidth

BER Evaluation of LDPC Decoder with BPSK Scheme in AWGN Fading Channel

< Irregular Repeat-Accumulate LDPC Code Proposal Technology Overview

Error correction guarantees

REVIEW ON CONSTRUCTION OF PARITY CHECK MATRIX FOR LDPC CODE

An Efficient Decoding Algorithm for Cycle-free Convolutional Codes and Its Applications

Optimized Graph-Based Codes For Modern Flash Memories

Low-Density Parity-Check Codes: Construction and Implementation

Iterative Decoding Beyond Belief Propagation

Low complexity FEC Systems for Satellite Communication

6.962 Graduate Seminar in Communications Turbo-Like Codes: Structure, Design Criteria, and Variations

Girth of the Tanner Graph and Error Correction Capability of LDPC Codes

AN FPGA BASED OVERLAPPED QUASI CYCLIC LDPC DECODER FOR WI-MAX

Non-recursive complexity reduction encoding scheme for performance enhancement of polar codes

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 53, NO. 2, FEBRUARY /$ IEEE

Design and Implementation of Low Density Parity Check Codes

ITERATIVE decoders have gained widespread attention

A CLASS OF STRUCTURED LDPC CODES WITH LARGE GIRTH

98 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS, VOL. 58, NO. 1, JANUARY 2011

RECENTLY, low-density parity-check (LDPC) codes have

Performance study and synthesis of new Error Correcting Codes RS, BCH and LDPC Using the Bit Error Rate (BER) and Field-Programmable Gate Array (FPGA)

Comparison of Decoding Algorithms for Concatenated Turbo Codes

Image coding using Cellular Automata based LDPC codes

Estimating the Information Rate of Noisy Two-Dimensional Constrained Channels

Observational Learning with Modular Networks

Reduced Latency Majority Logic Decoding for Error Detection and Correction

Optimized ARM-Based Implementation of Low Density Parity Check Code (LDPC) Decoder in China Digital Radio (CDR)

Optimal Overlapped Message Passing Decoding of Quasi-Cyclic LDPC Codes

Investigation of Error Floors of Structured Low- Density Parity-Check Codes by Hardware Emulation

Transcription:

New Message-Passing Decoding Algorithm of LDPC Codes by Partitioning Check Nodes 1 Sunghwan Kim* O, Min-Ho Jang*, Jong-Seon No*, Song-Nam Hong, and Dong-Joon Shin *School of Electrical Engineering and Computer Science, Seoul National University Division of Electrical and Computer Engineering Hanyang University {nodoubt, mhjang}@ccl.snu.ac.kr, jsno@snu.ac.kr, sunny795@ccrl.hanyang.ac.kr, djshin@hanyang.ac.kr Abstract In this paper, we propose a new sequential message-passing decoding algorithm of low-density paritycheck (LDPC codes by partitioning check nodes. This new decoding algorithm shows better bit error rate ( performance than that of the conventional message-passing decoding algorithm [3],[7], especially for small number of iterations. Analytical results tell us that as the number of partitioned subsets of check nodes increases, the performance becomes better. We also derive the recursive equations for mean values of messages at variable nodes by using density evolution with Gaussian approximation. From these equations, the mean values at each iteration of the new decoding algorithm can be obtained. Simulation results also confirm the analytical results. 1. Introduction In 1996, low-density parity-check (LDPC codes, originally invented by Gallager [1], were rediscovered by MacKay and Neal [6]. Since then, LDPC codes have been the main research topic in error-control coding area because these codes show the capacityapproaching performance with practical complexity. Compared with turbo codes, they have lower decoding complexity due to the iterative decoding algorithm (or message-passing algorithm based on the sum-product algorithm, but slower decoding convergence speed. Recently, there has been a great deal of efforts on implementing LDPC decoder. In general, hardware implementation of LDPC decoder uses parallel processing. However, if the decoder cannot be implemented in the fully parallel processing mode, sequential decoding approach has to be used. An efficient sequential decoding algorithm and the realizable hardware implementation of LDPC decoders are introduced in [8], where messages between each variable node and its neighbors are sequentially updated without partitioning check nodes. In the conventional fully parallel message-passing decoding algorithm, many iterations (50 or more are required to achieve the desired performance, which results in high decoding complexity. For reducing the number of iterations to achieve the desired performance, we investigate an efficient sequential message-passing decoding algorithm of LDPC codes. For the fixed bit error rate (, the number of iterations in the new decoding algorithm is substan- 1 This work was supported in part by BK21 and ITRC program of the Korean Ministry of Information and Communications. tially reduced in comparison with fully parallel decoding algorithm. Therefore, it can be especially useful for wireless communication systems which require low complexity decoding algorithm. The new sequential message-passing decoding algorithm can be briefly explained as follows. First, partition the check nodes of an LDPC code into several subsets appropriately. Then, this LDPC code can be described by the interconnected several subgraphs, each of which consists of a subset of check nodes and the connected variable nodes. The decoding can be performed by applying the message-passing decoding algorithm to each subgraph in the sequential order. This algorithm can be efficiently adopted in the LDPC decoder when the fully parallel processing mode cannot be implemented. In one iteration, the complexity of the new decoding algorithm is the same as that of the conventional fully parallel decoding algorithm, but the convergence speed of the new decoding algorithm is faster. 2. A New Sequential Message-Passing Decoding Algorithm First, conventional message-passing decoding algorithm of (d v, d c regular LDPC codes will be reviewed as follows [3]. A check node (or a variable node receives messages from its d c neighbors (or its d v neighbors and its corresponding channel output, processes the messages, and passes the updated messages back to its neighbors. Each output message of a variable or a check node is a function of all incoming messages to the node except for the incoming message on the edge

where the output message will be sent. Now, we introduce the new sequential messagepassing decoding algorithm. Each iteration in the conventional iterative decoding algorithm consists of two steps. The first step contains calculating messages at all variable nodes and sending them to all check nodes and the second step contains calculating messages at all check nodes and sending them to all variable nodes. These operations are performed simultaneously. In a new sequential message-passing decoding algorithm, we assume that the check nodes are partitioned into p subsets. The messages from variable nodes to the check nodes in the first subset are updated and then the messages from the check nodes in the first subset to their neighboring variable nodes are updated, which corresponds to one iteration for the first subset of check nodes. This decoding procedure is sequentially applied to the remaining p 1 subsets of check nodes. One iteration in the new decoding algorithm means the above sequential message updating and passing for all variable nodes and all subsets of the check nodes. Thus, it is clear that the amount of computation for one iteration in the new decoding algorithm is the same as that of the conventional decoding algorithm. (a (b Fig. 1: One iteration in the new decoding algorithm of a (2, 4 regular LDPC code with length 8 and p = 2, (a Message passing for the first check node subset, (b Message passing for the second check node subset. Fig. 1 shows the new decoding procedures for a (2, 4 regular LDPC code of length 8 when p = 2. Here, circles and squares stand for variable nodes and check nodes, respectively. The messages received from the channel are represented by the arrows at the top of the circles. In Fig. 1 (b, the messages from variable nodes to the check nodes in the second subset are updated by using the messages to the variable nodes, which were already updated from the first check node subset as in Fig. 1 (a. In the conventional message-passing decoding algorithm, messages of all variable and check nodes at the l-th iteration are updated by using the messages updated at the (l 1-th updated messages and passed to their neighbors. Let S i, 1 i p, be the i-th subset of check nodes. During the l-th iteration in the new decoding algorithm, the l-th updated messages from S 1, S 2,, S i 1 and the (l 1-th updated messages from the remaining subsets are used for the l-th message updating between the variable nodes and the check nodes in S i. This is why the new decoding algorithm can give the faster convergence speed. 3. Analysis by Density Evolution with Gaussian Approximation Density evolution with Gaussian approximation is based on approximating the probability densities of messages as Gaussians or Guassian mixtures [3]. Since this is easier to analyze and computationally faster than the conventional density evolution, it is a useful method for investigating the behavior of the messagepassing decoding algorithm. We will only consider (d v, d c regular LDPC codes. For irregular LDPC codes, the similar analysis can be used. Density evolution with Gaussian approximation in conventional decoding algorithm is shown in [3]. Let m u and m v be the means of u and v, respectively. And let φ(x be a function defined as φ(x = { 1 1 4πmu R tanh u (u mu 2 2 e 4mu du, if x > 0 1, if x = 0. (1 A. Density Evolution with Gaussian Approximation for Random Partitioning We assume that the edges between the variable nodes and p partitioned subsets of the check nodes are randomly connected. We call it random partitioning. Let S i, 1 i p, be the i-th subset of check nodes and be the message from a check node in S i to a variable node. The number of variable nodes for each type of connections from a variable node to p subsets may vary according to the code structure, but we will assume that these numbers are constant since the partitioning is considered as random. Let (a 1, a 2,, a p be the distribution of edges from a variable node to p subsets, where denotes the number of edges connected from the variable node to S i. Then, for all (a 1, a 2,, a p, the means of messages from the variable node to S i in the conventional message-passing decoding algorithm can be expressed

as m u0 ( 1m (l 1 j i. By considering the sequential decoding from S 1 to S p in the new sequential message-passing decoding algorithm, the above equation should be modified as m u0 ( 1m (l 1 i 1 a j j=i1. (2 The probability that the messages with mean value in (2 is passed to S i can be derived as d v j p 1 H dv j. (3 Then recursive equation for the means of messages of check node in S i can be expressed as dv j p 1 H dv j (a 1,,a p φ(m u0 ( 1m (l 1 a j ] dc 1. (4 j=i1 B. Density Evolution with Gaussian Approximation for Uniform Partitioning Next, we consider the case that the edges from a variable node are distributed among subsets S 1, S 2,, S p as uniformly as possible. We call it uniform partitioning. 1 Case of p < d v Let d v be b p r, where b is an positive integer and r, 0 r p 1 is a nonnegative integer. Then, for all (a 1, a 2,, a p, where is b or b 1, the means of messages from the variable node to S i in the new message-passing decoding algorithm can be expressed as m u0 ( 1m (l 1 i 1 a j j=i1. (5 The probability that the messages with the mean value in (5 is passed to S i can be derived as b p 1 C r (b 1 p 1 C r 1. (6 The recursive equation for the means of messages of check node in S i can be expressed as (a 1,,a p b p 1 C r (b 1 p 1 C r 1 φ(m u0 a j ] dc 1. j=i1 2 Case of p d v In this case, the number of different types of connections from a variable node to p subsets becomes p C dv. Assume that at least one edge from a variable node is connected to S i. Then, for all (a 1, a 2,, a p, where is zero or one, the means of messages from the variable node to S i in the new message-passing decoding algorithm can be expressed as m u0 a j j=i1. (7 The probability that the messages with mean value in 1 (7 is passed to S i can be derived as p 1C. d v 1 The recursive equation for the means of messages in the check nodes of S i can be expressed as 1 p 1C dv 1 (a 1,,a p φ(m u0 a j j=i1 C. Density Evolution When p = 2 ] d c 1. As an example, we will partition the check nodes of a (3, 6 regular LDPC code into S 1 and S 2 and derive the recursive equations for means of messages as in (4. Also a good partition method of check nodes is explained. First, we assume that the edges between the variable nodes and the check nodes in S 1 and S 2 are randomly connected. In this case, there are 2 H 3 = 4 different types of connections between the variable nodes and two subsets of check nodes. The means of messages from the variable node to the check nodes in S 1 can be given as one of m u0 m us1 m us2, m u0 2m us1, and m u0 2m us2 with probabilities 2/6, 3/6, and 1/6, respectively. Similarly, the means of messages from the variable node to the check nodes in S 2 are also given as one of m u0 m us1 m us2, m u0 2m us2, and m u0 2m us1 and with probabilities 2/6, 3/6, and 1/6, respectively. Then the recursive equations for the means of messages from the check nodes in S 1 and S 2 to the variable nodes are given as follows; 3 6 φ(m u 0 2m (l 1 1 6 φ(m u 0 2m (l 1 2 6 φ(m u 0 m (l 1 3 6 φ(m u 0 m (l 1 ] 5 2m (l 1 1 6 φ(m u 0 2m (l 1 2 6 φ(m u 0 m (l 1 ] 5. Next, we consider the case that the edges from a variable node are distributed among subsets

S 1, S 2,, S p as uniformly as possible. For the above example, it means that among three edges from the variable node, two edges are connected to S 1 and one edge is connected to S 2, and vice versa. The means of messages from the variable nodes to the check nodes in S 1 can be m u0 m us1 m us2 and m u0 2m us2 with probabilities 2/3 and 1/3, respectively. The means of messages from the variable nodes to the check nodes in S 2 can also be m u0 m us1 m us2 and m u0 2m us1 with probabilities 2/3 and 1/3, respectively. Then the recursive equations considering subsets S 1 and S 2 are given as follows; 1 3 φ(m u 0 2m (l 1 2 3 φ(m u 0 m (l 1 m (l 1 ] 5 1 3 φ(m u 0 2 2 3 φ(m u 0 m (l 1 ] 5. Equation (1 can be simplified as φ(x e 0.4527x0.860.0218 in [3]. Then the threshold value for the message-passing decoding algorithm of the (3,6 regular LDPC codes is given as 0.8747 which is also the threshold value for new decoding algorithm. Under the AWGN (additive white Gaussian noise channel with the standard deviation values 0.83 or 0.87 which are less than the above threshold value, the mean values at each iteration for (3,6 regular LDPC code are obtained as in Fig. 2. The number of iterations is denoted by I. In Fig. 2, R and U stand for random partitioning and uniform partitioning, respectively. It is shown in Fig. 2 that partitioning the check nodes increases the convergence speed of the message-passing decoding algorithm of LDPC codes. It is also shown that the uniform partitioning is better than the random partitioning in terms of convergence speed of LDPC decoding. As the channel is becoming worse, the convergence speed gain of the new decoding algorithm is getting larger. 4. Simulation Results Simulation for the proposed decoding algorithm of LDPC codes with p = 1, 3, and 4 is done in the AWGN channel. Fig. 3 shows the performance of irregular LDPC code with length 1000 and rate 1/2, which was constructed by optimizing the degree distribution [3] with restricting the maximum degree of variable nodes to 8. Fig. 4 shows the performance of a (3, 6 regular LDPC code with length 1000 and rate 1/2, which is randomly constructed. In Fig. 3 and 4, the new decoding algorithm with random partitioning is used. From the simulation results in Fig. 3 and Fig. 4, the performance of our proposed decoding algorithm is better than that of the conventional decoding Mean of varialbe node Mean of varialbe node 40 30 20 10 0 50 40 30 20 10 0 p=2 U p=2 R p=1 5 10 15 I p=2 U p=2 R p=1 10 20 30 40 50 I Fig. 2: Density evolutions of (3, 6 regular LDPC codes for σ = 0.83 (above and 0.87 (below. algorithm, especially for I = 5 and 10. However, for I = 50, the performance improvement decreases since both decoding methods achieve enough iteration gain. Note that both decoding algorithm have the same threshold values. Fig. 5 and 6 show the performance improvement of our proposed decoding algorithm with uniform partitioning for a (3, 6 regular QC LDPC code with length 4092 and rate 1/2, which is constructed by computer search. 5. Conclusions The proposed sequential message-passing decoding p=4 I= 1 R p=4 I= 5 R p=4 I=10 R p=4 I=20 R p=4 I=50 R 1.0 1.5 2.0 2.5 3.0 Fig. 3: performance with random partitioning when an irregular LDPC code with length 1000 and rate 1/2 is used.

p=4 I= 1 R p=4 I= 5 R p=4 I=10 R p=4 I=20 R p=4 I=50 R 1.0 1.5 2.0 2.5 3.0 p=3 I= 1 R p=3 I= 5 R p=3 I=10 R p=3 I=20 R p=3 I=50 R p=3 I= 1 U p=3 I= 5 U p=3 I=10 U p=3 I=20 U p=3 I=50 U 1.0 1.5 2.0 2.5 Fig. 4: performance with random partitioning when a (3, 6 regular LDPC code with length 1000 and rate 1/2 is used. Fig. 6: performance with uniform and random partitioning of a (3, 6 regular QC LDPC code with length 4092 and rate 1/2. p=3 I= 1 U p=3 I= 5 U p=3 I=10 U p=3 I=20 U p=3 I=50 U 1.0 1.5 2.0 2.5 Fig. 5: performance with partitioning and no partitioning of a (3, 6 regular QC LDPC code with length 4092 and rate 1/2. algorithm outperforms the conventional decoding algorithm for the small number of iterations. This means that the proposed algorithm improves the convergence speed without an increase of the decoding complexity. We investigated the reason of fast convergence of our proposed decoding algorithm from analysis of density evolution with Gaussian approximation. Moreover, the proposed algorithm can be applied to any code represented by Tanner graph. Therefore the new decoding algorithm of LDPC codes can be used to implement the practical decoder. References [1] R. G. Gallager, Low-density parity-check codes. Cambridge, MA: MIT Press 1963. [2] R. Tanner, A recursive approach to low complexity code, IEEE Trans. Inform. Theory, vol. IT-27, pp. 533-547, Sept. 1981. [3] S.-Y. Chung, On the construction of some capacityapproaching coding schemes. PhD thesis, MIT, Sept. 2000. [4] M. Fossorier, Quasi-cyclic low-density paritycheck codes from circulant permutation matrices, IEEE Trans. Inform. Theory, vol. 50, no. 8, pp. 1788-1793, Aug. 2004. [5] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, Factor graphs and the sum-product algorithm, IEEE Trans. Inform. Theory, vol. IT-47, no.2, pp. 533-547, Feb. 2001. [6] D. J. C. Mackay and R. M. Neal, Near Shannon limit performance of low density parity check codes, IEEE Electron. Lett., vol. 32, no. 18, pp. 1645-1646, Aug. 1996. [7] T. Richardson and R. Urbanke, The capacity of low-density parity-check codes under messagepassing decoding, IEEE Trans. Inform. Theory, vol. 47, pp. 599-618, Feb. 2001. [8] M. Cocco, J. Dielissen, M. Heijligers, A. Hekstra, and J. Huisken, A scalable architecture for LDPC decoding, in Proc. DATE 04, pp. 88-93, Feb. 2004. [9] T. Richardson, M. Shokrollahi, and R. Urbanke, Design of capacity-approaching irregular lowdensity parity-check codes, IEEE Trans. Inform. Theory, vol. 47, pp. 619-637, Feb. 2001.