Characterization and Optimization of LDPC codes for the 2-user Gaussian Multiple Access Channel

In this paper we address the problem of designing good LDPC codes for the Gaussian multiple access channel (MAC). The framework we choose is to design multiuser LDPC codes with joint Belief Propagation decoding on the joint graph of the 2-user case. Our main result compared to existing work is to express analytically EXIT functions of the multiuser decoder with two diﬀerent approximations of the Density Evolution. This allows us to propose a very simple linear programming optimization for the complicated problem of LDPC code design with joint multiuser decoding. The stability condition for our case is derived and used in the optimization constraints. The codes that we obtain for the 2-user case are quite good for various rates, especially if we consider the very simple optimization procedure.


Introduction
In this paper we address the problem of designing good LDPC codes for the Gaussian multiple access channel (MAC).The corner points of the capacity region have long been known to be achievable by single user decoding.This idea was also used to achieve any point of the capacity region by means of rate splitting [13].Here we focus on the design of multiuser codes since the key idea for achieving any point in the capacity region of the Gaussian MAC is random coding and optimal joint decoding [1,8].A suboptimal but practical approach consists in using irregular Low-Density Parity-Check codes (LDPC) decoded with Belief Propagation (BP) [9,2,5].In this paper we aim at proposing low complexity LDPC code design methods for the 2-user MAC where joint decoding is performed with belief propagation decoder (BP).
Here as in [2], we tackle the difficult and important problem where all users have the same power constraint and the same rate in order to show that the designed multiuser codes can get close to any point of the boundary in the capacity region of the Gaussian MAC.We propose two optimization approaches based on two different approximations of Density Evolution (DE) in the 2-user MAC factor graph: the first is the Gaussian Approximation (GA) of the messages, and the second is an erasure channel (EC) approximation of the messages.These two approximations, together with constraints specific to the multiuser case, lead to very simple LDPC optimization problems, solved by linear programming.The paper is organized as follows: in section 1, we present the MAC factor graph and the notations used for the LDPC optimization.In section 2, we describe our approximations of the mutual information evolution through the central function node, that we call state check node.A practical optimization algorithm is presented in section 3 and finally, we report in section 4 the thresholds of the optimized codes computed with density evolution and we plot some finite length performance curves.

2-user MAC factor graph and decoding algorithm
In a 2-user Gaussian MAC, we consider 2 independent users x [1] and x [2] , being sent to a single receiver.Each user is LDPC encoded by different irregular LDPC codes1 with codeword length N , and their respective received power will be denoted σ 2i .The codeword is BPSK modulated and the synchronous discrete model of the transmission at time n is given by, ∀0 ≤ n ≤ N − 1 y n = σ 1 x [1]  n + σ 2 x [2]  n + w n = σ 1 σ 2 .Z n + w n (1) Throughout the paper, neither the flat fading nor the multipath fading effect is taken into account.
More precisely, we will consider the equal rate/equal power 2-user MAC channel, that is R and σ 2 1 = σ 2 2 = 1.The equal receive power channel can be encountered in practice, for example, if power allocation is performed at the transmitter side.In equation (1), Z n = [x [1] n , x [2] n ] T is the state vector of the multiuser channel, and w n is a zero mean additive white Gaussian noise with variance σ 2 : its probability density function (p.d.f.) is denoted N(0, σ 2 ).
In order to jointly decode the two users, we will consider the factor graph [7] of the whole multiuser system, and run several iterations of BP [10].The factor graph of the 2-user LDPC-MAC is composed of the 2 LDPC graphs, 2 which are connected through function nodes representing the link between the state vector Z n and the coded symbols of each user x [1] n and x [2] n .We will call this node the state check node.Figure 1 shows the state check node neighborhood and the messages on the edges that are updated during a decoding iteration.
In the following, the nodes of each individual LDPC graph are referred to as variable nodes and ab denotes the message from node a to node b for user k, where (a, b) can either x (2)  x (1)   LDPC1 LDPC2 z y (1) vs From now on and as indicated on Figure 1, we will drop the time index n in the equations.
All messages in the graph are given in log-density ratio form log p(.
, except for the probability message P coming from the channel observation y.P is a vector composed of four probability messages given by: Since for the equal power case p(y|Z = [−1 + 1] T ) = P 10 = P 01 = p(y|Z = [+1 − 1] T ), the likelihood message P is completely defined by only three values.
At initialization, the log-likelihoods are computed from the channel observations y.The message update rules for all messages in the graph (m vs ) follow from usual LDPC BP decoding [7,11].We still need to give the update rule through the state check node to complete the decoding algorithm description.The message m sv at the output of the state check node is computed from m vs +P01 P 10 e m [2]  vs +P 11 vs +P10 P 01 e m [1]  vs +P 11 The channel noise is Gaussian N(0, σ 2 ), and (3) can be rewritten for the equal power case as where the distribution of y is a mixture of Gaussian distributions y Now that we have stated all the message update rules within the whole graph, we need to indicate in which order the message computation are performed.We shall consider in this work two differents schedulings: • serial scheduling.A decoding iteration for a given user (or "round" [11]) consists in activating all the variable nodes, and thus sending information to the check nodes, activating all the check nodes and all the variable nodes again that now send information to the state check nodes, and finally activating all the state check nodes that send information to the next user.
Once this iteration for one user is completed, a new iteration can be performed for the second user.In a serial scheduling, a decoding round for user two is not performed until a decoding round for user one is completed.
• parallel scheduling.In a parallel scheduling, the decoding rounds (for the two users) are activated simultaneously (in parallel).

Mutual information evolution through the state check node
The DE is a general tool that aims to predict the asymptotical and average behavior of LDPC codes or more general graphs decoded with BP.However, DE is computationally intensive and in order to reduce the computational burden of LDPC codes optimization, faster techniques have been proposed, based on the approximations of DE by a one-dimensional dynamical system (see [16,14] and reference therein).This is equivalent to considering that the true density of the messages is mapped onto a single parameter, and tracking the evolution of this parameter along the decoding iterations.
It is also known that an accurate single parameter is the mutual information between the variables associated with the variable nodes and their messages [16,14].The mutual information evolution describes each computation node in BP-decoding by a mutual information transfer function, which is usually referred to as the EXtrinsic mutual Information Transfer (EXIT) function.
For parity-check codes with binary variables only (as for LDPCs or Irregular Repeat Accumulate codes), the EXIT charts can be expressed analytically [14], leading to very fast and powerful optimization algorithms.
In this section, we will express analytically the EXIT chart of the state check node update, based on two different approximations.First, we will express a symmetry property for the state check node, then we will present a Gaussian Approximation (GA) of the messages densities, and finally we will consider that the messages are the output of an erasure channel (EC).
Similarly to the definition of the messages (see Section 1), we will denote x ab the mutual information from node a to node b, where (a, b) can either be v for variable node, c for check node or s for state check node.

Symmetry property
First of all, let us present one of the main differences between the single-user case and the 2-user case.For the single user, memoryless, binary-input and symmetric-output channel, the transmission of the all-one BPSK sequence is assumed in the DE.The generalization of this property for nonsymmetric channels is not trivial and some authors have recently addressed this question [3,18].
In the 2-user case, the channel seen by each user is not symmetric since it depends on the other users decoding.However, the asymmetry of the 2-user MAC channel is very specific and much simpler to deal with than the general case.We proceed as explained below.
Let us denote Ψ S (y, m) the state check node map of the BP decoder, that is the equation that takes an input message m from one user and the observation y and computes the output message that is sent to the second user.The symmetry condition of a state check node map is defined as: Note that the update rule defined in (4) is symmetric.
In order to state a symmetry property for the state check node, we further need to define some symmetry conditions for the channel and the messages passed by in the BP decoder.
Definition 2. Symmetry conditions for the channel observation.A 2-user MAC is outputsymmetric if its observation y verifies where y t is the observation at time index t and x [k] t is the t th element of the codeword sent by user k.Note that this condition holds for the 2-user Gaussian MAC.

Definition 3. Symmetry conditions for messages. A message is symmetric if
where m t is a message at time index t and x t is the variable that is estimated by message m t .
Proposition 1.Consider a state check node.Let us assume a symmetric channel observation, the entire average behavior of the state check node can be predicted from its behavior assuming transmission of the all-one BPSK sequence for the output user and a sequence with half symbols fixed at '1' and half symbols at '-1' for the input user.
Proof.See Appendix B.

Gaussian approximation of the state check messages (GA)
The first approximation of the DE through the state check node considered in this work assumes that the input message m vs is Gaussian with density N(µ vs , 2µ vs ), and that the output message m sv is a mixture of two Gaussian densities with means µ sv | (+1,+1) and µ sv | (+1,−1) , and variances equal to twice the means.The state check node update rule is symmetric and thus we omit the user index in the notations.
Hence by noticing that m sv in (4) can be rewritten as the sum of three functions of Gaussian distributed random variables: we get the output means: The detailed computation of these functions is reported in Appendix A. Note that these expressions need to be accurately implemented with functionnal approximations in order to be used efficiently in an optimization procedure.
As mentioned earlier, it is desirable to follow the evolution of the mutual information as single paramater, so we make use of the usual function that relates the mean and the mutual information: for a message m with conditional pdf m|x = 1 ∼ N(µ, 2µ), and where Note that J(µ) is the capacity of a binary-antipodal input additive white Gaussian channel (BI-AWGNC) with variance 2/µ.Now that we have expressed the evolution of the mean of the messages when they are assumed Gaussian, we make use of the function J(µ) (8) in order to give the evolution of the mutual information through the state check node under Gaussian approximation.This corresponds exactely to the EXIT chart [16] of the state check node update: It follows

Erasure channel approximation of the state check messages (EC)
This approximation assumes that the distribution of the messages at the state check node input (m vs see figure 1) is the output of a binary erasure channel (BEC).Thus when the symbol +1 is sent, the LLR distribution consists of two mass points, one at zero and the other at +∞.Let us denote δ x , a mass point at x.It follows that the LLR distribution when the symbol +1 is sent is: The mutual information associated with these distributions is the capacity of a BEC: The distribution of channel observation y is not consistent with the approximation presented here since y is the output of a ternary input additive white Gaussian channel (TIAWGNC) with input distribution 1 4 δ −2 + 1 2 δ 0 + 1 4 δ 2 (because of the symmetry property, see Section 2.1) and variance σ 2 .The capacity of such a channel is: In order to use coherent hypothesis in the erasure approximation of the state check node, the real channel is mapped onto an erasure channel with same capacity.The ternary erasure channel (TEC) used for the approximation has input distribution 1 4 δ −2 + 1 2 δ 0 + 1 4 δ 2 and erasure probability p.The capacity of such a TEC is: Therefore the true channel with capacity C T IAW GN C will be approximated by a TEC with erasure probability p = 1 − 2 3 C T IAW GN C .Because of the symmetry property (see Section 2.1), we consider only two cases: • Under the (+1, +1)-hypothesis and by definition of the erasure channel, the observation y is either an erasure with probability (w.p.) p or y = 2 w.p. (1 − p).The input message corresponds to the symbol +1 and its distribution is E + ( ).The output message corresponds to the symbol +1 and by applying (3), we obtain the output distribution m sv | (+1,+1) ∼ E + (p).
• Under the (+1, −1)-hypothesis, the observation of the erasure channel y is either an erasure w.p. p or y = 0 w.p. (1 − p).The input message corresponds to the symbol −1 and its distribution is E − ( ).The output message corresponds to the symbol +1 and by applying (3), we obtain the output distribution By applying (10), (12) and the assumption C T IAW GN C = C T EC , the mutual information transfer function through the state check node is thus it follows In Figure 2, we compare the two approximations for the state node EXIT function with equations ( 9) and ( 13), for three different signal to noise ratios.The solid lines show the GA approximation whereas the broken lines show the EC approximation.We have also indicated with plus signs the mutual information obtained with Monte Carlo simulations.Our numerical results show that, the Gaussian a priori GA approximation is more attractive since the mutual information computed under this assumption have the smallest gap to the exact mutual information (Monte Carlo simulation without any approximation).

LDPC code optimization
Using the EXIT charts for the LDPC codes ( [4,14]) and for the state check node under the two considered approximations (9), (13), we are now able to give the evolution of the mutual information x along a whole 2-user decoding iteration.The irregularity of the LDPC code is defined as usual by the degree sequences ), that represent the fraction of edges connected to variable nodes (resp., check nodes) of degree i (resp., j).As in the single user case, we wish to have an optimization algorithm that could be solved quickly and efficiently using linear programming.In order to do so, we must make different assumptions that are mandatory to ensure that the evolution of the mutual information is linear in the parameters {λ i }: {H 0 } : hypothesis equal LDPC codes.Under this hypothesis, we assume that the 2 LDPC codes belong to the same ensemble {H 1 } : hypothesis without interleaver.Under this hypothesis, each and every state check node is connected to two variable nodes (one in each LDPC code) having exactly the same degree.
Proposition 2. Under hypotheses H 0 and H 1 , the evolution of the mutual information x vc at the l − th iteration under the parallel scheduling described in section 1 is linear in the parameters {λ i }.
Proof.See Appendix C.
From Proposition 2, we can now write the evolution of the mutual information for the entire graph.More precisely, by using ( 8), (9), and (13), we finally obtain equations ( 14) for the Gaussian approximation and (15) for the erasure channel approximation: with vc It is interesting to note that, in the equations ( 14) and ( 15), the evolution of the mutual information is indeed linear in the parameters {λ i }, when {ρ j } are fixed.
As often presented in the literature, we will only optimize the data node parameters {λ i }, for a fixed (carefully chosen) check node degree distribution {ρ j }.The optimization criterion is to maximize R subject to a vanishing Bit Error Rate.The optimization problem can be written, for a given σ 2 and a given ρ(x) as: (C 1 ) where (C 3 ) is the condition for the fixed point to be stable (see proposition 3. below) and where (C 4 ) corresponds to the convergence to the stable fixed-point x = 1, which corresponds to zero error rate constraint.
Solution to the optimization problem: For a given σ 2 and a given ρ(x), the cost function and the constraints (C 1 ), (C 2 ) and (C 3 ) are linear in the parameters {λ i }.The function used in constraint (C 4 ) is either (14) or (15) which are both linear in the parameters {λ i }.The optimization problem can then be solved for a given ρ(x) by linear programming.We would like to emphasize the fact that the hypotheses H 0 and H 1 are necessary to have a linear problem, which is the key feature of quick and efficient LDPC optimization.
These remarks allow us to propose an algorithm that solves the optimization problem (16) in the class of functions ρ(x) of the type ρ(x) = x n , ∀n > 0.
• Then, for each n > 0, ρ(x) = x n and we perform a linear programming in order to find a set of parameters {λ i } that maximizes the rate under the constraints (C 1 ) to (C 4 ) (16).In order to integrate the (C 4 ) constraint in the algorithm, we quantize x.For each quantized value of x, the equation in (C 4 ) leads to an additional constraint.Hence, for each n, we get a rate.
• Finally, we choose n, that maximizes the rate (over all n).
In practice, the search over all possible n is performed up to a maximal value.This is to insure that the graph remains sparse.
Stability of the solution.Finally, the stability condition of the fixed point for the 2-user MAC channel is given in the following proposition.
Proposition 3. The local stability condition of the DE for the 2-user Gaussian MAC is the same as that of the single user case: The proof is given in Appendix D.

Results
In this section we present results for codes designed according to the two methods presented in section 2, for rates from 0.3 to 0.6, and we compare the methods on the basis of the true thresholds obtained by DE and finite length simulations.
Table 1 shows the performance of LDPC codes optimized with the Gaussian approximation.Table 2 shows the performance of LDPC codes designed according to the Erasure channel approximation.
In both tables are indicated the code rate, the check nodes degrees ρ(x) = dc j=2 ρ j−1 j , the optimized parameters {λ i } dv i=2 and the gap to the 2-user Gaussian MAC Shannon limit.We can see that the LDPC codes optimized for the 2-user MAC channel are indeed very good and have decoding thresholds very close to the capacity.Our numerical results show that, the Gaussian a priori approximation is more attractive since the codes designed under this assumption have the smallest gap to Shannon limit.
An interesting result is that the codes obtained for R = 0.3 and R = 0.6 are worse that the ones obtained for R = 0.5.Our opinion is that it does not come from the same reason.For small rates (R = 0.3), the multiuser problem is easy to solve because the system load (sum-rate) is lower Approximation of the state check node.The distance between the (E b /N 0 ) threshold δ (evaluated with true DE) and the Shannon limit S l is given in dBs.
than 1, but the approximations of DE become less and less accurate as the rate decreases.R = 0.3 gives worse codes than R = 0.5 because of the LDPC part of the multiuser graph.For larger rates (R = 0.6), the DE approximations are fairly accurate, but the multiuser problem we address is more difficult, as the system load is larger than 1 (equal to 1.2).R = 0.6 gives worse codes than R = 0.5 because of the multiuser part of the graph (state check node).
In order to verify the asymptotical results obtained with DE, we have made extensive simulations for a finite length equal to N = 50000.The codes have been build with an efficient parity check matrix construction.Since the progressive edge growth algorithm [6] tends to be inefficient at very large code lengths, we used the ACE algorithm proposed in [17] which helps to prevent the apparition of small cycles with degree two bitnodes.The ACE algorithm generally lowers greatly the error floor of very irregular LDPC codes (like the ones in tables 1 and 2).
Figure 3 shows the simulation results for three rates R ∈ {0.3, 0.5, 0.6} and for the two different approximations of the state check node EXIT function presented in this paper: GA and EC.The curves are in accordance with the threshold computations, except the fact that codes optimized with the EC approximation tend to be better than the GA codes for the rate R = 0.3.We confirm also the behavior previously discussed in that the codes with R = 0. Limit than the codes with R = 0.3 and R = 0.6.

Conclusion
This paper has tackled the optimization of LDPC codes for the 2-user Gaussian MAC and has shown that it is possible to design good irregular LDPC codes with very simple techniques, the optimization problem being solved by linear programming.We have proposed 2 different analytical approximations of the state check node update, one based on a Gaussian approximation and one very simple based on an Erasure Channel approach.The codes obtained have decoding thresholds as close as 0.15dB away from the Shannon limit, and can be used as initial codes for more complex optimization techniques based on true Density Evolution.Future work will deal with the generalization of our approach to more than two users and/or users with different powers.
Since for a Gaussian random variable x ∼ N(µ + a, 2µ + b), where a and b are real valued constants, and by using ( 6), we get Similarly we get F +1,−1 µ vs , σ 2 .

B Proof of Proposition 1
To prove Proposition 1, we first need to show the following lemmas.
Lemma 1.Consider a state check node.Let us assume a symmetric input message and a symmetric channel observation.The output message is symmetric.
Proof of Lemma 1.We consider a state check node that verifies the symmetry condition (see Definition 1).Without loss of generality we can assume k to be the output user and j the input user.
Let y (z resp.)denote the observation vector when the codewords x [k] , x [j] (−x [k] , −x [j] resp.) are sent.Now note that a symmetric-output 2-user MAC can be modeled as (see Lemma 1 in [11])) t ) and since we are interested in the performance of the BP algorithm i.e. the densities of the messages.

Similarly we denote m
t resp.) the input and output messages of the state check node at position t when the codewords x [k] , x [j] (−x [k] , −x [j] resp.) are sent.
Let us assume a symmetric input message i.e. p(m Here again we can model this input message as The state check node update rule is denoted Ψ S (y t , m where the second equation is due to the symmetry conditions of the channel and the input message and the third equation follows from the symmetry condition of the state check node map.This can be rewritten as and therefore by marginalizing the probability with respect to x [j] t and by using (17).Equation (18) implies that with symmetric observation and symmetric input message, the message at the state check node output is also symmetric.The symmetry is conserved through the state check node which completes the proof of Lemma 1.
Lemma 2. Consider a state check node.Let us assume a symmetric channel observation.At any iteration, the input and output messages of the state check node are symmetrics.
Proof of Lemma 2. Lemma 1 shows that the state check node conserves the symmetry condition, Lemma 1 in [11] shows the conservation of the symmetry condition of the messages through the variable and check node.At initialization, the channel observation is symmetric therefore a proof by induction shows the conservation of the symmetry property at any iteration with a BP decoder.
Proof of Proposition 1.A consequence of Lemma 1, is that the number of cases that need to be considered to determine the entire average behavior of the state check node can be divided by a factor 2. We can assume that the all-one sequence is sent for the output user.However all the sequences of the input user need to be considered and therefore on the average we can assume an input sequence with half symbols fixed at '1' and half symbols at '-1'.

C Proof of Proposition 2
Lemma 3.Under the parallel scheduling assumption described in section 1 and by using hypothesis H 0 (see section 3), the entire behavior of the BP decoder can be predicted with one decoding iteration (i.e.half of a round).
Proof of Lemma 3.Under the parallel scheduling assumption described in section 1, two decoding iterations (one for each user) are completed simultaneously.Hence by using hypothesis H 0 (same code family for both users), the two decoding iterations are equivalent in the sense that they provide messages with the same distribution.This can be easily shown by induction.It follows that a whole round is entirely determined by only one decoding iteration (i.e.half of a round).
Therefore in the following we omit the user index.
Proof of Proposition 2. We now proceed to compute the evolution of the mutual information through all nodes of the graph.By assuming that the distributions at any iteration are Gaussian, we obtain similarly to method 1 in [14] where λi denotes the fraction of variable nodes of degree i ( λi = (λ i /i)/( j λ j /j)) and where with x sv defined either in ( 9) or ( 13), depending on the approach used.
First notice that this system is not linear in the parameters {λ i }.But by using hypothesis H 1 , the input message m sv of a variable node of degree i results from a variable node with the same degree.It follows that the third equation in (19) reduces to Finally the global recursion in the form (14-15) is obtained by combining all four equations and the global recursion is linear in the paremeters {λ i }.

D Proof of Proposition 3
Similarly to the definition of the message (see Section 1) and of the mutual information (see Section 2), we will denote P (l) ab the distribution of the messages from node a to node b in iteration l, where (a, b) can either be v for variable node, c for check node or s for state check node.
We follow in the footsteps of [12] and analyze the local stability of the zero error rate fixed point by using a small perturbation approach.Let us denote ∆ 0 the dirac at 0 i.e. the distribution with 0.5-BER and ∆ +∞ the distribution with zero-BER when the symbol '+1' is sent.
From Lemma 3 (see Appendix C) we know that only half of a complete round needs to be performed in order to get the entire behavior of the BP decoder.All distributions of the DE are conditional densities of the messages given that the symbol sent is +1.From the symmetry property of the variable and check nodes, the transformation of the distributions can be performed under the assumption that the all-one sequence is sent.However for the state check node, different cases will be considered as detailed below.

Figure 1 :
Figure 1: Factor graph of the 2-user synchronous MAC channel: zoom around the state check node neighborhood

Definition 1 .
State check node symmetry condition: the state check node update rule is said to be symmetric if sign inversion invariance holds i.e.Ψ S (−y, −m) = −Ψ S (y, m).

Figure 2 :
Figure 2: Mutual information evolution at the state check node.Comparison of the approximation methods with the exact mutual information at the state check node.The solid lines represent the GA approximation, the broken lines the EC approximation, and plus signs show Monte Carlo simulations.

Figure 3 :
Figure 3: Simulation results for the optimized LDPC codes given in table1 and 2. The codeword length is N = 50000.The maximum number of iterations is set to 200.For comparison, we have indicated the Shannon limit for the three considered rates.

Table 1 :
Optimized LDPC codes for the 2-user Gaussian channel obtained with the Gaussian

Table 2 :
5 are closer to the Shannon Optimized LDPC codes for the 2-user Gaussian channel obtained with the Erasure Channel Approximation of the state check node.The distance between the (E b /N 0 ) threshold δ (evaluated with true DE) and the Shannon limit S l is given in dBs.