# LDPC Coded Massive MIMO Systems
## 4 Design of LDPC Coded Massive MIMO System  
In general, LDPC codes are designed through two steps: the optimization of degree distributions and the placement of edges between variable nodes and check nodes. Degree distributions of variable nodes and check nodes from the edge perspective are represented in the form of polynomials as [29]  
\[\lambda(x)=\sum_{d_{v}=2}^{d_{v,\max}}\lambda_{d_{v}}x^{d_{v}-1}\qquad\text{ and}\qquad\rho(x)=\sum_{d_{v}=2}^{d_{v,\max}}\rho_{d_{v}}x^{d_{v}-1}, \tag{23}\]  
Figure 4: The 3-D EXIT chart and trajectory of JDD process for (3, 6)-regular LDPC coded massive MIMO system with 4-QAM over \(16\times 16\) MIMO channel at \(E_{b}/N_{0}=5\) [dB], where \(I_{OE}\) denotes the mutual information per observation node. respectively. Then, the code rate \(R\) is given by [29]  
\[R(\lambda,\mathbf{\rho})=1-\frac{\sum_{d_{c}=2}^{d_{c,\max}}\rho_{d_{c}}/d_{c}}{\sum_ {d_{y}=2}^{d_{c,\max}}\lambda_{d_{y}}/d_{y}}, \tag{24}\]  
where \(\lambda=\{\lambda_{2},\cdots,\lambda_{d_{x,\max}}\}\) and \(\mathbf{\rho}=\{\rho_{2},\cdots,\rho_{d_{c,max}}\}\). In the first step of designing LDPC codes, we first determine degree distributions to maximize the code rate guaranteeing the convergence of JDD at a given \(E_{b}/N_{0}\) by using the density evolution algorithm. By repeating the same procedure for various values of \(E_{b}/N_{0}\), we find the smallest \(E_{b}/N_{0}\) resulting in the maximum code rate exceeding the target code rate. Such \(E_{b}/N_{0}\) is called the threshold, and the corresponding degree distributions are considered optimal. In the second step of LDPC code design, we place edges between variable nodes and check nodes based on given optimal degree distributions to satisfy the following criteria [29]:  
1. Avoid short cycles involving only degree-2 variable nodes. 2. Length-4 cycles need to be avoided. These criteria can be satisfied by using the progressive edge growth (PEG) algorithm [40]. When we construct finite-length LDPC codes, the following criterion needs to be satisfied additionally:  
1. All degree-2 variable nodes need to represent only non-systematic bits. Let \(\Lambda_{2}\) denote the number of degree-2 variable nodes. Then, \(\Lambda_{2}\leq N-K\), or equivalently,  
\[\lambda_{2}\leq 2\sum_{d_{c}=2}^{d_{c,\max}}\rho_{d_{c}}/d_{c} \tag{25}\]  
is a necessary condition to satisfy Criterion (c). Thus, we need to take into consideration the condition in Equation (25) when determining degree distributions in the first step of LDPC code design. Since the computational complexity is a major concern, we need to design the coded massive MIMO system such that the error correction capability is maximized with a given amount of computational complexity. As introduced above, one global iteration of JDD consists of \(N_{det}\) detection iterations and \(N_{dec}\) decoding iterations. We can speed up the convergence of JDD by controlling the ratio of \(N_{det}\) and \(N_{dec}\) in one global iteration. In Table 1, we list the approximate numbers of multiplications and additions required to compute various messages in the JDD process, where we assume that \(\exp(\cdot)\), \(\log(\cdot)\) and \(\phi(\cdot)\) are obtained in a look-up-table manner. Total approximate numbers of operations required by \(N_{g}\) global iterations of JDD are listed in Table 2, which are also approximated as functions of \(N\) if \(N\) is large enough. We obtain JDD trajectories of LDPC coded massive MIMO system by using Algorithm 3 for different combinations of \(N_{det}\) and \(N_{dec}\), and plot the results in Figure 5, where \(M_{o}=4\) and \(n_{T}=n_{R}=16\). For each trajectory, we specify the approximate number of required multiplications. It is observed that JDD trajectories may converge to the same values of \(\bar{I}_{VE}\) and \(\bar{I}_{CE}\), resulting in the same BER performance, with different computational complexities depending on the combination of \(N_{det}\) and \(N_{dec}\).