Decoder-in-the-Loop: Genetic Optimization-based LDPC Code Design

Low-Density Parity-Check (LDPC) code design tools typically rely on the asymptotic code behavior and, thus, are affected by an unavoidable performance degradation in the short length regime.We propose an LDPC code design scheme based on an evolutionary algorithm called the Genetic Algorithm (GenAlg), which relies on a 'decoder-in-the-loop' concept. Thus, it inherently takes into consideration the channel, code length and the number of iterations as our proposed algorithm directly optimizes the error-rate of the actual decoder rather than the decoding thresholds. Using our proposed algorithm, we construct short length LDPC codes with error-rate performance comparable to, or even outperforming, that of standardized short length LDPC codes. Our proposed algorithm can be used to design LDPC codes with special graph structure (e.g., accumulator-based codes) to facilitate the encoding step or to satisfy the aforementioned practical requirements. Moreover, for a fixed target error-rate, GenAlg can be used to design LDPC codes with the aim of reducing the decoding complexity.


I. EXTENDED SUMMARY
The LDPC code design has been well-established at the limits of the infinite length regime during the past few decades. The classical design tools, e.g., Density Evolution [1] and EXIT charts [2], provide the required analysis to design long LDPC codes of superior performance at negligible gap from the Shannon limit [3]. However, for finite length LDPC codes, a sufficiently "good" LDPC code turns out to deviate from the guidelines (e.g., its degree distributions) provided by the classical design tools which are based on the asymptotic code analysis. Emerging applications based on short block transmission (e.g., machine-to-machine type communications and Internet of Things (IoT) networks) have urged the need for well-designed "ultra-short" codes.

A. Paper contribution
The main contribution of this work is that it provides an efficient LDPC code design tool resulting in short codes comparable to, or even outperforming, the state-of-the-art short LDPC codes. The proposed scheme is used to design the whole parity-check matrix (i.e., H-matrix) directly, unlike the classical way of design where the degree distribution is optimized first. The proposed tool requires no degree optimization ahead (e.g., EXIT curves matching), as it optimizes the Hmatrix itself. This optimization involves no Progressive Edge Growth (PEG) [4] or similar algorithms, but only based on the Genetic Algorithm (GenAlg). One strong asset of the proposed design tool is that it can be tailored to a specific required This work has been supported by DFG, Germany, under grant BR 3205/5-1. constraint on the H-matrix resulting in codes which are of low encoding and, thus, low hardware complexity. Besides, a decoding complexity measure (e.g., number of maximum belief propagation (BP) iterations N it,max ) can be the design constraint resulting in a much lower decoding complexity with negligible performance loss. It is worth mentioning that extensions to longer LDPC code design is straightforward with the current framework. The source code and the best H-matrices from this work will be available online 1 .

B. Genetic algorithm-based LDPC code design
We consider the problem of designing an LDPC code as an optimization problem, in which the target is to minimize the error-rate at a certain design SNR. This optimization problem has some constraints defined by the problem in hand. The should remain constant. To solve this problem, similar to [5], we use the well-known GenAlg. The design process starts with randomly constructing some initial LDPC codes. In this work, a set of randomly constructed regular (3, 6) LDPC codes (no PEG used) are regarded as an initial population. A GPU-accelerated error-rate computation framework is used to assess the error-rate performance of the found LDPC codes at a certain design SNR and a fixed N it,max . The best LDPC codes from our population are picked and then the evolutionary transformations (namely: mutations and crossovers) are performed over them. This process is repeated until a certain target error-rate or a maximum number of populations (i.e., epochs) is reached.
The mutations in this context are done by adding (or removing) an edge to (or from) the interleaver (i.e., H-matrix) at a random position, or a combination of both.
The crossover in this context is a symmetric 2D-crossover between two parent H-matrices. The left (or upper) half matrix from parent 1 is combined together with the right (or lower) half matrix from parent 2.

C. Error-rate performance
To be consistent with the results presented in [6], we design LDPC codes with code length N = 128, code dimension k = 64 and, thus, the code rate R c = 0.5. All considered LDPC codes are simulated over the binary-input additive white Gaussian noise (bi-AWGN) channel.
All reference LDPC codes from [6] are designed through a girth optimization technique based on the PEG algorithm  [4]: the standardized LDPC code by Consultative Committee for Space Data Systems (CCSDS) for satellite telecommand links ( ), a regular (3, 6) LDPC code ( ), an accumulate-repeat-3-accumulate (AR3A) LDPC code ( ), and an accumulate-repeat-jagged-accumulate (ARJA) LDPC code ( ). Using GenAlg, we design the whole edge interleaver (i.e., H-matrix) at a design SNR of 5 dB. The resulting LDPC code ( ) outperforms the best LDPC codes from [6] over the whole simulated SNR range, as shown in Fig. 1.
To facilitate the encoding of the GenAlg-based LDPC codes, we design accumulator-based codes (i.e., a structured interleaver). In this work, we design irregular repeat-accumulate (IRA) codes 2 , such that the H-matrix has the form where H L is the matrix to be optimized and H R is a fixed "dual-diagonal" square matrix with dimensions N − k × N − k The resulting IRA code ( ) designed at 3 dB again approaches the performance of the LDPC codes from [6], as shown in Fig. 1. 2 Similar to LDPC codes from the DVB-S.2 standard.
In the full paper, the effect of the design SNR on the acquired H-matrices is investigated. Furthermore, we include some insights from EXIT chart analysis. Besides, further optimized structured LDPC codes under more constraints (e.g., accumulator-based codes) are provided.

D. Decoding complexity reduction
We show that for a fixed target error-rate, huge decoding complexity reduction can be achieved just by changing the LDPC code design algorithm used. We design LDPC codes tailored to iterative BP decoding with reduced maximum number of BP iterations N it,max . Using GenAlg, an LDPC code tailored to 20 BP iterations ( ) designed at 3 dB approaches the error-rate performance of the LDPC codes from [6], with lower N it,max , as shown in Fig. 1. In the full paper, the average and the worst case decoding complexity of the proposed GenAlg-based LDPC codes are compared.