# Iterative detection and decoding for SCMA systems with LDPC codes

###### Abstract

Sparse code multiple access (SCMA) is a promising multiplexing approach to achieve high system capacity. In this paper, we develop a novel iterative detection and decoding scheme for SCMA systems combined with Low-density Parity-check (LDPC) decoding. In particular, we decompose the output of the message passing algorithm (MPA) based SCMA multiuser detection into intrinsic part and prior part. Then we design a joint detection and decoding scheme which iteratively exchanges the intrinsic information between the detector and the decoder, yielding a satisfied performance gain. Moreover, the proposed scheme has almost the same complexity compared to the traditional receiver for LDPC-coded SCMA systems. As numerical results demonstrate, the proposed scheme has a substantial gain over the traditional SCMA receiver on AWGN channels and Rayleigh fading channels.

## I Introduction

Sparse code multiple access (SCMA) has attracted much attention since it is capable of supporting massive connections simultaneously, yielding a competitive candidate for Fifth Generation (5G) communications[1]. Commonly, SCMA can be viewed as a generalization of sparse spread CDMA[2], with a few numbers of nonzero elements within a signature. For an uplink SCMA system, when each user is assigned a specific codebook, the multiplexing becomes a superposition scheme which will obtain the shaping gain. However, on the receiver side serious multiple address interference (MAI) is the main obstacle to implement multiuser detection. The optimum maximum a posterior (MAP) algorithm obviously shows the best performance with considerable complexity. In order to tackle the high complexity of MAP algorithm, some low complexity algorithm are proposed to handle this NP-complete problem[3] within tolerable performance loss. Especially, thanks to the sparse structure of SCMA, the complex MAP formula can be solved iteratively with sum-product algorithm or message passing algorithm (MPA)[4].

Lately, in order to improve the bit error rate (BER) performance of SCMA, [5] has introduced the Turbo-principle, which is widely used in detection and decoding problems such as joint source-channel coding [6, 7] and multiuser detection [8, 9], to exchange information between the SCMA detector and the channel decoder. However, the proposed Turbo-like scheme in [5] doesn’t take full advantage of the iterative structure of SCMA detection and suffers from high complexity proportional to the number of outer iterations. For the sake of taking full advantage of the iterative characteristic of SCMA detection, we need a kind of channel coding which applies iterative decoding. Low-Density Parity-Check (LDPC) codes which are excellent error correcting codes providing a large coding gain [10] and adopt iterative decoding, are especially suitable for our requirments.

The goal of this paper is to apply a novel Turbo-like combination of SCMA multiuser detection and LDPC decoding. The difference from [5] should be noted that this paper do a novel Turbo-like combination of iterative detection and iterative decoding, i.e, during each outer loop only partial inner iterations in detector and decoder are implemented, to obtain a satisfied performance gain with almost the same complexity compared to the receiver without Turbo-like scheme. Firstly, we investigate in detail the MPA-based SCMA multiuser detector from the perspective of solving marginal function and then deduce the SCMA multiuser detection algorithm in logarithmic form. Furthermore, the intrinsic information is decomposed from the output of both SCMA multiuser detector and LDPC decoder and the way intrinsic information interacts between detector and decoder is presented. As numerical results show, this scheme achieves a 0.9 dB performance gain in terms of BER with almost the same complexity for both AWGN channels and Rayleigh fading channels compared to traditional receiver for LDPC-coded SCMA systems.

For the sake of clarity, throughout this paper, the sets of binary and complex numbers are denoted by and , respectively. Upper-case calligraphic symbols denote constellation sets and log denotes natural logarithm. To represent a scalar, a vector and a matrix, we use , and , respectively.

## Ii System model

We consider an uplink LDPC-coded SCMA system with users and resources, and signaling through fading channels with additive white Gaussian noise (AWGN), as shown in Fig. 1.

For each user , = 1, , , data bits {} are first encoded into {} by an LDPC encoder with code rate . In order to reduce error bursts and take advantage of diversity gain, the coded bits are permuted by an interleaver . Every log interleaved coded bits is grouped together and then mapped by SCMA mapper into a -dimensional complex symbol as : with cardinality = . Because of the sparsity of SCMA, a -dimensional symbol consists of non-zero elements, each corresponding to an OFDMA tone or other resources. For the receiver end, the received siganls are the superposition of users’ signals and ambient noise, which can be written in a discrete-form, if memoryless channel considered, as

(1) |

where is the received signal vector, is the channel vector for user , is the symbol transmitted by user , and is a white Gaussian noise vector subject to . Apparently, from (1) the received signal at resource can be written as

(2) |

It is easy to recognize from (2) that each user sees interference from other users. However, since the signal vector from arbitrary user is sparse, i.e., not all users contribute to the k-th resource, the interference is hence reduced and (2) can be re-written as

(3) |

where denotes the users contributing to the -th resource, called the neighborhood of node , and this relationship which is decided by the SCMA mapper can be presented by factor graph and indicator matrix . Let and be the number of resources occupied by user and the number of users resource is connected, respectively. For the sake of clarity, we give an example of SCMA factor graph. Assuming for all and for all , the factor representation is shown as Fig. 2, and the corresponding indicator matrix is

therein, means resource is occupied by user .

It’s observed that this factor graph is regular, i.e., all the user nodes have the same degree, so do the resource nodes. It should be emphasized that this regular structure may not be the best, in another word, it’s possible for a irregular structure to play a better performance if there are diversities between the quality of different resources. In this paper, however, our attention is only focused on regular SCMA structure, but some of the results can be easily extended to the irregular scenario and the irregular structure will be our future work.

## Iii Iterative detection and decoding

In this section, we analyse SCMA detection based on MPA iterative algorithm, and propose an effective combination method of SCMA multiuser detection and LDPC decoding.

### Iii-a SCMA detection

Firstly, we describe why the MPA algorithm can be applied to SCMA detection from the perspective of solving marginal function. Given received signal and assuming ideal channel estimation, a SCMA detection based on MAP is to choose a matrix to maximizing the joint pmf, which is expressed as

(4) |

where denotes the set of all possible symbols, i.e., the -th column of is the set described in Section II. In order to estimate the information of user , we can choose a to maximize the marginal pmf with respect to as

(5) |

Applying Bayes’s rule, we can get

(6) |

(7) |

The last equation follows the fact that the elements of noise vector is identically independent distributed (i.i.d.) and uncorrelated with transmitted symbols, hence once the transmitted symbols are given, different dimension of received signal are independent.

Since is influenced by parts of users, i.e., users from , equation (5) can be reduced to

(8) |

Furthermore transmitted symbols from different users are independent, can be written in a product form as , and it’s clear that the sum terms in equation (8) can be given by

(9) |

Traditionally, to solve equation (8) needs operations where redundant computing exits. Because of the product form (9), thanks to the method in [4], we can solve a marginal function problem of multivariable function like (8) iteratively based on factor graph, which is usually called sum-product algorithm or MPA algorithm. Each node in the factor graph sends “belief message” to its neighbors during each iteration and the “belief message” shouldn’t be sent back during the next iteration, hence the inference can be made sufficiently in the graph after some iterations. It should be emphasized that when the factor graph of equation (9) is cycle-free MPA algorithm is able to produce the accurate marginal function [2], but for the factor graph with cycles this algorithm is suboptimal.

The iterative SCMA multiuser detection algorithm based on MPA is presented in algorithm 1.

(10) |

(11) |

Therein£¬ “” denotes the neighborhood of node excluding node and the notation “” denotes sum over all possible values of for all . In this algorithm, we assume all possible symbols are equiprobable, that is to say there is no prior information. When prior information is provided by channel decoder as described later, should be updated. For the convenience of implementation, we then derive the SCMA detection algorithm in logarithmic form, given prior information in the form of the log-likelihood ratio. Note that one of our goal is to decompose the output of SCMA detector into intrinsic information and prior information in order to do a novel Turbo-like combination with LDPC decoder in subsection .

Once the prior information is given, here the superscript “s” denotes the LLR is with respect to symbol, the posterior probability of can be written as

(12) |

where is a constant during each inner loop of SCMA detection. Comparing equation (6) with (12), it’s easy to show that only the initialization part of algorithm 1 should be modified when prior information is available. Then “” should be replaced by “”. Let us fix a reference point , which denotes all “1” transmitted to facilitate the following deduction, for each user . Let and be the information in logarithmic form from user node to resource node and from resource node to user node , respectively, then,

(13) |

(14) |

In equation (14), . And in the final round, the output of SCMA detector is

(15) |

Hence, the output can be decomposed into two parts: one is the prior information and another is the intrinsic information derived from the structure of SCMA factor graph. From another perspective, the LLR of given prior information can be written as

(16) |

It is apparent that also consists of two parts, the intrinsic parts and prior parts. when using MPA SCMA detection, we apply the term to approximate .

### Iii-B LDPC decoding

In this section, we briefly introduce the decoding process of LDPC for the sake of clear description of the combination of SCMA detection with LDPC decoder in the next section.

For LDPC is a sparse liner block code, it can be effectively expressed as factor graph which is a bipartite graph with check nodes and variable nodes. Take into consideration the complexity of implementation, LDPC decoder usually adopts BP algorithm using LLRs to reduce multiplication and avoid normalization. During each iteration, belief information is exchanged between variable nodes and check nodes based on check matrix. Let be the LLR of the -th bit of user input to the decoder, i.e., , then the output of LDPC decoder is

(17) |

where the notation denotes the set of parity check functions variable belongs to and is the belief information passed from check node to variable node in the final iteration. And the summation can be seen LDPC intrinsic information based on LDPC structure. Hence, the output of LDPC decoder can also be decomposed to intrinsic information parts and prior information parts. Note that to distinguish the information generated by SCMA detector and LDPC decoder, we use subscript “1” and “2” respectively.

In the following section, we’ll cope with some obstacle to implement the novel combination of SCMA detection and LDPC decoding and present the iterative scheme.

### Iii-C Combination of LDPC decoding and SCMA detection

From equation (15), the output of SCMA detector is at symbol level, but unfortunately the bit LLRs are required for input of LDPC decoder. In order to do a combination of LDPC decoding and SCMA detection, one problem we should deal with is the transformation between symbol LLRs and bit LLRs. The input to LDPC decoder should be intrinsic information parts of the multiuser detector output for a better performance like the decoding method for Turbo codes. Then another problem arises that the prior information part for a symbol comprise several bits’ prior information and for a specific bit of this symbol, the other bits’ prior information can be seen as intrinsic information, so we should decompose the output of SCMA detector into two parts, prior bit LLR and intrinsic bit LLR.

Here we assume that an SCMA symbol consists of bits. Without loss of generality, the interleaved coded bits for a symbol can be considered independent. For a specific symbol , let and . Then, the symbol LLR can be calculated based on bit LLRs as

(18) |

Let and denote the set of the symbols of which the -th bit corresponding to “0” and “1” for user , respectively. The bit LLR can be written as

(19) |

The last equation follows the fact that is a combination of and we can extract a same product term out of each sum term in the numerator.

Let and be the number of iterations of SCMA detector and LDPC decoder, respectively. The scheme of the novel iterative combination is described as follows. Besides outer iterations, this scheme consists of two inner stages: an SCMA detection stage with iterations, followed by LDPC decoding stage with iterations and the number of inner iterations of both stages can be much less than the number of iterations required by the SCMA receiver with or without traditional Turbo-like outer iterations. The two inner stages are connected by a connection module containing LLR converters, interleavers and deinterleavers. During each outer iteration, the symbol LLRs output by SCMA detector are converted into bit LLRs by LLR converter.In order to obtain a better performance, the intrinsic bit LLRs from SCMA detector should be extracted and then feed to the deinterleaver to get which is fed into LDPC decoder as prior information. The process to feed information from LDPC decoder output to SCMA detector is similar. During each outer iteration, the detector and decoder only do a few number of iterations, less than the receiver without Turbo-like scheme need, although the total number of iterations may be the same. We call this characteristics partial inner iterations. For example, numerical results in the next section show that to obtain a satisfied BER performance 8 iterations are needed in traditional SCMA receiver, but 2 inner iterations are enough in our scheme with 4 outer iterations and the BER performance is even better. Hence this iterative combination can achieve a more satisfied BER performance gain with almost the same complexity as shown in the next section. The connection module and the information flow of a special case where is shown as Fig.3. We call this special case mode 1. In particular, in mode 1 the detector does 1 demapping iteration and then the LLR goes to LDPC decoder through connection modules. The LDPC decoder only does 1 iteration and fed back the LLR to the detector. Then we goes to the next iteration between detector and LDPC decoder. The best number of inner iterations under the constraint of total iteration number is unsolved and will be our future work. Intuitively, the more outer iterations the more intrinsic information exchanged, and hence the better performance. However, it will be shown in the next section that when take the extreme case where the BER performance is poor. One reason may lie in the fact that if , it can be seen from Fig.3 that the information interacts in SCMA detector is far from sufficient, i.e., there is no red arrow line connecting user node 1 with user node 6. Hence, in this scenario the information given out from SCMA detector is particularly poor so that the information cannot be corrected by LDPC decoder with only 1 iteration.

### Iii-D Complexity analysis

In this section, considering regular SCMA systems, we evaluate the complexity of traditional scheme for LDPC-coded SCMA receiver and our proposed scheme, i.e., the average number of operations we need for each symbol. Since the main complexity is introduced by multiplication, division, logarithm and exponent operations, we mainly consider these four kinds of operations for real number. From equation (13) and (14), it is clear that each inner iteration of SCMA detection needs multiplication operations, division operations exponent operations and logarithm operations. For regular LDPC codes with 1/2 code rate, multiplications and divisions are needed during each iteration of decoding, [11], where P denotes the degree of variable nodes. For other kind of code rates, the order of complexity is the same [12]. exponent operations and logarithm operations are needed in connection module during each outer iterations and these operations are caused by the converting from symbol LLRs to bit LLRs. It is now obvious that the main complexity is introduced by SCMA detection. Let be the number of outer iterations. From the deduction above and ignore the lower oder terms, it is easy to get that the total number of multiplication operations is approximately equal to , division and exponent operations are both approximately equal to .

Here, with a slight abuse of notation, let the superscript t and p denote traditional scheme and proposed scheme, respectively. For the traditional scheme , and for the proposed scheme can be approximately equal to . Hence, the complexity of our proposed scheme is almost the same as traditional receiver for LDPC-coded SCMA systems.

## Iv Numerical results

In this section, numerical simulations are conducted to evaluate the performance of our proposed scheme. This simulation is based on the LDPC codes with finite block size. The regular systematic LDPC code in China Mobile Multimedia Broadcasting (CMMB) systems is used in the simulations [13]. The code length we adopted is 9216 bits and code rate is . Bit error rates (BER) over AWGN channel and Rayleigh fading channel with , and for all are presented. The user-specific codebooks are designed according to [14]. The channel coefficient is set to unit power for both AWGN channel and Rayleigh fading channel, i.e., . To keep numerically stable, when computing the term like , we adopt the equation as [15].

Here, we compare four different modes, of which the total number of iterations is almost the same excepting the mode 1 “”. The purpose to compare this mode with great difference in total iteration number is to show that the BER performance of this extreme case deteriorates seriously as shown in Fig. 4 and Fig. 5. This poor BER performance of Mode 1 is consistent with the analysis in the last section. Fig. 4 shows that the required of the Mode 2 to achieve a BER of is 4.5 dB on AWGN channels and 5.4 dB on Rayleigh fading channels, obtaining 0.3 dB gain over Mode 3 and 0.9 dB gain over Mode 4 on both kinds of channels. Note that Mode 4 is the traditional SCMA receiver scheme, i.e., there is no information fed back from decoder to detector. It can also be recognized that the BER waterfall region of Mode 3 is more narrow than Mode 4 and that of Mode 2 is even more narrow than Mode 3. The phenomenon that a better BER performance and more narrow waterfall region of Mode 2 and Mode 3 than Mode 4 owes to the ability of iterative combination that more diversity gain can be achieved. Note that the complexity of the last three modes is almost the same if ignore the complexity caused by interleaver. If let Mode 2 and Mode 4 have the same BER performance, Mode 2 should reduce the number of iterations. Hence the proposed iterative scheme can be viewed as a method to reduce complexity from another perspective.

## V Conclusions

In this paper, we have proposed a novel Turbo-like combination scheme of SCMA detector and LDPC decoding with almost the same complexity compared to traditional SCMA receiver (non-iterative structure). Firstly, we have investigated the SCMA detection algorithm based on MPA from the aspect of solving marginal functions and shown this MPA-based detection is an approximation of MAP criterion since the factor graph of SCMA is usually not cycle-free. Then the MPA-based SCMA detection in Logarithmic form as well as the intrinsic information of the output have also been deduced in order to apply a novel soft Turbo-like combination with LDPC decoder. The combination scheme is described in detail and the information flows of a special case are presented. Numerical results show that the proposed scheme can achieve an excellent performance gain and more narrow waterfall region in terms of BER compared with traditional SCMA receiver for both AWGN channels and Rayleigh fading channels.

## References

- [1] H. Nikopour and H. Baligh, “Sparse code multiple access,” in Proc. IEEE 24th Int’l. Symp. Personal Indoor & Mobile Radio Commun. (PIMRC), 2013.
- [2] D. Guo and C.-C. Wang, “Multiuser detection of sparsely spread CDMA,” IEEE J. Sel. Areas Commun., vol. 26, no. 3, pp. 421–431, 2008.
- [3] S. Verdu, Multiuser detection. Cambridge University Press, 1998.
- [4] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-product algorithm,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 498–519, 2001.
- [5] S. Z. Yiqun Wu and Y. Chen, “ Iterative Multiuser Receiver in Sparse Code Multiple Access Systems,” in Proc. IEEE ICC, Jun. 2015.
- [6] J. Hagenauer, “The turbo principle: Tutorial introduction and state of the art,” in Proc. Int’l. Symp. Turbo Codes & Related Topics, 1997.
- [7] J. Hagenauer and N. Gortz, “The turbo principle in joint source-channel coding,” in Proc. IEEE Inform. Theory Workshop, 2003.
- [8] X. Wang and H. V. Poor, “Iterative (turbo) soft interference cancellation and decoding for coded CDMA,” IEEE Trans. Commun., vol. 47, no. 7, pp. 1046–1061, 1999.
- [9] A. Sanderovich, M. Peleg, and S. Shamai, “LDPC coded MIMO multiple access with iterative joint decoding,” IEEE Trans. Inform. Theory, vol. 51, no. 4, pp. 1437–1450, 2005.
- [10] T. Richardson and R. Urbanke, “The renaissance of gallager’s low-density parity-check codes,” IEEE Commun. Mag., vol. 41, no. 8, pp. 126–131, 2003.
- [11] M. P. Fossorier, M. Mihaljević, and H. Imai, “Reduced complexity iterative decoding of low-density parity check codes based on belief propagation,” IEEE Trans. Commun., vol. 47, no. 5, pp. 673–680, 1999.
- [12] D. J. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inform. Theory, vol. 45, no. 2, pp. 399–431, 1999.
- [13] Z. Hu and H. Liu, “A low-complexity LDPC decoding algorithm for hierarchical broadcasting: design and implementation,” IEEE Trans. Veh. Technol., vol. 62, no. 4, pp. 1843–1849, 2013.
- [14] M. Taherzadeh, H. Nikopour, A. Bayesteh, and H. Baligh, “SCMA codebook design,” in Proc. IEEE 80th Veh. Technol. Conf. (VTC Fall), 2014.
- [15] R. Hoshyar, F. P. Wathan, and R. Tafazolli, “Novel low-density signature for synchronous CDMA systems over AWGN channel,” IEEE Trans. Signal Process., vol. 56, no. 4, pp. 1616–1626, 2008.