Skip to main content

Low-complexity hybrid interference cancellation for sparse code multiple access


Sparse Code Multiple Access (SCMA) is one of Non Orthogonal Multiple Access (NOMA) candidates for 5G, the fifth generation mobile network. Multiple overlapped blocks of SCMA code are transmitted per frequency layer which compels the receiver to cancel unwanted SCMA code blocks. Thanks to the sparsity of SCMA, Message Passing Algorithm (MPA) achieves near-optimal performance. Nevertheless, this process is time-consuming and has a high degree of complexity even if Max-Log Algorithm is used. The major contribution of this paper is to propose a new decoding scheme called Hybrid Interference Cancellation (HIC) to reduce time processing without degrading a target Bit Error Rate (BER). The HIC decodes and removes the strongest user, reducing the complexity of Log Domain MPA decoding of remaining users, followed by a Low Density Parity Code (LDPC) decoder. The interference cancellation decoder is either a hard interference cancellation or a soft interference cancellation. The originality of the paper is to calculate a threshold value based on power measurements to decide whether hard decoder or soft decoder should be used to reach the BER target with a lower complexity. Results show a significant reduction in terms of complexity as compared to the traditional MPA process for the same values of BER.



One of the key features of 5G is the support of massive connectivity [1]. SCMA is one of the promising Non-Orthogonal Multiple Access technique that can simultaneously support massive connectivity. In SCMA, multiple users share same frequency and time resources by the use of sparse codes. This method results in a higher spectral efficiency of the system compared to traditional Orthogonal Multiple Access (OMA) [2] and improves transmission capacity. Codebooks design and receiver algorithms are the main performance constraints in a SCMA system [3,4,5]. On the receiver side, Successive Interference Cancellation (SIC) [6] is used to distinguish users information (Multi-User Decoding, MUD [7]). SIC relies on Message Passing Algorithm (MPA) to achieve near optimal performance.

SIC has been implemented in [8,9,10]. However, it faces practical challenges, mainly due to errors propagation and latency. When an error occurs in the first signal decoding, this error is carried forward to all remaining users to be decoded. Secondly users are iteratively decoded which results in higher latency. Decoding performance and complexity also depend on the interference power level.

Based on iterative decoding, the challenges employing MPA are mainly due to computational complexity and latency.Several articles have proposed to overcome the challenges posed in MPA. Zhang et al. [11] demonstrates that complexity of MPA can be reduced by computing the extrinsic information in log domain and shifting MPA to Log-MPA. Ghaffari et al. [12] mentions that complexity and performance in terms of BER is improved in Log-MPA in contrast to MPA. Similarly, problems faced by SIC have also been addressed and Soft-SIC has been proposed in [13,14,15].

Other methods have been proposed to reduce the complexity of MPA. Zhang et al. [16] has worked on Deterministic Message Passing Algorithm to reduce complexity at the receiver whereas [17] has proposed expectation propagation algorithm. One of promising ways to improve complexity of MPA has been proposed in [18] for which complexity reduction is achieved by providing the initial values of Log-Likelihood Ratios (LLR) from the output of Soft-SIC decoder. This initiation step helps MPA to converge faster.


In this paper, we propose a new model based on a SCMA transmitter and a LDPC Decoder to reach low target BER. Several SCMA codebooks have been studied in our state of art. The novelty of our work is to propose a joint channel coding based on SCMA Nikopour codebook [3] scheme with LDPC decoder and to prove that Successive Interference Cancellation is not necessary when Signal Interference Noise Ratio (SINR) is greater than a threshold.

This threshold value based on power measurements is the criterion for choosing between soft or hard SIC to reach target BER after LDPC decoder with lowest complexity. The reduction in complexity is achieved with HIC which either decodes the strongest user by hard decoding or by soft decoding, it then does the interference cancellation and sends initial values of LLR to Log-MPA to decode the remaining users. Thus overloading is reduced which results in fewer number of iterations for message passing. In term of complexity, both SCMA demodulation and channel decoder should be studied to define the condition value to help HIC to choose between hard or soft SIC decoding.

The rest of the paper is organized as follow. In Sect. 2, after problem formulation, we present SCMA and LDPC implementation for errorless multi-user detection approach. In this Sect. 2, SCMA decoder is based on Signal Interference Cancellation. At the output, the reconstructed signals contain numerous errors and the target BER for each user is not reached. The LDPC decoder is used to correct each user’s stream to reach the target BER. Unfortunately, the more noisy is the received signal, higher is the number of errors and complex is the decoding since numerous iterations are needed. To estimate the number of iterations needed for the convergence of LDPC decoder in function of the level of noise power, we present in Sect. 2 the density evolution tool. A mathematical expression is given to compute the number of iteration.

To reduce the complexity, we propose in Sect. 3 the concept of hybrid decoder HIC-MPA. In this section, we estimate the complexity of decoder architecture taking into account both the level of Gaussian noise power and the received power of collapsed signals to define mathematically a threshold value used for HIC-MPA decoder decision. Our contribution is to find a mathematical decision based on SCMA and LDPC complexity according the received signals in noisy channel. Simulation results are discussed in Sect. 4 to compare performance in terms of BER. Finally, Sect. 5 concludes the paper.


System model and problem formulation

On the transmission side, the model is based on a LDPC-SCMA system [16] where J users share K frequency layers (see Fig. 1). Let \(d^j_{m_o} | m_o=1,\ldots ,m\) the input data bits of user j, for \(j=1,\ldots ,J\) and \(b^j_{n_o} | n_o=1,\ldots ,n\) the output LDPC encoded data of user j, with code rate efficiency \(R=m/n\). Each encoded binary data bits \(b^j_{m_o}\) is grouped to \(\log _2(M)\) bits and a mapping is done as \(f:{{\mathbb {B}}^{\log _2(M)}}\rightarrow \mathbf {\chi }\), \({\varvec{x}}=f({\varvec{b}})\) where \({\mathbf {\chi }}\subset {{\mathbb {C}}^K}\). The K-dimensional complex codeword \({\varvec{x}}\) is a sparse vector also named SCMA code with \(N < K\) nonzero entries. The sparsity of SCMA code leads to sharing of each frequency layer among \(d_J\) users. In the sequel, \(d_J\) is the numbers of interference signal per frequency layer k.

Fig. 1
figure 1

System SCMA [16]

The efficiency of SCMA is defined by the overlapping factor \(\lambda = \frac{J}{K}\). Each SCMA code is spreaded over N frequency layers over K, which results to \(d_J=\frac{J*N}{K}\) overlapped LDPC messages on each frequency layer.

Let F the mapping matrix (graph model) which represents the K*J resource allocations by a boolean parameter: if \(F_{ij}=1\) then only user j transmits a codeword on the resource frequency layer i.

Since, each user has its own unique codebook, each codebook selection is depending on incoming \({\log _2(M)}\) grouped data, there are \(M^{\frac{J*N}{K}}\) possible combinations.

The SCMA encoder maps N dimensional constellation point to a K dimensional codeword. The received signal after multiplexing can be expressed as

$$\begin{aligned} {\varvec{y}}=\sum _{j=1}^{J}{\text {diag}}({\varvec{h}}_{\varvec{j}}){\varvec{x}}_{\varvec{j}}+{\varvec{n}} \end{aligned}$$

where \({\varvec{x}}_{\varvec{j}}=(x_{1j},\ldots ,x_{Kj})^T\) is the SCMA codeword of user j, \({\varvec{h}}_{\varvec{j}}=(h_{1j},\ldots ,h_{Kj})^T\) is the channel model and n is a white additive noise modelled by a Gaussian complex random variable with zero mean value and variance equal to \(\frac{N_0}{2}\) for each real and imaginary part.

Fig. 2
figure 2

Uplink J-Users

NOMA allows multiple users to simultaneously transmit their signals on the same frequency layer to a common receiver, resulting in signal overlapping in both time and frequency domains. On the receiver side, the receiver estimates the Received Signal Strength Indicator (RSSI) and Reference Signal Received Power (RSRP) and compares RSRP/RSSI measurements to a threshold value. These measurements define whether MUD detection has to be done to all overlapping signals or hard detection could be done for the stronger signal (and SIC for the others overlapping signals). The output signals of SCMA decoder are then processed with LDPC decoder.

We suppose that J active mobile users simultaneously transmit messages to a base station as illustrated in Fig. 2

SIC: multi-user decoding using signal interference cancellation

Once optimal powers have been allocated to each user in Uplink NOMA system, Eq. (1) becomes as

$$\begin{aligned} {y}=\sum _{j=1}^{J}\sqrt{p_j}{|h_j|}{x_j}+{n} \end{aligned}$$

According to [19, 20] we assume that Channel State Information (CSI), which refers to channel properties, is perfectly available at the transmitter side ( closed-loop from reference signal).

Without loss of generality, we suppose the decoding is in order of decreasing received power index, satisfying the following equation:

$$\begin{aligned} {p_J}{|h_J|}^2>{p_{J-1}}{|h_{J-1}|}^2>\cdots > {p_1}{|h_1|}^2 \end{aligned}$$

In literature, we can find the same decoding order [21]. SIC receiver aims at decoding iteratively the strongest received signal. According to 2, the received signal depends on the power of the transmitter with attenuation of the channel. In downlink direction, the same channel coefficient is applied for each user, so ordering is only done by channel attenuation but in Uplink direction, the received power depends both on channel coefficient and the transmitted power of each user.

The received signal on frequency layer k is the sum of overlapped SCMA blocks. SIC aims at recovering the messages of user j, by successively substracting the received signal y to \(d^{th}_{j+1}\), ..., \(d^{th}_{J}\) users interferences on frequency layer k according to:

$$\begin{aligned} y-\sum _{i=j+1}^{d_J}\sqrt{p_i}{|h_i|}{x_i}=\sum _{i=1}^{d_j-1}\sqrt{p_i}{|h_i|}{x_i}+n \end{aligned}$$

Figure 3 gives a synoptic of the J-user SIC scheme.

Fig. 3
figure 3

J-user SIC receiver

According to Message Passing Algorithm, SIC decodes SCMA signal into 3 steps [22, 23]:

Initialization At the first step, SIC assesses conditional probability taking into account all messages of colliding users. As a result, for \(d_J\) interference signals per frequency layer:

$$\begin{aligned} P_k(y_k|x_{k,1},x_{k,2}, \ldots , x_{k,d_J},N_0)=\exp ^{\frac{||y_k-\left( \sum _{j=1}^{j=d_J}\sqrt{p_j}.h_j.x_{k,j} \right) ||^2}{N_0}} \end{aligned}$$

where \(y_k\) is a received symbol of the code y at the frequency layer k and \(x_{k,1},\ldots , x_{k,d_J}\) denote overlapped SCMA codes, \(h_j\) is the channel coefficient of the user j. \(N_0\) is the noise power density.

Iteration An SCMA codeword encodes \(\log _2(M)\) LDPC bits. In each frequency layer k called \(L_k\), when \(d_J\) multi-users signals are transmitted, the probability of the receive message \(m_{k,i}\) for user i, called \(U_i(m)\) should be compared with M possible transmitted messages of each interference user \(m_{k,1}\) to \(m_{k,d_J}\) except \(m_{k,i}\). The marginal probability is:

$$\begin{aligned} I_{L_k->U_i(m)}&=\sum _{m_1=1}^{M}\cdots \sum _{m_{i-1}=1}^{M}\sum _{m_{i+1}=1}^{M}\cdots \sum _{m_{d_J}=1}^{M} \\&\quad P_k.I_{U_1(m)->L_k}I_{U_{i-1}(m)->L_k}I_{U_{i+1}(m)->L_k}I_{U_{d_J}(m)->L_k} \end{aligned}$$

Once Marginal probability is assessed, a belief message is passed from user i to frequency layer k.

Extrinsic estimation: Symbol of user Probability. At the last step, the final probability of symbol of each user is calculated from the probability of this specific symbol estimated in the possible frequency layers, i.e. from the frequency layer \(k_1\) to the last frequency layer \(k_L\), with \(card(k_1, \ldots , k_L)=N\), N is the number of nonzero entries of SCMA code.

$$\begin{aligned} Q_{L_j}=\prod _{l=k_1}^{l=k_L} I_{L_l->U_j(m)} \end{aligned}$$

Max-Log Algorithm The previous algorithm suffers from complexity and latency. Jacobi’s logarithm formula gives an easier estimation [24, 25]:

$$\begin{aligned} \log \left( \sum _{i=1}^{i=N} \exp (f_i) \right) \approx \underset{i=1,\ldots ,N}{\max }(f_1, f_2, \ldots , f_N) \end{aligned}$$

Taking an advantage of Log operation, initialization is estimated according to the square distance between the receive message \(y_k\) and all the possible messages:

$$\begin{aligned} P_k(y_k|x_{k,1},x_{k,2}, \ldots , x_{k,d_J},N_0)=\frac{||y_k-\left( \sum _{j=1}^{j=d_J}x_{k,j} \right) ||^2}{N_0} \end{aligned}$$

With Log operation, iterations for updating the resource nodes are estimated from addition instead of multiplication.

Nevertheless, SIC algorithm is also time consuming and complex. One way to reduce complexity is to reduce the number of interference. Then noise and interference are seen as Gaussian noise (central limit theorem):

$$\begin{aligned} \sqrt{p_J}{|h_J|}{x_J} + \sum _{i=1}^{d_J-1}\sqrt{p_i}{|h_i|}{x_i}+{n}= \sqrt{p_J}{|h_J|}{x_J} + \gamma _k \end{aligned}$$

where \(\gamma _k=\sum _{i=1}^{d_J-1}\sqrt{p_i}{|h_i|}{x_i}+{n}\) is the equivalent noise for user-\(J's\) decoding at frequency layer k.

In practical scenarios SIC faces error propagation. This is one of the main challenges, since there is always a probability that decoding error might occur and when this error does occur, it is carried forward to remaining users while performing interference cancellation. Another issue faced by conventional SIC is higher latency due to cancellation process. According to Eqs. (3) and (4) user J is decoded first, followed by decoding of user \(J-1\) thus user 1 is decoded at the end, which brings higher latency to the system.

Regular LDPC

Let \(d^j_{m_o} | m_o=1,\ldots ,m\) denotes the input LDPC encoder data bits of user j, for \(j=1,\ldots ,J\) and \(b^j_{n_o} | n_o=1,\ldots ,n\) the output LDPC encoded data.

The LDPC decoder aims at recovering \(d^j_{m_o} | m_o=1,\ldots ,m\) from noisy encoded data. We denote Variable Node (\({\text {VN}}_j\)) the message information of the jth output bit and Check Node (CN) the parity check involving \(d_{\mathrm{c}}\) bits.

  • \(d_c\) denotes the number of neighbours of a check node;

  • \(d_v\) denotes the number of neighbours of a variable node.

According to [30], decoding a LDPC code is performed with the Sum-Product Algorithm (SPA). SPA is also based on message passing between the CNs and VNs.

Initialization: For each VN (1 to n), a priori log probability LLR is calculated by the decoder using the following equation:

$$\begin{aligned} {\text {LLR}}({\text {VN}}_k)=log \left( \frac{P({y_k|x_k=0})}{P(y_k|x_k=1)} \right) \end{aligned}$$

With a perfect knowledge of the channel at the receiver and assuming Gaussian noise, then

$$\begin{aligned} L_k={\text {LLR}}({\text {VN}}_k)=\frac{2.y_k}{\sigma ^2} \end{aligned}$$

where \(\sigma ^2/2\) is the variance of the noise.

Then Belief Propagation (BP) decoding exchanges messages between VN and CN and messages are updated iteratively.


CN proceeding: In this step each check node \({\text {CN}}_i\) computes messages to be sent to \({\text {VN}}_j\) from its \({\mathcal {N}}_{i}\) variable node neighbours except \({\text {VN}}_j\) according to:

$$\begin{aligned} L_{i->j}=\prod _{k=1}^{{\mathcal {N}}_{i}-j} {\text {sign}}(L_{k->i})\min _{{\mathcal {N}}_{i}-j}.\left( |L_{k->i}|)\right) \end{aligned}$$

VN proceeding: In this step each variable node \({\text {VN}}_j\) computes messages to be sent to \({\text {CN}}_i\) from it’s \({\mathcal {N}}_{i}\) variable node neighbours except \({\text {VN}}_j\) according to:

$$\begin{aligned} L_{j->i}=\sum _{k=1}^{{\mathcal {N}}_{j}-i} L_{k->j}+L_j \end{aligned}$$

where \({\mathcal {N}}_{i}\) is the check node neighbours of \({\text {VN}}_j\) except \({\text {CN}}_i\)

LDPC convergence: density evolution

Generally, BER expressions can not be expressed due to iterative MPA. To simplify the analytical process, we consider Gaussian Approximation (GA): each VN (\(L_{i->j}\)) is modelled with the same Gaussian distribution function. Moreover, with memoryless output-symmetric channel assumption, the variance value is two times the mean value [26]. As a result, only the mean value or variance value of variable node needs to be iteratively updated.

Let: \(\Phi\) function : \(\phi (x)=-\ln \left( \tanh (\frac{x}{2}) \right)\).

According to [31], since each VN has the same Probability Density Function, at loop l the variance can be computed as:

$$\begin{aligned} \mu ^{\mathrm{VN}}(l)&=\mu _0+(d_v-1)*\mu ^{\mathrm{CN}}(l-1) \end{aligned}$$
$$\begin{aligned} \mu ^{\mathrm{CN}}(l)&=\Phi ^{-1}(1-(1-\Phi (\mu ^{\mathrm{VN}}(l)))^{d_c-1}) \end{aligned}$$

Both the equations can be written with the help of a recurring function:

$$\begin{aligned} \mu ^{\mathrm{CN}}(l+1)=f \left( \mu ^{\mathrm{CN}}(l) \right) \end{aligned}$$


$$\begin{aligned} f(x)=\Phi ^{-1} \left( 1-(1-\Phi (\mu _0+(d_v-1).x))^{d_c-1} \right) \end{aligned}$$

Let \(d=[d_1, d_2, \ldots , d_n]\) an LDPC codeword with normalized power \(\sigma _d=1\) and let \(y=d+n\) with an additive Gaussian noise and SNR the Signal to Noise power Ratio. The limit \(f(x_l)=x_l\) of Eq. (17) gives the lower bound of \(SNR=x_l\) for which the LDPC decoder is able to recover the transmitted codeword d without error after an infinite iterations. The number of iterations to decode the signal successfully, depends on the initial condition \({\text {SNR}}=\mu _0\).

In the sequel, the loop iteration (CN and VN proceeding) is done until a codeword has been found or a maximum number of iterations has been reached.

The performance of LDPC can be defined according to Density Evolution (DE) tool. In [27, 28], Density Evolution is performed to obtain the SNR threshold and GA is performed to derive the BER expression. Then, error probability can be estimated according to the following equation:

$$\begin{aligned} P_e=0.5.erfc \left( \sqrt{\frac{\mu ^{\mathrm{VN}}(l))}{2}}\right) \end{aligned}$$

Richardson and et al. [27] estimated the limit value \(x_l\) for which if \(\mu _0 \ge x_l\) then LDPC always converge. Table 1 gives \(x_l\) values for different LDPC configurations.

Table 1 LDPC convergence limits for different values \(d_v\), \(d_c\)

Even if LDPC converges, the number of iterations to successfully decode the signal may be very large. Stopping the LDPC decoder at first iteration for example, leads to numerous errors depending on SNR. Let \(P_e\) the target BER at the output of LDPC decoder, the difference \(\epsilon\) between the limit \(x_l\) and the value \(\mu ^{\mathrm{VN}}(l)\) at iteration \(l=N_\epsilon\) for which BER is achieved, allows to estimate a lower bound of iteration loop number \(N_\epsilon\) of iterative LDPC decoding:

$$\begin{aligned} N_\epsilon \ge \frac{\ln (\epsilon )}{\ln \left( \left( \frac{{\mathrm{d}}f}{{\text {d}}x}\right) {x = \mu _0} \right) } \end{aligned}$$

with \(\epsilon =|x_l-\mu ^{\mathrm{VN}}(l)|\) and \(\mu ^{\mathrm{VN}}(l)=2.erfc^{-1}{(2.P_e)}^2\).

In the next section, we propose complexity model of the receiver.

Complexity model

The Hybrid Interference Cancellation (HIC) is composed of two parts: The first one (Sect. 3.1) proceeds to decode each user signal from overlapped signal. Due to interference, each decoded signal has errors. To reduce BER, LDPC decoder (Sect. 3.2) is used for each user signal.

The Sect. 3.1 presents the HIC decoding either with hard decoding (Sect. 3.1.1) or SIC decoding (Sect. 3.1.2). In Sect. 3.1.3, we propose a complexity model.

After that, the LDPC decoder (Sect. 3.2) receives and estimates HIC signal for user j and decodes it to estimate the best probability errorless transmitted signal \(d^j_{m_o} | m_o=1,\ldots ,m\).

Fig. 4
figure 4

Joint HIC-Log MPA decoding

The decoder scheme shows the complete process, where LDPC decoding is done for each user at the output of Log-MPA decoder as presented of Fig. 4. Concerning the complexity, Hard decoding is less complex compared to SIC decoding but the BER of it is greater which yields to more iterations for LDPC decoder.

HIC decoding complexity

Hybrid Interference Cancellation model is a combination of hard and soft decoding. If SINR is greater than a threshold, then the strongest signal is first hard decoding and the remaining signals, (\(d_{J-1}\) users) are decoded with SIC decoder. If SINR is lower than the threshold, then only SIC decoder is used to decode \(d_J\) users per frequency.

Firstly, whatever is the decoder (Soft or Hard), the euclidean distances \(\Gamma (k,m)\) between the received signal at layer frequency k and all possible expected received codewords (from 1 to m) is estimated (Fig. 5).

$$\begin{aligned} \Psi _k(y,m,h)=\frac{{|(y_k-\sqrt{p_{k,j}}h_{k,j}x_{k,m,j})|}^2}{2 \times \sigma _{\mathrm{eq}}} \end{aligned}$$

where k is the kth frequency layer, j is the jth user in the frequency layer which is considered to be the strongest received signal, m the length of SCMA codeword and \(\sigma _{\mathrm{eq}}=\sum _{i=1}^{J-1}\sqrt{p_i}|h_i|^2+N_0\) with \(N_0\) is the power of white additive noise.

Fig. 5
figure 5

Joint HIC-Log MPA decoding

If channel is perfectly known, hard decoding process is easier and

$$\begin{aligned} \Gamma _{k,m,h}=|(y_k-\sqrt{p_{k,j}}h_{k,j}x_{k,m,j})|^2 \end{aligned}$$

Hard decoding

Hard decoding is based on Gaussian Approximation (GA) which consider users interference as a Gaussian noise. We suppose decreasing user channel index as Eq. (3).

To decode user J, Eq. (2) is considered as:

$$\begin{aligned} y=\sqrt{p_J}{|h_J|}{x_J}+\sum _{j=1 }^{J-1}\sqrt{p_j}{|h_j|}{x_j}+{n} \end{aligned}$$

The above equation can be written as \(y=\sqrt{p_J}{|h_J|}{x_J}+I\) where I is the interference from other users and noise.

On the basis of Eq. (21), LLR values are estimated only for the best received signal per frequency layer.

The complexity of hard decoding for the stronger signals (log domain) is:

$$\begin{aligned} \begin{aligned} M*K*3 \end{aligned} \end{aligned}$$

When hard decoder is used, signal superposition of \(d_J-1\) users in each frequency layer is left. The values of LLR for remaining \(d_J-1\) users are sent to SIC decoder.

Successive interference cancellation complexity model

SIC algorithm runs in 3 steps:

Initialization At each frequency layer, initialization aims at estimating error probabilities of the received signal for all possible messages \(x_{k,j}\) of each interference users (\(d_J\) interference users).

Assuming that both noise power and equalization are estimated, then for one layer frequency, one user and for one M-uple message decoding, the log complexity is \(d_J+1\) additions and \(d_J+2\) multiplications.

As a result, initialization complexity of SIC is estimated to:

\(M^{d_J}*d_J*K*\left( 2d_J+3\right)\)

Iteration The Marginal probability is computed for each layer k, for each message \(m_i\) and for each user i. As a result, the log Marginal probability complexity of SIC system is \(d_J*M^{d_J+1}*K+J*M*\log _2(M)*(2*M+1)\) at each iteration.

Extrinsic estimation

The complexity of the extrinsic estimation is \(\left( (2+d_J)M+\log _2(M)\right) J\).

As a result, the SIC complexity per symbol is:

$$\begin{aligned} \begin{aligned} M^{d_J}*d_J*K*\left( 2d_J+3\right) +\left[ (2+d_J)M+\log _2(M)\right] J+\\ N_{\mathrm{iter}}\left[ d_J*M^{d_J+1}*K+J*M*\log _2(M)*(2*M+1)\right] \end{aligned} \end{aligned}$$

where \(N_{\mathrm{iter}}\) is the number of iterations of MPA message.

After that, the threshold stage is used to define if hard decoding can be used for the strongest signal.

Threshold estimation

Based on these values of LLR, soft symbol \({\hat{x}}_J\) is calculated for stronger user in each frequency layer. The complexity is estimated according to Eq. (24).

Once the best signal is decoded, the complexity of HIC-SCMA is similar to SIC decoder (Eq. 25) with \(d_J-1\) users instead of \(d_J\) users, which results in a complexity reduction:

$$\begin{aligned}&M*K*3+M^{d_J-1}*(d_J-1)*K*\left( 2d_J+1\right) +\left[ (1+d_J)M+\log _2(M)\right] J\\&\quad +N_{\mathrm{iter}}\left[ (d_J-1)*M^{d_J}*K+J*M*\log _2(M)*(2*M+1)\right] \end{aligned}$$


$$\begin{aligned} \Upsilon _{k,m}=\sqrt{p_{k,m,J}}|h_{k,m,j}|x_{k,m,J} \;\forall \ k=1,\ldots ,K \& \; m=1,\ldots ,M \end{aligned}$$

where J is the best received signal user.

According to Eqs. (21) and (22) , only SINR measurement is available to define a rule between soft detection and hard detection. To find it out, we first compute euclidean distance between the estimated soft symbol and all possible outputs computed in Eq. (28):

$$\begin{aligned} \Gamma _{k,m}=|\Upsilon _{k,m}-{\hat{x}}_{k,j}|^2 \;\forall \ k=1,\ldots ,K \& \; m=1,\ldots ,M \end{aligned}$$

Equation (28) defines the Euclidean distance between the received signal y and all possible transmitted SCMA code (m = 1 to M) for only one user (the strongest received signal). Among M possibilities, we suppose that the minimum \(\Gamma _{k,m}\) is the SINR of the reconstructed signal: \({\text {SINR}}_{d_j}=\min (\Gamma _{k,m})\)

For a target BER and a LDPC decoder, we define a threshold value \(\Gamma\) for which if the following inequalities are satisfied, then Hard decoding can be used for the strongest signal:

$$\begin{aligned} \Gamma _{k,m} \geqslant \Gamma \end{aligned}$$

After interference cancellation, the estimated signals are transmitted to LDPC decoder. Equation (20) gives a lower bound of iteration loop \(N_{\epsilon }\) for which the LDPC decoder converges to the target probability error.

For a regular LDPC(3,6), whose efficiency is 1/2, Fig. 6 shows BER versus SNR when several iterative processes are done. For example, to reach a target BER \(Pe=10{-10}\) for SNR = 4 dB then at least 6 iterations are needed.

Fig. 6
figure 6

BER versus SNR for different iterations loop of a regular LDPC(3,6)

If LPDC does not converge after \(N_{\epsilon }\) iterations, then the collapsed signal cannot be estimated and BER increases with decreasing channel user index.

Let \(D_{K,M}\) the decision matrix. \(D_{K,M}\) is initialized as zero matrix and Value of \(D_{k,m}\) is set to 1 for the points where Eq. (28) is satisfied. Values from decision matrix are used to decide between hard estimation or soft estimation as presented in the following algorithm 1

figure a

Interference cancellation (IC) is performed at each time interval instead of waiting for the whole input of user to be decoded for performing IC.

LDPC complexity

Concerning complexity, for a LDPC(mn) the number of VN is n and the number of CN is \(n-m\). As a result, using Sum Product Algorithm (SPA), the complexity can be approximated by [29]:

  • Initialization 3n operations (multiplication and division)

  • CN Update: \((2d_c-1+n.d_v).(n-m)\) operations

  • VN Update: \(d_v.n\) operations

  • Hard comparison: n operations

As a result, the LDPC complexity to decode one LDPC stream with target \(P_e\) is estimated by

$$\begin{aligned} 4n+N_\epsilon .\left[ 2\left( d_c-1+n.d_v\right) .\left( n-m\right) +d_v.n\right] \end{aligned}$$

with \(N_\epsilon\) defined in Eq. (20).

Complete receiver complexity or Joint HIC-LDPC complexity

On the receiver side, either SIC or HIC-MPA is first executed to separate each user. After SCMA decoding, LDPC is used for each user stream to recover the transmitted signal.

Equation (25) gives the algorithm complexity for SIC decoding per symbol. Equation (26) gives the algorithm complexity for HIC-MPA decoding per symbol. As a result, the difference of complexity between SIC and HIC-MPA per symbol is given by the following equation:

$$\begin{aligned}&\Delta _{\mathrm{HIC-MPA}}=M*J-3*M*K\\&\quad +M^{d_J-1}*(2d_J+1)*(d_J-1)*K* [M*\frac{d_J}{d_J-1}*\frac{2d_J+3}{2d_J+1}-1]\\&\quad +N_{\mathrm{iter}}*(d_J-1)*M^{d_J}*K*[\frac{d_J}{d_J-1}*M-1]\end{aligned}$$

Let \(N_{\mathrm{iter}}\) the number of iterations of SIC iterative decoding, M the codebook size, \(d_J\) the degree of signal superposition in each frequency layer, K the number of frequency layers.

Even if complexity of HIC-MPA is lower than SIC, the LDPC decoder needs more iterations to recover errorless signal (6). In the sequels, we aim at finding conditions for which joint decoder is less complex than SIC decoding. The condition is based on SNR and SINR power levels.

In the sequels, SNR refers to the global power of received overlapped SCMA codebook over noise and SINR refers to the power of one SCMA block over noise.


  • \(N_{\epsilon }\) the number of iterations estimated at LDPC decoder to reach a target BER according to Eq. (20),

  • \({\text {SNR}}^k=\frac{P_T^k}{N_0}^k\) where \(P_T^k\) is the cumulative power of each user at frequency layer k on the receiver side and \(N_0^k\) is the noise power at frequency layer k.

We note that \(P^k_j=\alpha ^k_j*P_T^k\), where \(\alpha _j^k\) is the fraction of power for user j of the receiver at frequency layer k.

For the sake of simplicity, the frequency layer reference k is not used in the sequel. In case of \(d_J\) interference signals, without loss of generality, we suppose that \(\alpha _{d_J} \ge \alpha _{d_J-1} \ge \cdots \ge \alpha _{1}\). The SIC algorithm aims at recovering each user information \(d_j\) by successive iterative cancellation when received signal is considered to be \(y=\sum _{j=1}^{d_J}d_j+n\) with n as a Gaussian noise and \({\text {SNR}}=\frac{P_T}{N_0}\) defines the power of cumulative \(d_J\) received signals over the Gaussian noise power.

Let \({\text {SINR}}_{d_J-j}\) the SINR of resulting signal after \(d_J-(j+1)\) cancellation : \(y(j)=d_{J-j}+\sum _{l=1}^{d_J-(j+1)}d_l+n\) .

$$\begin{aligned} {\text {SINR}}_{d_J-j}=\frac{P_{d_J-j}}{N_0+\sum _{l=1}^{d_J-(j+1)}.P_l} \end{aligned}$$

With the following notation, \(P_j=\alpha _j*P_T\), we can write

$$\begin{aligned} {\text {SINR}}_{d_J-j}=\frac{\alpha _{d_J-j}}{1/SNR+\sum _{l=1}^{d_J-(j+1)}\alpha _l} \end{aligned}$$

For \(j=0\) (strongest received signal decoding first):

$$\begin{aligned} {\text {SINR}}_{d_J}=\frac{\alpha _{d_J}}{\frac{1}{{\text {SNR}}}+\sum _{l=1}^{d_J-1}.\alpha _l} \end{aligned}$$

Since \(\sum _{l=1}^{d_J} \alpha _j=1\) then the last equation can be written:

$$\begin{aligned} {\text {SINR}}_{d_J}=\frac{\alpha _{d_J}}{\frac{1}{{\text {SNR}}}+1-\alpha _{d_J}} \end{aligned}$$

For a target BER \(P_e\), the number of iterations \(N_\epsilon\) of LDPC is reached when \(\mu ^{\mathrm{VN}}(l)=2.erfc^{-1}{(2.P_e)}^2\).

Our goal is to find a threshold value \(\Gamma\) for which if \({\text {SINR}}_{d_J} \ge \Gamma\) then HIC-MPA decoding is used, otherwise SIC decoding is processed. According to Eqs. (20) and (30):

  • The complexity of the LDPC decoder which follows the HIC-MPA decoder is assessed by:

    $$\begin{aligned} \begin{aligned} 4n+\frac{\ln \left( x_l-2.erfc^{-1}{(2.P_e)}^2 \right) }{\ln \left( \left( \frac{{\mathrm{d}}f}{{\mathrm{d}}x}\right) {{x=SINR}_{d_J}} \right) }.\\ \left[ 2\left( d_c-1+n.d_v\right) .\left( n-m\right) +d_v.n\right] \end{aligned} \end{aligned}$$
  • The complexity of the LDPC decoder which follows the MUD decoder is assessed by:

    $$\begin{aligned} \begin{aligned} 4n+\frac{\ln \left( x_l-2.erfc^{-1}{(2.P_e)}^2 \right) }{\ln \left( \left( \frac{{\mathrm{d}}f}{{\mathrm{d}}x}\right) {{x={\text {SNR}}}} \right) }. \\ \left[ 2\left( d_c-1+n.d_v\right) .\left( n-m\right) +d_v.n\right] \end{aligned} \end{aligned}$$

Since SINR depends on SNR (35), for a given target BER, i.e. \(P_e\), for a given SNR and for a choosen LDPC(n,m) decoder, the difference of LDPC complexity depends on the value of \(\alpha _{d_J}\):

$$\begin{aligned} \begin{aligned} \Delta _{\mathrm{LDPC}}= \left[ 2\left( d_c-1+n.d_v\right) .\left( n-m\right) +d_v.n\right] .\\ \left( N_{\epsilon }({\text {SINR}}_{d_J})-N_{\epsilon }({\text {SNR}}) \right) \end{aligned} \end{aligned}$$

With the target BER, we can write:

$$\begin{aligned}&\Delta _{\mathrm{LDPC}}=\\&\quad \left[ 2\left( d_c-1+n.d_v\right) .\left( n-m\right) +d_v.n\right] .ln \left( x_l-2.erfc^{-1}{(2.P_e)}^2 \right) \\&\quad \left[ \frac{1}{\ln \left( \left( \frac{{\mathrm{d}}f}{{\mathrm{d}}x}\right) {{x=SINR}_{d_J}}\right) } - \frac{1}{\ln \left( \left( \frac{{\mathrm{d}}f}{{\mathrm{d}}x}\right) {{x=SNR}}\right) }\right] \end{aligned}$$

Since LDPC complexity is greater for lower SNR, the SINR threshold gives a value for which complexity of HIC-MPA and LDPC decoder is lower than complexity of MUD and LDPC decoder.

Let \(y=\sum _{k=1}^{d_J}x_k+n\) be the received signal on receiver side.

  • According to HIC-MPA algorithm, the first step proceeds to estimate the strongest signal \(x_{d_J}\) from interference :\(y=x_{d_J}.+I\) where \(I=\sum _{k=1}^{d_J-1}.x_k+n\).

  • According to MUD, the successive cancellation leads to find each useful signal \(x_k\) in presence of noise n.

The global complexity is given by Eqs. (25), (26), (30). Equation (31) gives the difference of complexity between MUD and HIC-MPA without LDPC. As a result, the complexity of decoder HIC-MPA is lower than that of MUD if

$$\begin{aligned} \Delta _{{\mathrm{LDPC}}(d_J,{\mathrm{SNR}},n,m)} < \frac{n}{\log _2(M)} \Delta _{\mathrm{HIC-MPA}} \end{aligned}$$

with n as the length of the LDPC codeword.

Either MUD or HIC-log MPA is executed according to SNR level compared to \(\Gamma\) threshold. According to Eq. (29):

  • if \({\text {SINR}}_{d_J} < \Gamma\), classical MUD detection is done. The complexity of MUD is defined by Eq. (25);

  • if \({\text {SINR}}_{d_J} \ge \Gamma\), then Gaussian detection is done for user \(d_J\) and HIC-MPA is computed for other users. The complexity of MUD is defined by Eq. (26).

Equation (40) gives the complexity comparison between MUD and HIC-MPA and the limit of 40 allows to find the value of \(\Gamma\) for which MUD becomes more attractive compare to HIC-MPA.

Results and discussion

For the sake of simplicity, we suppose that J = 6 users are sharing K = 4 frequency layers, and \(d_J=3\) users overlapped per frequency layer as defined on Eq. (41).

$$\begin{aligned} F= \begin{bmatrix} 0 &{} 1 &{} 1 &{} 0 &{} 1 &{} 0 \\ 1 &{} 0 &{} 1 &{} 0 &{} 0 &{} 1 \\ 0 &{} 1 &{} 0 &{} 1 &{} 0 &{} 1 \\ 1 &{} 0 &{} 0 &{} 1 &{} 1 &{} 0 \end{bmatrix} \end{aligned}$$

\(F_{i,j}=1\) means that user i is transmitted its SCMA codeword on frequency layer j. The length of the codeword is defined with M = 4.

Let \(y^1\) be the received signal at the first frequency layer. Then, according to Eq. (41): \(y^1=x^1_2+x^1_3+x^1_5+n^1\)

Let \(P^{1,r}\) be the received signal power on layer 1, and \({\text {SNR}}^1\) be the SNR at layer frequency 1. We note:

$$\begin{aligned} {\text {SNR}}^1=\frac{P^{1,r}_2+P^{1,r}_3+P^{1,r}_5}{N_0}=\frac{P^{1,r}}{N_0} \end{aligned}$$


  • \(P^{1,r}_2=\alpha _2*P^{1,r}\),

  • \(P^{1,r}_3=\alpha _3*P^{1,r}\),

  • \(P^{1,r}_5=\alpha _5*P^{1,r}\)

, respectively, be the received power of users 2, 3 and 5 at frequency layer 1.

User 5 is supposed to be the strongest received signal at frequency layer 1. Without loss of generality, the same comparison and threshold are used for user 6 at the frequency layers 2 and 3 and for user 5 at frequency layer 4 according to Eq. (41).

For simulation, we choose a LDPC(256,512) and the following target BER \(P_e=10^{-5}\). We also supposed Rayleigh fading channel with additive Gaussian noise. The magnitude of h has a Rayleigh probability distribution, i.e. two Gaussian random variables with mean zero and equal variance. On the reception side, we assumed perfect knowledge of channel properties (perfect equalization). For simulation, we multiply the received signal with the conjugate of channel properties. We also suppose stationary of the channel in frequency domain (only 4 sub-carriers are used) and in temporal domain (LDPC frame).

\(\Gamma\) estimation

According to Eq. (20) and the convergence limit of LDPC (see Table 1), Fig. 7 shows how many iterations are required for a LDPC decoder to reach a target BER. In this figure, the target is equal to \({\text {BER}}=10^{-5}\) and Gaussian noise is added to one and only one LDPC codeword (black dotted line) \(y=d+n\). This is the case after SIC decoding which cancels interference for each users.

Fig. 7
figure 7

Number of LDPC iteration to reach a target BER of \(10^{-5}\) after MUD decoding

The red full line curve is a function approximation given the number of iterations of LDPC decoder function according to SNR values:

$$\begin{aligned} N_{\epsilon }({\text {SNR}}_{\mathrm{dB}})=59,46/({\text {SNR}}_{\mathrm{dB}}^{1.75}) \end{aligned}$$

When the decoder receives simultaneously \(d_J\) codewords with an additive gaussian noise: \(y=\sum _{k=1}^{d_J}x_k+n\), the HIC-MPA algorithm aims at decoding only the strongest received signal. According to Gaussian Approximation, Eqs. (35) and (43) give an upper bound of LDPC iterations convergence for user \(d_J\) with respect to \(P_e\):

$$\begin{aligned} N_{\epsilon }({\text {SINR}}_{\mathrm{dB}})=59,46/({\text {SINR}}_{\mathrm{dB}}^{1.75}) \end{aligned}$$

From Eq. (44), Fig. 8 shows that reduction in complexity at lower SINR needs a stronger power user \(\alpha _{d_J}\).

Fig. 8
figure 8

Number of LDPC iteration to reach a target BER of \(10^{-5}\) for the strongest signal after HIC-MPA decoding

According to Eq. (20), the LDPC iteration \(N_{\epsilon }\) is computed from SINR when HIC-MPA decoding is used (Eq. 44) and from SNR (Eq. 43) when SIC decoding is used. From LDPC side, for a target \({\text {BER}}=10^{-5}\) the difference of complexity is assessed by the following equation:

$$\begin{aligned} \begin{aligned} \Delta _{{\mathrm{LDPC}}(d_J,{\mathrm{SNR}},n,m)}=\\ \Delta N_{\epsilon }.\left[ 2\left( d_c-1+n.d_v\right) .\left( n-m\right) +d_v.n\right] \end{aligned} \end{aligned}$$

The threshold \(\Gamma\) is calculated from Eqs. (40) and (45).

Concerning HIC-MPA and SIC complexity, if \(N_{\mathrm{iter}}=10\), for a LDPC streams (\(n=512\), \(M=4\)), HIC-MPA needs 245,6576 operations whereas SIC needs 10773504 operations. So, difference of decoding between SIC and HIC-MPA is equal to \(\Delta _{\mathrm{HIC-MPA}}=8,316,928\) operations.

According to Eqs. (40) and (45), the difference \(\Delta N_{\epsilon }\) concerning the number of iterations behalf of LDPC decoder leads to the same complexity (for a target BER \(P_e=10^{-5}\)) between HIC-MPA and SIC when \(\Delta N_{\epsilon } = 16\).

That means that if \(N_{\epsilon }^{{\text {SNR}}_{\mathrm{dB}}}\) is the number of iterations of LDPC according to \({\text {SNR}}_{\mathrm{dB}}\) value (SIC decoding scheme) and \(N_{\epsilon }^{{\text {SINR}}_{\mathrm{dB}}}\) is the number of iterations of LDPC according to \({\text {SINR}}_{\mathrm{dB}}\) value (Hard decoding scheme). While \(N_{\epsilon }^{{\text {SINR}}_{\mathrm{dB}}}\) is lower than \(N_{\epsilon }^{{\text {SNR}}_{\mathrm{dB}}}+16\), then HIC-MPA complexity with LDPC decoder complexity is lower than SIC complexity with LDPC decoder complexity for a target BER of \(Pe=10^{-5}\).

Figure 7 shows that, for BER = \(10^{-5}\), the number of iterations for LDPC decoder drops from 30 iterations to 9 iterations when SNR increases from 1.5 to 2.5 dB and from 20 iterations to 4 iterations for an increase in SNR from 2 to 5.5 dB.

On the receiver side, the RSRP measurement gives an estimation of SNR value and RSSI measurement gives an estimation of SINR. For target BER \(Pe=10^{-5}\), Eqs. (43) and (44) give an approximation of \(N_{\epsilon }\). Since HIC-MPA complexity is lower to SIC when \(N_{\epsilon }^{{\text {SINR}}_{\mathrm{dB}}}\) is lower than \(N_{\epsilon }^{{\text {SNR}}_{\mathrm{dB}}}+16\), then \(\Delta N_{\epsilon }\) on Eq. (45) should be lower than 16. From Eqs. (35) and (38), we compute the minimum value of \(\alpha _{d_J}\) to reach \(N_{\epsilon }\). As an example for SNR = 4 dB, \(N^{\mathrm{SNR}}_{\epsilon }=5\) (refers Fig. 7) and the minimum value \(\alpha\) for which \(N^{\text {SINR}}_{\epsilon }\le 21\), is achieved (according to Fig. 8) for \(\alpha _{d_J} \ge 0.8\). The exact value is assessed from Eqs. (35) and (44) and we found \(\alpha _{d_J}=0.8419\). From \(\alpha _{d_J}\), one can easily compute SINR level from Eq. (35).

Fig. 9
figure 9

\(\alpha\) value from SINR to have the same complexity between HIC-MPA and MUD when SNR = 4 dB

Figure 10 is a conversion figure which gives the threshold value \(\Gamma\) to the function of SNR (SNR allows to assess the SIC complexity) for a target BER \(P_e=10^{-5}\). The threshold value is the limit of the inequality of Eq. (40) is satisfied.

Fig. 10
figure 10

\(\Gamma\) value depends on SINR to have the same complexity between HIC-MPA and MUD when SNR = 4 dB

As expected, \(\Gamma\) reach an asymptote for higher SNR. Indeed, according to Fig. 8, (for only one user) when SNR \(\le 2.1\) dB then \(N_{\epsilon }>16\). When SNR is high, in case of muti-users, the asymptote is given by Interference \(10*\log _{10}(1-\alpha )\) of the other users. The limit value of \(\alpha\) for \(Pe=10^{-5}\)is given by the following equation:

$$\begin{aligned} 10*\log _{10}(1-\alpha )=\root 1.75 \of { \left( \frac{59.46}{16} \right) }=2.1173\,{\text {dB}} \end{aligned}$$

The value of 2.11 dB is the asymptotic value of Fig. 10 and \(\alpha =0.6283\) is the asymptotic value of Fig. 9

The threshold value \(\Gamma\) impacts the complexity of demodulation process and we use it to define the power allocation of the strongest user. In the transmission scheme, the reception power of each user RSSI and the power of noise RSRP are used to compute the threshold on the controller. Then the controller imposes the level power of each user.

Complexity simulation

In the following, we compare the complexity simulation between

  • optimal value for \(x_5\) from a chosen SNR and Fig. 9

  • non optimal value for \(x_5\) from a chosen SNR and a lower value for \(x_5\) compared to Fig. 9

Moreover, for LDPC decoding we impose that maximum number of LDPC iterations \(N_{\epsilon , \max }\) is limited to 200.

User 5 is supposed to be the strongest received signal at frequency layer 1. Without loss of generality, the same comparison and threshold are used for user 6 at the frequency layers 2 and 3 and for user 5 at frequency layer 4.

Let \({\text {SINR}}^1_5\) the SINR of user 5 at layer frequency 1.


$$\begin{aligned} {\text {SINR}}^1_5=\frac{P^{1,r}_5}{N_0+P^{1,r}_2+P^{1,r}_3} \end{aligned}$$

we can write:

$$\begin{aligned} {\text {SINR}}^1_5=\frac{\alpha _5}{\alpha _2+\alpha _3+\frac{1}{{{\text {SNR}}}^1}} \end{aligned}$$

Interference cancellation leads to: \(y_5=y-{\hat{x}}_5=x_2+x_3+n\).

The resulting \({\text {SINR}}^1_3\) for user 3 is now:

$$\begin{aligned} {\text {SINR}}^1_3=\frac{P^{1,r}_3}{N_0+P^{1,r}_2}=\frac{\alpha _3}{\alpha _2+\frac{1}{SNR^1}} \end{aligned}$$

To further reduce complexity, we can assume that hard decoding should also be done for \(x_3\) if \({\text {SINR}}^1_3 \ge \Gamma\).

The condition \({\text {SINR}}^1_3 \ge \Gamma\) is reached if:

$$\begin{aligned} \alpha _3 \ge \Gamma .\left( \alpha _2+\frac{1}{{{\text {SNR}}}^1}\right) \end{aligned}$$

To verify the both condition \({\text {SINR}}^1_5 \ge \Gamma\) and \({\text {SINR}}^1_3 \ge \Gamma\), it’s necessary that:

$$\begin{aligned} \alpha _5 \ge (1+\Gamma ).\Gamma .\left( \alpha _2+\frac{1}{{{\text {SNR}}}^1}\right) \end{aligned}$$

To sum up, if Eqs. (50) and 51 are met, then HIC-MPA is used for user 5 and user 3 decoding and since \(\alpha _2=1-\alpha _3-\alpha _5\) then at the limit of equality :

$$\begin{aligned} \alpha _2=\frac{1-\frac{\Gamma (\Gamma +2)}{{\text {SNR}}}}{1+\Gamma .(\Gamma +2)} \end{aligned}$$

This equation suppose that:

$$\begin{aligned} SNR \ge \Gamma (\Gamma +2) \end{aligned}$$

For example, if SNR = 10 dB, then \(\Gamma = 2.11\) dB and \(\alpha _{d_J}=0.8419\). If this condition is respected, than \(x_5\) can be recovered with a target BER \(Pe=10^{-5}\).

Then we compute \(\alpha _2\) according to Eq. (52) for a given SNR and \(\Gamma\).

As a result, \(\alpha _3=1-\alpha _5-\alpha _2\). When SNR = 10 dB. Note that hard decoding condition is not valid for user 3 since \({\text {SINR}}_3 \le \Gamma\).

  • \(\alpha _2=0.0646\).

  • \(\alpha _3=0.0935\),

  • \(\alpha _5=0.8419\).

The following Fig. 11 compares the number of iterations for user’s 5 decoding process between classical MUD decoding and HIC-MPA in function of SNR.

Fig. 11
figure 11

LDPC complexity after interference cancellation versus SNR for optimal \(\Gamma = 2.1\) dB

As expected, a difference of 2.1 dB between SNR and SINR allows to be more efficient with HIC-MPA.

The following Fig. 12 shows the drop of complexity at low level of SNR between MUD and HIC-MPA. The drops is given for 2.3 dB (1/SNR + 2.1 dB).

Fig. 12
figure 12

LDPC complexity after interference cancellation versus SNR for optimal \(\Gamma = 2.1\) dB

For non optimal values:

  • \(\alpha _2=0.0646\).

  • \(\alpha _3=0.1935\),

  • \(\alpha _5=0.7419\).

The value for \(\alpha _5\) leads to \(\Gamma =3.1\), a non optimal value since optimal \(\Gamma\) is lower than 2.1 dB.

Figure 13 shows a difference of 4 dB on decoding process before Hard-decoding is done for the strongest received signal.

Fig. 13
figure 13

Comparison of HIC-MPA and MUD in terms of complexity for \(\Gamma\) = 3.1 dB

In terms of complexity, the decoder complexity drops when the RSSI of the strongest signal is greater than 4.8 dB (Fig. 14).

Fig. 14
figure 14

LDPC complexity to reach \(BER=10^ {-5}\) for non optimal \(\Gamma = 3.1\) dB

BER results

We suppose 6 users sharing 4 frequency layers. Mapping frequency of users are defined according to Fig. 1. We still suppose that users 5 and users 6 are the strongest received signal in respective frequency layer, i.e. for frequency layer 2 and 3, user 6 is the strongest one and for frequency layer 1 and 4, user 5 is the strongest one. As a result, we assumed that Eq. (3) holds for user 5 and 6 when SNR is greater that \(\Gamma\).

In this section we suppose that \(\Gamma = 2.1\) dB. The results are compared in terms of BER for MPA decoding and proposed joint HIC-Log MPA decoding in Fig. 15. The encoded signal has 512 bits (256 symbols), the code rate for LDPC used in the simulation is \(R=0.5\) and the maximum number of iterations of LDPC is 200.

It can be seen from simulation results that for the strongest user in each frequency layer or the last user, i.e. user 5 in frequency layer 1 and frequency layer 4 and user 6 in frequency layer 2 and frequency layer 3 have same performance in terms of BER.

For the remaining users in each frequency layer, we perform Log-MPA in our proposed technique and it can be seen that results for these users are comparable in terms of BER with MUD decoding. The gain in terms of complexity as discussed in previous section shadows this slight degradation in performance in terms of BER.

This slight degradation in terms of BER is due to the fact the strongest users, i.e. user 5 and user 6 have been decoded with few errors that have propagated while doing interference cancellation. We observe no error at the last stage of our decoding process for user 5 and user 6 because that error has been corrected by LDPC decoder.

In our proposed technique, interference cancellation is being done at each instant, rather than estimating symbol at each instant for complete SCMA signal then performing LDPC decoding for this signal and then doing interference cancellation. Our proposed technique brings the latency reduction to the system.

Fig. 15
figure 15

The BER performance with HIC-MPA and Log MPA

As expected in Fig. 15, when SNR = 8 dB, LDPC decoder is efficient to recover the strongest signal.


In this paper, a complexity iterative uplink SCMA receiver is proposed based on Hybrid Interference Cancellation (HIC) jointly with Log-MPA.

To avoid errors propagation, LDPC decoder is used for the J users. LDPC decoder has good correction properties even in presence of noise. The GA and DE allow us to estimate the capacity of detection and the number of iterative message passing loop to find the transmitted signal without error.

Unfortunately, iterations increases latency as well as complexity. In this paper, we show that hard decoding for the first user and HIC-MPA decoder decrease complexity compared to MPA but only for high SNR.

SNR is defined as the total power of the three users divided by the noise. As a result, high power is easily reach since it is the addition of three transmitted signal.

In this paper, a tool is proposed to find the optimal values for each user which aims at reducing the global complexity for a target BER with Nikopour codebook. Nevertheless, whatever the choice of SCMA codebook, the MPA is used to split user signal from the received signal. Using uniquely decomposable constellation group UDCG [4] or Golden Angle Modulation [5] will lead to different target BER compared to our article and also to different target BER between users. As a result, based on our article, similar studies could be done for each SCMA codebook

If target BER is equal to \(Pe=10^{-5}\), then Fig. 10 gives the optimal values for the strongest user.

Availability of data and materials

Data sharing not applicable to this article as no datasets were generated or analysed during the current study.



Bit Error Rate


Belief Propagation


Density Evolution


Gaussian Approximation


Hybrid Interference Cancellation


Low Density Parity Check


Log Likehood Ratio


Message Passing Algorithm


Multi User Decoding


Non Orthogonal Multiple Access


Sparse Code Multiple Access


Successive Interference Cancellation


Signal to Interference and Noise Ratio


Signal Noise Ratio


Sum Product Algorithm


  1. C. Bockelmann, N.K. Pratas, G. Wunder, S. Saur, M. Navarro, D. Gregoratti, G. Vivier, E. De Carvalho, Y. Ji, C. Stefanovic, P. Popovski, Towards massive connectivity support for scalable mMTC communications in 5G networks. J. IEEE Access 6, 28969–28992 (2018)

    Article  Google Scholar 

  2. G. Song, X. Wang, Comparison of interference cancellation schemes for non-orthogonal multiple access system, in IEEE 83rd Vehicular Technology Conference (VTC Spring) (2016).

  3. H. Nikopour, H. Baligh, Sparse code multiple access, in IEEE 24th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC) (2013).

  4. Xuewan Zhang, Dalong Zhang, Liuqing Yang, Gangtao Han, Hsiao-Hwa. Chen, Di. Zhang, SCMA codebook design based on uniquely decomposable constellation groups. IEEE Trans. Wirel. Commun. 20(8), 4828–4842 (2021).

    Article  Google Scholar 

  5. Z. Mheich, L. Wen, P. Xiao, A. Maaref, Design of SCMA codebooks based on golden angle modulation. IEEE Trans. Veh. Technol. 68(2), 1501–1509 (2019).

    Article  Google Scholar 

  6. Z. Dawy, A. Seeger, M. Mecking, Design methodologies and power setting strategies for WCDMA serial interference cancellation receivers, in International Zurich Seminar on Communications (2004).

  7. M.A. Pasha, M. Uppal, M.H. Ahmed, M.A. Rehman, M.A.B. Altaf, Towards design and automation of hardware-friendly NOMA receiver with iterative multi-user detection, in 54th ACM/EDAC/IEEE Design Automation Conference (DAC) (2017).

  8. S. Chen, B. Ren, Q. Gao, S. Kang, S. Sun, K. Niu, Pattern division multiple access-a novel nonorthogonal multiple access for fifth-generation radio networks. IEEE Trans. Veh. Technol. (2017).

    Article  Google Scholar 

  9. F. -L. Luo, C. Zhang, Non-orthogonal multi-user superposition and shared access, in Signal Processing for 5G: Algorithms and Implementations (2016), pp. 115–142

  10. T. Manglayev, R.C. Kizilirmak, Y.H. Kho, N. Bazhayev, I. Lebedev, NOMA with imperfect SIC implementation, in IEEE EUROCON 2017-17th International Conference on Smart Technologies (2017), pp. 22–25.

  11. S. Zhang, X. Xu, L. Lu, Y. Wu, G. He, Y. Chen, Sparse code multiple access: an energy efficient uplink approach for 5G wireless systems, in IEEE Global Communications Conference (2014), pp. 4782–4787.

  12. A. Ghaffari, M. Léonardon, A. Cassagne, C. Leroux, Y. Savaria, Toward high-performance implementation of 5G SCMA algorithms. IEEE Access 7, 10402–10414 (2019).

    Article  Google Scholar 

  13. V. Namboodiri, H. Liu, P. Spasojevic, Successive interference cancelation and MAP decoding for mobile MIMO OFDM systems and their convergence behaviors. EURASIP J. Wirel. Commun. Netw. 1, 1–12 (2012)

    Google Scholar 

  14. S. Bittner, E. Zimmermann, G. Fettweis, Low complexity soft interference cancellation for MIMO-systems, in IEEE 63rd Vehicular Technology Conference, vol. 4 (2006), pp. 1993–1997.

  15. Y. Tu, W. Fang, H. Lu, Y. Chen, Iterative multiuser detection with soft interference cancellation for multirate MC-CDMA systems, in IEEE Vehicular Technology Conference (2008), pp. 708–712.

  16. C. Zhang, C. Yang, X. Pang, W. Song, W. Xu, S. Zhang, Z. Zhang, X. You, Efficient sparse code multiple access decoder based on deterministic message passing algorithm. IEEE Trans. Veh. Technol. 69(4), 3562–3574 (2020).

    Article  Google Scholar 

  17. X. Meng, Y. Wu, Y. Chen, M. Cheng, Low complexity receiver for uplink SCMA system via expectation propagation, in IEEE Wireless Communications and Networking Conference (2017), pp. 1–5.

  18. J. Zou, H. Zhao, W. Zhao, Low-complexity interference cancellation receiver for sparse code multiple access, in IEEE 6th International Symposium on Microwave, Antenna, Propagation, and EMC Technologies (MAPE) (2015), pp. 277–282.

  19. T. Koch, Is the assumption of perfect channel-state information in fading channels a good assumption?, in 2nd International Symposium on Applied Sciences in Biomedical and Communication Technologies (2009), pp. 1–6.

  20. H. Asplund, D. Astely, P. von Butovitsch, T. Chapman, M. Frenne, F. Ghasemzadeh, M. Hagström, B. Hogan, G. Jöngren, J. Karlsson, F. Kronestedt, E. Larsson, Chapter 8: 3GPP physical layer solutions for LTE and the evolution toward NR, in Advanced Antenna Systems for 5G Network Deployments (2020), pp. 301-350. ISBN: 978-0-12-820046-9

  21. P. Lai, H. Ding, L. Hu, F. Gong, P.H. Nardelli, Reconfigurable intelligent surface-enabled spectrum-sharing communications based on successive interference cancellation. IEEE Wirel. Commun. Lett. 11(1), 116–120 (2022).

    Article  Google Scholar 

  22. S. Chaturvedi, Z. Liu, V.A. Bohara, A. Srivastava, P. Xiao, A tutorial on decoding techniques of sparse code multiple access. IEEE Access 10, 58503–58524 (2022).

    Article  Google Scholar 

  23. W.B. Ameur, P. Mary, M. Dumay, J.-F. Hélard, J. Schwoerer, Performance study of MPA, Log-MPA and MAX-Log-MPA for an uplink SCMA scenario, in 26th International Conference on Telecommunications (ICT) (Springer, 2019), pp. 411-416.

  24. P. Robertson, E. Villebrun, P.A. Hoehe., A comparison of optimal and sub-optimal MAP decoding algorithms operating in the log domain, in Proceedings IEEE International Conference on Communications ICC ’95, vol. 2 (1995), pp. 1009–1013

  25. Hu Xiao-Yu, E. Eleftheriou, D.-M. Arnold, A. Dholakia, Efficient implementations of the sum-product algorithm for decoding LDPC codes, in IEEE Global Telecommunications Conference, GLOBECOM’01, vol. 2 (2001).

  26. T.J. Richardson, M.A. Shokrollahi, R.L. Urbanke, Design of capacity-approaching irregular low-density parity-check codes. IEEE Trans. Inf. Theory 47(2), 619–637 (2001).

    Article  MathSciNet  MATH  Google Scholar 

  27. T.J. Richardson, R.L. Urbanke, The capacity of low-density parity-check codes under message-passing decoding. IEEE Trans. Inf. Theory 47(2), 599–618 (2001).

    Article  MathSciNet  MATH  Google Scholar 

  28. B.S. Tan, K.H. Li, K.C. Teh, Bit-error rate analysis of low-density parity-check codes with generalised selection combining over a Rayleigh-fading channel using Gaussian approximation. IET Commun. 6, 90–96 (2012)

    Article  MathSciNet  Google Scholar 

  29. A.E.S. Hassan, M. Dessouky, A. Abou Elazm, M. Shokair, Evaluation of complexity versus performance for turbo code and LDPC under different code rates, in SPACOMM, vol. 4 (2012), pp. 98–102

  30. T. Richardson, R. Urbanke, Modern Coding Theory (Cambridge University Press, Cambridge, 2008)

    Book  Google Scholar 

  31. S.-Y. Chung, T. Richardson, R. Urbanke, Analysis of sum-product decoding of low-density parity-check codes using Gaussian approximation. IEEE Trans. Inf. Theory 47, 657–670 (2001).

    Article  MathSciNet  MATH  Google Scholar 

Download references


This work was supported by the Université de Poitiers with XLIM and LIAS laboratories.

Author information

Authors and Affiliations



BG worked on Matlab computing and SCMA comparisons. FL worked on Matlab computing and defined complexity studies. YP and CP proposed hybrid model. JPC proposed SCMA coders and decoders scheme. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Frederic Launay.

Ethics declarations

Ethics approval and consent to participate

Not applicable.

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Ghani, B., Launay, F., Pousset, Y. et al. Low-complexity hybrid interference cancellation for sparse code multiple access. J Wireless Com Network 2022, 95 (2022).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • SCMA
  • NOMA
  • 5G
  • MPA
  • IC
  • SIC
  • MUD
  • Soft and hard interference cancellation