One and Two Bit Message Passing for SC-LDPC Codes with Higher-Order Modulation
Fabian Steiner Emna Ben Yacoub Balazs Matuz Gianluigi Liva Alexandre Graell i Amat
















One and Two Bit Message Passing for SC-LDPC Codes with Higher-Order Modulation
    Fabian Steiner, Student Member, IEEE, Emna Ben Yacoub, Balázs Matuz, Member, IEEE,
 Gianluigi Liva, Senior Member, IEEE, Alexandre Graell i Amat, Senior Member, IEEE
Fabian Steiner and Emna Ben Yacoub are with the Institute for Communications Engineering, Technical University of Munich (Email: , ).Balázs Matuz and Gianluigi Liva are with the Institute of Communications and Navigation, German Aerospace Center (DLR), Germany (E-mail: , ).Alexandre Graell i Amat is with the Department of Electrical Engineering, Chalmers University of Technology, Gothenburg SE-41296, Sweden (E-mail: ).The work of A. Graell i Amat was supported by the Swedish Research Council (grant 2016-04253).

    December 30, 2023
===============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================




Low complexity decoding algorithms are necessary to meet data rate requirements in excess of 1Tbps. In this paper, we study one and two bit message passing algorithms for belief propagation decoding of low-density parity-check (LDPC) codes and analyze them by density evolution. The variable nodes (VNs) exploit soft information from the channel output. To decrease the data flow, the messages exchanged between check nodes (CNs) and VNs are represented by one or two bits. The newly proposed quaternary message passing (QMP) algorithm is compared asymptotically and in finite length simulations to binary message passing (BMP) and ternary message passing (TMP) for spectrally efficient communication with higher-order modulation and probabilistic amplitude shaping (PAS). To showcase the potential for high throughput forward error correction, spatially coupled LDPC codes and a target spectral efficiency (SE) of 3bits/QAM symbol are considered. Gains of about 0.7dB and 0.1dB are observed compared to BMP and TMP, respectively. The gap to unquantized belief propagation (BP) decoding is reduced to about 0.75dB. For smaller code rates, the gain of QMP compared to TMP is more pronounced and amounts to 0.24dB in the considered example.




Quantized LDPC decoders, binary message passing, ternary message passing, quaternary message passing, higher-order modulation, probabilistic amplitude shaping






§ INTRODUCTION



Optical coherent transceivers with data rates of 400Gbps are about to be installed in the field <cit.> and research already considers 1Tbps. These data rates require sophisticated optical components, improved 
digital signal processing algorithms, and FEC solutions that can cope with the high speed. While SD decoders
are superior in terms of the NCG,
HD decoders are appealing when low power consumption and high throughputs are of paramount importance. HD-FEC for optical communications is usually based on product-like codes with RS or BCH component codes of high rate, which can be efficiently decoded via BDD (e.g., based on the syndrome). Spatially coupled HD-FEC constructions, such as staircase codes <cit.> or braided codes <cit.> achieve additional gains.

Recently, hybrid approaches based on concatenating an inner SD-FEC and an outer HD-FEC have received attention <cit.>. These ideas have found their way into standards: the optical internet working forum established the 400G ZR standard, a specification to transmit at 400Gbps over data center interconnect links up to 100km, and agreed on an FEC solution consisting of an inner Hamming code  and an outer  staircase code, where the inner code decoder is SD and the outer code decoder is HD,  with a total of 14.8% overhead and a NCG of 10.8dB. 


To exploit the soft-information from the channel, while still only exchanging binary messages during the iterations of BDD, the authors of <cit.> weight the HD output of the component decoders and recombine it with the soft-information from the channel, after which another HD is made. Similar approaches were also considered in <cit.>, where soft information from the channel is used to exploit particularly reliable and unreliable bits to improve the miscorrection-detection capability of the BDD decoder.

In <cit.>, the authors present a one-bit BMP algorithm for LDPC codes. In particular, the  VN  processor combines the soft channel message with scaled binary messages from the CN, followed by a HD step. The idea of passing binary messages dates back to the seminal work of Gallager <cit.>, where he presented algorithms that are now called Gallager A and Gallager B.



The internal decoder data flow F, defined as the number of bits that are processed in each BP iteration, is given by
 
    F = 2· k_· q ·d̅_/R_ = 2· n_· q ·d̅_

where k_ is the number of information bits, q is the number of bits used to represent a message, R_ is the FEC code rate and d̅_ is average VN degree. Observe that n_ = k_/R_ is the number of coded bits. Thus, a BMP decoder (q = 1) allows to reduce the data flow F by a factor of q compared to a decoder using q bits to represent messages. It hereby alleviates the routing congestion problem from which many high throughput, parallel LDPC decoder architectures suffer <cit.>.

The work in <cit.> extends the BMP algorithm to ternary messages.
The third message is an erasure that denotes complete uncertainty about the respective bit value. The algorithm, dubbed TMP decoding, closely resembles algorithm E from <cit.>, except that it exploits soft-information at the VN. 

These works study decoding for the BSC or the AWGN channel with BPSK. For coherent, spectrally efficient optical communication, higher-order modulation formats are required and a dedicated code design should take the modulation into account.  This is particularly true for PAS <cit.>, a coded modulation technique that uses a non-uniform distribution for the constellation points to operate close to the Shannon limit and allows flexible rate adaptation.

The main contributions of this paper are as follows:

    
  * We introduce a QMP decoding algorithm as an extension of BMP and TMP. QMP improves the decoding performance 
    for the considered examples by up to 0.24dB compared to TMP for the same quantization resolution. The gain is particularly pronounced for low FEC code rates.
    
  * We complement the QMP decoding algorithm by deriving its DE to compute iterative decoding thresholds and obtain the optimal weighting factors required in the decoding algorithm.
    
  * We adapt BMP, TMP, and QMP for higher-order modulation and PAS targeting high-throughput decoding with spectrally efficient signaling and performance close to the Shannon limit by generalizing the DE formulations to take the different BMD bit channels into account. Previous work only considered BPSK modulation. We also derive a simplified surrogate channel approach for the initialization of DE for BMD with higher-order modulation.
    
  * We use BMP, TMP, and QMP for SC-LDPC codes and analyze their decoding performance in the finite length regime. The results show that an asymptotic design of the weights via DE also yields very good performance at finite blocklength.



This paper is organized as follows. In Sec. <ref>, we introduce the system model, explain the principles of PAS and review protograph-based SC-LDPC codes. The one bit (BMP) and two bit (TMP, QMP) message passing decoding approaches are described in Sec. <ref>. We develop DE for the three algorithms and higher-order modulation with PAS in Sec. <ref>. In Sec. <ref>, we present finite length simulation results and compare them to the asymptotic DE predictions. We conclude in Sec. <ref>.




§ PRELIMINARIES






 §.§ Notation
 
We refer to the set of natural numbers as ; if zero is included, the set is denoted as _0. The set of real numbers is , the set of positive real numbers is ^+ and the set of non-negative real numbers is ^+_0. Other sets are denoted by calligraphic letters such as . In general, vectors are written in bold font and are assumed to be row vectors, i.e., = (x_1,x_2,…, x_n). We denote RV with upper case letters, e.g., X, and their realizations with lower case letters, e.g., x.
A discrete RV X has distribution P_X on a discrete set , e.g., for x∈, P_X(x)={X=x}.
A continuous RV X takes real values and has density p_X, e.g., ∫_-∞^x p_X(τ)τ={X≤ x}. 
The expectation of a RV X is denoted by X.
Furthermore, (X), (X|Y) and (X;Y), denote the entropy of the RV X, the conditional entropy of the RV X given the RV Y and the mutual information of X and Y, respectively.



 §.§ System Model



Previous works have shown that a discrete time AWGN channel can be considered as an accurate model for dispersion-uncompensated, long-haul optical links <cit.>, where the noise contribution is dominated by amplified spontaneous emission noise from the erbium doped fiber amplifier. A transmitted modulation symbol X_i is subject to Gaussian noise N_i with zero mean and variance σ^2, and the received samples are

    Y_i = X_i + N_i,    i = 1,…, n.

For ease of notation we drop the subscript i whenever possible and we describe the signaling for one real dimension only, i.e., the channel inputs are from an M-ary ASK set = {± 1, ± 3, …, ± (M-1)}, where M is even. The extension to a two-dimensional M^2-QAM constellation is straightforward: it can be obtained by the Cartesian product of two real-valued ASK constellations. A four-dimensional dual polarized QAM (DP-QAM) constellation can be obtained as the Cartesian product of two QAM constellations and equivalently, as the Cartesian product of four ASK constellations. 
The SNR is defined as = X^2/σ^2.

To use binary FEC codes with higher order modulation formats, we introduce a binary interface for the transmitted constellation points. We define the binary labeling χ→{0,1}^m that assigns an m-bit binary label  to each constellation point  x, i.e., = χ(x). For BMD the decoder uses this binary label to calculate a metric for each bit without taking their stochastic dependence into account.



 §.§ Signaling and Achievable Rates



The maximum rate at which reliable transmission over an AWGN channel is possible is the Shannon capacity <cit.>.
It is achieved when the channel inputs are Gaussian distributed.
A uniform distribution on the constellation symbols in  entails a loss in power efficiency compared to Gaussian signaling. The use of non-uniform probabilities is called PS. 
Traditionally, the combination of PS and FEC was considered difficult (e.g., see <cit.>, <cit.>).
Recently, the invention of PAS <cit.> allowed an easy integration of PS with FEC. PAS concatenates a shaping outer code called a DM <cit.> and an FEC inner code. This “reverse concatenation” was originally proposed for constrained coding in <cit.>.
The PAS architecture has three properties that distinguishes it from other PS schemes. First, it integrates shaping with existing FEC, second, it achieves the Shannon limit <cit.>, <cit.>, and third, it allows rate adaptation by changing the probability distribution, while leaving the FEC unchanged.

The DM <cit.> realizes the non-uniform distribution. It takes k_ uniformly distributed
input bits and maps them to a length-n sequence of symbols with the empirical distribution P_A. For PAS, the DM output set is  and the DM rate is 

    R_ = k_/n.

The transmission rate R_ of PAS is <cit.>

    R_ = R_ + 1 - (1-R_)· m   [ (bits/channel use)]

where R_ is the code rate of the FEC code.

An achievable rate for BMD with SD is given by <cit.>

    R_() = [() - ∑_k=1^m (B_k|Y)]^+   []

where [·]^+ = max(0,·). We introduce R_^-1(·) as the inverse function. Its relation to other SD FEC metrics, e.g., the NGMI <cit.> is explained in <cit.>.

PAS uses the BMD soft-information 

    l_k(y) ≜logP_B_k|Y(0|y)/P_B_k|Y(1|y),    k = 1,…,m

as decoder input, where P_B_k|Y(b|y) is the probability that the k-th bit level of a constellation symbol is equal to b for a  given y. We have

    P_B_k|Y(b|y) ∝∑_x∈_k^b p_Y|X(y|x) P_X(x)

and _k^b ≜{x∈: [χ(x)]_k = b}. The notation []_k refers to the k-th component of the vector .




 §.§ Protograph-Based Low-Density Parity-Check Codes



Binary LDPC codes are binary linear block codes defined by an m_× n_ sparse parity-check matrix . The code dimension is k_≥ n_ - m_. The Tanner graph of an LDPC code is a bipartite graph G = (∪, ) consisting of n_ VN and m_ CN. The set  of edges contains the element
_ij, where _ij is an edge between VN _j∈ and CN _i∈. Note that _ij belongs to the set  if and only if the parity-check matrix element h_ij (entry in the i-th row and j-th column of ) is equal to 1.
The sets (_j) and (_i) denote the neighbors of VN _j and CN _i,
respectively. The degree of a VN _j is denoted by d__j and it is the cardinality of the set (_j). Similarly, the degree of a CN _i is denoted by d__i and it is the cardinality of the set (_i).

For practical purposes, it is beneficial to impose
structure on an LDPC code ensemble. Examples of structured LDPC code ensembles are MET <cit.> and protograph-based ensembles <cit.>.
Protograph-based ensembles are defined via a (typically small) basematrix  of dimension m_× n_ and elements in _0. 
A basematrix may also be represented as a bipartite graph, called a protograph.
However, since the elements of the basematrix are not strictly binary, parallel edges are allowed and their numbers correspond to the respective entries in the basematrix. The Tanner graph of an LDPC code can be  obtained by lifting a protograph: through copy-and-permute operations copies of the protograph are generated and their edges are permuted such that connectivity constraints imposed by the basematrix are maintained <cit.>. A protograph-based LDPC code ensemble _n_^ is defined by the set of all length-n_ LDPC codes whose Tanner graph is obtained by lifting  by a factor of Q such that n_ = Q · n_.[In this work, we do not consider LDPC codes with state (i.e., punctured) VN.] To distinguish the VN and CN in the protograph from those in the lifted parity-check matrix, we introduce the protograph VN set _ = {_1, _2, …, _n_} and CN set _ = {_1, _2, …, _m_}. Every protograph VN (CN) identifies a VN (CN) type. We use the wording “a type _i VN” to identify a VN in the lifted Tanner graph of type _i. We also use the convention that a VN _j in the Tanner graph is of type _i  if ⌈ j/Q ⌉ = i, i.e., consecutive blocks of Q VN in the final parity-check matrix are associated to a given type. The same applies to CN.



 §.§ Protograph-Based Spatially Coupled LDPC Codes



Consider an SC-LDPC code with a right-unterminated parity-check matrix <cit.>

    = _0(0)           
    _1(0)     _0(1)           
    ⋮   _1(1)        _0(2)      
    _μ(0)    ⋮   _1(2)      
       _μ(1)    ⋮   ⋱
          _μ(2)    ⋱
             ⋱.

In (<ref>), μ denotes the syndrome former memory of the SC-LDPC code. The index in brackets denotes the spatial position. If the matrices _i(s), i ∈{0, …, μ}, are the same for all spatial positions s ∈{0, …, S-1}, the SC-LDPC code is called time-invariant and the index s can be dropped. The dimension of the matrices _i(s) is m_^× n_^.


Because of the diagonal structure of ,  a CN is connected to at most (μ+1) n_^ VN. This allows using a window decoding approach <cit.> that reduces latency,  increases throughput, and makes SC-LDPC codes particularly interesting for optical communications <cit.>. 

SC-LDPC codes are known to exhibit a phenomenon known as threshold saturation <cit.> that allows to approach the bit-wise MAP decoding threshold of the underlying block code with (unquantized) BP decoding.

SC-LDPC codes can be constructed from protographs and have the structure 

    = _0              
    _1        _0              
    ⋮   _1           _0         
    _μ   ⋮   _1         
       _μ   ⋮   ⋱
          _μ   ⋱
             ⋱.


The protograph in (<ref>) is then lifted by a factor of Q to obtain the final parity-check matrix .

For practical operation, the SC-LDPC code is commonly terminated after a number of S spatial positions. Due to this termination, a rate loss occurs that vanishes for large S. The resulting code rate is

    R_ = 1 - μ+S/Sm_^/n_^ = 1-(1+μ/S)m_^/n_^

where the basematrices _0,…, _μ have dimensions m_^× n_^. The overall size of the matrix  is m_× n_ = (μ+S)m_^× n_^ S.




§ DECODING ALGORITHMS FOR ONE AND TWO BIT MESSAGE PASSING



In this section, we first review  the BMP and TMP decoding algorithms introduced in <cit.> and <cit.>. In Sec. <ref>, we then present a new decoding algorithm that takes full advantage of 2-bit messages, which we dub QMP.

For the described algorithms, we denote by  m_→^( ℓ)  the message sent from CN  to its neighboring VN  at the ℓ-th iteration. Similarly, m_→^(ℓ) is the message sent from VN  to CN . The soft information at the input of the decoder for the j-th coded bit is denoted by l_,j and  calculated according to (<ref>). 



 §.§ Binary and Ternary Message Passing



For BMP, the exchanged messages are binary, i.e., m_→^(ℓ),  m_→^(ℓ)∈_BMP≜{-1,+1}. For TMP, the exchanged messages are ternary and we have m_→^(ℓ),  m_→^(ℓ)∈_TMP≜{-1,0,+1}. A message value of zero indicates complete uncertainty about the respective bit.

In every decoding iteration, each VN and CN computes extrinsic messages that are forwarded to the neighboring nodes. Specifically, the message from VN  to CN  is obtained by combining the channel soft-information l_ with a weighted version of all other incoming CN messages. Finally, a quantization function Ψ→ is applied to turn the result into binary and ternary messages for BMP and TMP, respectively. The weighting factors w_ij^(ℓ) are real valued and depend on the current iteration number. They can be obtained from the DE analysis as shown in Sec. <ref>. The quantization function is

    Ψ(x) = 
        +1,     x > 0
    
        -1,     x ≤ 0

for BMP and

    Ψ(x) = 
    +1,     x > T 
    
    0,     -T ≤ x≤ T 
    
    -1,     x < -T

for TMP. The equality signs in (<ref>) and (<ref>) are chosen such that ties are broken. Note that the threshold parameter T∈^+_0 in (<ref>) depends on the SNR and needs to be chosen for each signaling mode and iteration individually to minimize the decoding threshold. However, numerical studies reveal that a single value that is kept constant over the iterations entails almost no loss in performance. Therefore, we resort to this setting in the following.

For the CN to VN update, a CN sends the product of incoming messages from the other neighboring VN. In the last iteration ℓ_, the a-posteriori estimate of each codeword bit is calculated by taking a hard decision on the combined soft-information  from all CN neighbors and the channel. 
The algorithmic procedure for BMP and TMP decoding is summarized in Algorithm <ref>. The weighting factors w_ij^(ℓ) have been derived as part of the DE for BMP and TMP in <cit.>.







 §.§ Quaternary Message Passing



The TMP algorithm of Sec. <ref> requires two bits per exchanged message. We now introduce a QMP decoding algorithm that requires the same number of bits per exchanged message, but allows a more granular quantization of the associated reliability soft-information.

The key idea of QMP is to distinguish between low and high reliability messages. The VN to CN and CN to VN messages, m_→^(ℓ) and  m_→^(ℓ), take values in the quaternary alphabet _QMP≜{-,-,+,+} and  and  correspond to messages with low and high reliability, respectively.
The  quantization  function is

    Ψ(x) =
    
    -,     x  ≤ -T
    
    -,      -T < x < 0 
    
    +,     0 ≤ x < T 
    
    +,     x ≥ T.
 


 The QMP decoding algorithm is summarized in Algorithm <ref>.  At the CN, a min-sum decoding rule is employed. At the VN, the incoming messages are weighted and combined with the channel soft-information. In contrast to BMP and TMP, two sets of weighting factors are needed for QMP depending on the magnitude of the received message. The weights w_ij,^(ℓ) are used for messages with low reliability (i.e., m_→∈{-,+}), whereas w_ij,^(ℓ) are used for messages with high reliability (i.e., m_→∈{-,+}).






§ DENSITY EVOLUTION ANALYSIS FOR QMP



In the following, we describe DE for QMP and protograph-based LDPC code ensembles. The purpose of DE is twofold. First, it provides asymptotic decoding thresholds of the considered ensembles. Second, it allows to compute the optimal weighting factors for the VN update that are needed for the decoding algorithm (optimal in an asymptotic sense, i.e., for infinite block length and lifting factor).



 §.§ Symmetry



DE analysis for binary LDPC codes <cit.> assumes that the channel message and the extrinsic decoder messages fulfill the symmetry constraint

    p_L|B(l|0) = p_L|B(-l|1)

where the RV L denotes the soft-information calculated from the channel output. In this case, one can assume that the all-zero codeword is transmitted and track the  probability of decoding failure over the iterations. As pointed out in <cit.>, for BMD with higher-order modulation, the bit channels p_L_k|B_k are generally not symmetric[Symmetry depends on the chosen labeling function χ and the input distribution P_X.], where the RV L_k is defined as (cf. (<ref>))

    L_k ≜logP_B_k|Y(0|Y)/P_B_k|Y(1|Y),    k = 1,…,m.

However, we can use channel adapters <cit.> to introduce symmetrized
counterparts. This can be accomplished by using a pseudo-random, binary scrambling sequence at both the transmitter and receiver, which
modifies (<ref>) as

    L̃_k = L_k · (1-2B_k).

The resulting bit-channels p_L̃_k|B_k are symmetric, i.e., we have

    p_L̃_k|B_k(l|0) = p_L̃_k|B_k(-l|1).




 §.§ Initialization of Density Evolution for Different Bit Channels



We associate with each VN type a bit level. Let ϕ(j) be the bit level on which the VN of type _j are mapped and let _^(k)⊆_ be the subset of protograph VN that are mapped to the k-th bit level. 
We assume that the number n_  of VN in the protograph is an integer multiple of m, such that each bit level is assigned to n_/m VN. 

Let p_^(ℓ)( i,j) be the probability that the message sent from _j to  _i  at the ℓ-th iteration on one of the b_ij edges connecting _j to _i is equal to ∈{-,-,+}.
To initialize DE, we calculate the initial message probabilities as

    p_-^(0)(i,j)     = ∫_-∞^-T p_L̃_ϕ(j)|B_ϕ(j)(l|0) l
                
          p_-^(0)(i,j)    = ∫_-T^0 p_L̃_ϕ(j)|B_ϕ(j)(l|0) l
    
         p_+^(0)(i,j)    = ∫_0^T p_L̃_ϕ(j)|B_ϕ(j)(l|0) l.


The integrals in (<ref>)–(<ref>) do not allow a closed form solution, but can be calculated by means of Monte Carlo simulations or transformations of RV. Note that the above calculations need to be performed only once.

In Fig. <ref>, we show the CDF {L̃_k ≤ l} for 8-ASK with uniform and PS signaling obtained via Monte Carlo simulations. The CDF can be used to calculate (<ref>)–(<ref>) as

    p_-^(0)(i,j)     = {L̃_Φ(j)≤ -T},
                
       p_-^(0)(i,j)    = {L̃_Φ(j)≤ 0} - {L̃_Φ(j)≤ -T},
    
       p_+^(0)(i,j)    = {L̃_Φ(j)≤ T} - {L̃_Φ(j)≤ 0}.









 §.§ Density Evolution for QMP



Similarly to before, let q_𝚖^(ℓ)( i,j) denote the probability that the message sent from _i to  _j  at the ℓ-th iteration is equal to 𝚖∈_.

	
  * Initialization. For j= 1, 2, …, n_ and i=1, 2, …, m_ with b_ij≠ 0, compute p^(0)_-(i,j), p^(0)_-(i,j)  and p^(0)_+(i,j) according to (<ref>), (<ref>) and (<ref>).
 
  * For ℓ =1, 2, …, ℓ_ repeat the following three update steps

Check to variable update. For j= 1, 2, …, n_ and i=1, 2, …, m_, if b_ij≠ 0 then compute
	
    q^(ℓ)_-(i,j)=1/2[ ∏_ b_is≠ 0(1-	p^(ℓ -1 )_-(i,s)-	p^(ℓ -1)_+(i,s))^b_is- δ_sj. 
       . - ∏_ b_is≠ 0(1-2p^(ℓ -1 )_-(i,s)-	p^(ℓ -1 )_-(i,s)-	p^(ℓ -1)_+(i,s))^b_is- δ_sj]


	
    q^(ℓ)_-(i,j)= 1/2[1 - ∏_b_is≠ 0(1-	p^(ℓ -1 )_-(i,s)-	p^(ℓ -1)_+(i,s))^b_is- δ_sj. 
        - ∏_b_is≠ 0(1-2p^(ℓ -1 )_-(i,s)-	2p^(ℓ -1 )_-(i,s))^b_is- δ_sj
       . + ∏_b_is≠ 0(1-2p^(ℓ -1 )_-(i,s)-	p^(ℓ -1 )_-(i,s)-	p^(ℓ -1)_+(i,s))^b_is- δ_sj]

	
    q^(ℓ)_+(i,j)=1/2[1 - ∏_b_is≠ 0(1-	p^(ℓ -1 )_-(i,s)-	p^(ℓ -1)_+(i,s))^b_is- δ_sj. 
        +∏_ b_is≠ 0(1-2p^(ℓ -1 )_-(i,s)-	2p^(ℓ -1 )_-(i,s))^b_is- δ_sj
       . - ∏_b_is≠ 0(1-2p^(ℓ -1 )_-(i,s)-	p^(ℓ -1 )_-(i,s)-	p^(ℓ -1)_+(i,s))^b_is- δ_sj].



		Variable to check update. For j= 1, 2, …, n_ and i=1, 2, …, m_, if b_ij≠ 0, compute
	
    p^(ℓ)_-(i,j)=   ∑_z{  L^(ℓ)_ = z }{L̃_ϕ(j)≤ -T-z}
    
    	p^(ℓ)_-(i,j)=   ∑_z{  L^(ℓ)_ = z }{-T-z<L̃_ϕ(j) < -z}
    
    	p^(ℓ)_+(i,j)=   ∑_z{  L^(ℓ)_ = z }{-z ≤L̃_ϕ(j) < T-z}

		
		where L^(ℓ)_ is a RV representing the sum of the LLR of the d__j - 1 CN messages at the input of _j at the ℓ-th iteration. We have
			
    {  L^(ℓ)_= z } = ∑_, ,∏_b_sj≠ 0b_sj - δ_siu_s,v_s,t_s,b_sj - δ_si - u_s - v_s-t_s·
        q^(ℓ)_-(s,j)^u_s q^(ℓ)_-(s,j)^v_s  q^(ℓ)_+(s,j)^t_s·
       (1-q^(ℓ)_-(s,j) -q^(ℓ)_-(s,j)-q^(ℓ)_+(s,j))^b_sj - δ_si - u_s - v_s-t_s

		where the outer sum is over all integer vector triplets , and   for which 
		
    ∑_e=1^m_   [w_ej,^(ℓ)(t_e-v_e) + . 
       . w_ej,^(ℓ)(b_ej-δ_ei-2u_e-v_e-t_e)] = z

		with
		
    w_ej,^(ℓ) = ln( q^(ℓ)_+(e,j)	q^(ℓ)_-(e,j))

		and 
		
    w_ej,^(ℓ) = ln( 1-q^(ℓ)_-(e,j) -q^(ℓ)_-(e,j)  -	q^(ℓ)_+(e,j)	q^(ℓ)_-(e,j)).

		Specifically, the entries u_s, v_s, and t_s represent the number of messages -, - and +, respectively, that _s sends to _j on b_sj -δ_si of the b_sj edges connecting _s to _j. Thus, for s = 1, 2, …, m_ we have
		0 ≤ u_s, v_s, t_s and u_s+v_s+t_s≤ b_sj-δ_si.
	A-posteriori update. For j= 1, 2, …, n_, compute
	
		
    P_^(ℓ)(j)= 
    		∑_z{  L^(ℓ)_ = z }{L̃_ϕ(j)≤ -z}

		where L^(ℓ)_ is a RV representing the sum of the LLR of all incoming d__j CN messages at the input of _j at the ℓ-th iteration.	We have	
			
    {  L^(ℓ)_= z } = ∑_u, v, t∏_b_sj≠ 0b_sju_s,v_s,t_s,b_sj - u_s - v_s-t_s·
        q^(ℓ)_-(s,j)^u_s q^(ℓ)_-(s,j)^v_s  q^(ℓ)_+(s,j)^t_s·
       (1-q^(ℓ)_-(s,j) -q^(ℓ)_-(s,j)-q^(ℓ)_+(s,j))^b_sj  - u_s - v_s-t_s

			where the outer sum is over all integer vector triplets u,v and  t for which 
				
    ∑_e=1^m_   [w_ej,^(ℓ)(t_e-v_e)+
    	 w_ej,^(ℓ)(b_ej-2u_e-v_e-t_e)] = z

		where w_ej,^(ℓ) and w_ej,^(ℓ) are given in (<ref>) and (<ref>). The vector elements u_s, v_s, and t_s represent the number of messages -, - and +, respectively, that _s sends to _j on  the b_sj edges connecting _s to _j. Thus, for s = 1, 2, …, m_ we have
		0 ≤u_s, v_s, t_s and u_s+v_s+t_s≤ b_sj.
		
	
		
	



With a slight abuse of notation, the weighting factors for QMP in  Algorithm <ref> are calculated from those derived in this section as

    w_ij,^(ℓ)⇔ w_⌈ i/Q⌉⌈ j/Q⌉,^(ℓ)
    
     w_ij,^(ℓ)⇔ w_⌈ i/Q⌉⌈ j/Q⌉,^(ℓ)

for i= 1, …, m_ and j = 1, …, n_.



Practical decoder implementations may also quantize the weighting factors or share the same weighting factors for several iterations. Similar decoding approaches for product codes <cit.> suggest only minimal performance degradation in this case <cit.>.





 §.§ Surrogate Channel Approach for the Density Evolution Initialization
 

As an alternative to Monte Carlo simulations, we may resort to a surrogate channel approach <cit.> to approximate the required input probabilities (<ref>)–(<ref>). For this, the bit-channels p_L̃_k|B_k are replaced by “equivalent” AWGN channels with uniform binary inputs for which the derivation of the CDF is easier. We establish their “equivalence”[The term “equivalence” is not meant to have a strict information theoretic meaning in this context. Rather, this term refers to the observation that both types of threshold evaluations yield similar results numerically.] by requiring that the  channel and its surrogate have the same channel uncertainty. Let the surrogate be Y̆_k = X̆_k + N̆_k with X̆_k ∈{-1,+1} and N̆_k ∼(0,σ̆_k^2) for k = 1, …, m. For each SNR, we calculate the set of equivalent channel parameters

    σ̆_k^2: (B̆_k|Y̆) = (B_k|Y),    k = 1, …, m.

For QMP we obtain the expressions

    p^(0)_-(i,j)=Q( T+μ_,ϕ(j)σ_,ϕ(j))
    
    	p^(0)_-(i,j)=	Q( μ_,ϕ(j)σ_,ϕ(j))  -  Q( T+μ_,ϕ(j)σ_,ϕ(j))
    
    	p^(0)_+(i,j)=	Q( -T+μ_,ϕ(j)σ_,ϕ(j))  -  Q( μ_,ϕ(j)σ_,ϕ(j))

where μ_,k = 2/σ̆_k^2, σ_,k^2 = 4/σ̆_k^2, and Q(·) is the standard normal Gaussian tail probability, i.e., 

    Q(x) = ∫_x^∞ (1/√(2π)) exp(-τ^2/2) τ.

In Fig. <ref>, we show the approximations of the true CDF by the surrogate approach (dashed lines). A close match of the true CDF and their approximations is observed.






 §.§ Density Evolution of Window Decoding for Spatially Coupled Low-Density Parity-Check Codes



We follow the approach of <cit.> to determine the decoding threshold of protograph-based SC-LDPC code ensembles for window decoding. For this, we apply the DE analysis of Sec. <ref> for the respective decoding algorithm on a protograph matrix _[1:W, 1:W] that has been derived from (<ref>) for a given decoding window size of W with μ +1 ≤ W ≤ L. The notation _[1:W, 1:W] denotes the block matrix of size W× W that is formed from the first W block rows and W block columns of . For instance, for μ = 2 and W = 4 we have

    _[1:4,1:4] = _0          
    _1    _0         
    _2    _1      _0      
       _2      _1      _0.


Convergence of the window decoder is declared when the probability of decoding error for the VN in the first block column is (approximately) zero. The respective decoding threshold is referred to _^ for BMP, _^ for TMP, and _^ for QMP, respectively.




§ NUMERICAL RESULTS



We investigate the following signaling modes. The first one operates at 1.0bpcu, whereas the others operate at a SE of 1.5bpcu:


  * 4U-0.50: 4-ASK uniform with R_ = 0.50;

  * 4U-0.75: 4-ASK uniform with R_ = 0.75;

  * 8PS-0.67: 8-ASK PAS with R_ = 0.67;

  * 8PS-0.83: 8-ASK PAS with R_ = 0.83.

The required SNR to operate at the respective SE are summarized in Table <ref>.



As FEC codes we consider (asymptotically) regular, protograph-based SC-LDPC codes with VN degrees d_ = 4 and d_ = 6, and design code rates R_∈{2/3, 3/4, 5/6}.  

The submatrices _i in (<ref>) are given by

    _i = (1    1   …   1)_d_,    i = 0,…,μ,

where μ= d_-1. The corresponding right-unterminated ensembles are referred to via their basematrices as ^d_,d_
in the following.




 §.§ Asymptotic Decoding Thresholds


The decoding thresholds in Tables <ref>, <ref> and <ref> were obtained for window decoding and a window size of W = 15 spatial positions, using the procedure presented in Sec. <ref>. We use T = 1.3 as a threshold parameter for BMP, TMP, and QMP in all numerical evaluations. A maximum number of 1000 iterations per window are performed. These parameters were chosen to depict the absolute performance limits. Increasing the window size did not further affect the numerical results. We conclude that the performance of a block-based decoder is similar. For uniform signaling, we use a consecutive bit mapping of the BMD bit channel to each protograph VN, i.e., for 2^m-ASK we have 

    _^(1)   = {_1,_1+m,_1+2m,…,_n_-(m-1)}
    ⋮   
    _^(m)   = {_m,_2m,_3m,…,_n_}.

For PAS, we must take into account that bit-level one (representing the sign of the constellation points <cit.>) is mainly formed by parity bits and has to be placed accordingly. We choose

    _^(1)   = {_(n_/m)·(m-1) + 1,_(n_/m)·(m-1) + 2,…,_n_}
    _^(2)   = {_1,_m,_2m-1,…,_(n_/m-1)·(m-1)+1}
    ⋮   
    _^(m)   = {_m-1,_2(m-1),_3(m-1),…,_(n_/m)·(m-1) }.

These mappings are repeated for each spatial position.



The decoding threshold for full BP decoding is obtained via discretized DE <cit.> with 8-bit quantization and a dynamic range of the soft-information of [-16,+16]. Increasing the resolution had no further effect. The DM rate for the PS modes was chosen according to (<ref>), (<ref>) and the output symbols have an MB distribution <cit.> with corresponding entropy.












As expected from <cit.>, we see in Tables <ref>–<ref> that the regular ensembles under full BP decoding are able to come close (within a few hundreds of a dB) to the theoretic limits for the specific signaling modes. 
In previous works <cit.>, the authors observed that quantized message passing decoders have a smaller gap to the achievable rate limit for high FEC code rates codes. This is also reflected in the following results.

While BMP, TMP, and QMP have gaps of 2.39dB, 1.14dB, and 0.9dB to the unquantized BP threshold for 4U-0.50 (i.e., for R_ = 1/2), the gaps are only 1.48dB, 0.70dB, and 0.59dB for 4U-0.75 (i.e., for R_ = 3/4). The gain of TMP over BMP, i.e., using two bits instead of one, is significant and ranges from 0.71.25dB depending on the signaling mode and code ensemble.  The gain of QMP over TMP is particularly pronounced for low code rates (0.24dB for 4U-0.50) and decreases for higher code rates to about 0.1dB. We note that these gains
can be obtained at no increase in data flow. This observation has a particular implication for PAS, where the same transmission rate can be obtained with different FEC code rates by adjusting the signaling distribution: Going from a rate 2/3 to a rate 5/6 code (^4,12 vs. ^4,24) decreases the decoding threshold by 0.75dB (BMP), 0.35dB (TMP) and 0.27dB (QMP). This is in contrast to full BP, where the decoding threshold even slightly deteriorates.
Uniform signaling does not allow this flexibility, as the constellation order and FEC code rate directly determine the transmission rate.


In Table <ref> we show the thresholds for the ^4,16 (uniform) and ^4,12 (PS) ensembles obtained via the surrogate approach of Sec. <ref>. We observe that the decoding thresholds numerically coincide.






 §.§ Finite Length Simulations


We validate our asymptotic findings by finite length simulations with a block-based decoder for the 4U-0.75 and 8PS-0.83 signaling modes in Fig. <ref>. We use terminated SC-LDPC codes with S=50 spatial positions and an overall blocklength of n_ = 60000bits. The resulting code rates are 0.735 (^4,16) and 0.8233 (^4,24) according to (<ref>) with lifting factors of Q=300 and Q = 200, respectively. We used cyclic liftings and girth optimization techniques to ensure a minimum girth of eight. Because of the termination, the effective SE is 1.47. The weighting factors were chosen as calculated by the DE analysis at the respective decoding threshold.

For both cases, QMP gains about 0.8dB compared to BMP. As predicted by DE, the performance of QMP  improves over TMP in the order of about 0.1dB. The gap of QMP to full BP decoding is about 0.75dB at a FER of e-4.






§ CONCLUSION



Reducing the internal LDPC decoder data flow is essential for hardware implementations targeting application specific integrated circuits and constitutes an important prerequisite for high throughput decoders. In this work, we extensively compared one and two bit quantized BP decoding algorithms for higher order modulation and PS. For this, we also introduced a novel two-bit message passing decoding algorithm with a four-ary message alphabet that improves upon the previous TMP approach by up to 0.24dB for low code rates while having the same internal decoder dataflow.  We showed how DE must be modified for the quantized message passing algorithms to account for higher order modulation and PS. The results were applied to protograph-based SC-LDPC codes to show the potential of the decoding algorithms for high throughput optical FEC solutions. Finite length simulation results reflected the predicted gains by DE.



§ ACKNOWLEDGEMENT

The authors would like to thank Gerhard Kramer for many helpful discussions.



§ SCALING OF CN MESSAGES

We motivate the scaling of CN messages with the scaling factor w. Consider transmission of a binary symbol x over two  channels with transition probabilities P_Y_1|X and P_Y_2|X. Upon observing y_1 and y_2, in order to perform a maximum likelihood decision we may compute

    l(y_1,y_2) =   logP_Y_1|X(y_1|0)/P_Y_1|X(y_1|1)_l_1 (y_1) + logP_Y_2|X(y_2|0)/P_Y_2|X(y_2|1)_l_2(y_2) .


We apply the same principle at each VN processor. Thus, let the first channel be the communication channel for which l_1 is available.  A message sent from a CN to a VN can be modeled as the observation of the RV X after transmission over a binary-input M-ary output discrete memoryless extrinsic channel <cit.>. For an observation y_2,   l_2 is computed from the transition probabilities of the extrinsic channel, for which accurate estimates can obtained by DE in the large block length regime.

Consider QMP as an example. The 4-ary extrinsic channel output alphabet is ={±, ±}, and we have

    l_2(y) = logP_Y_2|X( |0)/P_Y_2|X(|1),     y=
    logP_Y_2|X(- |0)/P_Y_2|X(- |1),     y=-
    logP_Y_2|X( |0)/P_Y_2|X(|1),     y= 
    logP_Y_2|X(- |0)/P_Y_2|X(- |1),     y=- .
 
Similarly to (<ref>), we require that the extrinsic channel fulfills the symmetry constraint


    P_Y_2|X( |0)=P_Y_2|X(- |1)
    
    P_Y_2|X( |0)=P_Y_2|X(- |1).


Thus, we have

    |l_2(y)| = logP_Y_2|X( |0)/P_Y_2|X(|1),     y=±
    logP_Y_2|X(|0)/P_Y_2|X( |1),     y=±.
 
Above, we assumed that P_Y_2|X( |0)>P_Y_2|X( |1) and P_Y_2|X(|0)>P_Y_2|X( |1). We have


    l(y)=l_1+(y) |l_2(y)|.


As in (<ref>), the VN update in Algorithm <ref>  performs a weighting of the extrinsic CN messages. 
Observe that the weighting factor w in (<ref>) and (<ref>) is defined as |l_2(y)| in (<ref>). 



10

url@samestyle








ofc2018_postshow
A. Schmitt, “OFC 2018: Post-Show Report,”
  https://www.ofcconference.org/library/images/ofc/2018/Documents/OFC-2018-Show-Report.pdf.

smith_staircase_2012
B. P. Smith, A. Farhood, A. Hunt, F. R. Kschischang, and J. Lodge, “Staircase
  Codes: FEC for 100 Gb/s OTN,” J. Lightw. Technol.,
  vol. 30, no. 1, pp. 110–117, Jan. 2012.

feltstrom_braided_2009
A. J. Feltstrom, D. Truhachev, M. Lentmaier, and K. S. Zigangirov, “Braided
  Block Codes,” IEEE Trans. Inf. Theory, vol. 55, no. 6, pp.
  2640–2658, Jun. 2009.

magarini_concatenated_2010
M. Magarini, R. Essiambre, B. E. Basch, A. Ashikhmin, G. Kramer, and A. J. de
  Lind van Wijngaarden, “Concatenated Coded Modulation for Optical
  Communications Systems,” IEEE Photon. Technol. Lett., vol. 22,
  no. 16, pp. 1244–1246, Aug. 2010.

zhang_low-complexity_2017
L. M. Zhang and F. R. Kschischang, “ENLow-Complexity
  Soft-Decision Concatenated LDGM-Staircase FEC for
  High-Bit-Rate Fiber-Optic Communication,”
  ENJ. Lightw. Technol., vol. 35, no. 18, pp.
  3991–3999, Sep. 2017.

sheikh_binary_2019
A. Sheikh, A. Graell i Amat, and G. Liva, “Binary Message Passing
  Decoding of Product-like Codes,” arXiv:1902.03575 [cs,
  math], Feb. 2019, submitted to IEEE Trans. Commun.

liga_novel_2019
G. Liga, A. Sheikh, and A. Alvarado, “A novel soft-aided bit-marking decoder
  for product codes,” arXiv:1906.09792 [cs, eess, math], Jun. 2019.

lei_improved_2019
Y. Lei, B. Chen, G. Liga, X. Deng, Z. Cao, J. Li, K. Xu, and A. Alvarado,
  “Improved Decoding of Staircase Codes: The Soft-aided
  Bit-marking (SABM) Algorithm,” arXiv:1902.01178 [eess],
  Feb. 2019.

lechner_analysis_2012
G. Lechner, T. Pedersen, and G. Kramer, “Analysis and Design of Binary
  Message Passing Decoders,” IEEE Trans. Commun., vol. 60, no. 3,
  pp. 601–607, Mar. 2012.

gallagerPhD
R. G. Gallager, “Low-Density Parity-Check Codes,” IRE Trans. Inf.
  Theory, vol. 8, no. 1, pp. 21–28, 1962.

schlafer_new_2013
P. Schläfer, N. Wehn, M. Alles, and T. Lehnigk-Emden, “A new dimension
  of parallelism in ultra high throughput LDPC decoding,” in Proc.
  Signal Process. Syst. (SiPS), Oct. 2013, pp. 153–158.

BenY1902:Protograph
E. Ben Yacoub, F. Steiner, B. Matuz, and G. Liva, “Protograph-Based LDPC
  Code Design for Ternary Message Passing Decoding,” in Proc. Int.
  ITG Conf. Syst. Commun. Coding (SCC), Rostock, Germany, Feb. 2019.

richardson_capacity
T. J. Richardson and R. L. Urbanke, “The Capacity of Low-Density Parity-Check
  Codes under Message-Passing Decoding,” IEEE Trans. Inf. Theory,
  vol. 47, no. 2, pp. 599–618, 2001.

bocherer_bandwidth_2015
G. Böcherer, F. Steiner, and P. Schulte, “Bandwidth Efficient and
  Rate-Matched Low-Density Parity-Check Coded Modulation,”
  IEEE Trans. Commun., vol. 63, no. 12, pp. 4651–4665, Dec. 2015.

bocherer_probabilistic_2019
G. Böcherer, P. Schulte, and F. Steiner, “Probabilistic Shaping and
  Forward Error Correction for Fiber-Optic Communication Systems,”
  J. Lightw. Technol., vol. 37, no. 2, pp. 230–244, Jan. 2019.

poggiolini_gn-model_2014
P. Poggiolini, G. Bosco, A. Carena, V. Curri, Y. Jiang, and F. Forghieri, “The
  GN-Model of Fiber Non-Linear Propagation and its
  Applications,” J. Lightw. Technol., vol. 32, no. 4, pp. 694–721,
  Feb. 2014.

shannon_mathematical_1948
C. E. Shannon, “A Mathematical Theory of Communication,” Bell Syst.
  Tech. J., vol. 27, no. 3, pp. 379–423, Jul. 1948.

gallager1968
R. G. Gallager, Information Theory and Reliable Communication.1em
  plus 0.5em minus 0.4emJohn Wiley & Sons, Inc., 1968.

forney_trellis_1992
G. D. Forney, “Trellis Shaping,” IEEE Trans. Inf. Theory, vol. 38,
  no. 2, pp. 281–300, Mar. 1992.

schulte_constant_2016
P. Schulte and G. Böcherer, “Constant Composition Distribution
  Matching,” IEEE Trans. Inf. Theory, vol. 62, no. 1, pp. 430–434,
  Jan. 2016.

bliss1981circuitry
W. G. Bliss, “Circuitry for Performing Error Correction Calculations on
  Baseband Encoded Data to Eliminate Error Propagation,” IBM Techn.
  Discl. Bull., no. 23, Mar. 1981.

mansuripur1991enumerative
M. Mansuripur, “Enumerative Modulation Coding with Arbitrary Constraints and
  Post-modulation Error Correction Coding for Data Storage Systems,” in
  Proc. SPIE Conf. Optical Data Storage, vol. 1499, Colorado Springs,
  CO, Feb. 1991.

bocherer2018principles
G. Böcherer, “Principles of Coded Modulation,” habilitation thesis,
  Technical University of Munich, 2018. [Online]. Available:
  <http://www.georg-boecherer.de/bocherer2018principles.pdf>


amjad2018information
R. A. Amjad, “Information Rates and Error Exponents for Probabilistic
  Amplitude Shaping,” in Proc. IEEE Inf. Theory Workshop (ITW),
  Guangzhou, China, Nov. 2018.

cho_probabilistic_2019
J. Cho and P. J. Winzer, “Probabilistic Constellation Shaping for
  Optical Fiber Communications,” J. Lightw. Technol., vol. 37,
  no. 6, pp. 1590–1607, Mar. 2019.

richardson_MET
T. Richardson and R. Urbanke, “Multi-Edge Type LDPC Codes,”
  Workshop honoring Prof. Bob McEliece on his 60th birthday, California
  Institute of Technology, Pasadena, California, pp. 24–25, 2002.

thorpe_protograph
J. Thorpe, “Low-Density Parity-Check (LDPC) Codes Constructed from
  Protographs,” IPN progress report, vol. 42, no. 154, pp. 42–154,
  2003.

divsalar_capacity-approaching_2009
D. Divsalar, S. Dolinar, C. R. Jones, and K. Andrews, “Capacity-Approaching
  Protograph Codes,” IEEE J. Sel. Areas Commun., vol. 27, no. 6, pp.
  876–888, Aug. 2009.

schmalen_spatially_2015
L. Schmalen, V. Aref, J. Cho, D. Suikat, D. Rösener, and A. Leven,
  “ENSpatially Coupled Soft-Decision Error
  Correction for Future Lightwave Systems,”
  ENJ. Lightw. Technol., vol. 33, no. 5, pp.
  1109–1116, Mar. 2015.

iyengar_windowed_2013
A. R. Iyengar, P. H. Siegel, R. L. Urbanke, and J. K. Wolf, “Windowed
  Decoding of Spatially Coupled Codes,” IEEE Trans. Inf.
  Theory, vol. 59, no. 4, pp. 2277–2292, Apr. 2013.

kudekar_threshold_2011
S. Kudekar, T. J. Richardson, and R. L. Urbanke, “Threshold Saturation via
  Spatial Coupling: Why Convolutional LDPC Ensembles Perform So Well
  over the BEC,” IEEE Trans. Inf. Theory, vol. 57, no. 2, pp.
  803–834, Feb. 2011.

hou_capacity-approaching_2003
J. Hou, P. H. Siegel, L. B. Milstein, and H. D. Pfister,
  “Capacity-Approaching Bandwidth-Efficient Coded Modulation Schemes Based on
  Low-Density Parity-Check Codes,” IEEE Trans. Inf. Theory, vol. 49,
  no. 9, pp. 2141–2155, Sep. 2003.

fougstedt_energy-efficient_2019
C. Fougstedt, A. Sheikh, A. Graell i Amat, G. Liva, and P. Larsson-Edefors,
  “ENEnergy-Efficient Soft-Assisted Product
  Decoders,” in ENProc. Optical Fiber Commun.
  Conf. (OFC), Mar. 2019, paper W3H.6.

peng2006
F. Peng, W. Ryan, and R. Wesel, “Surrogate-Channel Design of Universal
  LDPC Codes,” IEEE Commun. Lett., vol. 10, no. 6, pp. 480–482,
  Jun. 2006.

franceschini2006
M. Franceschini, G. Ferrari, and R. Raheli, “Does the Performance of LDPC
  Codes Depend on the Channel?” IEEE Trans. Commun., vol. 54,
  no. 12, pp. 2129–2132, Dec. 2006.

sason_universal_2009
I. Sason, “On Universal Properties of Capacity-Approaching LDPC Code
  Ensembles,” IEEE Trans. Inf. Theory, vol. 55, no. 7, pp.
  2956–2990, Jul. 2009.

iyengar_windowed_2012
A. R. Iyengar, M. Papaleo, P. H. Siegel, J. K. Wolf, A. Vanelli-Coralli, and
  G. E. Corazza, “Windowed Decoding of Protograph-Based LDPC
  Convolutional Codes Over Erasure Channels,” IEEE Trans. Inf.
  Theory, vol. 58, no. 4, pp. 2303–2320, Apr. 2012.

chung_design
S.-Y. Chung, G. D. Forney, T. J. Richardson, and R. Urbanke, “On the Design
  of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon
  Limit,” IEEE Commun. Lett., vol. 5, no. 2, pp. 58–60, 2001.

kschischang_pasupathy_maxwell
F. Kschischang and S. Pasupathy, “Optimal Nonuniform Signaling for
  Gaussian Channels,” IEEE Trans. Inf. Theory, vol. 39, no. 3,
  pp. 913–929, May 1993.

ashikhmin_EXIT
A. Ashikhmin, G. Kramer, and S. ten Brink, “Extrinsic Information Transfer
  Functions: Model and Erasure Channel Properties,” IEEE Trans. Inf.
  Theory, vol. 50, no. 11, pp. 2657–2673, 2004.




