Reliability Analysis of the Sum-Product Decoding Algorithm for the PSK Modulation Scheme

Iteratively decoding and reconstruction of encoded data has been considered in recent decades. Most of these iterative schemes are based on graphical codes. Messages are passed through space graphs to reach a reliable belief of the original data. This paper presents a performance analysis of the Low-Density Parity-Check (LDPC) code design method which approach the capacity of the Additive White Gaussian Noise (AWGN) model for communication channels. We investigate the reliability of the system under Phase Shift Keying (PSK) modulation. We study the effects and advantages of variation in the codeword length, the rate of parity-check matrix of the LDPC codes, and the number of iterations in the Sum-Product Algorithm (SPA). By employing an LDPC encoder prior to the PSK modulation block and the SPA in the decoding part, the Bit Error Rate (BER) performance of the PSK modulation system can improve significantly. The BER performance improvement of a point-to-point communication system is measured in different cases. Our analysis is capable for applying any other iterative message-passing algorithm. The code design process of the communication systems and parameter selection of the encoding and decoding algorithms are accomplished by considering hardware limitations in a communication system. Our results help to design and select paramours efficiently.

fixed values. Obviously, if a code is not regular, then it is irregular code. An LDPC code of length n can be indicated with (n,w c , w r ), where w c and w r are generally two vectors, respectively showing the degree of the variable nodes and the check nodes of H. Thus, each information bit in a variable node is involved with w c check bits, and similarly each check bit in a check node is involved with w r information bits. The decoder in the receiver side employs the parity-check matrix H for accomplishing its task. It reconstruct the original data with a BER utilizing a decoding algorithm.
In this work, we consider SPA and evaluate its reliability. The LDPC codes are very efficient codes in several communication scenarios, such as wireless communications [7], optical communication systems [8], satellite communication systems [9], digital video broadcast (DVB) systems [10], and terrestrial multimedia broadcasting (TMB) systems [11]. Furthermore, it's applications in high-density data storage systems, such as digital electronic memories are now considerable. These codes have capacity-approaching performance and can be achieved using practical and implementable iterative decoding algorithms. The LDPC codes have been adopted to use in the next generation of communication systems [12][13] such as 5G due to the low BER. As an example, BER=10 -13 is achievable with an acceptable complexity of encoding and decoding schemes.
In this paper, we investigate SPA, which is one of the fast, implementable, and simple iterative message-passing algorithms that have been utilized for decoding of the LDPC codes [14][15][16].
Through this paper, we follow three main goals for a designed parity-check matrix H. First, we show that by increasing the size of parity-check matrix H, the performance improves and BER value decreases. Second, we illustrate that the BER performance improves by increasing the iteration numbers in the SPA. Our third finding is that the performance or BER decreases by decreasing the rate of parity-check matrix H. For instance, for the LDPC code with parity-check matrix H (768, 1024, irregular), rate=1/4, and iteration=10 in the SPA, we achieve BER10 -9 for Eb/N0=6dB, while for the LDPC code with H (384, 512, irregular), rate=1/4, and iteration=10, we achieve BER10 -7 for Eb/N0=6dB. Hence, the advantage of increasing the size of the parity-check matrix H is concluded. The effect of parameter variations is desirable in this work.
The rest of this paper is organized as follows: In section II, the system model and definitions are proposed. Furthermore, the details of the encoding and decoding schemes are provided in this section. Simulation results and discussions are presented in section III. Finally, section IV concludes this paper.

2-System Model and Definitions
In this section we present system model and provide some fundamental tools for iterative decoding schemes. Specifically, we study the SPA because it can be simply modified and extended to get other message-passing algorithms for other communication system tasks.

2-1-System model
The task of a point-to-point communication system is conveying information from a source to a destination. In Fig. 1, a simplified block diagram a point-to-point communication system is depicted. A brief description of each block is presented. In the source encoder, the information symbols of the source are mapped to codewords. The main reasons of using a source encoder is reduction of redundancy from information symbols, which can significantly reduce the size of transmitted data. For instance, the Lempel-Ziv 77 (LZ77), the Lempel-Ziv 78 (LZ78), and the LZ-Storer-Szymanski (LZSS) are some source encoding algorithms based on text compression algorithms. They use a sliding window over the sequence of symbols, with two subwindows for the source coding [17][18][19].
If source information can be completely recovered from codewords, this coding is called lossless compression, otherwise it is called lossy compression. For the sources with unknown distributions, we use universal source coding algorithms [20]. Furthermore, multi-terminal source coding algorithms can be applied for the case of single binary source [21].
The second block is a channel encoder. Some intentional redundancy is added to the vector of the information symbols to increase reliability of the transmission via the noisy channel, which causes a rate reduction [22].
The channel coding methods can be categorized into two main classes. First, the linear block codes maps a sequence of m information bits into a codeword with n bits (n>m). The Hamming codes, LDPC codes, BCH codes, and cyclic codes are some examples of this category. Second, the convolutional codes which maps a vector of m information bits into a codeword with n bits, depending on the current and previous information bits. For instance, the turbo codes is in this category. In this work, the LDPC codes and the SPA are exploited for the channel encoding and the channel decoding, respectively. Finally, the third block is modulator, which prepares the encoded data to send via communication channel.
Modulation superimposes data on a carrier signal, which its frequency is higher than the bandwidth of the information signal [23]. The M-PSK (phase-shift keying), the M-FSK (frequency-shift keying), and M-ASK (amplitude-shift keying) are fundamental digital modulation schemes. In this paper, the BPSK (M=2) is exploited for accomplishing the modulation.
The modulated data is transmitted by noisy channel such as a wire, an antenna, an optical fiber, etc. In this paper, the channel noise is assumed to be the Adaptive White Gaussian Noise (AWGN). Furthermore, an amplification of the modulated data is done before transmitting over the noisy channel due to channel debilitation and fading phenomena.
In the receiver side, all performed operations at the transmitter should be accomplished on the received data reversely. Therefore, first, data is being demodulated then the demodulated data is being decoded by the SPA to get source codewords. Finally, these codewords are being decoded to obtain the information source symbols. All of the methods and procedures for the encoding in transmitter and the decoding in receiver should be the same, and they should be done in a reverse order.

2-2-Graphical Representation of The LDPC Codes
A bipartite Tanner graph that has been illustrated in Fig .2 is a graphical representation of the parity-check matrix H, made of two types of nodes, the variable nodes (VN) denoted by v j and the check nodes (CN) denoted by c i [24].  A loop or cycle is a close path of nodes that crosses over the edges of the Tanner graph. The shortest cycle in a Tanner graph is called the girth of graph. A cycle of the length 6 is illustrated in Fig. 2, by the bold edges. Hence, there is no cycle of length 4 in this graph, the length of its girth is 6. We investigate the BER performance of LDPC codes over AWGN channels from different points of view caused by the parameter variation.
We implement and decode the noisy corrupted codewords by utilizing iterative belief propagation decoding algorithm based on LDPC codes, which its performance strongly depends on the length of girth. As the length of girth increases, the computability of decoding algorithm increases. Furthermore, the BER performance can be improved by removing lower length cycles (i.e., increasing the length of girth). In our implementations, the minimum length of girth is assumed to be 6.

2-3-The LDPC Encoding Algorithm
A sequence of blocks each of them having k information bits are encoded by using the generator matrix G, which can be derived from the parity-check matrix H in different ways. Reader can refer to [25] for further explanation about deriving generator matrix G. For the obtained generator matrix G, we have GH T =0.
Let consider C is the codeword of length n obtained from multiplying the information bit of length k and the generator matrix G with the size of k×n. Thus, C forms the data that is modulated before transmission. C is a valid codeword if and only if CH T =0. Therefore, the C is as follows, where, Furthermore, k and n are respectively the length of the information packet bits and the length of the codeword C. Note that, n-k is the length of the redundancy which is added to the information bits for providing protection.
Besides, there is another encoding algorithm using LDPC codes which is called syndrome generation method. This method has a source coding and compression goal. A syndrome generated by using the parity-check matrix of an LDPC code is sent to the decoder as a lossless compressed data. Thus, for data n-tuple u, we send s=uH T to the decoder.
In this method, the decoder finds an estimation of u based on the received syndrome s by utilizing a syndrome decoding scheme. An efficient scheme for the syndrome decoding is SPA algorithm. In this scheme, in addition to the syndrome, a side information is needed. Actually, side information is a corrupted version of the original data u affected by the channel noise. Here, we briefly describe syndrome decoding scheme based on the SPA.
In this scheme, first the syndrome s is located in the CNs and the side information is located in VNs.

2-4-The Sum-Product Decoding Algorithm
The message-passing algorithms are iterative decoding procedures, in which some messages are passed back and forward between the VNs and CNs until the process is stopped. The bit-flipping decoding algorithm is one of the message-passing algorithms in which the received symbols are hard decoded into 1's and 0's.
The SPA is similar to the bit-flipping algorithm, but the bitflipping decoding is a kind of hard decisions while the SPA is a soft decision message-passing algorithm that utilizes the probability of each bit instead of its value. The extrinsic data between j-th CN and i-th VN which is the probability of c i =1 is denoted by E j,i as the j-th parity check equation is satisfied.
The probability that a parity-check equation is established for the bit c i to be 1 is represented by P that is calculated as follows: where B j is the set of VNs which is connected to j-th CN.
LLR is a metric for a binary variable that is represented by L and is as follows: The sign of L(c) makes a hard decision on c and its magnitude |L(c)| shows the reliability of the decision rule. Thus, the probability of c can be obtained from LLR as follows: the main reason of exploiting LLR metric is that when probabilities need to be multiplied to each other, then logarithms just need to be added, hence, the complexity of calculations decreases. The information that are transferred from j-th CN to i-th VN is expressed as a LLR that it's value is as follows: Hence, . By using the following relation, it can be concluded that, and by using the relation, we can write, The value of ( , ′ ) can be separated to its sign and its magnitude as follows: where, , ′ = | , ′ | .
Thus, equation (11) can be rewritten as Therefore, where Ø(x) is defined as follows: In the SPA each VN has access to the initial LLR and LLRs from connected CNs because probability passes between nodes. The total LLR of the i-th bit is as follows: where A i is the set of CNs connected to i-th VN.
The decoder is initialized by setting VN information ( , ), for which h i,j =1, as follows: where y i is the i-th information bit value that has been received. L i can be calculated for the binary input AWGN channel as follows: from equation (20), where N 0 is the noise power spectrum density.
After calculating total LLR for every VN, is obtained as follows: where N is the length of codewords.
The accuracy of decoded data can be obtained by multiplying and H T . If = 0, then the decoded data is correct, else LLRs should update as follows: These operations continue until the parity-check equations are satisfied ( = 0), or the number of iteration equals the maximum limit which has been considered.

3-Simulation Results
In this section, we report some simulation results which are obtained from implementation of the described communication system. All BER values are averaged over 50 tests for randomly generated binary sequences as an information source. The BER performance of a PSK modulated communication is presented with respect to the number of iterations, the code length, and coding rate. A fair comparison is done for various values of the signal to noise ratio. After decoding received data in receiver the number of bits that have not received correctly can be simply obtained by comparing the received bits in the receiver and transmitted bits of the transmitter. The BER is calculated by dividing the number of incorrect received bits to the number of total received bits. In Fig. 3, it is depicted that the BER decreases by increasing the number of iterations in the SPA with a same parity-check matrix H (384,512,irregular) with the rate of . This observation is because of increasing the number of runs in update equations of the SPA. For instance, the BER is 5.46×10-6, 3.91×10-6, and 2.8×10-6 respectively for the cases of iteration=10, iteration=20, and iteration=50 in SNR=6db. Based on the results, which is reported in Fig. 4 and iteration=20 in SNR=6db. The effect of increasing the number of added redundancy to a same information block with a constant length to the BER performance is presented in Fig. 5. As it is seen, the BER value decreases by increasing redundancy or equivalently by decreasing coding rate.  As an example, the BER is 2.97×10 -3 , 6.72×10 -4 , 8×10 -7 , and 8×10 -11 respectively for rate= 2 3 , rate= Based on the reported results, it is seen that the SPA is reliable with respect to parameter changes and can be utilized for the BPSK modulation scheme with an acceptable performance. In the design process, one can choose proper rate, number of iterations and length to reach a required quality of service.

4-Conclusions
In this paper, a point-to-point communication system is investigated. Our focus is on the channel encoder and the channel decoder blocks and their BER performances. The LDPC codes are employed for the channel encoder block and the SPA with the same parity-check matrix of encoder are exploited for the channel decoding. The BER performance of the system under AWGN communication channel model with PSK modulation scheme is derived from implementations for various cases. Our simulation results show the effect of the parameter changes in order to achieve lower BER values. This provide the direction of parameter changes to a system designer to improve the performance.