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.

1. Introduction

Nonorthogonal multiple access (NOMA) [13] 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 [1214]. 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 Section 2, 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 matrix , , , and denote its inverse, transpose, and Hermitian, respectively. The row vector denotes the th row of the identity matrix . The matrix denotes the block diagonal matrix, in which is the submatrix on the th diagonal block. The operator denotes Kronecker product. In addition, denotes the expectation over the random variable .

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 Figure 1. In this paper, denotes the number of multiple access users and 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 denotes the number of subchannels occupied by one user. Meanwhile, the function node degree denotes the number of users carried by one subchannel.

In the factor graph shown in Figure 1, is equal to 2 and is equal to 3. The load is equal to . The mapping between variable nodes and function nodes in Figure 1 is given byThe matrix has columns and rows. It can be seen that the th row of denotes the mapping from all variable nodes to the th function node. Similarly, the th column of denotes the mapping from all function nodes to the th variable node. In addition, the number of nonzero elements in each row is equal to and the number of nonzero elements in each column is equal to .

The matrix denotes the channel matrix in AWGN scenario. The existing codebook designs in [10, 11, 17, 18] are mainly based on in (1). However, in the wireless communication, the channel response amplitudes and phases of users are usually different from each other. In the following, denotes the channel response of the th user on the th subchannel. Therefore, the channel matrix corresponding to the factor graph in Figure 1 can be given by

Based on the channel matrix in (2), SCMA codebook optimization proposed in [10] can be denoted bywhere denotes the modulator order of each user, denotes the matrix function related to the variables in (3), and gives performance measure in codebook optimization. In this paper, our main focus is on the factor graph in Figure 1 with , , , , and .

In the next subsection, the superposition modulation SCMA signal model is carefully analyzed.

2.2. Superposition Modulation Model

It can be seen from Figure 1 that user 1 is connected to function nodes and . In SCMA, the signal of user 1 mapped to and is given by and , respectively. For clearness, the above two signal elements are collected to generate the following signal vector:In SCMA model with , the signal elements and of user 1 carry the same two information bits. In [10, 11], and 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, can be rewritten as follows:where the superscript denotes the user index, denotes the codebook matrix of user 1, and the bit vector contains the two information bits of user 1.

By extending the above model to users, the transmit signal vector of user is given byTherefore, the overall transmitted vector can be obtained by stacking to :where denotes the block diagonal codebook matrix and collects all the users’ information bits with .

In order to adapt to the transmit signal expression in (7), the channel expression shown in (2) should be extended in the column space. It is noted that the dimension of is equal to . Therefore, the column number of channel matrix should be extended from 6 to 12.

For example, in the first column of , the channel coefficients corresponding to and are and , respectively. To match the two-dimensional transmission vector shown in (5), the first column of should be extended to generate the following two columns:

Based on the above analysis, the column-extended channel matrix is given by the long expression in (8). It can be seen from (8) that is obtained by dividing each column of into two columns in order to match the two-dimensional modulation symbol vector of each user.

Based on in (8), the received signal is rewritten aswhere is -dimensional additive white Gaussian noise vector with distribution .

According to block diagonal property of , the received signal in (10) can be rewritten as the superposition results of users’ signals:where is the equivalent channel matrix of user . For example, the equivalent channel matrix corresponding to user 1 is given by

Based on the above analysis, the received signal is connected to the codebook matrix of each user with the help of the column-extended channel matrix . Therefore, the codebook optimization can be implemented according to various criteria. In the next section, the codebook matrix , is optimized according to maximizing mutual information between the bit vector and the received signal 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 vector and the continuous received signal 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 , depends on the mean squared error matrix . For clearness, the details of calculating mean squared error matrix are given in Appendix A.

3.1. Detailed Expression of Mutual Information

Similar to that in [23, 24], mutual information between discrete input and continuous output can be given byIn this paper, all possible input vectors are assumed to have equal probability. The input constellation alphabet size is equal to and . When signal-to-noise ratio (SNR) tends to be infinity, the mutual information is not larger than the entropy , which is equal to . The subscript denotes the index of the constellation point from 1 to . With additive white Gaussian noise, the conditional probability distribution function is given byIn addition, the probability distribution function in (13) can be given bywhere the subscript denotes the constellation point index.

When the bit vector is transmitted, the received signal is given by . In this case, the unknown contained in is only additive white Gaussian noise vector . Therefore, the integral of can be expressed as the integral of . Consequently, in the th integral of the summation in (13), is replaced by :where . For the first equation, we assume that the channel matrix and codebook matrix are perfectly known. With the expression of in (14), the second equation is achieved. In the third equation, is replaced by , whose expression is given byBased on the above analysis, the integral value in (16) depends on the Euclidean distances between and all the other received signal constellations.

Under the equal probability input assumption, the mutual information in (13) can be rewritten aswhere is given byIt should be noted that and 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 to , is calculated.

According to the results in [25, 26], the gradient with respect to the overall block diagonal codebook matrix is given. Applying Theorem   in [26], we havewhere the factor is appended because the natural logarithm is applied in [26]. The matrix 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 and the codebook matrix .

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 matrix . Based on the fact that is submatrix on the th diagonal block of , the gradient with respect to is given bywhere is the th row of the identity matrix . From (19), it can be seen that can be easily calculated from the result of .

In order to maximize mutual information between and , the optimization problem is given byUnfortunately, is not a convex function of the codebook matrix , 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

Proof. According to the result in [22], the Lagrangian corresponding to problem (22) is given bywhere is the Lagrangian dual variable corresponding to the th user’s power constraint. By making the gradient of (24) with respect to 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 to in (21), the expression of is required. The details of deriving the expression of are given in Appendix A. It can be seen that also contains very complex integrals and its value is obtained by Monte Carlo simulations.

4. Iterative Codebook Optimization Algorithm

In Section 3, 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 to .

In the th outer loop, the expression of after the th user’s updating is denoted bywhere mutual information is considered as the function of codebook matrix of each user and the superscript of denotes the outer loop and inner loop index pair. The codebook matrix corresponding to is given bywhere the matrices from to denote the codebooks that have been updated in the th outer loop.

In addition, denotes the initial codebook matrix in the th iteration; the corresponding mutual information is .

Based on the gradient expression in (21), the line search result is given bywhere is the step size and the expression of is given bywhere the mean squared error matrix is calculated based on the codebook matrix .

In addition, the codebook matrix of each user should satisfy the power constraint. Assuming that the maximum transmit power of user is equal to , the normalized codebook matrix is given by

Afterwards, the th diagonal block is replaced by and the updated mutual information is calculated according toBased on the backtracking line search method [22], the following constraint should be satisfied to make sure that the updated mutual information is nondecreasing:where is the predetermined parameter and always belongs to the interval [22].

If the above constraint is not satisfied, the calculations in (27)–(30) are repeated to update and the “backtracking” is performed with updated size , where 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 Section 3 and Appendix A, it is shown that both and contain rather complex integrals and it is difficult to derive their closed-form expressions. Therefore, in the proposed algorithm, the calculation of and is realized according to the Monte Carlo simulations, which should cover all the constellation points. It is believed that the computational complexity is proportional to .

According to the above analysis, concrete steps of the proposed algorithm are given in Algorithm 1. The parameter is the number of outer loops.

Input: Randomly select codebook matrix
(1) Initialization:
(2) Outer loop: for =
(3) Inner loop: for =
   (a) Perform monte-carlo simulations to calculate and
   (b) Calculate the gradient according to (28)
  Do
   (c) Update according to (27)
   (d) Calculate to satisfy the power constraint according to (29)
   (e) Perform monte-carlo simulations to calculate according to (30)
   (f) Update step size
  While
   (g) Generate the updated codebook matrix
(4) End Inner loop
   (h) Generate
(5) End Outer loop

It 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 Algorithm 1 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 Figure 1 and , mutual information between the information bit vector and received signal is bounded by . The codebook matrix of each user should satisfy the power constraint, . In the following simulations, we set . 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 Figure 2, 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:

According to the analysis in Section 4, 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 Figure 2, 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 , is squared root of the power distribution matrix obtained from iterative water-filling algorithm in [27]. With above , mutual information between discrete input and continuous output 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 Figure 3, 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 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.

In the following, the optimized codebook with mutual information equal to 6 bits is applied. The concrete codebook expressions are given in Appendix B. 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 , the loss of MPA with 4 iterations is only about 0.6 dB. This indicates that MPA works well with the optimized codebook.

In Figure 5, 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 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.

In addition, the performance of outer-loop iteration between channel decoder and message passing algorithm (MPA) with scheme 1 is given in Figure 6. 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 .

In order to improve the credibility, we further give the simulation results averaging over 1000 Rayleigh fading channels in Figure 7. 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.

5.2. AWGN Channel Simulation Results

In this subsection, simulation results in AWGN channel are given. Figure 8 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.

Furthermore, the uncoded bit error rate (uncoded BER) of the optimized codebook in AWGN channel is given in Figure 9. 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.

The above simulations’ results are all based on the factor graph in Figure 1 with . In the following simulation, the codebook design is extended to the case with . 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.

The proposed column-extended channel model can well describe the codebook optimization problem with . The detailed signal model analysis with is given in Appendix D. Figure 11 demonstrates the simulation result of (3, 2) factor graph with 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.

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.

Appendix

A. Details of Mean Squared Error

Based on the result in [31], mean squared error matrix denotes the error correlation between the transmit bit vector and the detection result . Therefore, we havewhere is achieved by calculating the conditional mean of the transmit bit vector based on the received signal and it is denoted by

Furthermore, expression (A.1) can be rewritten as follows:There are four parts included in the integral of the above expression and the derivation details of each part are given as follows.

For the first part, we haveIn the above expression, the second equation holds because shown in (14) is Gaussian distributed probability density function with .

For the second part, we haveIn the above expression, the third equation is achieved based on the expression of shown in (A.2).

It can be seen that the third part and the fourth part have the same result as (A.5). Therefore, the mean squared error matrix in (A.3) is rewritten as

With equal probability input assumption, the expression of can be further denoted bywhere the variable is given by

The above analysis shows that it is difficult to derive the closed-form expression of . During the implementation of iterative codebook optimization algorithm in Section 4, is achieved from Monte Carlo simulations.

B. Details of Non-AWGN Channel Response and Codebook Expressions

The channel responses applied in non-AWGN scenario are given by

The optimized codebook matrices from to with mutual information equal to 6 bits are given by

C. Details of AWGN Channel Codebook Expressions

In AWGN channel, the optimized codebook matrices for factor graph in Figure 1 when SNR =10 dB are given by

In addition, Huawei codebook proposed in [30] can be given by the following superposition modulation matrices:

D. Signal Model of Figure 9 with

Based on the factor graph in Figure 9, the mapping matrix between the user nodes and subchannels is given by In AWGN scenario, the channel matrix is equal to above . After column extension, the following is achieved:

With , the bit vector of the th user, , is given by The corresponding codebook , is a matrix. Consequently, the overall block diagonal codebook matrix is given by Based on the above analysis, the received signal is given by where collects all the users’ information bits with .

In addition, the multiuser access model can be further denoted by where is column-extended result of the th column of and it is given by

According to the above expression, the proposed iterative codebook optimization algorithm can be implemented.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (61601047, 61671080, and 61771066).