# An Efficient SCMA Codebook Optimization Algorithm Based on Mutual Information Maximization

Authors: Chao Dong; Guili Gao; Kai Niu; Jiaru Lin
Journal: Wireless Communications and Mobile Computing
 (2018)

---

## Abstract

An efficient codebook optimization algorithm is proposed to maximize mutual information in sparse code multiple access (SCMA). At first, SCMA signal model is given according to superposition modulation structure, in which the channel matrix is column-extended. The superposition model can well describe the relationship between the codebook matrix and received signal. Based on the above model, an iterative codebook optimization algorithm is proposed to maximize mutual information between discrete input and continuous output. This algorithm can efficiently adapt to multiuser channels with arbitrary channel coefficients. The simulation results show that the proposed algorithm has good performance in both AWGN and non-AWGN channels. In addition, message passing algorithm (MPA) works well with the codebook optimized according to the proposed algorithm.


---

## Body

## 1. Introduction

Nonorthogonal multiple access (NOMA) [1–3] has attracted much attention from both industry and academia and has become the key technique in 5G. NOMA can accommodate more users than orthogonal multiple access (OMA) and improve the spectral efficiency. At the same time, the interuser interference is introduced in NOMA and more efficient detection is required at the receiver.Code-domain NOMA is considered as an important candidate technique [3]. At first, low density spreading CDMA (LDS-CDMA), which belongs to code-domain NOMA, is proposed in [4], where the spreading sequence is sparse and message passing algorithm (MPA) is introduced to lower multiuser detection complexity. In [5], message passing algorithm (MPA) is proven to be optimal when the length of low density spreading sequence tends to be infinity. Later, in [6], LDS-OFDM is proposed, where the iteration number of MPA is optimized according to extrinsic information transfer (EXIT) chart [7]. In [8], LDPC codes and LDS constitute three-layer factor graph and the joint belief propagation algorithm exhibits good performance. In [9], the progressive edge growth (PEG) algorithm is introduced to improve LDS pattern and the multiuser detection performance becomes better.Recently, sparse code multiple access (SCMA) [10, 11] has been proposed to combine low density spreading (LDS) with codebook design. In [10], the codebook design is implemented by rotating the phases of different users’ constellation points. At the receiver, message passing algorithm (MPA) is applied and SCMA exhibits better performance than LDS-CDMA [10]. Afterwards, several methods to improve MPA in SCMA are proposed in [12–14]. Furthermore, in the recent paper [15], SCMA detection can be seen as a specific tree search problem and sphere decoding algorithm shows much lower complexity with negligible performance loss. Inspired by transmit signal optimization in two-user multiple access channels [16], SCMA codebook design is mainly focused on phase rotation optimization in [17, 18]. In addition, the product distance and cutoff-rate are introduced to optimize SCMA codebook in [19] and [20], respectively.In this paper, SCMA signal model is given according to superposition modulation structure, where the channel matrix is column-extended. The proposed model can well describe the relationship between the codebook of each user and received signal. Therefore, the codebook optimization algorithm is derived according to maximizing mutual information between the discrete input and continuous output. Our analysis shows that the proposed algorithm can efficiently adapt to multiuser channels with random channel coefficients.This paper is organized as follows. In Section2, SCMA signal model is represented as superposition modulation structure, where the channel matrix is extended in the column space to explicitly demonstrate the relationship between the codebook and received signal. Afterwards, the principles of codebook optimization to maximize mutual information are described in Section 3. The concrete expressions of mutual information and its gradient are given. Subsequently, Karush-Kuhn-Tucker (KKT) conditions are introduced to realize codebook optimization. In Section 4, the implementation steps of the proposed iterative codebook optimization algorithm are elaborated. The simulation results are given in Section 5. Section 6 draws the conclusions.In the following parts, lower and upper boldface letters denote the vector and matrix, respectively. For the matrixA, A-1, AT, and AH denote its inverse, transpose, and Hermitian, respectively. The row vector eK,j denotes the jth row of the K×K identity matrix IK. The matrix A¯=blkdiagA1,…,AN denotes the block diagonal matrix, in which Ai is the submatrix on the ith diagonal block. The operator ⊗ denotes Kronecker product. In addition, Ex· denotes the expectation over the random variable x.


## 2. SCMA Signal Model with Superposition Modulation

In this section, SCMA signal model is given according to superposition modulation structure. The analysis shows that the channel matrix is column-extended in the proposed structure. In addition, the relationship between the codebook and received signal is given. The analysis in this section lays foundation for the codebook optimization. For clearness, the typical SCMA signal model is detailed in the first subsection.


### 2.1. Typical SCMA Model

A typical SCMA factor graph is given in Figure1. In this paper, K denotes the number of multiple access users and N denotes the number of subchannels. In factor graph, the user node is usually called “variable node” and the subchannel is usually called “function node.” The variable node degree dv denotes the number of subchannels occupied by one user. Meanwhile, the function node degree df denotes the number of users carried by one subchannel.Figure 1
Factor graph withK=6 and N=4.In the factor graph shown in Figure1, dv is equal to 2 and df is equal to 3. The load is equal to K/N. The mapping between variable nodes and function nodes in Figure 1 is given by(1)F=111000100110010101001011.The matrix F has K columns and N rows. It can be seen that the jth row of F denotes the mapping from all variable nodes to the jth function node. Similarly, the ith column of F denotes the mapping from all function nodes to the ith variable node. In addition, the number of nonzero elements in each row is equal to df and the number of nonzero elements in each column is equal to dv.The matrixF denotes the channel matrix in AWGN scenario. The existing codebook designs in [10, 11, 17, 18] are mainly based on F in (1). However, in the wireless communication, the channel response amplitudes and phases of K users are usually different from each other. In the following, hj,i denotes the channel response of the ith user on the jth subchannel. Therefore, the channel matrix HS corresponding to the factor graph in Figure 1 can be given by(2)HS=h1,1h1,2h1,3000h2,100h2,4h2,500h3,20h3,40h3,600h4,30h4,5h4,6.Based on the channel matrix in (2), SCMA codebook optimization proposed in [10] can be denoted by(3)G∗=argmaxG⁡mSHS,G,N,K,dv,M,where M denotes the modulator order of each user, S· denotes the matrix function related to the variables in (3), and m· gives performance measure in codebook optimization. In this paper, our main focus is on the factor graph in Figure 1 with K=6, N=4, df=3, dv=2, and M=4.In the next subsection, the superposition modulation SCMA signal model is carefully analyzed.


### 2.2. Superposition Modulation Model

It can be seen from Figure1 that user 1 is connected to function nodes F1 and F2. In SCMA, the signal of user 1 mapped to F1 and F2 is given by x1,1 and x2,1, respectively. For clearness, the above two signal elements are collected to generate the following signal vector:(4)x1=x1,1,x2,1T.In SCMA model with M=4, the signal elements x1,1 and x2,1 of user 1 carry the same two information bits. In [10, 11], x1,1 and x2,1 are generated by phase rotation of the chosen mother constellation.In this paper, the superposition modulation structure is introduced. In [21, 22], the superposition modulation is proven to be an efficient modulation scheme to approach the channel capacity. Based on the above analysis, x1 can be rewritten as follows:(5)x1=x1,1x2,1=g1,11g1,21g2,11g2,21·b11b21=G1b1,where the superscript (1) denotes the user index, G1 denotes the codebook matrix of user 1, and the bit vector b1 contains the two information bits of user 1.By extending the above model toK=6 users, the transmit signal vector of user i is given by(6)xi=Gibi,1≤i≤K.Therefore, the overall transmitted vector can be obtained by stacking x1 to x6:(7)x=x1T,x2T,x3T,x4T,x5T,x6TT=G¯b=blkdiagG1,…,G6×b,where G¯ denotes the block diagonal codebook matrix and b collects all the users’ information bits with b=b1T,b2T,b3T,b4T,b5T,b6TT.In order to adapt to the transmit signal expression in (7), the channel expression HS shown in (2) should be extended in the column space. It is noted that the dimension of x is equal to dv×K=12. Therefore, the column number of channel matrix should be extended from 6 to 12.(8)H-S=h1,10h1,20h1,300000000h2,10000h2,40h2,5000000h3,2000h3,400h3,6000000h4,3000h4,50h4,6.For example, in the first column ofHS, the channel coefficients corresponding to x1,1 and x2,1 are h1,1 and h2,1, respectively. To match the two-dimensional transmission vector x1 shown in (5), the first column of HS should be extended to generate the following two columns:(9)h1,1=h1,1,0,0,0T,h2,1=0,h2,1,0,0T.Based on the above analysis, the column-extended channel matrixH¯S is given by the long expression in (8). It can be seen from (8) that H¯S is obtained by dividing each column of HS into two columns in order to match the two-dimensional modulation symbol vector of each user.Based onH¯S in (8), the received signal is rewritten as(10)y=H¯Sx+n=H¯SG¯b+n,where n is N-dimensional additive white Gaussian noise vector with distribution CN0,σn2IN.According to block diagonal property ofG¯, the received signal y in (10) can be rewritten as the superposition results of K=6 users’ signals:(11)y=H¯SG¯b+n=∑i=1KHiGibi+n,where Hi is the equivalent channel matrix of user i. For example, the equivalent channel matrix H1 corresponding to user 1 is given by(12)H1=h1,100h2,10000.Based on the above analysis, the received signaly is connected to the codebook matrix Gi of each user with the help of the column-extended channel matrix Hi,1≤i≤K. Therefore, the codebook optimization can be implemented according to various criteria. In the next section, the codebook matrix Gi,1≤i≤K, is optimized according to maximizing mutual information between the bit vector b and the received signal y shown in (11).


## 2.1. Typical SCMA Model

A typical SCMA factor graph is given in Figure1. In this paper, K denotes the number of multiple access users and N denotes the number of subchannels. In factor graph, the user node is usually called “variable node” and the subchannel is usually called “function node.” The variable node degree dv denotes the number of subchannels occupied by one user. Meanwhile, the function node degree df denotes the number of users carried by one subchannel.Figure 1
Factor graph withK=6 and N=4.In the factor graph shown in Figure1, dv is equal to 2 and df is equal to 3. The load is equal to K/N. The mapping between variable nodes and function nodes in Figure 1 is given by(1)F=111000100110010101001011.The matrix F has K columns and N rows. It can be seen that the jth row of F denotes the mapping from all variable nodes to the jth function node. Similarly, the ith column of F denotes the mapping from all function nodes to the ith variable node. In addition, the number of nonzero elements in each row is equal to df and the number of nonzero elements in each column is equal to dv.The matrixF denotes the channel matrix in AWGN scenario. The existing codebook designs in [10, 11, 17, 18] are mainly based on F in (1). However, in the wireless communication, the channel response amplitudes and phases of K users are usually different from each other. In the following, hj,i denotes the channel response of the ith user on the jth subchannel. Therefore, the channel matrix HS corresponding to the factor graph in Figure 1 can be given by(2)HS=h1,1h1,2h1,3000h2,100h2,4h2,500h3,20h3,40h3,600h4,30h4,5h4,6.Based on the channel matrix in (2), SCMA codebook optimization proposed in [10] can be denoted by(3)G∗=argmaxG⁡mSHS,G,N,K,dv,M,where M denotes the modulator order of each user, S· denotes the matrix function related to the variables in (3), and m· gives performance measure in codebook optimization. In this paper, our main focus is on the factor graph in Figure 1 with K=6, N=4, df=3, dv=2, and M=4.In the next subsection, the superposition modulation SCMA signal model is carefully analyzed.


## 2.2. Superposition Modulation Model

It can be seen from Figure1 that user 1 is connected to function nodes F1 and F2. In SCMA, the signal of user 1 mapped to F1 and F2 is given by x1,1 and x2,1, respectively. For clearness, the above two signal elements are collected to generate the following signal vector:(4)x1=x1,1,x2,1T.In SCMA model with M=4, the signal elements x1,1 and x2,1 of user 1 carry the same two information bits. In [10, 11], x1,1 and x2,1 are generated by phase rotation of the chosen mother constellation.In this paper, the superposition modulation structure is introduced. In [21, 22], the superposition modulation is proven to be an efficient modulation scheme to approach the channel capacity. Based on the above analysis, x1 can be rewritten as follows:(5)x1=x1,1x2,1=g1,11g1,21g2,11g2,21·b11b21=G1b1,where the superscript (1) denotes the user index, G1 denotes the codebook matrix of user 1, and the bit vector b1 contains the two information bits of user 1.By extending the above model toK=6 users, the transmit signal vector of user i is given by(6)xi=Gibi,1≤i≤K.Therefore, the overall transmitted vector can be obtained by stacking x1 to x6:(7)x=x1T,x2T,x3T,x4T,x5T,x6TT=G¯b=blkdiagG1,…,G6×b,where G¯ denotes the block diagonal codebook matrix and b collects all the users’ information bits with b=b1T,b2T,b3T,b4T,b5T,b6TT.In order to adapt to the transmit signal expression in (7), the channel expression HS shown in (2) should be extended in the column space. It is noted that the dimension of x is equal to dv×K=12. Therefore, the column number of channel matrix should be extended from 6 to 12.(8)H-S=h1,10h1,20h1,300000000h2,10000h2,40h2,5000000h3,2000h3,400h3,6000000h4,3000h4,50h4,6.For example, in the first column ofHS, the channel coefficients corresponding to x1,1 and x2,1 are h1,1 and h2,1, respectively. To match the two-dimensional transmission vector x1 shown in (5), the first column of HS should be extended to generate the following two columns:(9)h1,1=h1,1,0,0,0T,h2,1=0,h2,1,0,0T.Based on the above analysis, the column-extended channel matrixH¯S is given by the long expression in (8). It can be seen from (8) that H¯S is obtained by dividing each column of HS into two columns in order to match the two-dimensional modulation symbol vector of each user.Based onH¯S in (8), the received signal is rewritten as(10)y=H¯Sx+n=H¯SG¯b+n,where n is N-dimensional additive white Gaussian noise vector with distribution CN0,σn2IN.According to block diagonal property ofG¯, the received signal y in (10) can be rewritten as the superposition results of K=6 users’ signals:(11)y=H¯SG¯b+n=∑i=1KHiGibi+n,where Hi is the equivalent channel matrix of user i. For example, the equivalent channel matrix H1 corresponding to user 1 is given by(12)H1=h1,100h2,10000.Based on the above analysis, the received signaly is connected to the codebook matrix Gi of each user with the help of the column-extended channel matrix Hi,1≤i≤K. Therefore, the codebook optimization can be implemented according to various criteria. In the next section, the codebook matrix Gi,1≤i≤K, is optimized according to maximizing mutual information between the bit vector b and the received signal y shown in (11).


## 3. Principle of SCMA Codebook Optimization

In this section, the codebook optimization to maximize mutual information is carefully analyzed. We assume that the number of users and the channel responses are known by the transmitter. In practical wireless communication systems, this assumption is possible for the downlink transmission with channel state information feedback but not possible for the uplink.At first, the concrete expression of mutual information between the bit vectorb and the continuous received signal y is given. Afterwards, KKT conditions based on the gradient of mutual information are introduced to realize codebook optimization. It is shown that the gradient of mutual information with respect to codebook matrix Gi,1≤i≤K, depends on the mean squared error matrix Eb. For clearness, the details of calculating mean squared error matrix Eb are given in Appendix A.


### 3.1. Detailed Expression of Mutual Information

Similar to that in [23, 24], mutual information between discrete input b and continuous output y can be given by(13)Ib;y=Hb-Hb∣y=Klog2⁡M-∑m¯=1MK∫ypbm¯,ylog⁡pypbm¯py∣bmdy=Klog2⁡M-∑m¯=1MK∫ypbm¯py∣bm¯log⁡pypbm¯py∣bm¯dy.In this paper, all possible input vectors are assumed to have equal probability. The input constellation alphabet size is equal to MK and pbm¯=1/MK. When signal-to-noise ratio (SNR) tends to be infinity, the mutual information is not larger than the entropy Hb, which is equal to Klog2⁡M. The subscript m¯ denotes the index of the constellation point from 1 to MK. With additive white Gaussian noise, the conditional probability distribution function py∣bm¯ is given by(14)py∣bm¯=1πσn2Nexp⁡-y-H¯SG¯bm¯2σn2.In addition, the probability distribution function py in (13) can be given by(15)py=∑k¯=1MKpbk¯py∣bk¯=∑k¯=1MK1MKπσn2Nexp⁡-y-H¯SG¯bk¯2σn2,where the subscript k¯ denotes the constellation point index.When the bit vectorbm¯ is transmitted, the received signal is given by y=H¯SG¯bm¯+n. In this case, the unknown contained in y is only additive white Gaussian noise vector n. Therefore, the integral of y can be expressed as the integral of n. Consequently, in the m¯th integral of the summation in (13), y is replaced by H¯SG¯bm¯+n:(16)∫ypbm¯py∣bm¯log⁡pypbm¯py∣bm¯dy=∫npbm¯pH¯SG¯bm¯+n∣H¯SG¯bm¯log⁡pH¯SG¯bm¯+npbm¯pH¯SG¯bm¯+n∣H¯SG¯bm¯dn=∫npbm¯pnlog⁡pH¯SG¯bm¯+npbm¯pndn=∫npbm¯pnlog⁡∑k¯=1MKpbk¯pH¯SG¯bm¯+n∣H¯SG¯bk¯pbm¯pndn,where pn=1/πσn2N×exp-n2/σn2. For the first equation, we assume that the channel matrix and codebook matrix are perfectly known. With the expression of py∣bm¯ in (14), the second equation is achieved. In the third equation, py∣bk¯ is replaced by pH¯SG¯bm¯+n∣H¯SG¯bk¯, whose expression is given by(17)pH¯SG¯bm¯+n∣H¯SG¯bk¯=1πσ2Nexp⁡-H¯SG¯bm¯-bk¯+n2σ2.Based on the above analysis, the integral value in (16) depends on the Euclidean distances between H¯SG¯bm¯ and all the other received signal constellations.Under the equal probability input assumption, the mutual information in (13) can be rewritten as(18)Ib;y=Klog2⁡M-1MK∑m¯=1MK∫npnlog⁡∑k¯=1MKexp⁡-qm¯,k¯dn=Klog2⁡M-1MK∑m¯=1MKEnlog⁡∑k¯=1MKexp⁡-qm¯,k¯,where qm¯,k¯ is given by(19)qm¯,k¯=H¯SG¯bm¯-bk¯+n2-n2σn2.It should be noted that m¯ and k¯ are both constellation point indexes and they are independent of each other.From the above analysis, it can be seen that mutual information is the function of codebook matrices. In the following subsection, the gradient of mutual information with respect to codebook matrix of each user is analyzed and the KKT conditions are introduced to maximize mutual information.


### 3.2. KKT Conditions When Maximizing Mutual Information

To optimize mutual information, the gradient of mutual information with respect toGi,1≤i≤K, is calculated.According to the results in [25, 26], the gradient with respect to the overall block diagonal codebook matrix G¯ is given. Applying Theorem  2 in [26], we have(20)∇G¯Ib;y=∂∂G¯∗Ib;y=1ln⁡2H¯SHσn2IN-1H¯SG¯Eb=1ln⁡2·σn2H¯SHH¯SG¯Eb,where the factor 1/ln⁡2 is appended because the natural logarithm is applied in [26]. The matrix Eb denotes the mean squared error matrix. In [26], it is proven that the above gradient expression holds for the linear received signal model in (10) regardless of the structure of the channel matrix H¯S and the codebook matrix G¯.In SCMA, we assume that the codebook matrix of each user satisfies individual power constraint. This requires the gradient with respect to each user’s codebook matrixGi,1≤i≤K. Based on the fact that Gi is dv×dv submatrix on the ith diagonal block of G¯, the gradient with respect to Gi is given by(21)∇GiIb;y=∂∂Gi∗Ib;y=eK,i⊗Idv∂∂G¯Ib;yeK,i⊗IdvH=1ln⁡2·σn2eK,i⊗IdvH¯SHH¯SG¯EbeK,i⊗IdvH,where eK,i is the ith row of the K×K identity matrix IN. From (19), it can be seen that ∇GiIb;y can be easily calculated from the result of ∇G¯Ib;y.In order to maximize mutual information betweenb and y, the optimization problem is given by(22)maxGi,1≤i≤KIb;ys.t.trGiGiH≤Pi,1≤i≤K.Unfortunately, Ib;y is not a convex function of the codebook matrix Gi,1≤i≤K, and it is difficult to calculate its globally optimal solution. An efficient method to solve this kind of problem is to find locally optimal solution according to KKT conditions [22]. Therefore, we have the following lemma.Lemma 1.
With the power constraint of each user, the KKT conditions corresponding to problem (22) are given by(23)λiGi=∇GiIb;y,λi≥0,trGiGiH≤Pi,λitrGiGiH-P=0.Proof.
According to the result in [22], the Lagrangian corresponding to problem (22) is given by(24)Lλi,Gi=-Ib;y+∑i=1KλitrGiGiH-Pi,where λi is the Lagrangian dual variable corresponding to the ith user’s power constraint. By making the gradient of (24) with respect to Gi equal to zero, the first equation in (23) is achieved. Afterwards, by adding the power constraint and nonnegative Lagrangian dual variable constraint, the KKT conditions shown in (23) are obtained.Depending on the KKT conditions, the line search method shown in [22] can be applied to optimize the codebook matrix. It should be noted that mutual information shown in (18) contains rather complex integrals and it is difficult to achieve its closed-form expression. In Section 4, the calculation of mutual information is achieved by Monte Carlo simulations and the iterative codebook optimization algorithm is proposed.In addition, it can be seen that when calculating the gradient with respect toGi in (21), the expression of Eb is required. The details of deriving the expression of Eb are given in Appendix A. It can be seen that Eb also contains very complex integrals and its value is obtained by Monte Carlo simulations.


## 3.1. Detailed Expression of Mutual Information

Similar to that in [23, 24], mutual information between discrete input b and continuous output y can be given by(13)Ib;y=Hb-Hb∣y=Klog2⁡M-∑m¯=1MK∫ypbm¯,ylog⁡pypbm¯py∣bmdy=Klog2⁡M-∑m¯=1MK∫ypbm¯py∣bm¯log⁡pypbm¯py∣bm¯dy.In this paper, all possible input vectors are assumed to have equal probability. The input constellation alphabet size is equal to MK and pbm¯=1/MK. When signal-to-noise ratio (SNR) tends to be infinity, the mutual information is not larger than the entropy Hb, which is equal to Klog2⁡M. The subscript m¯ denotes the index of the constellation point from 1 to MK. With additive white Gaussian noise, the conditional probability distribution function py∣bm¯ is given by(14)py∣bm¯=1πσn2Nexp⁡-y-H¯SG¯bm¯2σn2.In addition, the probability distribution function py in (13) can be given by(15)py=∑k¯=1MKpbk¯py∣bk¯=∑k¯=1MK1MKπσn2Nexp⁡-y-H¯SG¯bk¯2σn2,where the subscript k¯ denotes the constellation point index.When the bit vectorbm¯ is transmitted, the received signal is given by y=H¯SG¯bm¯+n. In this case, the unknown contained in y is only additive white Gaussian noise vector n. Therefore, the integral of y can be expressed as the integral of n. Consequently, in the m¯th integral of the summation in (13), y is replaced by H¯SG¯bm¯+n:(16)∫ypbm¯py∣bm¯log⁡pypbm¯py∣bm¯dy=∫npbm¯pH¯SG¯bm¯+n∣H¯SG¯bm¯log⁡pH¯SG¯bm¯+npbm¯pH¯SG¯bm¯+n∣H¯SG¯bm¯dn=∫npbm¯pnlog⁡pH¯SG¯bm¯+npbm¯pndn=∫npbm¯pnlog⁡∑k¯=1MKpbk¯pH¯SG¯bm¯+n∣H¯SG¯bk¯pbm¯pndn,where pn=1/πσn2N×exp-n2/σn2. For the first equation, we assume that the channel matrix and codebook matrix are perfectly known. With the expression of py∣bm¯ in (14), the second equation is achieved. In the third equation, py∣bk¯ is replaced by pH¯SG¯bm¯+n∣H¯SG¯bk¯, whose expression is given by(17)pH¯SG¯bm¯+n∣H¯SG¯bk¯=1πσ2Nexp⁡-H¯SG¯bm¯-bk¯+n2σ2.Based on the above analysis, the integral value in (16) depends on the Euclidean distances between H¯SG¯bm¯ and all the other received signal constellations.Under the equal probability input assumption, the mutual information in (13) can be rewritten as(18)Ib;y=Klog2⁡M-1MK∑m¯=1MK∫npnlog⁡∑k¯=1MKexp⁡-qm¯,k¯dn=Klog2⁡M-1MK∑m¯=1MKEnlog⁡∑k¯=1MKexp⁡-qm¯,k¯,where qm¯,k¯ is given by(19)qm¯,k¯=H¯SG¯bm¯-bk¯+n2-n2σn2.It should be noted that m¯ and k¯ are both constellation point indexes and they are independent of each other.From the above analysis, it can be seen that mutual information is the function of codebook matrices. In the following subsection, the gradient of mutual information with respect to codebook matrix of each user is analyzed and the KKT conditions are introduced to maximize mutual information.


## 3.2. KKT Conditions When Maximizing Mutual Information

To optimize mutual information, the gradient of mutual information with respect toGi,1≤i≤K, is calculated.According to the results in [25, 26], the gradient with respect to the overall block diagonal codebook matrix G¯ is given. Applying Theorem  2 in [26], we have(20)∇G¯Ib;y=∂∂G¯∗Ib;y=1ln⁡2H¯SHσn2IN-1H¯SG¯Eb=1ln⁡2·σn2H¯SHH¯SG¯Eb,where the factor 1/ln⁡2 is appended because the natural logarithm is applied in [26]. The matrix Eb denotes the mean squared error matrix. In [26], it is proven that the above gradient expression holds for the linear received signal model in (10) regardless of the structure of the channel matrix H¯S and the codebook matrix G¯.In SCMA, we assume that the codebook matrix of each user satisfies individual power constraint. This requires the gradient with respect to each user’s codebook matrixGi,1≤i≤K. Based on the fact that Gi is dv×dv submatrix on the ith diagonal block of G¯, the gradient with respect to Gi is given by(21)∇GiIb;y=∂∂Gi∗Ib;y=eK,i⊗Idv∂∂G¯Ib;yeK,i⊗IdvH=1ln⁡2·σn2eK,i⊗IdvH¯SHH¯SG¯EbeK,i⊗IdvH,where eK,i is the ith row of the K×K identity matrix IN. From (19), it can be seen that ∇GiIb;y can be easily calculated from the result of ∇G¯Ib;y.In order to maximize mutual information betweenb and y, the optimization problem is given by(22)maxGi,1≤i≤KIb;ys.t.trGiGiH≤Pi,1≤i≤K.Unfortunately, Ib;y is not a convex function of the codebook matrix Gi,1≤i≤K, and it is difficult to calculate its globally optimal solution. An efficient method to solve this kind of problem is to find locally optimal solution according to KKT conditions [22]. Therefore, we have the following lemma.Lemma 1.
With the power constraint of each user, the KKT conditions corresponding to problem (22) are given by(23)λiGi=∇GiIb;y,λi≥0,trGiGiH≤Pi,λitrGiGiH-P=0.Proof.
According to the result in [22], the Lagrangian corresponding to problem (22) is given by(24)Lλi,Gi=-Ib;y+∑i=1KλitrGiGiH-Pi,where λi is the Lagrangian dual variable corresponding to the ith user’s power constraint. By making the gradient of (24) with respect to Gi equal to zero, the first equation in (23) is achieved. Afterwards, by adding the power constraint and nonnegative Lagrangian dual variable constraint, the KKT conditions shown in (23) are obtained.Depending on the KKT conditions, the line search method shown in [22] can be applied to optimize the codebook matrix. It should be noted that mutual information shown in (18) contains rather complex integrals and it is difficult to achieve its closed-form expression. In Section 4, the calculation of mutual information is achieved by Monte Carlo simulations and the iterative codebook optimization algorithm is proposed.In addition, it can be seen that when calculating the gradient with respect toGi in (21), the expression of Eb is required. The details of deriving the expression of Eb are given in Appendix A. It can be seen that Eb also contains very complex integrals and its value is obtained by Monte Carlo simulations.


## 4. Iterative Codebook Optimization Algorithm

In Section3, the KKT conditions do not give explicit method to find the optimal codebook matrix. In this section, inspired by the line search method in [22], the iterative codebook optimization algorithm is proposed, where the codebook optimization is implemented by searching the suitable update step size along the direction of the gradient.In the first subsection, the line search applied in the iterative codebook optimization algorithm is described. Afterwards, the steps of the proposed algorithm are elaborated. Because the mutual information and mean squared error do not have closed-form expressions, the optimization is implemented based on their Monte Carlo simulation results.


### 4.1. Line Search Optimization Method

Based on the line search method in [22], the codebook matrix of each user should be updated along the direction of the gradient. During optimization, the update step size should be optimized to make sure that mutual information after codebook updating is nondecreasing. In this paper, the backtracking line search method [22] is introduced to determine the step size.There are two nested loops in the proposed algorithm. The outer-loop index denotes the iteration number and the inner loop index denotes the user index from 1 toK.In thenth outer loop, the expression of Ib,y after the (i-1)th user’s updating is denoted by(25)In,i-1b,y=fG^1n,…,G^i-1n,Gin,Gi+1n,…,Gkn,where mutual information is considered as the function of codebook matrix of each user and the superscript (n,i-1) of Ib,y denotes the outer loop and inner loop index pair. The codebook matrix corresponding to In,i-1b,y is given by(26)G¯n,i-1=blkdiagG^1n,…,G^i-1n,Gin,…,Gkn,where the matrices from G^1(n) to G^i-1(n) denote the codebooks that have been updated in the nth outer loop.In addition,G¯n,0=blkdiagG1n,…,Gkn denotes the initial codebook matrix in the nth iteration; the corresponding mutual information is In,0b,y=fG1n,…,Gkn.Based on the gradient expression in (21), the line search result is given by(27)∇Gin=Gin+t∇GinIn,i-1b;y,where t is the step size and the expression of ∇GinIn,i-1b;y is given by(28)∇GiIn,i-1b;y=1ln⁡2·σn2eK,i⊗Idv×H¯SHH¯SG¯n,i-1Ebn,i-1×eK,i⊗IdvH,where the mean squared error matrix Ebn,i-1 is calculated based on the codebook matrix G¯n,i-1.In addition, the codebook matrix of each user should satisfy the power constraint. Assuming that the maximum transmit power of useri is equal to Pi, the normalized codebook matrix is given by(29)G^in=Pi×∇Gin∇GinF.Afterwards, theith dv×dv diagonal block Gin is replaced by G^in and the updated mutual information is calculated according to(30)In,ib,y=fG^1n,…,G^i-1n,G^in,Gi+1n,…,Gkn.Based on the backtracking line search method [22], the following constraint should be satisfied to make sure that the updated mutual information is nondecreasing:(31)In,ib,y>In,i-1b,y+αt∇GinIn,i-1b;yF2,where α is the predetermined parameter and always belongs to the interval (0,0.3) [22].If the above constraint is not satisfied, the calculations in (27)–(30) are repeated to update In,ib,y and the “backtracking” is performed with updated size t=t×β, where β∈(0,0.8) is the predetermined parameter [22]. Afterwards, the constraint in (31) is retested.In the next subsection, the detailed steps of the proposed iterative codebook optimization algorithm are given.


### 4.2. Concrete Steps of Iterative Codebook Optimization Algorithm

From the analysis in Section3 and Appendix A, it is shown that both Ib;y and Eb contain rather complex integrals and it is difficult to derive their closed-form expressions. Therefore, in the proposed algorithm, the calculation of Ib;y and Eb is realized according to the Monte Carlo simulations, which should cover all the MK constellation points. It is believed that the computational complexity is proportional to MK.According to the above analysis, concrete steps of the proposed algorithm are given in Algorithm1. The parameter Nite is the number of outer loops.Algorithm 1:Concrete process of iterative codebook optimization algorithm.
Input: Randomly select codebook matrixGi1,1≤i≤K,trGiGiH=Pi (1) Initialization: G-1,0=blkdiagG11,…,Gk1 (2) Outer loop: for n = 1:1:Nite (3) Inner loop: for i = 1:1:K (a) Perform monte-carlo simulations to calculateIn,i-1b,y and Ebn,i-1 (b) Calculate the gradient∇GinIn,i-1b;y according to (28) Do (c) Update∇Gin according to (27) (d) CalculateG^in to satisfy the power constraint according to (29) (e) Perform monte-carlo simulations to calculateIn,ib;y according to (30) (f) Update step sizet=t×β WhileIn,ib,y<In,i-1b,y+αt×∇GinIn,i-1b;yF2 (g) Generate the updated codebook matrixG-n,i=blkdiagG^1n,…,G^i-1n,G^in,…,Gkn (4) End Inner loop (h) GenerateG-n+1,0=G-n,K (5) End Outer loopIt should be noted that the performance of backtracking line search method depends on the initial values of the codebook matrices. Therefore, in simulations, the iterative optimization shown in Algorithm1 should be repeated multiple times with different initial codebook matrices.In order to evaluate upper bound of the proposed algorithm, Gaussian channel capacity with the same channel coefficient matrix should be calculated. According to [27], under Gaussian input assumption, the iterative water-filling algorithm is able to find the globally optimal power allocation result, which achieves Gaussian capacity bound. This can be seen as the upper bound of the proposed iterative codebook optimization algorithm.


## 4.1. Line Search Optimization Method

Based on the line search method in [22], the codebook matrix of each user should be updated along the direction of the gradient. During optimization, the update step size should be optimized to make sure that mutual information after codebook updating is nondecreasing. In this paper, the backtracking line search method [22] is introduced to determine the step size.There are two nested loops in the proposed algorithm. The outer-loop index denotes the iteration number and the inner loop index denotes the user index from 1 toK.In thenth outer loop, the expression of Ib,y after the (i-1)th user’s updating is denoted by(25)In,i-1b,y=fG^1n,…,G^i-1n,Gin,Gi+1n,…,Gkn,where mutual information is considered as the function of codebook matrix of each user and the superscript (n,i-1) of Ib,y denotes the outer loop and inner loop index pair. The codebook matrix corresponding to In,i-1b,y is given by(26)G¯n,i-1=blkdiagG^1n,…,G^i-1n,Gin,…,Gkn,where the matrices from G^1(n) to G^i-1(n) denote the codebooks that have been updated in the nth outer loop.In addition,G¯n,0=blkdiagG1n,…,Gkn denotes the initial codebook matrix in the nth iteration; the corresponding mutual information is In,0b,y=fG1n,…,Gkn.Based on the gradient expression in (21), the line search result is given by(27)∇Gin=Gin+t∇GinIn,i-1b;y,where t is the step size and the expression of ∇GinIn,i-1b;y is given by(28)∇GiIn,i-1b;y=1ln⁡2·σn2eK,i⊗Idv×H¯SHH¯SG¯n,i-1Ebn,i-1×eK,i⊗IdvH,where the mean squared error matrix Ebn,i-1 is calculated based on the codebook matrix G¯n,i-1.In addition, the codebook matrix of each user should satisfy the power constraint. Assuming that the maximum transmit power of useri is equal to Pi, the normalized codebook matrix is given by(29)G^in=Pi×∇Gin∇GinF.Afterwards, theith dv×dv diagonal block Gin is replaced by G^in and the updated mutual information is calculated according to(30)In,ib,y=fG^1n,…,G^i-1n,G^in,Gi+1n,…,Gkn.Based on the backtracking line search method [22], the following constraint should be satisfied to make sure that the updated mutual information is nondecreasing:(31)In,ib,y>In,i-1b,y+αt∇GinIn,i-1b;yF2,where α is the predetermined parameter and always belongs to the interval (0,0.3) [22].If the above constraint is not satisfied, the calculations in (27)–(30) are repeated to update In,ib,y and the “backtracking” is performed with updated size t=t×β, where β∈(0,0.8) is the predetermined parameter [22]. Afterwards, the constraint in (31) is retested.In the next subsection, the detailed steps of the proposed iterative codebook optimization algorithm are given.


## 4.2. Concrete Steps of Iterative Codebook Optimization Algorithm

From the analysis in Section3 and Appendix A, it is shown that both Ib;y and Eb contain rather complex integrals and it is difficult to derive their closed-form expressions. Therefore, in the proposed algorithm, the calculation of Ib;y and Eb is realized according to the Monte Carlo simulations, which should cover all the MK constellation points. It is believed that the computational complexity is proportional to MK.According to the above analysis, concrete steps of the proposed algorithm are given in Algorithm1. The parameter Nite is the number of outer loops.Algorithm 1:Concrete process of iterative codebook optimization algorithm.
Input: Randomly select codebook matrixGi1,1≤i≤K,trGiGiH=Pi (1) Initialization: G-1,0=blkdiagG11,…,Gk1 (2) Outer loop: for n = 1:1:Nite (3) Inner loop: for i = 1:1:K (a) Perform monte-carlo simulations to calculateIn,i-1b,y and Ebn,i-1 (b) Calculate the gradient∇GinIn,i-1b;y according to (28) Do (c) Update∇Gin according to (27) (d) CalculateG^in to satisfy the power constraint according to (29) (e) Perform monte-carlo simulations to calculateIn,ib;y according to (30) (f) Update step sizet=t×β WhileIn,ib,y<In,i-1b,y+αt×∇GinIn,i-1b;yF2 (g) Generate the updated codebook matrixG-n,i=blkdiagG^1n,…,G^i-1n,G^in,…,Gkn (4) End Inner loop (h) GenerateG-n+1,0=G-n,K (5) End Outer loopIt should be noted that the performance of backtracking line search method depends on the initial values of the codebook matrices. Therefore, in simulations, the iterative optimization shown in Algorithm1 should be repeated multiple times with different initial codebook matrices.In order to evaluate upper bound of the proposed algorithm, Gaussian channel capacity with the same channel coefficient matrix should be calculated. According to [27], under Gaussian input assumption, the iterative water-filling algorithm is able to find the globally optimal power allocation result, which achieves Gaussian capacity bound. This can be seen as the upper bound of the proposed iterative codebook optimization algorithm.


## 5. Simulation Results

In this section, the simulation results are given. With the factor graph in Figure1 and M=4, mutual information between the information bit vector b and received signal y is bounded by Hb=Klog2⁡M=12bit. The codebook matrix of each user should satisfy the power constraint, trGiGiH≤Pi,1≤i≤K. In the following simulations, we set Pi=N/K=2/3,1≤i≤K. Simulation results in non-AWGN and AWGN channels are given in Sections 5.1 and 5.2, respectively.


### 5.1. Non-AWGN Channel Simulation Results

In Figure2, mutual information achieved by the proposed iterative codebook optimization algorithm in non-AWGN channel is shown. The responses of non-AWGN channel are given in Appendix B. In addition, the channel setting makes sure that the channel power satisfies the following constraint:(32)trHSHSH=Ndf=Kdv=12.Figure 2
Mutual information performance in non-AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4. The channel responses are given in Appendix B.According to the analysis in Section4, the performance of the proposed iterative codebook optimization algorithm depends on values of the initial codebook matrices. Therefore, the codebook optimization result is chosen from 20 realizations with different initial codebook matrices.In Figure2, the result of the proposed iterative codebook optimization algorithm is denoted by “optimized codebook.” The Gaussian capacity bound with the same channel responses according to [27] is denoted by “gaussian capacity.” In addition, we introduce the scheme called “Gaussian power input.” In this setting, the codebook matrix Gi,1≤i≤K, is squared root of the power distribution matrix obtained from iterative water-filling algorithm in [27]. With above Gi, mutual information between discrete input b and continuous output y is calculated and denoted by “Gaussian power input” in Figure 2. From the analysis in [27], iterative water-filling algorithm also requires channel state information. In addition, the result of random codebook satisfying the power constraint is denoted by “random codebook.” Figure 2 demonstrates that the proposed iterative codebook optimization algorithm can approach Gaussian capacity bound in low and medium SNR regime. Due to the inability to track the channel responses, the performance of “random codebook” is worse than that of “optimized codebook.” When SNR is lower than 1 dB, the result of “Gaussian power input” is better than that of “random codebook.” However, when SNR increases, “Gaussian power input” method fails to approach the performance of “optimized codebook.” This indicates that iterative water-filling algorithm with Gaussian input assumption cannot be directly applied in the discrete input channel even with perfect channel state information.Furthermore, in Figure3, the convergence of the proposed iterative codebook optimization algorithm is shown. The maximum number of outer loops in the proposed algorithm is set as 8. In addition, the initial value of step size parameter t is set as 1. During iterative codebook optimization, the parameter α is set as 0.1 and β is set as 0.5. It can be seen that, after 6 iterations, the increment of mutual information becomes marginal. This means that the proposed algorithm tends to converge after limited outer loops.Figure 3
Convergence performance of the proposed iterative optimization algorithm in non-AWGN channel. The SNR is set equal to 0 dB, 2 dB, and 4 dB, respectively.In the following, the optimized codebook with mutual information equal to 6 bits is applied. The concrete codebook expressions are given in AppendixB. In Figure 4, the uncoded bit error rate (uncoded BER) results of maximum likelihood algorithm (ML) and message passing algorithm (MPA) are given. It can be seen that MPA can approach the performance of ML detection after 4 iterations. When BER is equal to 10-3, the loss of MPA with 4 iterations is only about 0.6 dB. This indicates that MPA works well with the optimized codebook.Figure 4
Uncoded BER performance of maximum likelihood detection algorithm (ML) and message passing algorithm (MPA) in non-AWGN channel.In Figure5, the coded bit error rate (coded BER) with the optimized codebook matrix is given. Turbo code in LTE [28] is applied and the information bit length is equal to 1024. Because the codebook in Appendix B is optimization result when mutual information is equal to 6 bits, the channel code rate is set as 0.5. The inner iteration number of Turbo decoding is equal to 7. In multiuser detection, the iteration number of MPA is equal to 4. Two channel coding schemes are involved in Figure 5. In scheme 1, each user in SCMA has its own channel coding block. Figure 5 shows that the best user is about 3 dB better than the worst user. In addition, in scheme 1, the average bit error rate is limited by the worst user. In scheme 2, the channel coding across all K=6 users is introduced. According to the statement in [29], coding across channels with different reliabilities can achieve better coded BER performance. In Figure 5, it is shown that the average bit error rate of scheme 2 is about 1 dB better than scheme 1.Figure 5
Coded BER performance with the optimized codebook matrix in non-AWGN channel. Two channel coding schemes are involved.In addition, the performance of outer-loop iteration between channel decoder and message passing algorithm (MPA) with scheme 1 is given in Figure6. In scheme 1, each user has its own channel coding block. Similar to that in Figure 5, the information bit length is equal to 1024 and the channel coding rate is equal to 0.5. The inner iteration number of Turbo decoding is equal to 7 and the iteration number of MPA is equal to 4. Because channel decoding feedback provides high-reliability extrinsic information for MPA, the outer-loop iteration can greatly improve the receiver performance. After 10 outer-loop iterations, the performance improvement is about 3 dB when BER is equal to 10-5.Figure 6
Coded BER performance with outer iteration between channel decoding and message passing algorithm (MPA) in non-AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4.In order to improve the credibility, we further give the simulation results averaging over 1000 Rayleigh fading channels in Figure7. The curve legends in Figure 7 are the same as that in Figure 2. The simulation results show that the performance of “optimized codebook” is better than that of “random codebook” and “Gaussian power input.” Compared with Gaussian capacity upper bound, the loss of “optimized codebook” is not very large in low and medium SNR regime. When SNR is lower than 0 dB, the result of “Gaussian power input” is better than that of “random codebook.” With the increase of SNR, “Gaussian power input” is unable to approach the performance of “optimized codebook.” The above analysis shows that when averaging over many Rayleigh channels, the proposed optimization algorithm still has better performance.Figure 7
Mutual information performance averaging over 1000 Rayleigh fading channels. The SCMA structure is given in Figure1 with K=6 and N=4.


### 5.2. AWGN Channel Simulation Results

In this subsection, simulation results in AWGN channel are given. Figure8 demonstrates mutual information for the factor graph in Figure 1 in AWGN channel. The result of the proposed iterative codebook optimization algorithm is denoted by “optimized codebook.” The Gaussian capacity bound is denoted by “Gaussian capacity.” In addition, the result of the existing codebook proposed by Huawei Corporation in [30] is denoted by “Huawei codebook.” It can be seen that the proposed algorithm can achieve the same mutual information performance as “Huawei codebook.” In low and medium SNR regime, the proposed algorithm can approximate “Gaussian capacity” bound with small performance loss.Figure 8
Mutual information performance in AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4.Furthermore, the uncoded bit error rate (uncoded BER) of the optimized codebook in AWGN channel is given in Figure9. The message passing algorithm (MPA) is performed at the receiver. The codebook matrices are optimization results of the proposed algorithm when SNR = 10 dB, whose expressions are detailed in Appendix C. Compared with “Huawei codebook” in [30], “optimized codebook” according to the proposed algorithm has better performance. With 8 iterations of MPA, “optimized codebook” has 1 dB performance gain over “Huawei codebook.” For clearness, Huawei codebook in [30] is rewritten according to superposition modulation matrices and its concrete expressions are given in Appendix C.Figure 9
Uncoded BER performance of message passing algorithm (MPA) in AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4.The above simulations’ results are all based on the factor graph in Figure1 with M=4. In the following simulation, the codebook design is extended to the case with M=16. Considering the codebook optimization complexity, our focus is on the factor graph with 2 subchannels and 3 users, whose structure is shown in Figure 10.Figure 10
Factor graph withK=3 and N=2.The proposed column-extended channel model can well describe the codebook optimization problem withM=16. The detailed signal model analysis with M=16 is given in Appendix D. Figure 11 demonstrates the simulation result of (3, 2) factor graph with M=16 in AWGN channel. The optimized codebook can efficiently approach Gaussian capacity upper bound. When SNR is lower than 6 dB, the performance loss between the optimized codebook and upper bound is negligible.Figure 11
Mutual information performance withM=16 in AWGN channel. The SCMA structure is given in Figure 10 with K=3 and N=2.


## 5.1. Non-AWGN Channel Simulation Results

In Figure2, mutual information achieved by the proposed iterative codebook optimization algorithm in non-AWGN channel is shown. The responses of non-AWGN channel are given in Appendix B. In addition, the channel setting makes sure that the channel power satisfies the following constraint:(32)trHSHSH=Ndf=Kdv=12.Figure 2
Mutual information performance in non-AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4. The channel responses are given in Appendix B.According to the analysis in Section4, the performance of the proposed iterative codebook optimization algorithm depends on values of the initial codebook matrices. Therefore, the codebook optimization result is chosen from 20 realizations with different initial codebook matrices.In Figure2, the result of the proposed iterative codebook optimization algorithm is denoted by “optimized codebook.” The Gaussian capacity bound with the same channel responses according to [27] is denoted by “gaussian capacity.” In addition, we introduce the scheme called “Gaussian power input.” In this setting, the codebook matrix Gi,1≤i≤K, is squared root of the power distribution matrix obtained from iterative water-filling algorithm in [27]. With above Gi, mutual information between discrete input b and continuous output y is calculated and denoted by “Gaussian power input” in Figure 2. From the analysis in [27], iterative water-filling algorithm also requires channel state information. In addition, the result of random codebook satisfying the power constraint is denoted by “random codebook.” Figure 2 demonstrates that the proposed iterative codebook optimization algorithm can approach Gaussian capacity bound in low and medium SNR regime. Due to the inability to track the channel responses, the performance of “random codebook” is worse than that of “optimized codebook.” When SNR is lower than 1 dB, the result of “Gaussian power input” is better than that of “random codebook.” However, when SNR increases, “Gaussian power input” method fails to approach the performance of “optimized codebook.” This indicates that iterative water-filling algorithm with Gaussian input assumption cannot be directly applied in the discrete input channel even with perfect channel state information.Furthermore, in Figure3, the convergence of the proposed iterative codebook optimization algorithm is shown. The maximum number of outer loops in the proposed algorithm is set as 8. In addition, the initial value of step size parameter t is set as 1. During iterative codebook optimization, the parameter α is set as 0.1 and β is set as 0.5. It can be seen that, after 6 iterations, the increment of mutual information becomes marginal. This means that the proposed algorithm tends to converge after limited outer loops.Figure 3
Convergence performance of the proposed iterative optimization algorithm in non-AWGN channel. The SNR is set equal to 0 dB, 2 dB, and 4 dB, respectively.In the following, the optimized codebook with mutual information equal to 6 bits is applied. The concrete codebook expressions are given in AppendixB. In Figure 4, the uncoded bit error rate (uncoded BER) results of maximum likelihood algorithm (ML) and message passing algorithm (MPA) are given. It can be seen that MPA can approach the performance of ML detection after 4 iterations. When BER is equal to 10-3, the loss of MPA with 4 iterations is only about 0.6 dB. This indicates that MPA works well with the optimized codebook.Figure 4
Uncoded BER performance of maximum likelihood detection algorithm (ML) and message passing algorithm (MPA) in non-AWGN channel.In Figure5, the coded bit error rate (coded BER) with the optimized codebook matrix is given. Turbo code in LTE [28] is applied and the information bit length is equal to 1024. Because the codebook in Appendix B is optimization result when mutual information is equal to 6 bits, the channel code rate is set as 0.5. The inner iteration number of Turbo decoding is equal to 7. In multiuser detection, the iteration number of MPA is equal to 4. Two channel coding schemes are involved in Figure 5. In scheme 1, each user in SCMA has its own channel coding block. Figure 5 shows that the best user is about 3 dB better than the worst user. In addition, in scheme 1, the average bit error rate is limited by the worst user. In scheme 2, the channel coding across all K=6 users is introduced. According to the statement in [29], coding across channels with different reliabilities can achieve better coded BER performance. In Figure 5, it is shown that the average bit error rate of scheme 2 is about 1 dB better than scheme 1.Figure 5
Coded BER performance with the optimized codebook matrix in non-AWGN channel. Two channel coding schemes are involved.In addition, the performance of outer-loop iteration between channel decoder and message passing algorithm (MPA) with scheme 1 is given in Figure6. In scheme 1, each user has its own channel coding block. Similar to that in Figure 5, the information bit length is equal to 1024 and the channel coding rate is equal to 0.5. The inner iteration number of Turbo decoding is equal to 7 and the iteration number of MPA is equal to 4. Because channel decoding feedback provides high-reliability extrinsic information for MPA, the outer-loop iteration can greatly improve the receiver performance. After 10 outer-loop iterations, the performance improvement is about 3 dB when BER is equal to 10-5.Figure 6
Coded BER performance with outer iteration between channel decoding and message passing algorithm (MPA) in non-AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4.In order to improve the credibility, we further give the simulation results averaging over 1000 Rayleigh fading channels in Figure7. The curve legends in Figure 7 are the same as that in Figure 2. The simulation results show that the performance of “optimized codebook” is better than that of “random codebook” and “Gaussian power input.” Compared with Gaussian capacity upper bound, the loss of “optimized codebook” is not very large in low and medium SNR regime. When SNR is lower than 0 dB, the result of “Gaussian power input” is better than that of “random codebook.” With the increase of SNR, “Gaussian power input” is unable to approach the performance of “optimized codebook.” The above analysis shows that when averaging over many Rayleigh channels, the proposed optimization algorithm still has better performance.Figure 7
Mutual information performance averaging over 1000 Rayleigh fading channels. The SCMA structure is given in Figure1 with K=6 and N=4.


## 5.2. AWGN Channel Simulation Results

In this subsection, simulation results in AWGN channel are given. Figure8 demonstrates mutual information for the factor graph in Figure 1 in AWGN channel. The result of the proposed iterative codebook optimization algorithm is denoted by “optimized codebook.” The Gaussian capacity bound is denoted by “Gaussian capacity.” In addition, the result of the existing codebook proposed by Huawei Corporation in [30] is denoted by “Huawei codebook.” It can be seen that the proposed algorithm can achieve the same mutual information performance as “Huawei codebook.” In low and medium SNR regime, the proposed algorithm can approximate “Gaussian capacity” bound with small performance loss.Figure 8
Mutual information performance in AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4.Furthermore, the uncoded bit error rate (uncoded BER) of the optimized codebook in AWGN channel is given in Figure9. The message passing algorithm (MPA) is performed at the receiver. The codebook matrices are optimization results of the proposed algorithm when SNR = 10 dB, whose expressions are detailed in Appendix C. Compared with “Huawei codebook” in [30], “optimized codebook” according to the proposed algorithm has better performance. With 8 iterations of MPA, “optimized codebook” has 1 dB performance gain over “Huawei codebook.” For clearness, Huawei codebook in [30] is rewritten according to superposition modulation matrices and its concrete expressions are given in Appendix C.Figure 9
Uncoded BER performance of message passing algorithm (MPA) in AWGN channel. The SCMA structure is given in Figure1 with K=6 and N=4.The above simulations’ results are all based on the factor graph in Figure1 with M=4. In the following simulation, the codebook design is extended to the case with M=16. Considering the codebook optimization complexity, our focus is on the factor graph with 2 subchannels and 3 users, whose structure is shown in Figure 10.Figure 10
Factor graph withK=3 and N=2.The proposed column-extended channel model can well describe the codebook optimization problem withM=16. The detailed signal model analysis with M=16 is given in Appendix D. Figure 11 demonstrates the simulation result of (3, 2) factor graph with M=16 in AWGN channel. The optimized codebook can efficiently approach Gaussian capacity upper bound. When SNR is lower than 6 dB, the performance loss between the optimized codebook and upper bound is negligible.Figure 11
Mutual information performance withM=16 in AWGN channel. The SCMA structure is given in Figure 10 with K=3 and N=2.


## 6. Conclusion

In this paper, an efficient SCMA codebook optimization algorithm is proposed according to maximizing mutual information between the discrete input and continuous output. Firstly, SCMA signal model is given based on the superposition modulation structure, which can well represent the relationship between the codebook matrix and received signal. Based on the superposition model, the iterative codebook optimization algorithm is proposed, where the line search method is applied to find locally optimal codebooks. It is shown that the superposition model can be applied in multiuser channel with random channel coefficients. In AWGN channel, the proposed optimization codebook can approach Gaussian capacity upper bound in low and medium SNR regime. In non-AWGN channel, the performance loss compared with upper bound is not very large. In addition, with the optimized codebook, message passing algorithm (MPA) at the receiver exhibits good performance.



---

*Source: 8910907-2018-04-01.xml*