# Iterative Decoding of LDPC-Based Product Codes and FPGA-Based Performance Evaluation
## 2 Residual Error Characteristics of Multiple Consecutive LDPC Codes
### Analysis of Residual Error Characteristics for Product Codes  
In order to show the feasibility of the proposed product codes, the residual error characteristics of LDPC codes are analyzed. A case study of the product code using the LDPC code under IEEE 802.16e as the inner code is considered. The simulation is performed under an additive white Gaussian noise (AWGN) channel with binary phase shift keying (BPSK) constellation.  
First, at different SNRs, the residual error distribution of the LDPC code with the code rate of 0.5 and code length of 576 bits is illustrated in Figure 2, where \(k\) denotes the number of residual error bits occurring in the information bit part in the LDPC codeword after decoding, and \(P(k)\) denotes the occurrence probability of the codeword in which \(k\) information bits are erroneous. It can be observed that, though the number of residual error bits of the LDPC code is much less than the code length, it is still large compared with some special LDPC codes [19; 20]. Therefore, the product code scheme is proposed to disperse the residual errors of LDPC codewords into various algebraic codewords. It is a general scheme for constructing codes to achieve very low BER.  
Then, the probability distribution of the number of erroneous information bits, which are at the same entry in multiple successive different LDPC codewords, is simulated. Figure 3 presents an example, in which there are two erroneous LDPC codewords and they cause many outer codewords to have one or two error bits. The distribution simulation result is shown in Figure 4, where \(n\) denotes the number of erroneous information bits at the same position across consecutive \(N\) codewords, \(P(n)\) denotes the probability of the number of error bits equal to \(n\), and \(N\) denotes the number of consecutive codewords for analysis in a product construction form. It can be observed that \(n\) is quite small, and the corresponding probability \(P(n)\) decreases very sharply with the increasing of \(n\). As \(E_{\text{b}}/N_{0}\) increases, the tail of the distribution vanishes quickly. It is quite different with the distribution of the residual errors in a single codeword. Thus, high rate algebraic codes can be used to construct product codes for correcting residual errors and compensating for rate loss.  
From the analysis above, the residual errors of LDPC codes in product codes are dispersed into multiple different outer codewords, at most \(k_{2}\) different outer codewords. Most outer codewords do not contain residual error bits or only contain one or two error bits due to two facts. One fact is the low  
Figure 1: The product code structure using the LDPC code and high rate algebraic code.  
LDPC codeword error rate in the reasonable SNR region. When the codeword error rate is low, the case that two or more error LDPC codewords occur in one product codeword is quite rare. The other is the sparsity of the error bits compared with the length of the whole information bits, as shown in Figure 2. Therefore, we adopt the very high rate algebraic code with limited error correction capability as the outer code, aiming at reducing the additional complexity, for the algebraic codes can be decoded using very concise structure, for example, the error-trapping decoding.  
Figure 3: Errors in the LDPC codewords dispersed into multiple outer codewords.  
Figure 2: The residual error distribution of LDPC codewords [23].