Loading web-font TeX/Math/Italic
A Tutorial on Decoding Techniques of Sparse Code Multiple Access | IEEE Journals & Magazine | IEEE Xplore

A Tutorial on Decoding Techniques of Sparse Code Multiple Access


Sparse Code Multiple Access (SCMA) is a disruptive code-domain non-orthogonal multiple access (NOMA) scheme to enable future massive machine-type communication networks. ...

Abstract:

Sparse Code Multiple Access (SCMA) is a disruptive code-domain non-orthogonal multiple access (NOMA) scheme to enable future massive machine-type communication networks. ...Show More

Abstract:

Sparse Code Multiple Access (SCMA) is a disruptive code-domain non-orthogonal multiple access (NOMA) scheme to enable future massive machine-type communication networks. As an evolved variant of code division multiple access (CDMA), multiple users in SCMA are separated by assigning distinctive sparse codebooks (CBs). Efficient multiuser detection is carried out at the receiver by employing the message passing algorithm (MPA) that exploits the sparsity of CBs to achieve error performance approaching to that of the maximum likelihood receiver. In spite of numerous research efforts in recent years, a comprehensive one-stop tutorial of SCMA covering the background, the basic principles, and new advances, is still missing, to the best of our knowledge. To fill this gap and to stimulate more forthcoming research, we provide a holistic introduction to the principles of SCMA encoding, CB design, and MPA based decoding in a self-contained manner. As an ambitious paper aiming to push the limits of SCMA, we present a survey of advanced decoding techniques with brief algorithmic descriptions as well as several promising directions.
Sparse Code Multiple Access (SCMA) is a disruptive code-domain non-orthogonal multiple access (NOMA) scheme to enable future massive machine-type communication networks. ...
Published in: IEEE Access ( Volume: 10)
Page(s): 58503 - 58524
Date of Publication: 26 May 2022
Electronic ISSN: 2169-3536

Funding Agency:


SECTION I.

Introduction

The next-generation mobile communication systems are expected to support a wide range of vertical industries such as e-health, smart homes/cities, connected autonomous vehicles, and factories-of-future [1]–​[5]. While this leads to ubiquitous, rapid, and intelligent data services, anytime and anywhere, the explosive growth of communication devices and applications arising from the 5G-and-beyond communication networks reinforces the need of a higher spectrum efficiency, reduced access latency, and more reliable data transmission.

Multiple access, as one of the core techniques of wireless communication, aims to enable two or more users to access the finite system resources simultaneously in an efficient manner. Legacy multiuser communication systems mostly rely on orthogonal multiple access (OMA) schemes where multiple users are mutually orthogonal in a certain domain. In the past cellular networks, there have been time division multiple access (TDMA), frequency division multiple access (FDMA), code division multiple access (CDMA), and orthogonal frequency-division multiple access (OFDMA) [6]. As an example, in TDMA, each user is given a distinct time slot, and no two users concurrently share the same time slot. In every OMA scheme, the number of users being simultaneously served is at most that of the orthogonal resources. Thus, the OMA techniques may not meet the stringent requirements of next-generation mobile applications.

In recent years, non-orthogonal multiple access (NOMA) has attracted tremendous research attention owing to its capability in supporting more concurrent communication links compared to OMA [7], [8]. In a NOMA system, two or more users are superimposed over an identical physical resource (e.g., power, frequency, time, or code) to provide an overloading factor larger than one. In general, there are two types of NOMA: power-domain NOMA (PD-NOMA) and code-domain NOMA (CD-NOMA). In PD-NOMA, multiple users communicating over the same frequency/time resources are separated by assigning them with different power levels [9], [10]. On the other hand, CD-NOMA may be regarded as an extension of CDMA where different users are allocated with distinctive codebooks/sequences. Unlike a traditional CDMA system in which matched filter based receiver is adopted, more advanced receivers may be employed in CD-NOMA.

In 2013, sparse code multiple access (SCMA) was proposed by H. Nikopour and H. Baligh as a disruptive CD-NOMA scheme [11]. Building upon the initial idea of low-density signature CDMA (LDS-CDMA) [12], several bits of every user are directly mapped to a sparse complex vector (codeword) which is drawn from its associated sparse codebook (CB) [13], [14]. Also, SCMA brings the “constellation shaping gain” that may not be admissible for LDS-CDMA.

A. Related Works

Two major research lines are associated with SCMA: CB design and multiuser detection (MUD). The goal of CB design is to design and optimize CBs with respect to certain wireless channels against a number of system performance measures such as bit/packet error rate, spectral efficiency, and peak-to-average power ratio (PAPR). After the first CB design work [15] in 2014, numerous research attempts have been made. New CBs are designed in [16] from {M} -order pulse-amplitude modulation (PAM) to maximize the sum rate of SCMA. In [17], constellation rotation and interleaving are employed to maximize the minimum Euclidean distance (MED) of sparse CBs. In [18], novel CBs for both Rayleigh and Gaussian channels based on Star-QAM constellations have been developed to minimize the error probability. Inspired by recent advances in machine learning, new CBs have been found in [19] using the deep-learning-based method by considering minimum bit error rate (BER) as the optimization criteria. In [20], golden angle modulation constellations have been used to obtain CBs exhibiting excellent error rate performances in uplink and downlink Rayleigh fading channels. Further, a low complexity construction algorithm for near-optimal CBs has been developed in [21].

Thanks to the sparsity of the CBs, the multiuser signals can be efficiently detected and recovered with the aid of the message passing algorithm (MPA) [12] whose error rate performance approaches that of maximum a posteriori (MAP) detector. In MPA, the belief messages are passed along the edges of the factor graph that characterizes the sparse CBs of an SCMA system. It is shown in [22] that MPA works well even in an SCMA system with an overloading factor of three. In [23], a simpler MPA in the log-domain was introduced by simplifying the exponent and multiplication operations to maximization and addition operations, respectively. In [24], a partial marginalization based MPA was proposed for fixed low-complexity SCMA detection. [25] proposed a belief threshold-based MPA in which the belief message updates for every user are checked in every iteration, thus reducing the total number of computational operations when the number of iterations increases. In [26], a lookup table method was designed to simplify the function node update. In [27], a threshold-based edge selection and Gaussian approximation (ESGA) was proposed by applying partial Gaussian approximation dynamically for significant complexity reduction at the receiver.

B. Motivations and Contributions

Among many survey/tutorial papers on NOMA in the current literature, most of them focus on PD-NOMA [7], [28]–​[35]. There is a clear paucity of comprehensive survey papers to SCMA for different levels of readers [36]–​[38]. In [36], an overview of multi-dimensional constellations as well as their applications in CB design for uplink SCMA systems has been presented. A book chapter is reported in [37], where the basic principles of SCMA are briefly covered along with CB designing and MUD. An introduction to SCMA was given in [38], covering an overview survey of the CB design, detector designs, and some other aspects like resource allocation, practical implementations. However, to the best of our knowledge, a one-stop tutorial-level coverage of SCMA from encoding to decoding is still lacking.

Aiming for influencing both layman beginners and senior scholars and in order to further promote it to a broader community, we present a holistic and systematic introduction to SCMA covering the basic principles of encoding, CB design, and MUD, supplemented with various step-by-step examples, illustration figures, and mathematical expressions. In particular, we survey a series of advanced SCMA decoding techniques from both MPA and non-MPA aspects and outline a few promising directions for future research on SCMA. We hope that this disruptive CD-NOMA technique can attract more research attention and consequently stimulate new innovative wireless technologies via evolution and/or integration in the era of the 6G research.

C. Organization of This Work

The paper’s outline is as follows: Firstly, the SCMA system model is presented in Section II, where SCMA encoding and CB designing are discussed. SCMA decoding is discussed in Section III, which includes the MAP detection of SCMA, MPA detection, and MPA detection illustrated by an example of a 4\times 6 SCMA system (i.e., six users communicate concurrently over four resource elements (REs)). Section IV introduces an array of advanced MPA variants in the literature for both coded and un-coded SCMA systems. Subsequently, we discuss some other non-MPA detection schemes of SCMA, such as expectation propagation and deep learning based SCMA detectors. New directions of SCMA are introduced in Section V. Finally, this paper is concluded in Section VI.

Notations: In this paper, x, x, X denote a scalar, vector and matrix, respectively. Symbols \textbf {x}^{T} and \textbf {X}^{T} represent transpose of x and X, respectively. Symbols \mathbb {B} and \mathbb {C} represents the set of binary numbers and complex numbers, respectively. Also, the {i} th element of vector \textbf {x} is denoted by \textbf {x}_{i} and {\mathrm {diag}} (\textbf {x}) denotes a diagonal matrix in which i th diagonal element is \textbf {x}_{i} . The maximum value of f(x) as x is varied over all its possible values is denoted by ‘\max \limits _{x} f(x) ’. x \in \mathcal {CN} (\mu ,\sigma ^{2}) denotes that x is a circularly complex Gaussian random variable (RV) with mean \mu and variance \sigma ^{2} . The trace of a square matrix \textbf {A} is denoted by \text {Tr}(\textbf {A}) which is calculated by the sum of main diagonal elements of \textbf {A} . The L2 norm of \textbf {x} is denoted by \left \lVert{ \textbf {x}}\right \rVert , and ‘log(x)’ denotes the natural logarithm of each element of \textbf {x} . \mathcal {O}(\cdot ) denotes the complexity order.

SECTION II.

System Model and SCMA Encoding

In this section, we discuss the basic principles of SCMA and the CB design, as it is one of the important issues of SCMA that affects the performance of the overall system.

A. System Model

Consider an uplink SCMA system in which J users transmit data to the basestation (BS) using K REs (e.g., time- or frequency- slots). In SCMA, the data/input bits of user is mapped to a complex codeword using the SCMA encoder. For instance, user j intends to transmit B coded bits \textbf {b}_{j}=[b_{j}^{1},\cdots , b_{j}^{B}] , where B=\text {log}_{2}(M) and M is the modulation order. In SCMA, there is a CB defined for each user of size K\times M , and each column of this CB is called a codeword. Thus, for J users, the combined set of the CBs for all the users is denoted by \Gamma of size K \times M \times J . The SCMA encoder maps the input bits of symbol m, (m =1,\cdots , M) of the user j to a codeword \textbf {x}_{j}^{m}= \Gamma (:,m,j) = \mathbb {C}^{K \times 1} .

Let \textbf {H}_{j} =\text {diag}[h_{1,j}, \cdots , h_{K,j}]^{T} be the effective channel matrix for the j th user, where h_{k,j} denotes the channel fading coefficient at the k th RE for the j th user. The received signal at the BS is \begin{equation*} \textbf {y} = \sum _{j=1}^{J} \textbf {H}_{j} \textbf {x}_{j}^{m} + \textbf {n},\tag{1}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where \textbf {n}~\in ~\mathbb {C}^{K \times 1} is the noise vector, each element of which is modeled by complex Gaussian distribution \mathcal {CN} (0,\sigma ^{2}) . Due to the sparse nature of SCMA CBs, d_{f} out of J users overlap over each RE, and each user data is transmitted on d_{v} < K REs. Let \xi _{k} be the set of users transmitting data over the k th RE and \zeta _{j} be the set of REs on which the j th user has active transmission. By definition, the cardinalities of \xi _{k} and \zeta _{j} are d_{f} and d_{v} , respectively. Thus, the received signal at the k th RE is given as \begin{equation*} y_{k}=\sum _{j \in \xi _{k}}^{} h_{k,j} x_{k,j}^{m} +n_{k},~\text {for}~k=1,2,\cdots , K,\tag{2}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where x_{k,j}^{m} denotes the codeword element transmitted by user j over the k th RE corresponding to symbol m , and n_{k} is the noise received at the k th RE. In this article, superscript m is neglected sometimes, in case the modulation symbol does not need to be specified.

  • Example:

    Let us consider 4 \times 6 SCMA block encoding having K=4 REs and J=6 users as shown in Fig. 1 with overloading factor \lambda =J/K=1.5 . The allotment of REs among users can be represented by a factor graph matrix, where each row corresponds to a RE, and each column corresponds to a user, respectively. The number of ones in a row is d_{f} , and the number of ones in a column is d_{v} . \textbf {F}_{kj}=1 denotes that user j has active transmission over the k th RE. For a 4 \times 6 SCMA block, the factor graph matrix of order 4 \times 6 corresponding to Fig. 1 is given below:\begin{align*} \textbf {F}_{4 \times 6}= \begin{bmatrix} 1&1&1&0&0&0\\ 1&0&0&1&1&0\\ 0&1&0&1&0&1\\ 0&0&1&0&1&1\\ \end{bmatrix},\tag{3}\end{align*}

    View SourceRight-click on figure for MathML and additional features.

FIGURE 1. - An illustration of 
$4\times6$
 SCMA encoding.
FIGURE 1.

An illustration of 4\times6 SCMA encoding.

Note that the number of users superimposing over one RE is 3, i.e., d_{f}=3 and the number of non-zero values in every column is 2, i.e., d_{v}=2 . For example, the received signal at the second RE can be written as \begin{equation*} y_{2} =h_{2,1} x_{2,1}+h_{2,4} x_{2,4} +h_{2,5} x_{2,5} +n_{2},\tag{4}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where {x}_{2,1},{x}_{2,4},{x}_{2,5} are the codeword elements of the first, fourth and fifth users on second RE (\xi _{2}=\{1,4,5\} ), respectively. Further, the discussion on SCMA is mainly divided into two areas, namely CB design and MPA for decoding. Fig. 2 shows a timeline of the development of SCMA CB design and decoding algorithms in chronological order.

FIGURE 2. - Development of SCMA.
FIGURE 2.

Development of SCMA.

B. SCMA Encoding and CB Design

The performance gain of SCMA over other NOMA schemes is strongly dependent on judiciously designed sparse CBs. The CB of each user has its own sparsity pattern. The SCMA CB design problem involves finding the optimum mapping matrix, \textbf {V}^{*} , along with the optimum multidimensional constellation, \textbf {A}^{*} , and may be defined as \begin{equation*} \textbf {V}^{*}, \textbf {A}^{*} = \mathop {\arg \max }_{\textbf {V},\textbf {A}} D(S(\textbf {F},\textbf {A}; J,M,d_{v},K))\tag{5}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where D is the design criterion for the SCMA system, S , with J users and K REs. Albeit numerous families of CBs have been proposed in the literature, optimal CB design remains open. The current designs are mostly sub-optimal and are based on a multi-stage approach [15], [16], [36], [39]–​[49]. For the j th user, multi-dimensional CB, \text {CB}_{j}= \Gamma (:,:,j) of size K \times M can be expressed as \begin{equation*} \text {CB}_{j}=\textbf {V}_{j} \Delta _{j} \textbf {A}_{\text {MC}},~~\text {for}~j=1,2,\cdots ,J,\tag{6}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where \textbf {V}_{j} \in \mathbb {B}^ {K \times d_{v}} denotes the binary mapping matrix, \textbf {A}_{j}= \Delta _{j} \textbf {A}_{\text {MC} } , \textbf {A}_{\text {MC}} denotes the multi-dimensional mother constellation and \Delta _{j} refers to the constellation operator for the j th user. The mapping matrix is selected so that each user has active transmissions over a few fixed REs only. Each column of the factor graph \textbf {f}_{j}=\text {diag}(\textbf {V}_{j} \textbf {V}_{j}^{T}) . The binary mapping matrices of six users corresponding to the factor graph matrix in (3) are given below \begin{align*} \textbf {V}_{1}=&\begin{bmatrix} 1 & 0\\ 0&1\\ 0 & 0\\ 0 &0\\ \end{bmatrix},~~\textbf {V}_{2} = \begin{bmatrix} 1 & 0\\ 0 & 0\\ 0 & 1\\ 0 & 0\\ \end{bmatrix},~\textbf {V}_{3} = \begin{bmatrix} 1 & 0\\ 0 & 0\\ 0 & 0\\ 0 & 1\\ \end{bmatrix}, \\ \textbf {V}_{4}=&\begin{bmatrix} 0 & 0\\ 1 & 0\\ 0&1\\ 0 &0\\ \end{bmatrix},~~\textbf {V}_{5} = \begin{bmatrix} 0 & 0\\ 1 & 0\\ 0 & 0\\ 0&1\\ \end{bmatrix},~\textbf {V}_{6} = \begin{bmatrix} 0&0\\ 0 & 0\\ 1 &0\\ 0&1\\ \end{bmatrix}.\end{align*}
View SourceRight-click on figure for MathML and additional features.
\textbf {V}_{1} indicates that user 1’s data is transmitted over the first and the second REs. Similarly, \textbf {V}_{2} indicates that user 2’s data is transmitted over the first and the third REs, and so on. Once the mapping matrices are decided, the next step is to design the mother constellation \textbf {A}_{\text {MC}} and constellation operator, \Delta _{j} . Next, we discuss the key performance indicators (KPIs) that should be considered while designing M -point multi-dimensional constellations.

1) KPIs

The KPIs of M -point multi-dimensional constellations that affect the performance of SCMA systems are as follows:

  • Euclidean Distance: The minimum Euclidean distance between two multi-dimensional constellation points, \textbf {x}^{m} and \textbf {x}^{m'} , 1\leq m < m'\leq M , is given as \begin{equation*} d_{E,min}= \text {min} \left \{{ \left \lVert{ \textbf {x}^{m} - \textbf {x}^{m'}}\right \rVert \vert 1\leq m < m'\leq M }\right \}.\end{equation*}

    View SourceRight-click on figure for MathML and additional features. It is known that d_{E,min} is a KPI for designing the constellations in the case of AWGN channels [50]–​[52]. If each user observes the same channel coefficients over their d_{v} REs (dependent fading), the relative Euclidean distance between the constellation points remains the same. So, in this case, d_{E,min} is an important factor in the design process of constellation points.

  • Euclidean Kissing Number (\tau _{E} ): It is defined as the average number of constellation pairs at distance d_{E,min} , and its value should be low for designing the constellation points in the case of dependent fading.

  • Product Distance: The minimum product distance between the constellation points is given as \begin{align*} d_{P,min}=&\text {min} \left\{{{\prod _{k \in \mathcal {K}_{mm'}}{ \vert {x}_{k}^{m} - {x}_{k}^{m'} } \vert }}\right\}, \\&\quad ~\text {for}~1\leq m < m'\leq M,\end{align*}

    View SourceRight-click on figure for MathML and additional features. where x_{k}^{m} and x_{k }^{m'} are the k -th codeword elements of \textbf {x}^{m} and \textbf {x}^{m'} , and \mathcal {K}_{mm'} denotes the set of dimensions, k , for which x_{k}^{m} \neq x_{k}^{m'} . It is shown that the minimum product distance of the constellation points should be maximized to have a positive impact on the performance of the SCMA system, especially when each user observes different channel coefficients over their d_{v} REs (independent fading) [50], [53], [54].

  • Product kissing number (\tau _{P} ): It is defined as the number of constellation pairs at the minimum product distance. The product kissing number should be low to attain low error probability, especially in the case of independent fading [53].

  • Diversity (L ): The diversity of the signal constellation is the minimum number of different components of any two distinct constellation points. L should be high to attain a low error probability in case of independent fading.

2) Designing of Mother Constellation

The mother constellation matrix \textbf {A}_{\text {MC}} \in \mathbb {C}^ {d_{v} \times M} represent each \text {log}_{2}(M) bits with a codeword of d_{v} elements. In general, the mother constellation is designed to possess good distancing properties according to the KPIs mentioned above. Also, to mitigate multi-user interference, dependency among the nonzero codeword elements is induced such that the receiver can recover the overlapping codewords from other REs. Several works were proposed to optimize the design of the mother constellation [18], [39], [42], [45], [47], [49], [55]–​[59].

In [15], a mother constellation was designed such that the real and imaginary parts are independent, while the complex dimensions are still dependent. A shuffling approach was used, which reduces the detection complexity from M^{d_{f}} to M^{d_{f}/2} . In [39], constellation based on the rotation of QAM constellations was proposed. The approach was known as M-Bao, and feasible if d_{f} \leq 3 . In [55], a low-projection mother constellation was proposed that employs lesser number of colliding constellation points over each RE, and also reduces the detection complexity. In [49], the M-Peng scheme is designed by maximizing the minimum Euclidean distance between the constellation points of all the users. In [18], [56], [58], constellation points of a given dimension in the mother constellation belong to the concentric rings. The codeword elements for the first dimension of the mother constellation are taken from a star-QAM constellation, then the codeword elements of other dimensions are generated by scaling and permuting the points of the first dimension. The objective was to minimize the pairwise error probability (PEP) between two superimposed codewords \textbf {s}_{a}, \textbf {s}_{b} which is given by \begin{equation*} \mathbb {P}(\textbf {s}_{a}, \textbf {s}_{b} \vert \textbf {H})= Q \left({\sqrt {\frac { \left \lVert{ \textbf {H} (\textbf {s}_{a} -\textbf {s}_{b}) }\right \rVert ^{2}}{2N_{0}}}}\right)\tag{7}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where N_{0} is the noise variance. This approach is powerful because the PEP criteria is applied directly to the codewords of \textbf {CB}_{j} , and this method can be extended for generating large CBs. A large CB refers to CB with a large M,J,K,d_{v} . For example, CB with M=16,K=6,J=12,d_{v}=3 is said to be large.

In some works, the approach was to solve the optimization problem defined in (5) to generate the CBs. The problem in (5) is usually NP-hard and is difficult to solve [49]. Thus, the optimization problem is reformulated and solved using different optimization techniques [45], [49], [57], [59]. In [60], CB design using maximum distance separable (MDS) codes was proposed which provides improved signal-space diversity. In [61], CB design based on Reinforcement Learning (RL) was proposed which are suitable for large-scale SCMA schemes. In [62], a novel CB optimization method, namely joint bare bones particle swarm optimization (JBBPSO) was proposed to maximize the average mutual information.

3) Constellation Operators

Once the mother constellation is designed, constellation operators, \Delta _{j} are applied to generate multiple CBs for different users. The operators should be designed to mitigate the multi-user interference and increase the decodability of the multi-user signals at the receiver. A constellation operator, \Delta _{j} (as shown in (6)) may include either one or combination of phase rotation, complex conjugate, user power offset, and dimensional permutation [18], [44], [44], [63], [64]. The main motive of applying constellation operators is to maintain uniquely decodable symbols for users to collide at the same RE. In [44], the optimization of the constellation operator was proposed to find the most appropriate permutation set, which has the maximum sum of the distances between the interfering codewords. In [47], a multistage optimization scheme was proposed to design low-projected multidimensional constellations. A uniquely decomposable constellation group (UDCG) based CB design was proposed in [65] for larger modulation order. It should be noticed that the designing criteria D in (5) should not be compromised with the constellation operators.

Next, an example of SCMA CB design for J=6, K=4, M=4,d_{v}=2 based on M -dimensional star-QAM constellations is provided [18]:

  • Step 1: Designing the mother constellation, \textbf {A}_{MC} : The mother constellation is designed based on the four concentric rings star-QAM signaling constellation, as shown in Fig. 3.\begin{equation*} |OA| = R_{1},~~|OB| = R_{2},~|OC| = R_{1}',~|OD| = R_{2}',\end{equation*}

    View SourceRight-click on figure for MathML and additional features. where \alpha =\frac {R_{2}'}{R_{2}}=\frac {R_{1}'}{R_{1}} and \beta =\frac {R_{2}'}{R_{1}'}=\frac {R_{2}}{R_{1}} . Thus, the mother constellation, \textbf {A}_{MC} , can be expressed as \begin{align*} \textbf {A}_{MC}= \begin{bmatrix} \alpha R_{1} & R_{1} & -R_{1} & -\alpha R_{1}\\ -R_{2}& \alpha R_{2} & -\alpha R_{2} & R_{2}\\ \end{bmatrix} {.}\tag{8}\end{align*}
    View SourceRight-click on figure for MathML and additional features.
    where R_{1}= \sqrt {\frac {1}{2(\alpha ^{2}+\beta ^{2}+\alpha ^{2} \beta ^{2}+1 )}} , assuming each user’s CB energy is equal to one, and the value of \alpha =3, \beta =1/0.62 [18].

  • Step 2: Constellation operators: The constellation operators for six users are as follows:\begin{align*} \Delta _{1}=&\begin{bmatrix} e^{i \theta _{1}} & 0\\ 0& e^{i \theta _{2}}\\ \end{bmatrix},~~\Delta _{2} = \begin{bmatrix} 1 & 0\\ 0 & 1\\ \end{bmatrix}, \\ \Delta _{3}=&\begin{bmatrix} 0 & e^{i \theta _{3}}\\ e^{i \theta _{1}} & 0\\ \end{bmatrix},~~\Delta _{4} = \begin{bmatrix} 1 & 0\\ 0 & e^{i \theta _{2}}\\ \end{bmatrix}, \\ \Delta _{5}=&\begin{bmatrix} 0 & 1\\ 1 & 0\\ \end{bmatrix},~~\Delta _{6} = \begin{bmatrix} 1&0\\ 0 & e^{i \theta _{3}}\\ \end{bmatrix}.\end{align*}

    View SourceRight-click on figure for MathML and additional features. Traditionally, \theta _{1}=0,\theta _{2}= \pi /3 and \theta _{3}= \frac {2 \pi }{3} . Then, the CB for first user is \textbf {CB}_{1}=\textbf {V}_{1} \Delta _{1} \textbf {A}_{\text {MC}} , and similarly CB for other users can be generated using (6).

Above CB construction method based on star-QAM constellation can be extended for large size or higher dimension CB generation [58].
FIGURE 3. - Four-rings star-QAM mother constellation with 
$d_{v}=2$
 and 
$M = 4$
.
FIGURE 3.

Four-rings star-QAM mother constellation with d_{v}=2 and M = 4 .

SECTION III.

Decoding

The process of extracting data from the noise corrupted received signal is called decoding, and there are two types of decoding, namely hard and soft decoding. In some communication systems, conventional hard decoding is used, where each decision is taken at the receiver based on a certain threshold value. For instance, a simple hard decoding receiver decides that if the received value is greater than the threshold value, it will be decoded as 1, and 0 otherwise. However, it is not verified how close or far is the received value to the threshold before making the decision. An alternative approach is to obtain the estimated sequence and its reliability level, where the latter indicates the ‘confidence’ we have in that estimated sequence. Such a decoding approach is called soft decoding [66], [67]. In this way, more information can be extracted from the received data, and estimation/detection can be carried out in an iterative and improved manner.

A. Map Detection

The objective of an optimal detector is to minimize the probability of error (P(e)) for the transmitted bit sequence, i.e., to minimize the mismatch between transmitted bits (\textbf {b} ) and estimated bits (\hat {\textbf {b}} ). \begin{equation*} \min P(e)= \min P(\textbf {b} \neq \hat {\textbf {b}}).\tag{9}\end{equation*}

View SourceRight-click on figure for MathML and additional features. Given all the possible observations y and the channel coefficient matrix H, we have \begin{equation*} P(e)= \int P(e \vert \textbf {y}) f(\textbf {y}) d\textbf {y},\tag{10}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where P(e \vert \textbf {y}) indicates the probability of error given received vector \textbf {y} and f(\textbf {y}) indicates the probability density function (PDF) of y. It is noted from (10) that P(e) is proportional to P(e \vert \textbf {y}) . Since \textbf {b} is the desired data, \begin{equation*} P(e \vert \textbf {y})=1-P(\textbf {b} \vert \textbf {y}),\tag{11}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where P(\textbf {b} \vert \textbf {y}) denotes the probability of \textbf {b} given the vector \textbf {y} . Thus, to minimize the probability of error, P(\textbf {b} \vert \textbf {y}) needs to be maximized and this detection scheme is termed as MAP detection. Using Bayes’ rule, \begin{equation*} P( \textbf {b} \vert \textbf {y})= \frac {f(\textbf {y} \vert \textbf {b})P(\textbf {b})} {f (\textbf {y}) },\tag{12}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where f(\textbf {y} \vert \textbf {b}) indicates the conditional PDF of \textbf {y} given \textbf {b} and f(\textbf {y}) indicates the PDF of \textbf {y} . Assuming the prior probabilities P(\mathbf {b}) are identical for different \mathbf {b} , so \begin{equation*} P(\textbf {b} \vert \textbf {y}) \propto f(\textbf {y} \vert \textbf {b} ).\tag{13}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
Thus, the \textbf {b} which maximizes f(\textbf {y} \vert \textbf {b} ) is chosen to minimize the probability of error and this detection scheme is called the maximum likelihood (ML) detection. In short, the MAP detection is equivalent to the ML detection when prior probabilities take the identical value.

Map Detection in SCMA:

For an SCMA decoder, given y and the channel matrix H at the receiver, the detected multiuser codeword \hat {\textbf {X}}=[\textbf {x}_{1},\textbf {x}_{2},\cdots ,\textbf {x}_{j}] is given as \begin{equation*} \hat {\textbf {X}} = \mathop {\mathrm {argmax}} _{\textbf {x}_{j} \in \textbf {CB}_{j},\forall j} p(\textbf {X} \vert \textbf {y}),\tag{14}\end{equation*}

View SourceRight-click on figure for MathML and additional features. The transmitted codeword of each user can be estimated by maximizing its a-posteriori probability mass function (PMF). This can be calculated by taking the marginal of the joint a-posteriori PMF defined in (14).

\circ Marginalization: It is known that if \mathcal {V} is a function of several variables, then \mathcal {V} with respect to a specific variable can be obtained by carrying out marginalization with respect to that variable.

  • Example:

    Let \mathcal {V}(\alpha _{1},\alpha _{2}, \cdots , \alpha _{j},\cdots , \alpha _{J}) be a function (also called a global function) of J number of variables, then the marginalized function with respect to \alpha _{j} variable is given as \begin{equation*} \mathcal {V}(\alpha _{j})\!= \!\sum _{\alpha _{1}} \cdots \sum _{\alpha _{j-1}} \sum _{\alpha _{j+1}} \cdots \sum _{\alpha _{J}} \mathcal {V}(\alpha _{1}, \cdots , \alpha _{J}),\tag{15}\end{equation*}

    View SourceRight-click on figure for MathML and additional features. i.e., the summation with respect to all the variables except \alpha _{j} . It can be written in a more compact form as \begin{equation*} \mathcal {V}(\alpha _{j})= \sum _{\sim \alpha _{j}} \mathcal {V}(\alpha _{1},\alpha _{2}, \cdots , \alpha _{j},\cdots , \alpha _{J}),\tag{16}\end{equation*}
    View SourceRight-click on figure for MathML and additional features.
    where \sim \alpha _{j} denotes that the summation is performed with respect to all the variables of the global function except for \alpha _{j} .

Similar to (16), the marginalization with respect to \textbf {x}_{j} in (14) leads us to symbol by symbol detection for the j th user which can be given as \begin{equation*} \hat {\textbf {x}}_{j} = \mathop {\mathrm {argmax}} _{\textbf {x}_{j} \in \textbf {CB}_{j}} \sum _{\sim \textbf {x}_{j}} p(\textbf {X} \vert \textbf {y}).\tag{17}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
Again using Bayes’ rule, we have \begin{equation*} \hat {\textbf {x}}_{j} = \mathop {\mathrm {argmax}} _{\textbf {x}_{j} \in \textbf {CB}_{j}} \sum _{\sim \textbf {x}_{j}} f(\textbf {y} \vert \textbf {X}) P(\textbf {X}).\tag{18}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
For SCMA system, assume that the noise components corresponding to the K REs are identically distributed and independent of each other. As a result, we have \begin{equation*} f(\textbf {y} \vert \textbf {X})= \prod _{k=1}^{K} f(y_{k} \vert \textbf {X}),\tag{19}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where k=1,\cdots ,K denotes the REs and y_{k} is the received signal at the k th RE. Consequently, (18) becomes \begin{align*} \hat {\textbf {x}}_{j}=&\mathop {\mathrm {argmax}} _{\textbf {x}_{j} \in \textbf {CB}_{j}} \sum _{\sim \textbf {x}_{j}} \left ({P(\textbf {X}) \prod _{k=1}^{K} f(y_{k} \vert \textbf {X})}\right ), \enspace \\&\qquad \qquad \text {for}~j=1, \cdots , J.\tag{20}\end{align*}
View SourceRight-click on figure for MathML and additional features.
Solving the marginal product of functions (MPF) problem in (20) with brute force will lead to prohibitively high complexity and hence may be infeasible when the number of users is large. Thanks to the sparsity of SCMA CBs, we will show in the sequel that low-complexity MPA can be leveraged with the aid of \textit {factor graph} to solve the MPF problem in (20) with near-optimal performance.

B. Factor Graphs

Different types of graphs are used to model problems in areas such as computer science, biology, physics, etc. A bipartite graph is widely known for modeling communication and signal processing problems. In this graph, total nodes can be divided into two sets, and no two nodes within a set are connected.

A factor graph is an undirected bipartite graph in which one set of nodes is called variable nodes (VNs), and the other is called function nodes (FNs). An edge is connected between a VN and a FN if that particular variable is an argument of that function. The factor graph shows how a global function can be represented in simpler local functions (denoted by FNs) and can also help in computing marginal distribution with respect to a single variable using MPA.

Factor graphs are also widely used to model several communication problems. Fig. 4 shows the factor graph of a communication channel [68].

FIGURE 4. - Factor graph of a communication channel.
FIGURE 4.

Factor graph of a communication channel.

Let \textbf {x}=[x_{1},x_{2},\cdots , x_{j},\cdots ,x_{J}] be the transmit vector and \textbf {y}=[y_{1}, y_{2}, \cdots , y_{k}, \cdots ,y_{K}] be the received vector. Assuming noise components are independent of each other, then \begin{equation*} f(\textbf {y} \vert \textbf {x})=\prod _{k=1}^{K} f(y_{k} \vert \textbf {x}).\tag{21}\end{equation*}

View SourceRight-click on figure for MathML and additional features. It is noted that each received symbol (y_{k} ) depends on certain elements of x. Let say y_{k} depends on x_{1},x_{2},x_{j} elements, then there will be edge connecting FN corresponding to f(y_{k} \vert x_{1},x_{2},x_{j}) with VNs x_{1},x_{2},x_{j} . In Fig. 4, every VN denotes the data from one transmit point and every FN k denotes the likelihood function f(y_{k} \vert \textbf {x}) .

The factor graph corresponding to 4 \times 6 SCMA system given in (3) is shown in Fig. 5. The first column of \textbf {F}_{4\times 6} indicates the first user, and it has non-zero values in the first and second rows. This means that data of the first user is transmitted on the first and second RE, so there is an edge between VN J_{1} and FN K_{1} , and VN J_{1} and FN K_{2} (as shown in Fig. 5). The second row of \textbf {F}_{4\times 6} indicates the second RE, and it has non-zero values at the first, fourth and fifth positions. This means that data of the first, fourth and fifth user overlaps on the second RE, and thus, there are edges connecting the FN K_{2} with VN J_{1} , with VN J_{4} , and with VN J_{5} , respectively.

FIGURE 5. - Factor graph of the 
$4\times6$
 SCMA system corresponding to the factor graph matrix shown in (3).
FIGURE 5.

Factor graph of the 4\times6 SCMA system corresponding to the factor graph matrix shown in (3).

C. Message Passing Algorithm

MPA is an algorithm to conduct inference from graphical models by passing belief messages between the nodes. The following example may help understand how inference can be obtained from a graph [66].

  • Example:

    Fig. 6 (a) shows a group of students standing in a line. The objective is to count the total number of students and pass this information to each student. The constraint is that one student can communicate with a maximum of two neighboring students (front and back) at a time. To solve this problem, the approach proposed by MPA is that when one student receives a count from one side, he/she adds 1 to it (to indicate the student’s presence) and passes it to the other side. The algorithm starts from each end of the line where the counter starts from 1 and increases by 1 as the message passes through each student. Messages pass in both directions of the line. If a student receives a count of n from one side and m from another side, then the total students present are n+m+1 (as shown in Fig. 6 (b)). In this way, every student obtains the information on the total number of students present in the line. Such problems can also be modelled with the help of a graph, where each node represents a student, and every connecting edge represents a communication link between them.

FIGURE 6. - Students counting using MPA. (a) Group counting of students. (b) Count at individual student.
FIGURE 6.

Students counting using MPA. (a) Group counting of students. (b) Count at individual student.

Next, we discuss how messages are passed across a factor graph, and the resultant inference obtained using MPA. In SCMA systems, each VN denotes one data layer, and each FN denotes the likelihood function at the RE. Therefore, the total number of VNs equals the total number of layers/users, and the total FNs equals the total REs present. Consider a factor graph having K FNs and J VNs. Message passing in a factor graph using MPA is an iterative process if the factor graph has cycles (closed loops) present in it. In every iteration, there are two steps. In Step 1, a belief message is passed from an FN to a VN, and in Step 2, the message is passed from a VN to an FN. MPA starts by passing messages from leaf nodes. A node has a degree (number of edges connected to it) d , then it will remain idle until messages have arrived on d-1 edges.

Let \eta _{j \rightarrow k} be the message sent from the VN j to the FN k and \eta _{k \rightarrow j} be the message from the FN k to VN j . Let \zeta _{j} and \xi _{k} be the set of nodes directly connected to VN j and FN k , respectively. Next, MPA can be carried out as follows:

  1. Passing message from FN k to VN j : \begin{equation*} \eta _{k \rightarrow j}(\textbf {x}_{j}^{m}) = \sum _{\sim \textbf {x}_{j}} \left ({\psi _{k} \prod _{j' \in \xi _{k} \setminus \{j\}} \eta _{j' \rightarrow k}(\textbf {x}_{j'}^{m})}\right ),\tag{22}\end{equation*}

    View SourceRight-click on figure for MathML and additional features. where \psi _{k} is the likelihood function associated with FN k and j' \in \xi _{k} \setminus \{j\} denotes all the VNs of \xi _{k} except j th VN. Also, \eta _{j' \rightarrow k}(\textbf {x}_{j'}^{m}) denotes the message from the VN j' to the FN k corresponding to symbol \textbf {x}_{j'}^{m} \in \textbf {CB}_{j}, m=1,\cdots ,M .

  2. Passing message from VN j to FN k : \begin{equation*} \eta _{j \rightarrow k}(\textbf {x}_{j}^{m}) =\prod _{k' \in \zeta _{j} \setminus \{k\}} \eta _{k' \rightarrow j}(\textbf {x}_{j}^{m}),\tag{23}\end{equation*}

    View SourceRight-click on figure for MathML and additional features. where k' \in \zeta _{j} \setminus \{k\} denotes the FNs in \zeta _{j} except the k th FN. The message is normalized to ensure that the sum of all the probabilities is equal to one.\begin{equation*} \eta _{j \rightarrow k}(\textbf {x}_{j}^{m}) =\frac {\prod _{k' \in \zeta _{j} \setminus \{k\}} \eta _{k' \rightarrow j}(\textbf {x}_{j}^{m})}{\sum _{\textbf {x}_{j}^{l} \in \textbf {CB}_{j}} \prod _{k' \in \zeta _{j} \setminus \{k\}} \eta _{k' \rightarrow j}(\textbf {x}_{j}^{l}) }.\tag{24}\end{equation*}
    View SourceRight-click on figure for MathML and additional features.

The above algorithm uses the sum and product operations, and hence it is also called the sum-product algorithm. The detailed explanation of (22) and (23) is given in [69]. It is noted that (23) is simpler than (22) because there is no local function associated with a VN. After a few iterations, each bit’s bit log-likelihood ratio (LLR) is calculated to estimate the bits transmitted by each user. The MPA for decoding of K \times J SCMA system is summarized in Algorithm 1.
Algorithm 1 - The Message Passing Algorithm
Algorithm 1

The Message Passing Algorithm

D. Illustration of MPA Decoding for 4 \times6 SCMA System

MPA is applied over the factor graph shown in Fig. 5 and messages are passed between the VNs and FNs in both the directions of the SCMA factor graph. It is noted that the factor graph of the SCMA system contains cycles in it. Thus messages are passed between the nodes for some iterations until the termination criteria is achieved. The objective is to detect the symbols transmitted by each user, i.e., compute (20) using MPA, and this can be carried out in the following steps:

  1. Initialization.

  2. Passing of messages between FNs and VNs.

  3. Termination and selection of codewords.

The algorithm is discussed in a detailed manner for 4 \times 6 SCMA system as follows:
  • Step 1: Initialization

    Assuming received vector y and channel coefficient matrix H are known at receiver, firstly the likelihood ratio is computed at each FN. Let us assume a FN l where data of three users corresponding to set \xi _{l}=\{v_{1}.v_{2},v_{3}\} superimpose. Therefore, the likelihood function at FN l becomes \psi (y_{l} \vert \textbf {x}_{1},\textbf {x}_{2}, \textbf {x}_{3},N_{0}) , where, \textbf {x}_{1},\textbf {x}_{2},\textbf {x}_{3} are the codewords transmitted by users belonging to set \xi _{l} , respectively. Assume the set of codeword elements allotted to user v on RE l is denoted as \textbf {CB}_{l,v} . The likelihood function of FN l is given as\begin{align*}&\hspace {-2pc}\psi (y_{l} \vert \textbf {x}_{1},\textbf {x}_{2},\textbf {x}_{3},N_{0} ) \\=&\exp \bigg (\frac {-1}{N_{0}} ||y_{l}-(h_{l1} x_{l,1} +h_{l2} x_{l,2} +h_{l3} x_{l,3} ||^{2} \bigg ), \\&\qquad \text {for}~{x}_{l,1} \in \textbf {CB}_{l,1}, {x}_{l,2} \in \textbf {CB}_{l,2}, {x}_{l,3} \in \textbf {CB}_{l,3}. \\\tag{25}\end{align*}

    View SourceRight-click on figure for MathML and additional features. Here, x_{l,v} denotes the codeword element transmitted by the v th user on the l th RE. In total, K{M}^{d_{f}} values are stored for function f(y_{l} \vert \textbf {x}_{1},\textbf {x}_{2},\textbf {x}_{3},N_{0} ) . For an uncoded SCMA system, let us assume equal prior probability for each codeword, i.e., P(\textbf {x}_{1} ) =P(\textbf {x}_{2} ) =P(\textbf {x}_{3} ) = \frac {1}{M} . Therefore, the initial message passed from VN v_{1},v_{2},v_{3} to the l th FN is \begin{equation*} \eta _{v_{1} \rightarrow l}^{\text {init}} (\textbf {x}_{1} )=\eta _{v_{2} \rightarrow l} ^{\text {init}} (\textbf {x}_{2} )=\eta _{v_{3} \rightarrow l}^{\text {init}} (\textbf {x}_{3} )=\frac {1}{M}.\tag{26}\end{equation*}
    View SourceRight-click on figure for MathML and additional features.

  • Step 2: Passing of messages between FNs and VNs.

    • (i)

      Message from FN to VN:

      Let us assume \xi _{l}=\{v_{1},v_{2},v_{3}\} , where v_{1},v_{2},v_{3} denotes the three users connected to RE l , respectively. To pass the message from the FN to one user, information received on the FN from the other two users may be regarded as extrinsic information, as shown in Fig. 7.

      Message passed from FN l to VN v_{1} is given as \begin{align*}&\hspace {-2pc}\eta _{l \rightarrow v_{1}} (\textbf {x}_{1}) \\=&\sum _{\textbf {x}_{2}\in \textbf {CB}_{2}} \sum _{\textbf {x}_{3}\in \textbf {CB}_{3}} \bigg (\psi (y_{l} \vert \textbf {x}_{1},\textbf {x}_{2},\textbf {x}_{3},N_{0} ) \\&\times \, \eta _{v_{2} \rightarrow l} (\textbf {x}_{2} ) \hspace {0.05cm} \eta _{v_{3} \rightarrow l} (\textbf {x}_{3})\bigg ) \hspace {0.25cm} \text {for}~\textbf {x}_{1} \in \textbf {CB}_{1}.\tag{27}\end{align*}

      View SourceRight-click on figure for MathML and additional features.

      In (29), messages from the two VNs (i.e., \eta _{v_{2} \rightarrow l} (\textbf {x}_{2} ) and \eta _{v_{3} \rightarrow l} (\textbf {x}_{3} ) ) are multiplied with the local likelihood function of l th FN and then marginalized with respect to v_{1} . Similarly, message passed from FN l to VNs v_{2} and v_{3} , respectively are \begin{align*}&\hspace {-2pc}\eta _{l \rightarrow v_{2}} (\textbf {x}_{2} ) \\=&\sum _{\textbf {x}_{1}\in \textbf {CB}_{1}} \sum _{\textbf {x}_{3}\in \textbf {CB}_{3}} \bigg (\psi (y_{l} \vert \textbf {x}_{1},\textbf {x}_{2},\textbf {x}_{3},N_{0} ) \\&\times \, \eta _{v_{1} \rightarrow l} (\textbf {x}_{1} ) \hspace {0.05cm} \eta _{v_{3} \rightarrow l} (\textbf {x}_{3})\bigg )~~\text {for}~\textbf {x}_{2} \in \textbf {CB}_{2}. \tag{28}\\&\hspace {-2pc}\eta _{l \rightarrow v_{3}} (\textbf {x}_{3} ) \\=&\sum _{\textbf {x}_{1}\in \textbf {CB}_{1}} \sum _{\textbf {x}_{2}\in \textbf {CB}_{2}} \bigg (\psi (y_{l} \vert \textbf {x}_{1},\textbf {x}_{2},\textbf {x}_{3},N_{0} ) \\&\times \, \eta _{v_{1} \rightarrow l} (\textbf {x}_{1} )\hspace {0.05cm} \eta _{v_{2} \rightarrow l} (\textbf {x}_{2})\bigg )\,~~\text {for}~\textbf {x}_{3} \in {\textbf {CB}_{3}}.\tag{29}\end{align*}

      View SourceRight-click on figure for MathML and additional features. Message passing from FN l to VN v_{3} is shown graphically in Fig. 7. The message transmitted from FN l to VN v indicates the guess of what signal is received at FN l for all possible values of VN v .

    • (ii)

      Message from VN to FN:

      Let us assume \zeta _{v}=\{l_{1},l_{2}\} , where l_{1} and l_{2} are the FNs connected to VN v .

      Message sent from VN v to FN l_{1} and l_{2} , respectively are:\begin{align*} \eta _{v \rightarrow l_{1}}(\textbf {x}_{v})=&\text {normalize}(P_{a} (\textbf {x}_{v}) \hspace {0.1cm} \eta _{l_{2} \rightarrow v }(\textbf {x}_{v})) \\&\hspace {1cm}\text {for}~\textbf {x}_{v} \in \textbf {CB}_{v}, \tag{30}\\ \eta _{v \rightarrow l_{2}}(\textbf {x}_{v})=&\text {normalize}(P_{a} (\textbf {x}_{v}) \hspace {0.1cm} \eta _{l_{1} \rightarrow v} (\textbf {x}_{v}))\, \\&\hspace {1cm} \text {for}~\textbf {x}_{v} \in \textbf {CB}_{v},\tag{31}\end{align*}

      View SourceRight-click on figure for MathML and additional features. where P_{a} denotes the prior probability of user v and \eta _{l_{2} \rightarrow v} indicates the updates VN v received from the FN l_{2} . Here, normalization is necessary to ensure that each belief falls in the range of [1]. The normalization is conducted similar to (24) and so, (32) can also be written as \begin{align*} \eta _{v \rightarrow l_{1}}(\textbf {x}_{v})=&\frac { P_{a}(\textbf {x}_{v}) \eta _{l_{2} \rightarrow v}(\textbf {x}_{v})}{\sum _{\textbf {x}_{v}} \eta _{l_{2} \rightarrow v}(\textbf {x}_{v}) } \\&\text {for}~\textbf {x}_{v} \in \textbf {CB}_{v}.\tag{32}\end{align*}
      View SourceRight-click on figure for MathML and additional features.
      The message from the VN v to FN l_{2} is shown graphically in Fig. 8. Since the factor graph has cycles, the passing of messages between FNs to VNs is repeated for a few iterations. This continues until no considerable change is observed in the belief computed at each VN.

    • Step 3: Termination and selection of codewords.

      After repeating Step 2 for N_{\text {t}} number of iterations, the final belief is computed at each VN, which is the product of the prior probability and messages from the neighboring FNs of each VN. \begin{align*} I_{v}(\textbf {x}_{v})=&P_{a}(\textbf {x}_{v}) \hspace {0.05cm} \eta _{l_{1} \rightarrow v} (\textbf {x}_{v}) \hspace {0.05cm} \eta _{l_{2} \rightarrow v} (\textbf {x}_{v}), \\&\qquad \text {for}~\textbf {x}_{v} \in \textbf {CB}_{v}.\tag{33}\end{align*}

      View SourceRight-click on figure for MathML and additional features. The probability for each codeword is calculated at each VN, and the codeword with the highest probability becomes the estimated codeword for that user. This is one method of estimating the transmitted symbol for each user. Another method is to compute bit LLR from I_{v}(\textbf {x}_{v}) . The i -th bit LLR for VN v is given as \begin{align*} \text {LLR} ({b_{v}^{i}})=&\log \frac {P(b_{v}^{i}=+1)}{P (b_{v}^{i}=-1)} \\=&\log \frac {\sum _{\textbf {x}_{v} \vert b_{v}^{i}=+1} I_{v}(\textbf {x}_{v})} {\sum _{\textbf {x}_{v} \vert b_{v}^{i}=-1} I_{v}(\textbf {x}_{v})}, \\&\hspace {2cm} \text {for}~i=1,\cdots ,B.\tag{34}\end{align*}
      View SourceRight-click on figure for MathML and additional features.
      In case of M=4 , there are two bits per symbol. Let \textbf {CB}_{v}=\{\textbf {x}_{v}^{1},\textbf {x}_{v}^{2},\textbf {x}_{v}^{3},\textbf {x}_{v}^{4}\} denote the four codewords corresponding to four symbols \{s^{1},s^{2},s^{3},s^{4}\} that can be sent by user v . Using (35), final belief corresponding to each of the four codewords is calculated. Then, the LLR of the first bit is given as \begin{align*} \text {LLR} (b_{v}^{1})=&\log \frac {P (b_{v}^{1}=+1)}{P (b_{v}^{1}=-1)} \\=&\log \frac { I_{v}(\textbf {x}_{v}^{1} )+I_{v}(\textbf {x}_{v}^{2})}{I_{v}(\textbf {x}_{v}^{3})+I_{v}(\textbf {x}_{v}^{4})}.\tag{35}\end{align*}
      View SourceRight-click on figure for MathML and additional features.
      The ratio of the belief computed corresponding to codewords \textbf {x}_{v}^{1},\textbf {x}_{v}^{2} and \textbf {x}_{v}^{3}, \textbf {x}_{v}^{4} gives the bit LLR of the first bit. Consequently, if P(b_{v}^{1}=-1)>P(b_{v}^{1}=+1) or if \text {LLR}(b_{v}^{1}) < 0 , then ‘1’ is decoded for first bit of the symbol otherwise 0. Similarly, for the second bit, if \text {LLR} (b_{v}^{2}) < 0 , then ‘1’ is decoded for the second bit of the symbol. The bit LLR for the second bit is given as \begin{equation*} \text {LLR} (b_{v}^{2}) = \log \frac { I_{v}(\textbf {x}_{v}^{1} )+I_{v}(\textbf {x}_{v}^{3})}{I_{v}(\textbf {x}_{v}^{2})+I_{v}(\textbf {x}_{v}^{4})}.\tag{36}\end{equation*}
      View SourceRight-click on figure for MathML and additional features.

FIGURE 7. - Message passing from FN to VN.
FIGURE 7.

Message passing from FN to VN.

FIGURE 8. - Message passing from VN to FN.
FIGURE 8.

Message passing from VN to FN.

SECTION IV.

Advanced SCMA Decoding Techniques

In SCMA, MPA is an efficient decoding technique by exploiting the CBs sparsity. Using MPA, the receiver is able to attain near-optimum decoding performance with computation complexity O(d_{f} M^{d_{f}}) . In this section, we first introduce several advanced MPA based detectors with lower computation complexity, followed by a few non-MPA based SCMA detectors.

A. Discretized MPA (DMPA)

In standard MPA, the dominant complexity is incurred by updating the messages of FNs (i.e., Step 1 (a) of Algorithm 1), where the message from an FN to a VN is computed based on the messages coming from the other d_{f}- 1 VNs connected to the respective FN. In [70], [71], the update of messages at the FN is investigated from a new perspective. In MPA, each VN is treated as a node that can take M values, but in DMPA, each VN is considered an RV on a complex field. The PDF f_{j}(t) 1 of the j th VN is all zero except M impulses.

In this work, Step 1 (a) of Algorithm 1 is proved to be equivalent to the convolution of d_{f} PDFs at the point of one codeword element. Assume that the constraint to update FN is x_{1}+ x_{2}+\cdots +x_{d_{f}}+n_{o}=y , where the corresponding PDFs are f_{1}(t), f_{2}(t),\cdots , f_{d_{f}}(t), \mathcal {N}_{p}(t) , respectively. Let g(t)= (f_{2} * \cdots *f_{d_{f}})(t) * \mathcal {N}_{p}(t) , then it is proven that \begin{equation*} \eta _{k \rightarrow j}(\textbf {x}_{j}^{m}) = g(y_{k}-x_{k,j}^{m}).\tag{37}\end{equation*}

View SourceRight-click on figure for MathML and additional features. The above convolution operation can be efficiently computed by discretization and FFT. Suppose all the possible values of x_{j} (j \in \xi _{k}) are in the interval [-wid;wid] . Since, the PDF of noise is continuous and has integral one, there exists an n_{o} such that \eta (t) is negligible outside [-n_{o};n_{o}] . Let w denote the precision of discretization and n = \{0, 1,\cdots , (2wid)/w\} . Then, the integral of each impulse is distributed to the nearest sampling point.

Using the circular convolution theorem, the sampling sequence of g(t) can be computed with the help of FFT as follows \begin{align*}&\hspace {-0.5pc}g=\mathcal {F}^{-1}[\mathcal {F}(pad(f_{2}))\bullet \mathcal {F}(pad(f_{3}))\bullet \cdots \bullet \mathcal {F}(pad(f_{d_{f}})) \\&\qquad\qquad\qquad\qquad\qquad\qquad \bullet \mathcal {F}(pad(\mathcal {N}_{p})],\tag{38}\end{align*}

View SourceRight-click on figure for MathML and additional features. where \mathcal {F} denotes the FFT, \bullet denotes the Hadamard product and pad() pads zeros to the end of the sequence, respectively. Thus, the FN update process can be summarized as follows:

  1. For every connected edge (j,k) , the discretized version of \eta (t) and \{f_{j}(t)\} for m=1,\cdots , d_{f} -1 are computed.

  2. The discretized sequences are padded with zeros until they have length N , where N is the size of FFT.

  3. Compute g from (40).

  4. The FN is updated using (39).

With the above modifications, the complexity to update one message becomes the complexity of the 2-D FFT algorithm, which is O(d_{f}^{2} \text {ln}(d_{f} )) and the number of operations increases linearly withM . Thus in DMPA, the FN update step is proved to be equivalent to computing a convolution. Then, the convolution is solved by discretization and FFT. Regarding the detection accuracy, as the sampling interval decreases, the performance of DMPA and MPA comes closer, and both have negligible error performance difference for the sampling interval w=0.05 .

B. Sphere Decoded MPA

To simplify the conventional MPA, [72] proposed a logarithm domain MPA (Log-MPA) detector, which reduced the product operations involved without compromising the performance. To further simplify the detection, [73], [74] approximated the sum of exponential operations as a maximum operation, and it is called Max-Log-MPA. This reduces complexity but with slight performance degradation. Another way of reducing the MPA complexity is to restrict the search space around the received signal vector, and this is known as sphere decoded MPA (SD-MPA) [75]–​[78].

An improved Log-MPA Region-Restricted detector (RRL detector) was proposed in [75] for SCMA downlink systems. In the case of a downlink system, the received signal at the k th RE is given as:\begin{equation*} y_{k}= h_{k} \sum _{j \in \xi _{k}} x_{k,j} + n_{k} \triangleq h_{k} z_{k} +n_{k},\tag{39}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where z_{k} = \sum _{j \in \xi _{k}} x_{k,j} \in Z_{k} , the constellation Z_{k} is called superposition constellation and |Z_{k}| = M^{d_{f}} which increases exponentially with d_{f} . In the RRL detector, the superposed constellation points are divided into several regions. Based on each region \mathfrak {D} , a search region \mathcal {S} is obtained (as shown in Fig. 3 [75]). In RRL detector, the superposed constellation points lying in the search region \mathcal {S} are only involved for FN update. This reduces the unnecessary computations with respect to constellation points outside \mathcal {S} . With this change, the FN update step is given as \begin{equation*} \eta _{k \rightarrow j} (\textbf {x}_{j} )= \underset {z_{k} \in \mathcal {S}: \textbf {x}_{j}} {F_{m}} \left ({ \sum _{ j' \in \xi _{k} \setminus j} \eta _{j' \rightarrow k} (\textbf {x}_{j'} ) + \mathcal {M}(z_{k}) }\right )\tag{40}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where \begin{align*} \mathcal {M}(z_{k})=&-\frac {1}{2 \sigma ^{2}} |y_{k}-h_{k} z_{k}|^{2}, \tag{41}\\[3pt] {F_{m}}\triangleq&\overset {\sim }{max}(\mathsf {s}_{n'}, max(\mathsf {s}_{n'-1},\cdots , max(\mathsf {s}_{2}, \mathsf {s}_{1}))), \\[3pt]&\qquad \text {for}~n'=M^{d_{f} -1},\tag{42}\\[3pt] \mathsf {s}_{n'}=&\sum _{ j' \in \xi _{k} \setminus j} \big (\mathcal {M}({z_{k}}) + \eta _{j' \rightarrow k} (\textbf {x}_{j'} ) \big ) \\[3pt]&\text {and},~\overset {\sim }{max}(a',b') \!=\! max (a',b')\!+\!C_{1} (a'\!-\!b'),\tag{43}\end{align*}
View SourceRight-click on figure for MathML and additional features.
where C_{1}(x)=\text {ln} (1+e^{-x}) is the correction function. In this manner, the FNs are updated while restricting the search space, reducing the detection complexity. The SD-MPA detectors proposed in [75]–​[77], [79] were designed for constant modulus constellations (e.g., QPSK) or with a subset of non-constant modulus constellations (e.g., M-QAM). So, for generalized SCMA constellations, a new improved SD-MPA based detector was proposed in [78], called GSD-MPA. However, this method is sensitive to the overloading factor. Therefore, to further improve the performance with low complexity, [80] proposed two pruning algorithms and introduced the simplified GSD-SCMA (SGSD-SCMA).

C. Scheduled MPA

In [26], MPA was simplified and optimized from two aspects. Firstly, a lookup table (LUT) was designed to approximate the correction function C_{1}(x) to reduce the computation complexity of \mathop{max}\limits^{\sim } operation for the FN update. For this, the range of C_{1}(x) function is divided into \gamma quantization intervals, which means LUT consists of \gamma items. The larger the number of intervals, the higher the approximation precision, but it comes with higher complexity. Next, the authors proposed two enhanced scheduling schemes for implementing MPA: single scheduling MPA (SS-MPA) and multiple scheduling MPA (MS-MPA). In standard MPA, the FNs and VNs are updated using the information received in the previous iteration. In scheduled MPA, instead of updating all the FNs at one step and then updating the VNs at the second step, the FNs and VNs are jointly updated to speed up the convergence of MPA detection. For every VN j , if all the FNs belonging to \zeta _{j} are updated, then VN j will be updated instead of waiting for all FNs to be updated. This speeds up the update process. This scheme is called SS-MPA-VN since messages are updated and passed VN-by-VN. In this, the initialization step and bit LLR step are same as standard MPA. In this, the FN update step of the standard Log-MPA gets modified as follows:\begin{align*} \eta _{k \rightarrow j}(\textbf {x}_{j})=&\overset {\sim }{max}_{\sim \textbf {x}_{j}} \bigg (\psi _{k} + \sum \limits _{\substack {j'\in \xi _{k} \setminus \{j\} \\ {\pi }^{-1}(j') < v' }} \eta _{j' \rightarrow k}^{t}(\textbf {x}_{j}) \\&\qquad + \sum \limits _{\substack {j'\in \xi _{k} \setminus \{j\} \\ {\pi }^{-1}(j') > v' }} \eta _{j' \rightarrow k}^{t-1}(\textbf {x}_{j})\bigg ),~~\text {for}~\textbf {x}_{j} \in \textbf {CB}_{j},\tag{44}\end{align*}

View SourceRight-click on figure for MathML and additional features. where function j = \pi (v') denotes the VN update order, where v' = 1, 2,\cdots , J and j denotes the updating VN index, {\pi }^{-1}(\cdot ) denote the inverse function of \pi (\cdot ) . A similar procedure can be done with respect to FN too, where each FN k will be updated if \xi _{k} are updated. That scheme will be called SS-MPA-FN. To further speed up the detection method, MS-MPA can be used where a number of SS-MPA based detectors work in parallel with different update orders.

D. PM MPA

The partial marginalization based MPA (PM-MPA) was introduced in [24]. The FNs and VNs are updated as in conventional MPA for t' number of iterations. After t' number of iterations, the PM-MPA computes the codeword for the last u' number of users. For the rest N_{t}-t' iterations, the message for the remaining J-u' users are updated with the already determined codewords. In [24], u' users are chosen randomly in t' th iteration, so some unreliable codewords may get chosen, which deteriorate the BER performance.

To improve the BER performance with same complexity, [81] introduced Improved PM-MPA in which the u' users are chosen using a parameter \textsf {w} . This parameter \textsf {w} measures the reliability of codewords of all the users. After t' iterations, the final belief I_{j}^{m} is calculated for 1 \leq j \leq J,~m=1,\cdots , M (as shown in (25)). Then these beliefs are sorted as \begin{equation*} \textbf {L}_{j}= sort (\{I_{j}^{1},\cdots ,I_{j}^{M}\},~ {{\mathrm {`descend'}}}).\end{equation*}

View SourceRight-click on figure for MathML and additional features. The reliability of all codewords of all users is calculated.\begin{equation*} \textsf {w}_{j}= \frac {\textbf {L}_{j} [{1}]}{\textbf {L}_{j}[{2}]}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
The u' users are chosen based on their reliability, and their codewords are determined. In the rest of the iterations, messages of undetermined users get updated with the codewords of determined users. The complexity of PM-MPA can get reduced to 50% of the complexity of standard MPA for M=4 depending on the user parameters values.

E. Extended Max-Log MPA

In [82], authors proposed extended max-log (EML) MPA, which jointly reduces the complexity for VNs and FNs update at the SCMA receiver. Due to the sparsity of \textbf {F}_{K \times J} , SCMA can be represented by the Tanner graph as well. Non-zero elements in \textbf {F}_{K \times J} represent the connection between FNs and VNs. The messages passing over edges on the Tanner graph are q dimension vectors. A q -order Galois field contains elements (\{0, 1, \cdots , q-1\} \in GF(q)) . The SCMA codewords are mapped to the q -order Galois field as \begin{equation*} f': \textbf {A}_{MC} \rightarrow GF(M).\tag{45}\end{equation*}

View SourceRight-click on figure for MathML and additional features. This indicates that each constellation point of \textbf {A}_{MC} is mapped to an element of GF(M) . A trellis diagram can represent the FNs update in SCMA according to (47). The vertices in the trellis diagram correspond to the complex symbols of the CB, and the connecting edges represent the possible paths that need to be searched for calculating \mathcal {M}(z_{k}),~\forall ~m \in M (as shown in (43)). All the paths of this trellis diagram form a combination set \Xi and \vert \Xi \vert = M^{d_{f}} .

The main difference between MPA and EML-MPA is the initialization and FNs update. These two steps are as follows:

  • Initialize: The reliability of each constellation point at VNs is calculated as:\begin{equation*} RL_{j}(m)= \sum _{d=1}^{d_{v}} U_{dj} (m),~\text {for}~m=1,\cdots ,M,\tag{46}\end{equation*}

    View SourceRight-click on figure for MathML and additional features. where U_{dj} is the maximum of the logarithm of \eta _{d\rightarrow j} over the possible constellation points. The parameter RL_{j}(m) denotes the reliability for each symbol. Based on RL_{j} , m_{c} constellation points are chosen and initial messages are passed from these m_{c} number of nodes.

  • FNs update: FNs are updated for only m_{c} constellation points with \left \lVert{ y_{k}- \sum _{j \in \xi _{k}} h_{k,j}x_{k,j}^{m}}\right \rVert ^{2},~\forall ~m \in m_{c} .

It is to be noted that only m_{c} < M dimension messages are updated in the above two steps. Consequently, the computational complexity for VNs update is also reduced. The standard MPA has M^{d_{f}} search paths, which now reduces to m_{c}^{d_{f}} in EML-MPA, and thus, overall receiver complexity decreases.

In [82], the truncation parameter m_{c} is fixed, which makes the BER performance loss for EML-MPA. To strike a balance between BER and complexity, [83] proposed a dynamic trellis based MPA (DT-MPA). In DT-MPA, the parameter m_{c} decreases as the number of iterations increases. Also, m_{c} varies for each user as different users have different channel conditions. For this, a threshold based decision method was introduced. This reduction of M from standard MPA to DT-MPA reduces complexity without compromising the BER performance.

F. Detection of Coded SCMA System

SCMA can be combined with channel decoders to improve transmission reliability, such as low-density parity-check (LDPC) codes, polar codes, and so on [84]–​[88].

1) LDPC Coded SCMA System

One popular approach for multi-user detection is to attempt the removal of multi-user interference from each user’s received signal, among which parallel interference cancellation (PIC) is a promising candidate. In this, each user attempts to cancel its multi-user interference. As compared with the serial processing scheme, since the interference cancellation is performed in parallel for all users, the delay required to complete the operation decreases significantly [89].

In literature, a variety of sub-optimum algorithms have been proposed in the literature, to compute the extrinsic LLRs [90], [91]. In [86], a hardware feasible minimum mean-square error (MMSE) PIC algorithm is proposed for LDPC coded SCMA detection. At the transmitter, the message bits of all users are coded by the LDPC encoder, followed by the SCMA encoder. Initially, the a priori bit LLR values L_{j}^{A,i} are initialized for all VNs. The MMSE-PIC based message passing detection is discussed below:

  • Computation of Soft-Symbols: The algorithm starts by computing estimates of the transmitted symbols according to [92] \begin{equation*} \hat {x}_{k,j}= \sum _{a \in \textbf {CB}_{k,j}} P(x_{k,j} =a) a\tag{47}\end{equation*}

    View SourceRight-click on figure for MathML and additional features. where P(x_{k,j} =a)= \prod _{i=1}^{B} \frac {1}{2} (1+ 2a_{i}-1) \text {tanh} \left({\frac {1}{2} LV^{t,i}_{j \rightarrow k}}\right) is the probability of modulation symbol a and a_{i} is the i -th bit of symbol a . The reliability of each soft-symbol is characterized by its variance \begin{equation*} \varepsilon _{k,j}^{t}= E [\vert x_{k,j} - \hat {x}_{k,j} \vert ^{2}]\tag{48}\end{equation*}
    View SourceRight-click on figure for MathML and additional features.

  • Parallel Interference Cancellation (PIC): Let \textbf {h}_{\textbf {r}k}=[h_{k,j}] , where j \in \xi _{k} , denotes the channel vector for FN k . To detect the symbol transmitted by j th user, interference from other users can be cancelled using previously computed soft-symbols \hat {x}_{j'} (49), where j' \neq j . Let \textbf {G}_{\textbf {r}k}= \textbf {h}_{\textbf {r}k}^{\text {H}} \textbf {h}_{\textbf {r}k} , then each column of \hat {Y}_{\textbf {r}k} can be given as \begin{equation*} \hat {y}_{\textbf {r}k,j}= \textbf {h}_{\textbf {r}k}^{\text {H}} y_{k}- \sum _{j' \in \xi _{k} \setminus j} \textbf {g}_{\textbf {r}k,j'} \hat {x}_{k,j'}^{t}\tag{49}\end{equation*}

    View SourceRight-click on figure for MathML and additional features.

  • MMSE Filtering and LLR Computation: To reduce the noise-plus-interference in (51), linear MMSE filters are used and using those, bit LLR from FN k to VN j is calculated. For the detailed MMSE-PIC algorithm, please refer [86], [93].

In the last SCMA iteration, the a posteriori bit LLR for the corresponding LDPC decoder is given as \begin{equation*} L_{j}^{P,i}= L_{j}^{A,i}+ \sum _{k' \in \zeta _{j}\setminus \{k\}} LU^{N_{S},i}_{k' \rightarrow j},\tag{50}\end{equation*}
View SourceRight-click on figure for MathML and additional features.
where N_{S} is the maximum number of SCMA iterations. To further improve the convergence rate, a modified user node update method is introduced, where user nodes pass the a posteriori bit LLR values to FNs instead of the extrinsic information. The MMSE-PIC based MP detection reduces the detection complexity by 93% with a degradation of 0.63dB in SNR.

2) Polar Coded SCMA

In practical scenarios, coded SCMA systems are employed to improve the quality of service (QoS). Recently, polar coded SCMA (PC-SCMA) has been studied, but the separate detection and decoding scheme does not give optimal performance. Thus, a joint iterative detection and decoding (JIDD) receiver was proposed for the uplink PC-SCMA system in [94]. SCMA detectors calculate the extrinsic messages of the SCMA codewords of all users, then the messages are demapped into a prior messages of each user’s polar decoder. After polar decoders return the extrinsic messages of each user’s polar codeword, they are remapped to a prior messages of the SCMA codewords, which will be passed to the SCMA detectors again. This happens in one iteration of JIDD and no inner iterations are needed for the SCMA detector and polar decoder. In the JIDD algorithm, the factor graphs of SCMA and polar encoder are combined to generate a joint factor graph of the PC-SCMA system. The detection algorithm for SCMA is MPA, and of polar code is soft cancellation (SCAN) algorithm [95]. The JIDD algorithm is discussed below:

  • FNs update process: The FNs are updated and pass the information to neighboring VNs (as shown in Step 1 (a) of Algorithm 1). Then, the bits extrinsic information in the form of LLR is calculated (as shown in Step 2 of Algorithm 1).

  • Priori information update process: In this process, the output extrinsic information of the FNs update process is passed to the polar decoder. Then, a priori information of the VNs is calculated based on the output extrinsic messages of the polar decoder. Each of the two adjacent columns of the polar code factor graph comprises N/2 unit factor graphs, where N is the polar code length. The polar code factor graph with code length N = 8 is shown in Fig. 9(a), which is composed of \text {log}_{2}(N) + 1 = 4 columns, N=8 rows, and a unit factor graph is shown in Fig. 9(b). The factor graph has two associated left LLR (L_{s,t} ) and right LLR messages (R_{s,t} ) at the node with the s th row index and t th column index. For initialization, the left message L_{0,t}^{j} of the j th user is initialized with a prior information and the right messages are initialized as, R_{s,t}=0~\text {for}~t \in \mathcal {A}, R_{s,t}= \infty ~\text {for}~t \in \mathcal {A}^{c} , where \mathcal {A} is the set of information bits and \mathcal {A}^{c} is the set of frozen bits. The messages computed to be passed on a unit factor graph are [95]:\begin{align*} L_{s+1,t_{2}}^{j}=&ms_{f}(R_{s+1,t_{3}}^{j}+L_{s,t_{1}}^{j},L_{s,t_{0}}^{j}) \\[3pt] L_{s+1,t_{3}}^{j}=&ms_{f}(R_{s+1,t_{2}}^{j},L_{s,t_{0}}^{j})+L_{s,t_{1}}^{j} \\[3pt] R_{s,t_{0}}^{j}=&ms_{f}(R_{s+1,t_{2}}^{j},R_{s+1,t_{3}}^{j}+L_{s,t_{1}}^{j}) \\[3pt] R_{s,t_{1}}^{j}=&R_{s+1,t_{3}}^{j}+ms_{f}(R_{s+1,t_{2}}^{j},L_{s,t_{0}}^{j})\tag{51}\end{align*}

    View SourceRight-click on figure for MathML and additional features. where ms_{f}(a,b) \approx \text {sign}(a) \times \text {sign}(b) \times \text {min}(|a|,| b|) is called min-sum function. In Fig. 9(b), ms_{f} (L_{1},L_{2}) is denoted by L_{1} \boxplus L_{2} and is commonly referred to as boxplus operator and “equal to” sign in the box denotes the addition operation. Thus, in each iteration, left and right messages are updated. For detailed polar SCAN algorithm, please refer [95]. After one iteration of polar decoding, the output extrinsic information of the polar decoder is passed as a priori information to the SCMA detector.

  • VNs update process: In this, VNs update their information using a priori information and pass it to the neighboring FNs (similar to as shown in Step 1 (b) of Algorithm 1).

The above summarizes the JIDD algorithm for the PC-SCMA system. To further improve the performance, [96] used the EXIT chart to analyze the convergence of the JIDD receiver. Under the 150% overloading system, JIDD has 0.6dB performance loss over the Rayleigh fading channel with much less complexity. Further, a joint channel estimation and decoding (JCD) scheme has been proposed in [97] for the PC-SCMA system. This scheme did not require the instantaneous channel state information (CSI) over fading channels. In this, a sparse Bayesian learning based channel estimation algorithm was proposed to measure the initial CSI. Further, a soft-successive cancellation list decoding algorithm is proposed for polar decoding, which outputs LLR information to update the SCMA detector. Recently, an edge-cancellation-aided (EC-IDD) algorithm has been proposed for the PC-SCMA system, where Gaussian approximated message passing (GA-MP) is for SCMA and soft list decoding (SLD) for polar decoding [98].
FIGURE 9. - 
$(a)$
 Factor graph for a polar code with 
$N =$
 8 and 
$(b)$
 message passing on an unit graph.
FIGURE 9.

(a) Factor graph for a polar code with N = 8 and (b) message passing on an unit graph.

G. SIC-MPA

In [99], two successive interference cancellation (SIC) based receivers, namely SIC and joint SIC-MPA receivers, were proposed for SCMA systems. The complex symbols are divided into real and imaginary parts, and the system model is rewritten to make a simpler receiver design. SIC receiver consists of subtraction and deduction operations and thus, has lower complexity than MPA. However, the SIC receiver suffers from performance loss. In the joint SIC-MPA receiver, the output of SIC is sent to MPA to calculate LLR. Since SIC provides an initial value to MPA, this receiver converges faster, and provides better performance improvement of 0.5–1 dB with less complexity. However, the main trade-off is that specific CBs are required for this receiver, and the proposed decoding scheme cannot be used as it is in the generally used RF CBs.

H. Other Methods for SCMA Detection

The classical decoding algorithm for SCMA is MPA which provides ML-like performance with complexity M^{d_{f}} . In literature, some schemes different from MPA have been proposed for SCMA detection.

1) Expectation Propagation

The expectation propagation algorithm (EPA) is an approximate Bayesian inference method. EPA can be used for estimating posterior distributions with simple distributions through distribution projection [100], [101]. A low complexity iterative receiver based on EPA was proposed for uplink SCMA system in [102], [103]. With EPA, the decoding complexity reduces from exponential to linear, i.e., it is linearly proportional to the CB size M .

The projection of a distribution p onto some distribution set \Phi is given as \begin{equation*} \text {Proj}_{\Phi }(p)= \mathop {\arg \min }_{ q \in \Phi } \text {KL}(p ||q),\end{equation*}

View SourceRight-click on figure for MathML and additional features. where \text {KL}(p ||q) denotes the Kullback-Leibler (KL) divergence. In EPA, the messages passing between VNs and FNs can be considered as continuous RVs. Next, the messages in the Step 1 of Algorithm 1 can be simplified to scalar complex Gaussian distributions, and this step can be replaced by updating the mean and variance parameter. After calculating the mean and variance of the messages passed between the nodes for multiple iterations, the LLR can be calculated. A new initialization method to accelerate the convergence as well as reducing the complexity of the algorithm was proposed in [103]. In [104], a receiver design by integrating EPA detector with JDD was proposed for an uplink LDPC-SCMA system.

2) Deep Learning Based SCMA Detectors

Deep learning is a subclass of machine learning which has contributed to many aspects of wireless communication systems, such as channel estimation, signal detection, resource allocation, network security, etc [105], [106]. Recently, deep learning was applied for SCMA detection in which Deep Neural Networks (DNN) were trained to provide non-iterative decoding with much less complexity [19], [107]–​[111]. In [110], DNN based SCMA decoder has 2K nodes at the input layer and \text {log}_{2}(M) J nodes at the output layer. The aim of training the DNN based SCMA decoder is to optimize the weights and biases, such that the cross entropy between the original transmitted bits and the output of the DNN decoder is minimum. The received signal is of dimension 2K since each received signal at k th RE, i.e., y_{k} is divided into real and imaginary parts. The DNN based SCMA decoder performance is slightly poor than the standard MPA decoding algorithm. So, [110] designed denoising autoencoders (DAEs) for jointly designing SCMA CB and decoder. Autoencoder based SCMA (AE-SCMA) outperforms the standard MPA scheme, and its performance is close to dense code multiple access (DCMA) for low SNR regions [112]. Table 2 summarizes the approach, the advantages and disadvantages of the SCMA detection algorithms.

TABLE 1 List of Notations
Table 1- 
List of Notations
TABLE 2 Review of SCMA Detector Algorithms
Table 2- 
Review of SCMA Detector Algorithms

I. MIMO SCMA Detection

The spectral efficiency of an SCMA system can be further increased by integrating it with another key technique of the 5G wireless system, i.e., multiple-input multiple-output (MIMO). However, the detection complexity of standard MPA for the MIMO-SCMA increases exponentially with the number of antennas and accessed users. Some research works proposed MIMO-SCMA receivers to reduce the detection complexity [103], [113], [114], [116]–​[120].

In [113], MPA detection based on QR decomposition was proposed for the uplink SCMA system with multiple antennas at the BS. Specifically, the number of FNs depends only on d_{f} , which reduces the detection complexity. In [114], Gaussian approximation based belief-propagation (GA-BP) detection with linear prefiltering was proposed, along with the diversity analysis. This scheme has low computational complexity but suffers from performance degradation [115]. To improve the convergence of GA-BP detection, [116] proposed a CB design that also improves the BER performance. In [117], a partially active MPA scheme for the MIMO-SCMA was proposed. A sliding window was introduced to find the active users during each iteration while others remain silent. Thus, the detection complexity efficiently reduces while its performance degrades slightly. This research work was extended in [118], where two Gaussian-approximated MPA (GA-MPA) schemes are proposed for detection. To be specific, the output from the decoders were used to estimate the mean and variance of the Gaussian messages in the detector, and a damping factor was introduced to improve the performance loss. The detection complexity is linearly related to the number of antennas and d_{f} . In [119], a resource-selection based MPA (RSB-MPA) was proposed for uplink SCMA system with multiple antennas at BS. The RSB-MPA is applied at well-conditioned resources and Maximum Likelihood algorithm was applied at resources with bad conditions. This resulted in a trade-off between the BER performance and complexity. In [120], a stretched factor graph based hybrid BP-EP receiver was proposed for a downlink MIMO-SCMA system over frequency selective fading channels. However, this scheme can not be applied to users with multiple antennas. In [103], a sparse-channel based EPA (SC-EPA) was proposed for uplink MIMO-SCMA system. The complexity of the SC-EPA is independent of the number of antennas at the BS and is linearly dependent on the constellation size. Also, it is more robust to channel estimation error.

Below are a few of the challenges of SCMA detection algorithms, along with opportunities to further improve the SCMA systems:

  • Complexity: SCMA may outperform other NOMA schemes, but the standard MPA decoding could be unaffordable in terms of complexity [121]. More research works are needed to further reduce the decoding complexity especially for large-sized SCMA systems.

  • Channel Estimation: Most of the aforementioned detection methods assume that the CSI is perfectly known; however, this assumption is not realistic. Few works studied a joint channel estimation and data decoding methods [97], [122]. The impact of CSI estimation errors to different detection methods remains largely unknown.

  • Synchronization: The SCMA detectors discussed above assume a perfect synchronization at the receiver. In practice, there may be performance degradation in presence of asynchronous transmission [123]. Thus, more robust detectors which can cope with synchronization errors are expected.

  • Adaptive SCMA: In most of the current SCMA systems, all the users are uniformly served, which may not be the optimal strategy. Practically, it is desirable that SCMA codebooks and detectors can be adapted to different users requirements. Some existing works on adaptive SCMA are proposed in [124], [125].

    In addition to the above points, the SCMA detectors should also be designed for emerging wireless technologies, such as beamforming, massive number of antennas in MIMO, multi-user MIMO, reconfigurable intelligent surface (RIS), etc [126].

SECTION V.

New Applications and Future Directions

This section presents a few promising directions for future SCMA research:

  • Grant Free SCMA: With the deployment of massive number of wireless devices in various vertical industries (such as factory automation, autonomous driving, smart health care, etc.), massive machine-type communication (mMTC) has been attracting tremendous research attention over the past years. With mMTC, one aims to achieve both massive connectivity and low latency. Legacy communication systems are highly inefficient due to the significant signaling overhead and long handshaking latency imposed by the grant based scheduling [127]. Grant-free access has been extensively studied to make a difference where the active users contend the shared resources by directly transmitting to the BS. For grant-free SCMA, the following two problems are worth a more profound investigation: active user identification and collision resolution.

    In most of the works on SCMA, it is assumed that the channel state information (CSI) is known, and all the users transmit data simultaneously. However, this requires the BS to identify the active users before decoding. An efficient way for active user detection and channel estimation is to formulate the two problems jointly as a sparse signal recovery problem and then attack it by the compressed sensing theory.

    A receiver that performs joint channel estimation, data decoding, and the detection of active users based on EP message passing was proposed in [122], [128], [129]. Also, a blind detection and compressive sensing based receiver was proposed in [130] for performing the joint activity and data detection. Grant-free SCMA allows users to transmit data in the preconfigured resources, which is called contention transmission unit (CTU), i.e., a combination of time, frequency, CB, and pilot. In [131], an acknowledgment feedback based user-to-CTU mapping was proposed for grant-free SCMA to decrease the collision probability.

  • SCMA for High Mobility Communications: With the rapid evolution in autonomous driving, the prevalent vision is that connected autonomous vehicles will be seen everywhere in the next decade [132]. Challenges may arise when a vehicle moves at a very high speed (e.g., 500 km/h or higher) and exchanges information with its surrounding vehicle or infrastructure using SCMA. In this case, innovative solutions are needed to maintain an excellent reception quality. One direction is to study the integration of SCMA with orthogonal-time-frequency-space (OTFS). OTFS is a 2D-modulation technique with the allocation of symbols on the delay-Doppler domain that shows superior performance in high mobility scenarios. It is expected that the OTFS-SCMA system will provide massive connectivity in the high-speed vehicle-to-everything (V2X) scenario. In [133], a multi-user OTFS system based on SCMA was proposed, and receivers were designed for both uplink and downlink systems.

  • SCMA for Visible Light Communications: Demands for data-intensive applications in future wireless applications have driven visible light communications (VLC) as a promising candidate to provide high-speed and secure indoor/outdoor wireless access across unlicensed spectrum [134]–​[136]. SCMA has been employed to enhance the bandwidth efficiency in VLC systems. The VLC systems have the requirement of real and positive signal transmission. In [137]–​[139], radio-frequency (RF) based multi-dimensional CBs have been used and made suitable changes so that they can be applied to the VLC system. The SCMA CBs have been designed specifically for VLC systems in [140]–​[143].

  • SCMA with Reconfigurable Intelligent Surface: RISs have received significant attention from both academia and industry as it can smartly reconfigure the wireless propagation environment [144]. RIS improves the coverage performance of the wireless system by reflecting the incident signals after adjusting their phases and/or amplitudes in the desired direction [145]. The integration of RIS and SCMA was investigated in [146], [147] where RIS phase shifts are optimized, and a low-complexity decoder was designed to improve the system performance.

SECTION VI.

Conclusion

This paper has provided a systematic self-contained tutorial for SCMA, a disruptive code-domain NOMA scheme for enabling massive connectivity. SCMA uses carefully designed sparse CBs for significant constellation shaping gain and anti-interference capability compared to previously proposed code-domain NOMA techniques. Compared to the complex MAP decoding, iterative MPA gives rise to efficient MPA decoding with significantly reduced complexity. Thus, SCMA represents a promising solution for providing better quality of service to users (with the overloading factor greater than one), low latency and high spectral efficiency. It is anticipated that this paper will provide a quick and comprehensive understanding of SCMA to motivate more researchers/engineers toward this research topic.

References

References is not available for this document.