NEW COMPUTER GENERATED-SCMA CODEBOOK WITH MAXIMIZED EUCLIDIAN DISTANCE FOR 5G

- Sparse Code Multiple Access (SCMA) is one of the Non-Orthogonal Multiple Access (NOMA) that attracts many researchers for its promising future uses in 5G systems. In this paper, a Computer Generated-Sparse Code Multiple Access (CG-SCMA) is proposed. CG-SCMA generates a complex SCMA codebook that maximizes the Minimum Euclidian Distance (MinED) of 16-point star-Quadrature Amplitude Modulation (QAM). This codebook is generated using computer program to specify the most appropriate values for this constellation, followed by Trellis Coded Modulation(TCM) which is used to divide the constellation into four sub constellations to maximize MinED. The new codebook reaches MinED equal to 3.46, 2.16, 2.16, 3.46 for the four sub constellations sequentially. This achieves increment over SCMA codebook based on 16-point star-QAM by 10.1%. The multiplexer and de-multiplexer of both proposed codebook and traditional SCAM codebook is hardware implemented by Field Programmable Gate Array(FPGA)using netFPGA- 1G-CML Kintex-7. The achievements of this work is speeding up the process by 597.6 times over MATLAB simulator and decrease Bit Error Rate(BER) compared to open literature codebooks.


I. INTRODUCTION
The massive number of users produces a large-scale of heterogeneous traffic.This will require the development of new modulation and multiple access (MA) scheme.MA technique can improve the frequency efficiency and system's capacity by allowing multiple users to make use of available resource at the base station [1].Multiple access can be generally classified into two classes: orthogonal and non-orthogonal [2].The first two generations of cellular systems are mainly developed using OMA approaches.OMA is able to avoid intracell interference with simplified design of air interface.
Traditional Orthogonal Multiple Access schemes (OMA) can serve limited numbers of users due to limitations in the numbers of orthogonal resources blocks [3], [4], [5].On the other hand, NOMA can support more users than with OMA with limited resources.The additional capacity of 5G produces extra interference and complexity [3].Due to OMA inability to combat with intercell interference, NOMA has been adopted in second and third generation cellular systems and has been introduced as a solution to be used in next cellular generations [4], [5].As one of the most promising NOMA candidate, SCMA has been addressed to cover these requirements.SCMA features the advantages of Code Division Multiple Access (CDMA) and Low Density Signature (LDS).SCMA is a modulation technique that directly modulates each group of binary data into a complex multidimensional codeword [6].At the receiver side, the Message Passing Algorithm (MPA) can be implemented to achieve near optimal detection performance.MPA calculates marginal distribution for each transmitted signal, conditional on received signal.The completeness probability information in each MPA's node results an outstanding performance of MPA.The sparsity of SCMA codeword makes a possibility to implement MPA on SCMA.However, the structure of MPA requires a recursive feedback message computation on each iteration.Therefore, the complexity of MPA detection grows exponentially with the codebook size [6] , [7].In recent years may researchers tried to employ new algorithms or enhance available NOMA to be used in 5G mobile systems, or reduce the MPA decoding complexity such as.
In 2016, D. Cai proposed a design for multi-dimensional SCMA codebook based on constellation rotation and interleaving method for downlink SCMA systems.The modified SCMA codebooks produce a better BER than that of the traditional SCMA codebooks and LDS [8].
In 2017, R. Alizadeh and Y. Savaria proposed reformulated MPA at SCMA decoder to support 5G by replacing exponentials with simpler functions and was able to reduce BER by 2.5 for SNR less than 12 dB [7].
In 2018, A. Kosasih, O. Setyawati, and R. Rahmadwati proposed a low complexity detector algorithm for SCMA that can solve the complexity problem of MPA-SCMA and enables the implementation of SCMA in massive MU-MIMO systems [6].
In 2018, S. Lou proposed a new procedure for combining bits to QAM symbol mapping and spreading together, While providing direct mapping of bits to codewords [1].
In 2018, S. Liu generated an optimized SCMA codebook by dividing 16-point round-QAM into several subsets to maximize the Minimum Euclidian Distance (MinED) [9].

II. NON-ORTHOGONAL MULTIPLE ACCESS (NOMA)
NOMA is a multiple access technique that allows multiple users to share the same time-and-frequency resource at the same time.NOMA can efficiently utilize the available resources to serve multiple users at different Quality of Service (QoS) requirements in the same resource block.Also NOMA can be integrated from existing MA techniques [10]See

A. LDS-CDMA
This code is based on Low Density Parity Check (LDPC), which is used to generate the codebook.To improve performance, low complexity MPA is used in detection of multiuser at the receiver side, taking advantage of the sparse structure of the signature in LDS-CDMA [3].

B. LDS-OFDM
This code is also based on LDPC, it maps the signature output into OFDM subcarriers.It has a strong compatibility with OFDM, which makes it flexible in resource allocation.LDS-OFDM suitable to work in wideband channels, since it can make use of multicarrier transmission [3].

C. SCMA
SCMA uses a codebook similar to the signature matrix in LDS.It uses spreading to allow multiple users to share single resource blocks.The signature matrix for 6 users sharing 4 resource blocks can be expressed as In SCMA typical signature matrix, the number of non-zero elements in each column represents the number of resources that single user can utilize, referring to each Resource Block (RB) as a Function Node (FN), While the number of non-zero elements in each row represents the number of users that each RB can serve referring to each user node as a Variable Node (VN) [10].SCMA employ multi-dimensional constellations to generate its codebook and achieve constellation shaping gain and reduce the receiver complexity.Assuming a 4-QAM constellation can be projected to a three-point constellation.
Even when two users share one resource block, the other used resource block can distinguish between them [3].
The design of codebook allows the reduction of the number of constellation points used.This reduction leads to reduction in complexity, thus MPA can be used for decoding at the receiver side [3], [10].Log-MPA is a decoding algorithm based on iterative updates of both VN and FNs of factor graph.The log-MPA decoder goes through the two steps [11], [12].
Step one:Update FNs and pass to VN using the following equation Where L1 k is the set of the VNs that are neighbors of k th F N and σ 2 represents an indication of AWGN power.The Information updated every iteration is saved in matrix E v (s, k, n s ),rows of which are passed to the neighboring FNs Step Two:Update VNs and pass to FN For each VN-FN pair, the log-domain external Information to be sent from VN s to FN k for codeword X is updated where L2 s denotes the set of all FNs that are neighbors of VNj.The log Likelihood Ratio (LLR) is found for each codeword of a layer after running several iterations.Then summing of the corresponding external information at the FNs as Bitwise output LLRs are calculated according to the bit-to codeword mapping.

III. PROPOSED CG-SCMA CODEBOOK GENERATING METHOD
With MMIMO antennas at the BS, this will allow large number of users to be served.A proposal for Computer Generated-SCMA (CG-SCMA) new codebook has been made.In OMA the number of users should be less or equal to the number of RBs, but with NOMA an overloading is allowed and with factor S/K > 1.Therefore S mobile sources are competing to grant access to K (RB) where S > K.The proposed CG-SCMA scheme have the following parameters (S, K, L, df, dv) = (6, 4, 4, 3, 2), and the proposed factor graph is depicted in Fig. 2.This matrix is used to map the log 2 (L)bits to K-dimensional complex SCMA codebook with size L. To achieve sparser codebook the number of non-zero value in a codeword dv should be small such that dv < K.The sparse matrix V s is Vol.2, Issue 2, June 2019 Yasmine M. Tabra, Bayan M. Sabbar used for mapping constellation points to SCMA codeword to form the codewordX s .A factor graph is used to represent the structure of SCMA, F matrix can be represented as below: The set of allowed resources to each user is represented by 1 in F ks .The F matrix in equation 1 is based on the proposed factor graph in Fig. 2 multiple access, and the mapping matrix V s can be deduced from F as in equations below: To guarantee good SCMA design performance, the minimum Euclidian distance (MinED) needs to be maximized.The MinED general formula: While the average energy of signal can be defined as EN and computed using the following equation: The 16-point star-QAM constellation design is generated by extending the standard 16-QAM to four rings as in Fig. 3 Figure 3: Basic constellation structure The proposed parameters of CG-SCMA are defined as following: First:The ratio between two successive points in constellation R2 R1 = R4 R3 is called β. Second:The ratio between non successive points R3 R1 = R4 R2 is called α.These ratios are used in generating the mother codebook.
Third: The proposed mother codebook design with symmetric mapping form can be represented in the following The computer program steps used to find optimal constellation points required for generating the CG-SCMA mother codebook are depicted in Fig. 5. Start by selecting different values for α and β then compute ( a, b, c, d, e, f, g, and h) in mother codebook equation 9.If the MinED is greater than 1.586 and MaxED is smaller than 2.4, then select these values to generate the mother codebook else select another value for α and β.The use of mother codebook to generate users' codebooks to encode and multiplex data for transmission is shown in Fig. 6.Each user is assigned unique codebook based on the sparse matrix V. User's that need to transmit their encoded data should multiply their codebooks with encoded data to generate codeword.Finally, codewords from all users are multiplexed and transmitted to destination.The data is then transmitted over Rayleigh channel and the receiver will decode the incoming signal using log-MPA.The received signal formula is as following: Where Y is the received signal, h s is the Rayleigh channel response.The first step in log-MPA decoder is to calculate the E F using the received signal Y, and Rayleigh channel responsehs.Then use E F to calculateE v .Log-MPA requires several iterations to determine the original data.With the use of serial to parallel data mapping, only single iteration will be required to decode received signal.The flowchart in Fig. 7 shows the single iteration log-MPA decoder steps.
The MinED is increased after division of main constellation into sub-constellation.After performing TCM, the four subconstellations shown in Fig. 9 achieved the MinED = 3.46, 2.16, 2.16, 3.46.Each user assigned two sub constellations to generate their codebook.No two users assigned the same two sub-constellations and according to equation 10.The increase in MinED is higher than that of sub-constellation proposed in [9].
CG-SCMA codebook can perform as well as codebook SCMA-Optimized in [9], see Fig. 10b While both of them outperform SCMA -ALTERA codebook [13] as in Fig. 10a.The MATLAB simulation time for log-MPA decoder is equal to 1.583sec The system was implemented using netFPGA-CML-IG Kintex-7 board in the stand alone mode of connection as shown in Fig. 11.Xilinx ISE Design Suite 14.7 is used to write the VHDL code which and compiled successfully with zero errors.A test bench code is written in VHDL.Fig. 12 shows the steps for FPGA implementation steps.The encoded bits from multiple users are multiplexed using the CG-SCMA codebook, where each user bits are multiplied with its own codebook, then all users outputs are multiplexed to generate output signal to be transmitted over Rayleigh channel.The CG-SCMA encoder was implemented using ISE Xilinx 14.7 and as shown in Fig. 13 and the Encoder RTL schematic view as shown in Fig. 14.The extended RTL view of Pseudorandom Noise Generator (PRNG) block in shown in Fig. 15.The generated of two independent uniform random variable are used to generate two independent Gaussian To reduce the number of iteration which represents core part of log-MPA decoding procedure, initial calculation for ten iterations are computed and then saved into file.The data in file are loaded to then parallel processed for the rest of the decoding steps.This step will reduce the amount of time each iteration takes and therefore the overall decoding time.

VI. FPGA PROCESSING TIME CALCULATION
The total number of clock cycles can be calculated as in Table I.The expected total time taken by the log-MPA decoder can be calculated as below.T M AT LAB and T F P GA time for MATLAB simulation and FPGA implementation respectively.2) The proposed CG-SCMA codebook was able to maximize the MinED over the codebooks in literature.The MinED increases by sub constellation with factor 7.5%, 2.3%.When using CG-SCMA codebook for encoding data from different users, the BER is decreased with the increment of SNR.This decrement was higher than that of codebooks used in literature.

Figure 2 :
Figure 2: Factor graph S=6 and K=4 αβR 1 cos θ, and θ = Π L.dv represents the rotation angle.Fourth: After designing the mother codebook, the users' codebook can be obtained by partitioning 16-point star-QAM constellation using Trellis Coded Modulation (TCM) subsets.As shown in Fig. 4.

10 )
Sixth: A computer program is used to determine the most suitable values for 16-point star-QAM constellation points that provide the maximum MinED and minimum MaxED in search range for α [1, 5] and β [1, 1.6].The normalized MinED and normalized Maximum Euclidian Distance (MaxED) for mother codebook can be calculated by mean of α and β as following:

Fig. 16 and
Fig. 16 and Fig 17 shows sample of the log-MPA decoder, and the RTL view of decoder respectively.

Figure 15 :
Figure 15: RTL view for rayleigh channel generation

TABLE I TIMING
CALCULATION IN FPGA FOR LOG-MPA DECODER Description Time 1 clock cycle in log-MPA decoder program 2ps Total number of clock cycles for log-MPA Decoder 1000ps \ 2ps = 500 The Xilinx Clock Period 5.298ns