Design and Implementation of an Improved Error Correcting Code for 5G Communication System
Total Page:16
File Type:pdf, Size:1020Kb
Journal of Communications Vol. 14, No. 2, February 2019 Design and Implementation of an Improved Error Correcting Code for 5G Communication System Bashar M. Mansoor and Tarik Z. Ismaeel 1Department of Electrical Engineering, College of Engineering, University of Baghdad, Iraq 2Department of Electronic & Communication Engineering, College of Engineering, University of Baghdad, Iraq Email: [email protected]; [email protected] Abstract—Channel coding, which means adding a redundancy step toward very high throughput wireless systems [5]. to information in order to minimize a bit error rate is one of Recently, a lot of research has confirmed that LDPC key technologies in development of each generation of mobile codes achieve decoding with better bit error rate (BER) systems. Recently, Low-Density Parity-Check (LDPC) Code has been selected to provide channel coding for 5G performance and lower computational complexity than communication systems due to its high performance that turbo codes that are used in 3G and 4G systems; approaches closely Shannon's limit, and its low complexity. however, other features such as decoder flexibility and However, there is still some work that is related to throughput, interconnection complexity still need to be improved. flexibility, and complexity of LDPC codes needs to be LDPC codes have become a key component of many considered to meet all the 5G requirements. In this paper, an communication systems such as WiFi (IEEE802.11n), improved code of high throughput and flexibility was proposed. Here, a code is flexible if it supports a large number of coding WiMAX (IEEE802.16e), DVB-S2, CCSDS, and ITU rates and block lengths. In addition, the proposed code can be G.hn [6]. The LDPC codes used in WiMAX standards encoded and decoded with low computational and are designed under hardware constraints; however, implementation complexities. The encoder and decoder can be providing LDPC codes that have different lengths and implemented based on IEEE WiMAX standards, so the rates imposes significant challenges on the LDPC generated codes can be compared to the standard WiMAX decoder realization [5]. To overcome the problems of LDPC codes. Theoretical calculations show that the proposed codes achieve significant improvements in throughput, latency, implementation and to meet the channel code and computational and implementation complexity. The requirements of 5G, several parameters such as simulation employed WiMAX 802.16e standard and a fixed throughput, flexibility, and complexity need to be clock frequency of 500 MHz. The throughput ranged from 372 improved. In this paper, two architectures for encoder Mbps for rate 1/2 codes to 915 Mbps for rate 5/6 codes. An and decoder are proposed based on WiMAX 802.16e increasing of 1.4–2.2 times was obtained compared to the standard to provide codes with high flexibility, improved standard LDPC codes. throughput, and low complexity. The paper is organized Index Terms—5G channel coding, WiMAX LDPC code, code as follows; Section II: introduces standard LDPC code. flexibility, throughput, latency, computational and Section III: shows an overview on turbo code. The implementation complexity, BER performance. model proposed is depicted in section IV. Section V shows the valuation of the proposed code, while the I. INTRODUCTION simulation results with their discussions are detailed in The recent interest in channel coding of 5G Section VI. Finally, Section VII documents some communication systems has directed to the Low-Density conclusions based on the results of this work. Parity-Check (LDPC) codes [1]. LDPC codes were invented by Gallager in 1960 and rediscovered by II. LDPC CODES MacKay and Neal in the late of 1990s [2], [3]. LDPC LDPC codes are fully characterized by a binary codes are linear block codes and defined by a binary matrix called parity-check matrix (H-matrix), and also matrix called parity-check matrix (H-matrix). They are can be represented by bipartite graphs called Tanner called low-density parity check because the density of graph in which non-zero elements (ones) of each row their non-zero elements (ones) in H-matrix is very low. and column in H-matrix are represented by two sets of Because of high performance and low complexity, nodes; check node (CN) and variable node (VN) LDPC codes have been selected to provide channel respectively. Variable and check nodes are connected by coding for the next generations of communication edge connections where the number of edges in the systems [4]. The WiMAX 802.16e standard that was graph is equal to the number of ones in H-matrix. Fig. 1 developed by IEEE uses LDPC codes as a channel shows an example of Tanner graph for H matrix given coding scheme to meet the requirements of mobile below: communication systems, where this standard is the next 1 1 0 0 0 1 0 1 0 1 1 0 1 0 1 0 퐻 = [ ] (1) Manuscript received June 2, 2018; revised January 2, 2019. 0 1 1 1 0 0 1 1 doi:10.12720/jcm.14.2.88-96 1 0 0 1 1 1 0 0 ©2019 Journal of Communications 88 Journal of Communications Vol. 14, No. 2, February 2019 All six matrices can be used when the expansion factor, Z is less than the maximum expansion (Z =96). f 0 In this case, each matrix can be expanded according to Fig. 1. Tanner graph representations of LDPC code the following equations [9] LDPC code, x must satisfy the equation below 푃 푓,푖,푗 = 푃 푖,푗 if 푃 푖,푗 ≤ 0 (4) 퐻푥푇 = 0 (푚표푑 2), ∀ 푥 ∈ 푐 (2) 푃 푓,푖,푗 = 푃 푖,푗 ∗ 푍푓/푍0 if 푃 푖,푗 ≥ 0 (5) An LDPC code of N length and K information is always represented by a parity-check matrix of size (M x The number of edges is also equal to the number of N) and code rat of K/N, where M is the number of parity ones in the binary H-matrix. The degree distribution of the variable nodes and check nodes can expressed by bits equivalent to M=N-K. The node degree is the 푚푎푥 푚푎푥 푚푎푥 number of edges on each node in the H-matrix. In 푓[푑푣 , … ,3,2] and 푔[푑푐 , 푑푐 − 1] respectively [5]. addition, it represents the number of connections The six H-matrix classes of WiMAX 802.16e with its between VN and CN and defines two types of LDPC their degree distributions for VNs and CNs are summarized in Table I. codes. If the weight distribution of column weights (dv) and weight distribution of rows (dc) are constant, the TABLE I: DEGREE DISTRIBUTIONS OF THE WIMAX 802.16E LDPC code is regular LDPC code. otherwise the code is CODE irregular LDPC code. Each LDPC code that is used in WiMAX standards is defined by a sparse H-matrix which is, in turn, expanded from base matrix (Hb-matrix) of size mb x nb, where mb=M/mf and nb=N/nb with expansion factor Zf. H-matrices of WiMAX standards can be found using the following equation 푃 1,1 푃 1,2 … 푃 1,푛푏 푃 푃 … 푃 The two functions, f and g also give the fraction of H = [ 2,1 2,2 2,푛푏 ] (3) … … … … VNs and CNs with a certain degree. At the decoder, 푃 푚푏,1 푃 푚푏,2 … 푃 푚푏,푛푏 many decoding algorithms are known to recover where 푃 is circularly right-shifted identity matrix information [12]: 1) Sum-Product algorithm (SPA), 2) 푖,푗 Min-Sum algorithm, 3) Min-Max algorithm, 4) (permutation matrix) of size Z x Z . For WiMAX f f Message-Passing algorithm and 5) Bit-Flipping 802.16e, the expansion factor Zf varies from 24 to 96 with a granularity of 4 leading to support 19 different Decoding algorithm. The SPA is based on belief propagation and provides a better performance compared code sizes. The two parameters nb and mb take constant and maximum values of 24 and 12 respectively. Since to the other algorithms. It has a scheduling of two phases, permutation matrix tends to be rather large, the H-matrix therefor all VNs ae updated in phase 1 and all CNs are can be written in a smaller form. This can be updated in phase 2. In each phase, individual nodes are accomplished by labeling the circular identity matrix by parallelized, so that they are independently processed. the number of shift the matrix contained. Currently, Each VN of degree dv determines an update of message there are six different codes with four different code m by the following relation, where each message update rates that are used in WiMAX 802.16e standard based on is a Log-Likelihood Ratio (LLR). six classes of base matrix (1/2, 2/3(A, B), 3/4(A, B), 5/6) 푑푣−1 표푙푑 [7, 8]. For an expansion factor of 96 and a code rate of 휆푘 = 휆푐ℎ + ∑푙=0 휆푙 − 휆푘 (6) 1/2, the code length is 2304 and the number of parity bits where 휆 is LLR of a corresponding channel that is is 576. For the same expansion factor and code rate of 푐ℎ represented in the variable node and 휆 corresponds to 5/6, the code length is 2304 while the number of parity 푙 LLRs of the incident edges. In this paper, all simulation bits is 384. The following matrices are the H-matrices corresponding to 1/2 and 5/6 code rates. results are obtained using the Sum-Product algorithm. III. AN OVERVIEW ON TURBO CODE Turbo codes are the best available error correction technique in the last few years. They have been standardized in 3G and 4G standards because they can achieve a performance near Shannon limit [10], [11].