# A Tutorial on Decoding Techniques of Sparse Code Multiple Access

Saumya Chaturvedi  Zilong Liu  Vivek Ashok Bohara  Anand Srivastava  Pei Xiao.
Saumya Chaturvedi, Vivek Ashok Bohara, and Anand Srivastava are with
Indraprastha Institute of Information Technology (IIIT-Delhi), Delhi, New
Delhi, 110020, India (e-mail: {saumyac, vivek.b, anand}@iiitd.ac.in). Zilong
Liu is with the School of Computer Science and Electrical Engineering,
University of Essex, Colchester CO4 3SQ, U.K. (e-mail:
zilong.liu@essex.ac.uk). Pei Xiao is with Institute of Communication Systems,
5G Innovation Centre, University of Surrey, UK (E-mail<EMAIL_ADDRESS>
###### 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.

###### Index Terms:

Codebook Design, Factor Graphs, Message Passing Algorithm (MPA), Non-
Orthogonal Multiple Access (NOMA), Sparse Code Multiple Access (SCMA).

##  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, 2, 3, 4, 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.

###  I-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.

###  I-B Motivations and Contributions

Among many survey/tutorial papers on NOMA in the current literature, most of
them focus on PD-NOMA [7, 28, 29, 30, 31, 32, 33, 34, 35]. There is a clear
paucity of comprehensive survey papers to SCMA for different levels of readers
[36, 37, 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.

###  I-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.

Figure 1:  An illustration of $4\times 6$ SCMA Encoding.

_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 x is denoted by $\textbf{x}_{i}$ and diag(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 A is denoted by
$\text{Tr}(\textbf{A})$ which is calculated by the sum of main diagonal
elements of A. The L2 norm of x is denoted by
$\left\lVert\textbf{x}\right\rVert$, and ‘log(x)’ denotes the natural
logarithm of each element of x. $\mathcal{O}(\cdot)$ denotes the complexity
order.

##  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.

###  II-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

$\displaystyle\textbf{y}=\sum_{j=1}^{J}\textbf{H}_{j}\textbf{x}_{j}^{m}+\textbf{n},$
(1)

where 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

$\displaystyle
y_{k}=\sum_{j\in\xi_{k}}h_{k,j}x_{k,j}^{m}+n_{k},~{}\text{for}~{}k=1,2,\cdots,K,$
(2)

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:

$\displaystyle\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},$ (3)

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

$\displaystyle y_{2}=h_{2,1}x_{2,1}+h_{2,4}x_{2,4}+h_{2,5}x_{2,5}+n_{2},$ (4)

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.

###  II-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

$\displaystyle\textbf{V}^{*},\textbf{A}^{*}=\mathop{\arg\max}_{\textbf{V},\textbf{A}}D(S(\textbf{F},\textbf{A};J,M,d_{v},K))$
(5)

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 [36, 15, 42, 16, 43, 44, 39, 40, 41, 45,
46, 47, 48, 49]. For the $j$th user, multi-dimensional CB,
$\text{CB}_{j}=\Gamma(:,:,j)$ of size $K\times M$ can be expressed as

$\displaystyle\text{CB}_{j}=\textbf{V}_{j}\Delta_{j}\textbf{A}_{\text{MC}},~{}~{}\text{for}~{}j=1,2,\cdots,J,$
(6)

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{split}\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{split}$

$\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.

####  II-B1 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^{\prime}}$, $1\leq m<m^{\prime}\leq M$, is given as

$\displaystyle
d_{E,min}=\text{min}\left\\{\left\lVert\textbf{x}^{m}-\textbf{x}^{m^{\prime}}\right\rVert|1\leq
m<m^{\prime}\leq M\right\\}.$

It is known that $d_{E,min}$ is a KPI for designing the constellations in the
case of AWGN channels [50, 51, 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

$\displaystyle
d_{P,min}=\text{min}\Big{\\{}{\prod_{k\in\mathcal{K}_{mm^{\prime}}}{|{x}_{k}^{m}-{x}_{k}^{m^{\prime}}}|}\Big{\\}},$
$\displaystyle~{}~{}~{}~{}\text{for}~{}1\leq m<m^{\prime}\leq M,$

where $x_{k}^{m}$ and $x_{k}^{m^{\prime}}$ are the $k$-th codeword elements of
$\textbf{x}^{m}$ and $\textbf{x}^{m^{\prime}}$, and
$\mathcal{K}_{mm^{\prime}}$ denotes the set of dimensions, $k$, for which
$x_{k}^{m}\neq x_{k}^{m^{\prime}}$. 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.

####  II-B2 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
[42, 55, 57, 39, 45, 58, 59, 18, 56, 47, 60].

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 [56], the M-Peng scheme is designed
by maximizing the minimum Euclidean distance between the constellation points
of all the users. In [18, 57, 59], 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

$\displaystyle\mathbb{P}(\textbf{s}_{a},\textbf{s}_{b}|\textbf{H})=Q(\sqrt{\frac{\left\lVert\textbf{H}(\textbf{s}_{a}-\textbf{s}_{b})\right\rVert^{2}}{2N_{0}}})$
(7)

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, 56, 58, 60]. In [61], CB
design using maximum distance separable (MDS) codes was proposed which
provides improved signal-space diversity. In [62], CB design based on
Reinforcement Learning (RL) was proposed which are suitable for large-scale
SCMA schemes. In [63], a novel CB optimization method, namely joint bare bones
particle swarm optimization (JBBPSO) was proposed to maximize the average
mutual information.

####  II-B3 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, 64, 44, 65, 66]. The main motive of applying
constellation operators is to maintain uniquely decodable symbols for users to
collide at the same RE. In [66], 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 [67], a
multistage optimization scheme was proposed to design low-projected
multidimensional constellations. A uniquely decomposable constellation group
(UDCG) based CB design was proposed in [68] for larger modulation order. It
should be noticed that the designing criteria $D$ in (5) should not be
compromised with the constellation operators.

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

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.

$\displaystyle|OA|=R_{1},|OB|=R_{2},|OC|=R_{1}^{{}^{\prime}},|OD|=R_{2}^{{}^{\prime}},$

where
$\alpha=\frac{R_{2}^{{}^{\prime}}}{R_{2}}=\frac{R_{1}^{{}^{\prime}}}{R_{1}}$
and
$\beta=\frac{R_{2}^{{}^{\prime}}}{R_{1}^{{}^{\prime}}}=\frac{R_{2}}{R_{1}}$.
Thus, the mother constellation, $\textbf{A}_{MC}$, can be expressed as

$\displaystyle\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}{.}$ (8)

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{split}\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{split}$

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 [59].

##  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 [69, 70]. 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.

###  III-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 (b) and estimated bits ($\hat{\textbf{b}}$).

$\displaystyle\min P(e)=\min P(\textbf{b}\neq\hat{\textbf{b}})\,.$ (9)

Given all the possible observations y and the channel coefficient matrix H, we
have

$\displaystyle P(e)=\int P(e|\textbf{y})f(\textbf{y})d\textbf{y}\,,$ (10)

where $P(e|\textbf{y})$ indicates the probability of error given received
vector 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|\textbf{y})$.
Since b is the desired data,

$\displaystyle P(e|\textbf{y})=1-P(\textbf{b}|\textbf{y})\,,$ (11)

where $P(\textbf{b}|\textbf{y})$ denotes the probability of b given the vector
y. Thus, to minimize the probability of error, $P(\textbf{b}|\textbf{y})$
needs to be maximized and this detection scheme is termed as MAP detection.
Using Bayes’ rule,

$\displaystyle
P(\textbf{b}|\textbf{y})=\frac{f(\textbf{y}|\textbf{b})P(\textbf{b})}{f(\textbf{y})}\,,$
(12)

where $f(\textbf{y}|\textbf{b})$ indicates the conditional PDF of y given b
and $f(\textbf{y})$ indicates the PDF of y. Assuming the prior probabilities
$P(\mathbf{b})$ are identical for different $\mathbf{b}$, so

$\displaystyle P(\textbf{b}|\textbf{y})\propto f(\textbf{y}|\textbf{b})\,.$
(13)

Thus, the b which maximizes $f(\textbf{y}|\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

$\displaystyle\hat{\textbf{X}}=\operatorname*{argmax}_{\textbf{x}_{j}\in\textbf{CB}_{j},\forall
j}p(\textbf{X}|\textbf{y})\,,$ (14)

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).

  1. $\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

$\displaystyle\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})\,,$
(15)

i.e., the summation with respect to all the variables except $\alpha_{j}$. It
can be written in a more compact form as

$\displaystyle\mathcal{V}(\alpha_{j})=\sum_{{\sim}\alpha_{j}}\mathcal{V}(\alpha_{1},\alpha_{2},\cdots,\alpha_{j},\cdots,\alpha_{J})\,,$
(16)

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
$(\ref{multiuser_codeword})$ leads us to symbol by symbol detection for the
$j$th user which can be given as

$\displaystyle\hat{\textbf{x}}_{j}=\operatorname*{argmax}_{\textbf{x}_{j}\in\textbf{CB}_{j}}\sum_{{\sim}\textbf{x}_{j}}p(\textbf{X}|\textbf{y})\,.$
(17)

Again using Bayes’ rule, we have

$\displaystyle\hat{\textbf{x}}_{j}=\operatorname*{argmax}_{\textbf{x}_{j}\in\textbf{CB}_{j}}\sum_{{\sim}\textbf{x}_{j}}f(\textbf{y}|\textbf{X})P(\textbf{X})\,.$
(18)

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

$\displaystyle f(\textbf{y}|\textbf{X})=\prod_{k=1}^{K}f(y_{k}|\textbf{X})\,,$
(19)

where $k=1,\cdots,K$ denotes the REs and $y_{k}$ is the received signal at the
$k$th RE. Consequently, (18) becomes

$\displaystyle\hat{\textbf{x}}_{j}=\operatorname*{argmax}_{\textbf{x}_{j}\in\textbf{CB}_{j}}\sum_{{\sim}\textbf{x}_{j}}\left(P(\textbf{X})\prod_{k=1}^{K}f(y_{k}|\textbf{X})\right)\,,\enspace$
$\displaystyle\text{for}~{}j=1,\cdots,J.$ (20)

Solving the marginal product of functions (MPF) problem in (III-A) 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
factor graph to solve the MPF problem in (III-A) with near-optimal
performance.

###  III-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 [71].

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

$f(\textbf{y}|\textbf{x})=\prod_{k=1}^{K}f(y_{k}|\textbf{x})\,.$ (21)

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}|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}|\textbf{x})$.

Figure 5: Factor graph of the $4\times 6$ SCMA system corresponding to the
factor graph matrix shown in (3).

Figure 6: Students counting using MPA.

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.

###  III-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 [69].

  * $-$

_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.

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. 1.

Passing message from FN $k$ to VN $j$:

$\begin{split}\eta_{k\rightarrow
j}(\textbf{x}_{j}^{m})&=\sum_{{\sim}\textbf{x}_{j}}\left(\psi_{k}\prod_{j^{\prime}\in\xi_{k}\setminus\\{j\\}}\eta_{j^{\prime}\rightarrow
k}(\textbf{x}_{j^{\prime}}^{m})\right),\end{split}$ (22)

where $\psi_{k}$ is the likelihood function associated with FN $k$ and
$j^{\prime}\in\xi_{k}\setminus\\{j\\}$ denotes all the VNs of $\xi_{k}$ except
$j$th VN. Also, $\eta_{j^{\prime}\rightarrow k}(\textbf{x}_{j^{\prime}}^{m})$
denotes the message from the VN $j^{\prime}$ to the FN $k$ corresponding to
symbol $\textbf{x}_{j^{\prime}}^{m}\in\textbf{CB}_{j},m=1,\cdots,M$.

  2. 2.

Passing message from VN $j$ to FN $k$:

$\displaystyle\eta_{j\rightarrow
k}(\textbf{x}_{j}^{m})=\prod_{k^{\prime}\in\zeta_{j}\setminus\\{k\\}}\eta_{k^{\prime}\rightarrow
j}(\textbf{x}_{j}^{m}),$ (23)

where $k^{\prime}\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.

$\displaystyle\eta_{j\rightarrow
k}(\textbf{x}_{j}^{m})=\frac{\prod_{k^{\prime}\in\zeta_{j}\setminus\\{k\\}}\eta_{k^{\prime}\rightarrow
j}(\textbf{x}_{j}^{m})}{\sum_{\textbf{x}_{j}^{l}\in\textbf{CB}_{j}}\prod_{k^{\prime}\in\zeta_{j}\setminus\\{k\\}}\eta_{k^{\prime}\rightarrow
j}(\textbf{x}_{j}^{l})}.$ (24)

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 [72]. 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.

Inputs:

$J$ : Number of users.

$K$ : Number of REs.

$\textbf{CB}_{j}$ : CB of $j$th user, $\forall j=1,\cdots,J$.

y : The received signal vector.

Output:

Estimated value of bits for $j$th user, $\forall j=1,\cdots,J$.

Initialize:

The prior probability of each codeword: $\eta_{j\rightarrow
k}^{0}=P(\textbf{x}_{j}^{m})=\frac{1}{M},\forall
j=1,\cdots,J,~{}k\in\zeta_{j}$.

1: Step 1: Message passing along the nodes

for  _$t=1~{}\textnormal{{to}}~{}N_{t}$_ do

a) Update Resource Node:  $\displaystyle\eta_{k\rightarrow
j}^{t}(\textbf{x}_{j}^{m})=$
$\displaystyle\sum_{{\sim}\textbf{x}_{j}}\Bigg{(}\exp\left\\{\frac{-1}{N_{0}}\left\lVert
y_{k}-\sum_{j\in\xi_{k}}h_{k,j}x_{k,j}^{m}\right\rVert^{2}\right\\}$
$\displaystyle\prod_{j^{\prime}\in\xi_{k}\setminus\\{j\\}}\eta_{j^{\prime}\rightarrow
k}^{t-1}(\textbf{x}_{j^{\prime}}^{m})\Bigg{)},$

b) Update Variable Node:  $\displaystyle\eta_{j\rightarrow
k}(\textbf{x}_{j}^{m})=P(\textbf{x}_{j})\prod_{k^{\prime}\in\zeta_{j}\setminus\\{k\\}}\eta_{k^{\prime}\rightarrow
j}^{t-1}(\textbf{x}_{j}^{m}).$

end

2: Step 2: Bit LLR

The final belief computed at each VN is:
$\displaystyle{I}(\textbf{x}_{j}^{m})=\left(\frac{1}{M}\right)\prod_{k\in\zeta_{j}}\eta_{k\rightarrow
j}(\textbf{x}_{j}^{m})$ (25) The $i$-th bit LLR $(1\leq
i\leq\text{log}_{2}(M))$ at $j$-th VN is
$\begin{split}\text{\text{LLR}}(b_{j}^{i})&=\log\frac{P(b_{j}^{i}=+1)}{P(b_{j}^{i}=-1)}\,,\\\
&=\log\frac{\sum_{\textbf{x}_{j}^{m}\in\textbf{CB}_{j}|b_{j}^{i}=+1}{I}(\textbf{x}_{j}^{m})}{\sum_{\textbf{x}_{j}^{m}\in\textbf{CB}_{j}|b_{j}^{i}=-1}{I}(\textbf{x}_{j}^{m})}\,.\end{split}$
(26) where, $\hat{b}_{j}^{i}=+1$ if $\text{LLR}(b_{j}^{i})$ is positive
otherwise $\hat{b}_{j}^{i}=-1$.

Algorithm 1 The Message Passing Algorithm

###  III-D Illustration of MPA Decoding for $4\times 6$ 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 (III-A) using MPA, and this can be
carried out in the following steps:

  1. 1.

Initialization.

  2. 2.

Passing of messages between FNs and VNs.

  3. 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}|\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

$\displaystyle\psi(y_{l}|\textbf{x}_{1},$
$\displaystyle\textbf{x}_{2},\textbf{x}_{3},N_{0})=\exp\bigg{(}\frac{-1}{N_{0}}||y_{l}-(h_{l1}x_{l,1}$
$\displaystyle+h_{l2}x_{l,2}+h_{l3}x_{l,3}||^{2}\bigg{)},$
$\displaystyle\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}.$
(27)

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}|\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

$\displaystyle\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}\,.$ (28)

  * •

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.

Figure 7: Message Passing from FN to VN.

Message passed from FN $l$ to VN $v_{1}$ is given as

$\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}|\textbf{x}_{1},\textbf{x}_{2},\textbf{x}_{3},N_{0})\\\
\times\eta_{v_{2}\rightarrow l}(\textbf{x}_{2})\hskip
1.42271pt\eta_{v_{3}\rightarrow l}(\textbf{x}_{3})\bigg{)}\hskip
7.11317pt\text{for}~{}\textbf{x}_{1}\in\textbf{CB}_{1}.$ (29)

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

$\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}|\textbf{x}_{1},\textbf{x}_{2},\textbf{x}_{3},N_{0})\\\
\times\eta_{v_{1}\rightarrow l}(\textbf{x}_{1})\hskip
1.42271pt\eta_{v_{3}\rightarrow
l}(\textbf{x}_{3})\bigg{)}~{}~{}\text{for}~{}\textbf{x}_{2}\in\textbf{CB}_{2}.$
(30)

$\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}|\textbf{x}_{1},\textbf{x}_{2},\textbf{x}_{3},N_{0})\\\
\times\eta_{v_{1}\rightarrow l}(\textbf{x}_{1})\hskip
1.42271pt\eta_{v_{2}\rightarrow
l}(\textbf{x}_{2})\bigg{)}\,~{}~{}\text{for}~{}\textbf{x}_{3}\in{\textbf{CB}_{3}}.$
(31)

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$.

Figure 8: Message Passing from VN to FN.

Message sent from VN $v$ to FN $l_{1}$ and $l_{2}$, respectively are:

$\eta_{v\rightarrow
l_{1}}(\textbf{x}_{v})=\text{normalize}(P_{a}(\textbf{x}_{v})\hskip
2.84544pt\eta_{l_{2}\rightarrow v}(\textbf{x}_{v}))\\\
\text{for}~{}\textbf{x}_{v}\in\textbf{CB}_{v},$ (32)

$\eta_{v\rightarrow
l_{2}}(\textbf{x}_{v})=\text{normalize}(P_{a}(\textbf{x}_{v})\hskip
2.84544pt\eta_{l_{1}\rightarrow v}(\textbf{x}_{v}))\,\\\ \hskip
28.45274pt\text{for}~{}\textbf{x}_{v}\in\textbf{CB}_{v},$ (33)

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 [0,1]. The normalization is conducted similar to (24) and so,
(32) can also be written as

$\displaystyle\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})}$
$\displaystyle\text{for}~{}\textbf{x}_{v}\in\textbf{CB}_{v}.$ (34)

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.

$I_{v}(\textbf{x}_{v})=P_{a}(\textbf{x}_{v})\hskip
1.42271pt\eta_{l_{1}\rightarrow v}(\textbf{x}_{v})\hskip
1.42271pt\eta_{l_{2}\rightarrow v}(\textbf{x}_{v})\,,\\\
\text{for}~{}\textbf{x}_{v}\in\textbf{CB}_{v}.$ (35)

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{split}\text{LLR}({b_{v}^{i}})&=\log\frac{P(b_{v}^{i}=+1)}{P(b_{v}^{i}=-1)}\\\
\
&=\log\frac{\sum_{\textbf{x}_{v}|b_{v}^{i}=+1}I_{v}(\textbf{x}_{v})}{\sum_{\textbf{x}_{v}|b_{v}^{i}=-1}I_{v}(\textbf{x}_{v})}\,,\\\
&\hskip 85.35826pt\text{for}~{}i=1,\cdots,B.\end{split}$ (36)

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{split}\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})}\,.\end{split}$
(37)

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

$\displaystyle\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})}\,.$
(38)

TABLE I: List of Notations Parameter | Notation
---|---
Number of users | $J$
Number of resource elements | $K$
Transmitted codeword of the $j$th user | $\textbf{x}_{j}$
Constellation size | $M$
Number of bits per symbol | $B$
Column weight of the factor graph matrix | $d_{v}$
Row weight of the factor graph matrix | $d_{f}$
Set of users transmitting data over the $k$th RE | $\xi_{k}$
Set of REs connected to $j$th VN | $\zeta_{j}$
Message passed from $k$th FN to $j$th VN | $\eta_{k\rightarrow j}$
Message passed from $j$th VN to $k$th FN | $\eta_{j\rightarrow k}$

##  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.

###  IV-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 [73, 74], 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)$111If $f(t)$ is a function, let $f$ denote
its sampling sequence and the $f[n]$ is the $n$th element of the sequence. 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}+\ldots+x_{d_{f}}+n_{o}=y$, where
the corresponding PDFs are
$f_{1}(t),f_{2}(t),\ldots,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

$\displaystyle\eta_{k\rightarrow j}(\textbf{x}_{j}^{m})=g(y_{k}-x_{k,j}^{m}).$
(39)

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

$g=\mathcal{F}^{-1}[\mathcal{F}(pad(f_{2}))\bullet\mathcal{F}(pad(f_{3}))\bullet\cdots\bullet\mathcal{F}(pad(f_{d_{f}}))\\\
~{}~{}~{}~{}~{}~{}~{}\bullet\mathcal{F}(pad(\mathcal{N}_{p})],$ (40)

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. (1)

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

  2. (2)

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

  3. (3)

Compute $g$ from (40).

  4. (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 with $M$. 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$.

###  IV-B Sphere Decoded MPA

To simplify the conventional MPA, [75] proposed a logarithm domain MPA (Log-
MPA) detector, which reduced the product operations involved without
compromising the performance. To further simplify the detection, [77, 76]
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) [78, 79, 80, 81].

An improved Log-MPA Region-Restricted detector (RRL detector) was proposed in
[78] for SCMA downlink systems. In the case of a downlink system, the received
signal at the $k$th RE is given as:

$\displaystyle y_{k}=h_{k}\sum_{j\in\xi_{k}}x_{k,j}+n_{k}\triangleq
h_{k}z_{k}+n_{k},$ (41)

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 [78]). 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

$\displaystyle\eta_{k\rightarrow
j}(\textbf{x}_{j})=\underset{z_{k}\in\mathcal{S}:\textbf{x}_{j}}{{F}_{m}}\left(\sum_{j^{\prime}\in\xi_{k}\setminus
j}\eta_{j^{\prime}\rightarrow
k}(\textbf{x}_{j^{\prime}})+\mathcal{M}(z_{k})\right)$ (42)

where

$\displaystyle\mathcal{M}(z_{k})=-\frac{1}{2\sigma^{2}}|y_{k}-h_{k}z_{k}|^{2},$
(43) $\displaystyle{{F}_{m}}\triangleq\overset{\sim}{max}$
$\displaystyle(\mathsf{s}_{n^{\prime}},max(\mathsf{s}_{{n^{\prime}}-1},\ldots,max(\mathsf{s}_{2},\mathsf{s}_{1}))),$
$\displaystyle\text{for}~{}n^{\prime}=M^{d_{f}-1},$ (44)
$\displaystyle\mathsf{s}_{n^{\prime}}=$
$\displaystyle\sum_{j^{\prime}\in\xi_{k}\setminus
j}\big{(}\mathcal{M}({z_{k}})+\eta_{j^{\prime}\rightarrow
k}(\textbf{x}_{j^{\prime}})\big{)}$
$\displaystyle\text{and},~{}\overset{\sim}{max}(a^{\prime},b^{\prime})=max(a^{\prime},b^{\prime})+C_{1}(a^{\prime}-b^{\prime}),$
(45)

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 [78, 79, 80, 82] 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 [81],
called GSD-MPA. However, this method is sensitive to the overloading factor.
Therefore, to further improve the performance with low complexity, [83]
proposed two pruning algorithms and introduced the simplified GSD-SCMA (SGSD-
SCMA).

###  IV-C Scheduled MPA

In [84], 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 $\overset{\sim}{max}$ 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:

$\displaystyle\eta_{k\rightarrow j}(\textbf{x}_{j})$
$\displaystyle=\overset{\sim}{max}_{\sim\textbf{x}_{j}}\bigg{(}\psi_{k}+\sum\limits_{\begin{subarray}{c}j^{\prime}\in\xi_{k}\setminus\\{j\\}\\\
{\pi}^{-1}(j^{\prime})<v^{\prime}\end{subarray}}\eta_{j^{\prime}\rightarrow
k}^{t}(\textbf{x}_{j})+$
$\displaystyle\sum\limits_{\begin{subarray}{c}j^{\prime}\in\xi_{k}\setminus\\{j\\}\\\
{\pi}^{-1}(j^{\prime})>v^{\prime}\end{subarray}}\eta_{j^{\prime}\rightarrow
k}^{t-1}(\textbf{x}_{j})\bigg{)},~{}~{}\text{for}~{}\textbf{x}_{j}\in\textbf{CB}_{j},$
(46)

where function $j=\pi(v^{\prime})$ denotes the VN update order, where
$v^{\prime}=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.

###  IV-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^{\prime}$ number of
iterations. After $t^{\prime}$ number of iterations, the PM-MPA computes the
codeword for the last $u^{\prime}$ number of users. For the rest
$N_{t}-t^{\prime}$ iterations, the message for the remaining $J-u^{\prime}$
users are updated with the already determined codewords. In [24], $u^{\prime}$
users are chosen randomly in $t^{\prime}$th iteration, so some unreliable
codewords may get chosen, which deteriorate the BER performance.

To improve the BER performance with same complexity, [85] introduced Improved
PM-MPA in which the $u^{\prime}$ users are chosen using a parameter w. This
parameter w measures the reliability of codewords of all the users. After
$t^{\prime}$ 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

$\displaystyle\textbf{L}_{j}=sort(\\{I_{j}^{1},\cdots,I_{j}^{M}\\},~{}\text{`descend'}).$

The reliability of all codewords of all users is calculated.

$\displaystyle\textsf{w}_{j}=\frac{\textbf{L}_{j}[1]}{\textbf{L}_{j}[2]}$

The $u^{\prime}$ 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.

###  IV-E Extended Max-Log MPA

In [86], 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

$\displaystyle f^{\prime}:\textbf{A}_{MC}\rightarrow GF(M).$ (47)

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 $|\Xi|=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:

$\displaystyle
RL_{j}(m)=\sum_{d=1}^{d_{v}}U_{dj}(m),~{}\text{for}~{}m=1,\cdots,M,$ (48)

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 [86], the truncation parameter $m_{c}$ is fixed, which makes the BER
performance loss for EML-MPA. To strike a balance between BER and complexity,
[87] 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.

###  IV-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 [88, 89, 90, 91, 92].

####  IV-F1 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[93].

In literature, a variety of sub-optimum algorithms have been proposed in the
literature, to compute the extrinsic LLRs[94, 95]. In [90], 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 [96]

$\displaystyle\hat{x}_{k,j}=\sum_{a\in\textbf{CB}_{k,j}}P(x_{k,j}=a)a$ (49)

where
$P(x_{k,j}=a)=\prod_{i=1}^{B}\frac{1}{2}(1+2a_{i}-1)\text{tanh}(\frac{1}{2}LV^{t,i}_{j\rightarrow
k})$ 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

$\displaystyle\varepsilon_{k,j}^{t}=E[|x_{k,j}-\hat{x}_{k,j}|^{2}]$ (50)

  * •

_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^{\prime}}$ (49), where $j^{\prime}\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

$\displaystyle\hat{y}_{\textbf{r}k,j}=\textbf{h}_{\textbf{r}k}^{\text{H}}y_{k}-\sum_{j^{\prime}\in\xi_{k}\setminus
j}\textbf{g}_{\textbf{r}k,j^{\prime}}\hat{x}_{k,j^{\prime}}^{t}$ (51)

  * •

_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 [90,
97].

In the last SCMA iteration, the _a posteriori_ bit LLR for the corresponding
LDPC decoder is given as

$\displaystyle
L_{j}^{P,i}=L_{j}^{A,i}+\sum_{k^{\prime}\in\zeta_{j}\setminus\\{k\\}}LU^{N_{S},i}_{k^{\prime}\rightarrow
j}~{},$ (52)

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.

####  IV-F2 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 [98]. 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 [99]. 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 [99]:

$\displaystyle
L_{s+1,t_{2}}^{j}=ms_{f}(R_{s+1,t_{3}}^{j}+L_{s,t_{1}}^{j},L_{s,t_{0}}^{j})$
$\displaystyle
L_{s+1,t_{3}}^{j}=ms_{f}(R_{s+1,t_{2}}^{j},L_{s,t_{0}}^{j})+L_{s,t_{1}}^{j}$
$\displaystyle
R_{s,t_{0}}^{j}=ms_{f}(R_{s+1,t_{2}}^{j},R_{s+1,t_{3}}^{j}+L_{s,t_{1}}^{j})$
$\displaystyle
R_{s,t_{1}}^{j}=R_{s+1,t_{3}}^{j}+ms_{f}(R_{s+1,t_{2}}^{j},L_{s,t_{0}}^{j})$
(53)

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 [99]. 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, [100] 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 [101] 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[102].

Figure 9: $(a)$ Factor graph for a polar code with $N$ = 8 $(b)$ Message
passing on an unit graph.

###  IV-G SIC-MPA

In [103], 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.

###  IV-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.

####  IV-H1 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[104, 105]. A low
complexity iterative receiver based on EPA was proposed for uplink SCMA system
in [106, 107]. 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

$\displaystyle\text{Proj}_{\Phi}(p)=\mathop{\arg\min}_{q\in\Phi}\text{KL}(p||q),$

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 [107]. In [108], a
receiver design by integrating EPA detector with JDD was proposed for an
uplink LDPC-SCMA system.

####  IV-H2 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 [109, 110]. 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
[111, 112, 113, 114, 115, 116]. In [115], 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, [115] 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[117]. Table
II summarizes the approach, the advantages and disadvantages of the SCMA
detection algorithms.

TABLE II: Review of SCMA detector algorithms. Reference |  Approach |  Description |  Advantages |  Disadvantages
---|---|---|---|---
[12] |  Standard MPA in NOMA |  Proposed MPA for low-density signature CDMA (LDS-CDMA) scheme. |  LDS-CDMA improves system performance by exploiting LDS sequences in CDMA |  LDS-CDMA lacks the “shaping gain” as compared to SCMA.
[24], [85] |  PM-MPA |  The codewords of a given number of users is detected after a number of iterations. In the remaining iterations, the codewords of the remaining users is determined. |  Number of collision users on each RE can be reduced. |  • Slight BER
performance
degradation. • CSI needs to
be known.
[103] |  SIC-MPA |  SIC and MPA are combined. |  MPA iteration times are decreased. |  Specific CBs are required.
[77],[76] |  Max-log-MPA |  Approximating the logarithm of the sum of exponential operation to a maximum operation using Jacobian logarithm. |  Complexity arises from only addition operations $\mathcal{O}(2KM^{d_{f}}d_{f})$. |  Slight BER degradation and CSI needs to be known.
[73], [74] |  DMPA |  Considered the variable nodes as random variables on complex field and then, applied discretization and FFT to update the messages. |  Detection complexity per FN reduces to $O(d_{f}^{3}\text{ln}(d_{f}))$. |  Discretization causes approximation error and CSI needs to be known.
[81] |  Sphere Decoded MPA (SD-MPA) |  Applied Log-MPA algorithm while updating the FNs within a restricted region only. |  Applicable for regular and irregular constellation topology. |  If the unitary rotation angle of the hypercube increases than a certain value, BER degrades. Also, CSI needs to be known.
[84] |  Scheduled MPA |  Simplified MPA from two aspects. Firstly, a lookup table (LUT) was designed, and secondly, the FNs and VNs are jointly updated in SS-MPA. In MS-MPA, number of SS-MPA detectors work in parallel with different update orders. |  Better error performance and higher convergence speeds. |  High complexity and CSI needs to be known.
[86],[87] |  Extended max-log MPA |  Dynamic trellis based MPA is proposed such as the truncation is decreased as the iterations progresses. |  Low complexity $O(m_{c}^{d_{f}})$. |  Slight BER degradation and CSI needs to be known.
[98, 100, 101] |  JIDD for Polar SCMA |  A joint iterative detection and decoding was proposed where MPA and soft cancellation (SCAN) algorithm are used for SCMA and polar decoding, respectively. |  Only needs outer iterations and no inner iterations of constituent SCMA detector and polar decoder are needed. |  Slight BER degradation.
[90] |  MMSE-PIC for LDPC-SCMA |  Optimized the interface between the SCMA detector and the LDPC decoder resulting in a feasible hardware solution. |  Low complexity and implemented using 40nm CMOS technology. |  Not investigated for high-order modulations.
[106] |  EPA |  An approximate Bayesian inference method, where message passing is reduced to mean and variance calculation of approximate Gaussian distributions. |  Complexity scales linearly with $M$ and $d_{f}$. |  Not investigated for large scale systems and CSI needs to be known.
[111], [115] |  DL-SCMA |  Autoencoders are designed to generate the CBs and the detectors for the AWGN channel. |  Automatically learn to construct optimal CBs and the corresponding decoder. |  DL-SCMA performance degrades with predefined CBs.

###  IV-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 [107, 118, 119, 121, 122, 124, 123, 125].

In [118], 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 [119],
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[120]. To
improve the convergence of GA-BP detection, [121] proposed a CB design that
also improves the BER performance. In [122], 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 [123], 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 [124], 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 [125], 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 [107], 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 [126]. 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 [127, 101].
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 [128]. 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 [129, 130].

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 [131].

##  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[132]. 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 [133,
134, 135]. Also, a blind detection and compressive sensing based receiver was
proposed in [136] 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 [137], 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 [138]. 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 [139], 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 [140, 141, 142].
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
[143, 144, 145], 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 [146, 147,
148, 149].

  * •

_SCMA with Reconfigurable Intelligent Surface:_ RISs have received significant
attention from both academia and industry as it can smartly reconfigure the
wireless propagation environment[150]. 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 [151]. The integration
of RIS and SCMA was investigated in [152, 153] where RIS phase shifts are
optimized, and a low-complexity decoder was designed to improve the system
performance.

##  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

  * [1] Mojtaba Vaezi, Zhiguo Ding, H. Vincent Poor, _Multiple access techniques for 5G wireless networks and beyond_ , 1st ed., Springer, 2019.
  * [2] K. Routh and T. Pal, “A survey on technological, business and societal aspects of Internet of Things by Q3, 2017,” in _Proc. 3rd Int. Conf. Internet Things Smart Innov. Usages (IoT-SIU)_ , 2018, pp. 1–4.
  * [3] L. Dong et al., “Introduction on IMT-2020 5G trials in China,” _IEEE J. Sel. Areas Commun._ , vol. 35, no. 8, pp. 1849–1866, Aug. 2017.
  * [4] J. Rodriguez, _Fundamentals of 5G Mobile Networks_. Hoboken, NJ, USA: Wiley, 2014, ch. 10, pp. 221–240.
  * [5] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A survey,” _Comput. Netw._ , vol. 54, no. 15, pp. 2787–2805, 2010.
  * [6] N. Abu-Ali, A. M. Taha, M. Salah, and H. Hassanein, “Uplink scheduling in LTE and LTE-Advanced: Tutorial, survey and evaluation framework,” _IEEE Commun. Surveys Tuts._ , vol. 16, no. 3, pp. 1239–1265, 3rd Quart., 2014.
  * [7] Y. Liu, Z. Qin, M. Elkashlan, Z. Ding, A. Nallanathan, and L. Hanzo, “Non-orthogonal multiple access for 5G and beyond,” _Proc. IEEE_ , vol. 105, no. 12, pp. 2347–2381, Dec. 2017.
  * [8] Z. Wei, J. Yuan, D. W. K. Ng, M. Elkashlan, and Z. Ding, “A survey of downlink non-orthogonal multiple access for 5G wireless communication networks,” _ZTE Commun._ , vol. 14, no. 4, pp. 17–25, 2016\.
  * [9] S. M. R. Islam, N. Avazov, O. A. Dobre, and K.-S. Kwak, “Power domain non-orthogonal multiple access (NOMA) in 5G systems: Potentials and challenges,” _IEEE Commun. Surveys Tuts._ , vol. 19, no. 2, pp. 721–742, 2nd Quart., 2017.
  * [10] Z. Yang, Z. Ding, P. Fan, and N. Al-Dhahir, “A general power allocation scheme to guarantee quality of service in downlink and uplink NOMA systems,” _IEEE Trans. Wireless Commun._ , vol. 15, no. 11, pp. 7244–7257, Nov. 2016.
  * [11] H. Nikopour and H. Baligh,“Sparse code multiple access,” in _Proc. IEEE 24th Int. Symp. Pers. Indoor Mobile Radio Commun. (PIMRC)_ , London, UK, 2013, pp. 332–336.
  * [12] R. Hoshyar, F. P. Wathan, and R. Tafazolli, “Novel low-density signature for synchronous CDMA systems over AWGN channel,” _IEEE Trans. Signal Process._ , vol. 56, no. 4, pp. 1616–1626, 2008.
  * [13] Y. Wu, C. Wang, Y. Chen, and A. Bayesteh, “Sparse code multiple access for 5G radio transmission,” in _Proc. IEEE 86th Veh. Technol. Conf. (VTC-Fall)_ , Sep. 2017, pp. 1–6.
  * [14] A. Ghaffari, M. Leonardon, A. Cassagne, C. Leroux, and Y. Savaria, “Toward high-performance implementation of 5G SCMA algorithms,” _IEEE Access_ , vol. 7, pp. 10402–10414, 2019.
  * [15] M. Taherzadeh, H. Nikopour, A. Bayesteh, and H. Baligh, “SCMA codebook design,” in _Proc. IEEE 80th Veh. Technol. Conf. (VTC-Fall)_ , Vancouver, BC, Canada, Sep. 2014, pp. 1–5.
  * [16] S. Zhang, K. Xiao, B. Xiao, Z. Chen, B. Xia, D. Chen, and S. Ma, “A capacity-based codebook design method for sparse code multiple access systems,” in _Proc. 8th Int. Conf. Wireless Commun. Signal Process. (WCSP)_ , Yangzhou, China, Oct. 2016, pp. 1–5.
  * [17] D. Cai, P. Fan, X. Lei, Y. Liu, and D. Chen, “Multi-dimensional SCMA codebook design based on constellation rotation and interleaving,” in _Proc. IEEE 83rd Veh. Technol. Conf. (VTC Spring)_ , Nanjing, China, May 2016, pp. 1–5.
  * [18] L. Yu, P. Fan, D. Cai, and Z. Ma, “Design and analysis of SCMA codebook based on star-QAM signaling constellations,” _IEEE Trans. Veh. Technol._ , vol. 67, no. 11, pp. 10543-10553, Nov. 2018.
  * [19] M. Kim, N. Kim, W. Lee, and D. Cho, “Deep learning-aided SCMA,” _IEEE Commun. Lett._ , vol. 22, no. 4, pp. 720–723, April 2018.
  * [20] Z. Mheich, L. Wen, P. Xiao, and A. Maaref, “Design of SCMA codebooks based on golden angle modulation,” _IEEE Trans. Veh. Technol._ , vol. 68, no. 2, pp. 1501–1509, Feb. 2019.
  * [21] Y.M. Chen and J.-W. Chen, “On the design of near-optimal sparse code multiple access codebooks,” _IEEE Trans. Commun._ , vol. 68, no. 5, pp. 2950-2962, May 2020.
  * [22] Y. Wu, S. Zhang, and Y. Chen, “Iterative multiuser receiver in sparse code multiple access systems,” in _Proc. IEEE ICC_ , London, U.K., Jun. 2015, pp. 2918–2923.
  * [23] S. Zhang et al., “Sparse code multiple access: An energy efficient uplink approach for 5G wireless systems,” in _Proc. IEEE Global Commun. Conf. (GLOBECOM’14)_ , Austin, TX, USA, Dec. 2014, pp. 4782–4787.
  * [24] H. Mu, Z. Ma, M. Alhaji, P. Fan, and D. Chen, “A fixed low complexity message pass algorithm detector for up-link SCMA system,” _IEEE Wireless Commun. Lett._ , vol. 4, no. 6, pp. 585–588, Dec. 2015.
  * [25] L. Yang, Y. Liu, and Y. Siu, “Low complexity message passing algorithm for SCMA system,” _IEEE Commun. Lett._ , vol. 20, no. 12, pp. 2466–2469, Dec. 2016.
  * [26] J. Dai, K. Niu, C. Dong, and J. Lin, “Improved message passing algorithms for sparse code multiple access,” _IEEE Trans. Veh. Technol._ , vol. 66, no. 11, pp. 9986–9999, Nov. 2017.
  * [27] B. F. d. Silva, D. Le Ruyet and B. F. Uchôa-Filho, ”Threshold-based edge selection MPA for SCMA,” _IEEE Trans. Veh. Technol._ , vol. 69, no. 3, pp. 2957-2966, March 2020.
  * [28] Z. Ding, X. Lei, G. K. Karagiannidis, R. Schober, J. Yuan, and V. Bhargava, “A survey on non-orthogonal multiple access for 5G networks: Research challenges and future trends,” _IEEE J. Sel. Areas Commun._ , vol. 35, no. 10, pp. 2181–2195, Oct. 2017.
  * [29] Y. Shan, C. Peng, L. Lin, Z. Jianchi, and S. Xiaoming, “Uplink multiple access schemes for 5G: A survey,” _ZTE Commun._ , vol. 15, no. S1, p. 21, 2017.
  * [30] L. Dai, B. Wang, Z. Ding, Z. Wang, S. Chen, and L. Hanzo, “A survey of non-orthogonal multiple access for 5G,” _IEEE Commun. Surveys Tuts._ , vol. 20, no. 3, pp. 2294–2323, 3rd Quart., 2018.
  * [31] Z.-G. Ding, M. Xu, Y. Chen, M.-G. Peng, and H. V. Poor, “Embracing non-orthogonal multiple access in future wireless networks,” _Front. Inf. Technol. Electron. Eng._ , vol. 19, no. 3, pp. 322–339, 2018.
  * [32] Y. Cai, Z. Qin, F. Cui, G. Y. Li, and J. A. McCann, “Modulation and multiple access for 5G networks,” _IEEE Commun. Surveys Tuts._ , vol. 20, no. 1, pp. 629–646, 1st Quart., 2018.
  * [33] N. Ye, H. Han, L. Zhao, and A.-H. Wang, “Uplink nonorthogonal multiple access technologies toward 5G: A survey,” _Wireless Commun. Mobile Comput._ , vol. 2018, Jun. 2018, Art. no. 6187580.
  * [34] M. B. Shahab, R. Abbas, M. Shirvanimoghaddam, and S. J. Johnson, “Grant-free non-orthogonal multiple access for IoT: A survey,” _IEEE Commun. Surveys Tuts._ , vol. 22, no. 3, pp. 1805–1838, 3rd Quart., 2020\.
  * [35] B. Makki, K. Chitti, A. Behravan, and M. S. Alouini, “A survey of NOMA: Current status and open research challenges,” _IEEE Open J. Commun. Soc._ , vol. 1, pp. 179–189, 2020.
  * [36] M. Vameghestahbanati, I. D. Marsland, R. H. Gohary, and H. Yanikomeroglu, “Multidimensional constellations for uplink SCMA systems—A comparative study,” _IEEE Commun. Surveys Tuts._ , vol. 21, no. 3, pp. 2169–2194, 3rd Quart., 2019.
  * [37] Z. Ma and J. Bao, “Sparse code multiple access (SCMA),” in _Multiple Access Techniques for 5G Wireless Networks and Beyond_. Cham, Switzerland: Springer, 2019, ch. 12, pp. 369–416.
  * [38] M. Rebhi, K. Hassan, K. Raoof, and P. Charg, “Sparse code multiple access: Potentials and challenges,” _IEEE Open J. of the Commun. Soc._ , vol. 2, pp. 1205–1238, 2021.
  * [39] J. Bao, Z. Ma, Z. Ding, G. K. Karagiannidis, and Z. Zhu, “On the design of multiuser codebooks for uplink SCMA systems,” _IEEE Commun. Lett._ , vol. 20, no. 10, pp. 1920–1923, Oct. 2016.
  * [40] H. Nikopour and M. Baligh, “Systems and methods for sparse code multiple access,” Jan. 2016, US patent 9,240,853.
  * [41] V. P. Klimentyev and A. B. Sergienko, “SCMA codebooks optimization based on genetic algorithm,” in _Proc. European Wireless Conference_ , May 2017.
  * [42] M. Taherzadeh, H. Nikopour, A. Bayesteh, and M. Baligh, “System and method for designing and using multidimensional constellations,” Nov. 2016, US patent 9,509,379.
  * [43] H. Yan, H. Zhao, Z. Lv, and H. Yang, “A top-down SCMA codebook design scheme based on lattice theory,” in _Proc. IEEE Annual Int. Symp. Pers. Indoor Mobile Radio Commun. (PIMRC)_ , Sep. 2016.
  * [44] C. Yan, G. Kang, and N. Zhang, “A dimension distance-based SCMA codebook design,” _IEEE Access_ , vol. 5, pp. 5471–5479, May 2017.
  * [45] J. Bao, Z. Ma, M. A. Mahamadu, Z. Zhu, and D. Chen, “Spherical codes for SCMA codebook,” in _Proc. IEEE Vehicular Technology Conference (VTC2016-Spring)_ , May 2016.
  * [46] D. Zhai, “Adaptive codebook design and assignment for energy saving in SCMA networks,” _IEEE Access_ , vol. 5, pp. 23 550–23 562, Nov. 2017\.
  * [47] J. Bao, Z. Ma, M. Xiao, T. A. Tsiftsis, and Z. Zhu, “Bit-interleaved coded scma with iterative multiuser detection: Multidimensional constellations design,” _IEEE Trans. Commun._ , pp. 1–1, 2018.
  * [48] Q. He, B. Bai, D. Feng, H. Xu, and M. Zhu, “A nonbinary LDPCcoded SCMA system with optimized codebook design,” in _Proc. IEEE Veh. Technol. Conf. (VTC2017-Fall)_ , Sep. 2017.
  * [49] J. Peng, W. Chen, B. Bai, X. Guo, and C. Sun, “Joint optimization of constellation with mapping matrix for SCMA codebook design,” _IEEE Signal Process. Lett._ , vol. 24, no. 3, pp. 264–268, Mar. 2017.
  * [50] E. Biglieri, J. Proakis, and S. Shamai, “Fading channels: information-theoretic and communications aspects,” _IEEE Trans. Inf. Theory_ , vol. 44, no. 6, pp. 2619–2692, Oct. 1998.
  * [51] J. Proakis and M. Salehi, _Digital Communications_. 5th ed. NY, McGraw-Hill, 2008.
  * [52] M. Beko and R. Dinis, “Designing good multi-dimensional constellations,” _IEEE Commun. Lett._ , vol. 1, no. 3, pp. 221–224, June 2012.
  * [53] J. Boutros, E. Viterbo, C. Rastello, and J. C. Belfiore, “Good lattice constellations for both Rayleigh fading and Gaussian channels,” _IEEE Trans. Inf. Theory_ , vol. 42, no. 2, pp. 502–518, Mar. 1996.
  * [54] J. Boutros and E. Viterbo, “Signal space diversity: a power- and bandwidth-efficient diversity technique for the Rayleigh fading channel,” _IEEE Trans. Inf. Theory_ , vol. 44, no. 4, pp. 1453–1467, Jul. 1998.
  * [55] A. Bayesteh, H. Nikopour, M. Taherzadeh, H. Baligh, and J. Ma, “Low complexity techniques for SCMA detection,” in _Proc. IEEE Globecom Workshops (GC Wkshps)_ , 2015, pp. 1–6.
  * [56] J. Peng, W. Chen, B. Bai, X. Guo, and C. Sun, “Joint optimization of constellation with mapping matrix for SCMA codebook design,” _IEEE Signal Process. Lett._ , vol. 24, no. 3, pp. 264–268, Mar. 2017.
  * [57] T. Metkarunchit, “SCMA codebook design base on circular-QAM,” in _Proc. Integr. Commun. Navig. Surveillance Conf. (ICNS)_ , 2017, pp. 1–8.
  * [58] M. Vameghestahbanati, “Hypercube-based multidimensional constellation design for uplink SCMA systems,” in _Proc. IEEE Int. Conf. Commun. (ICC)_ , 2020, pp. 1–6.
  * [59] L. Yu, X. Lei, P. Fan, and D. Chen, “An optimized design of SCMA codebook based on STAR-QAM signaling constellations,” in _Proc. Int. Conf. Wireless Commun. Signal Process. (WCSP)_ , 2015, pp. 1–5.
  * [60] M. Vameghestahbanati, “Designing multidimensional constellations and efficient detection schemes for sparse code multiple access (SCMA) systems,” Ph.D. dissertation, Eng. Elect. Comput., Carleton Univ., Ottawa, ON, Canada, 2020.
  * [61] B. F. d. Silva, D. Silva, B. F. Uchôa-Filho, and D. L. Ruyet, “A multistage method for SCMA codebook design based on MDS codes,” _IEEE Wireless Commun. Lett._ , vol. 8, no. 6, pp. 1524–1527, Dec. 2019.
  * [62] Y. M. Chen, C. D. S. González, P. -H. Wang and K. -P. Chen, ”Reinforcement Learning-Based SCMA Codebook Design for Uplink Rayleigh Fading Channels,” _IEEE Wireless Commun. Lett._ , vol. 10, no. 8, pp. 1717-1721, Aug. 2021.
  * [63] C. Jiang, Y. Wang, P. Cheng and W. Xiang, ”A Low-Complexity Codebook Optimization Scheme for Sparse Code Multiple Access,” _IEEE Trans. Commun._ , pp. 1–1, 2022.
  * [64] M. Alam and Q. Zhang, “Performance study of SCMA codebook design,” in _Proc. IEEE Wireless Commun. Netw. Conf. (WCNC)_ , 2017, pp. 1–5.
  * [65] K. Lai, J. Lei, L. Wen, G. Chen, W. Li, and P. Xiao, “Secure transmission with randomized constellation rotation for downlink sparse code multiple access system,” _IEEE Access_ , vol. 6, pp. 5049–5063, 2018\.
  * [66] C. Yan, G. Kang, and N. Zhang, “A dimension distance-based SCMA codebook design,” _IEEE Access_ , vol. 5, pp. 5471–5479, 2017.
  * [67] J. Bao, Z. Ma, M. Xiao, T. A. Tsiftsis, and Z. Zhu, “Bit-interleaved coded SCMA with iterative multiuser detection: Multidimensional constellations design,” _IEEE Trans. Commun._ , vol. 66, no. 11, pp. 5292–5304, Nov. 2018.
  * [68] X. Zhang, D. Zhang, G. Han, L. Yang, H. Chen, and D. Zhang, “SCMA codebook design based on uniquely decomposable constellation groups,” _IEEE Trans. Wireless Commun._ , vol. 20, no. 8, pp. 4828–4842, Aug. 2021\.
  * [69] J. L. Fan, _Constrained coding and soft iterative decoding_. Boston: Kluwer Academic, 2001. [Online]. Available: https://doi.org/10.1007%2F978-1-4615-1525-8
  * [70] A. Neubauer, J. Freudenberger, and V. Kuhn, _Coding theory: algorithms, architectures, and applications._ Wiley-Interscience, 2007.
  * [71] V. Tarokh, _New Directions in Wireless Communications Research_ , 1st ed., Springer US, 2009.
  * [72] F. R. Kschischang, B. J. Frey, and H. Loeliger, “Factor graphs and the sum-product algorithm,” _IEEE Trans. Inf. Theory_ , vol. 47, no. 2, pp. 498–519, 2001.
  * [73] C. Zhang, Y. Luo, and Y. Chen, “A low complexity detection algorithm for SCMA,” Nov. 2016. [Online]. Available: arXiv:1611.08853.
  * [74] C. Zhang, Y. Luo, and Y. Chen, “A low-complexity SCMA detector based on discretization,” _IEEE Trans. Wireless Commun._ , vol. 17, no. 4, pp. 2333–2345, Apr. 2018.
  * [75] K. Xiao, B. Xiao, S. Zhang, Z. Chen, and B. Xia, “Simplified multiuser detection for SCMA with sum-product algorithm,” in _Proc. Int. Conf. Wireless Commun. Signal Process. (WCSP)_ , 2015, pp. 1–5.
  * [76] W. B. Ameur, P. Mary, M. Dumay, J.-F. Hˇelard, and J. Schwoerer, “Performance study of MPA, LOG-MPA and MAX-Log-MPA for an uplink SCMA scenario,” in _Proc. 26th Int. Conf. Telecommun. (ICT)_ , 2019, pp. 411–416.
  * [77] Y. Qi, G. Wu, S. Hu, and Y. Gao, “Parallel-implemented message passing algorithm for SCMA decoder based on GPGPU,” in _Proc. 9th Int. Conf. Wireless Commun. Signal Process. (WCSP)_ , 2017, pp. 1–6.
  * [78] L. Tian, M. Zhao, J. Zhong, P. Xiao, and L. Wen, “A low complexity detector for downlink SCMA systems,” _IET Commun._ , vol. 11, no. 16, pp. 2433–2439, 2017.
  * [79] L. Yang, X. Ma, and Y. Siu, “Low complexity MPA detector based on sphere decoding for SCMA,” _IEEE Commun. Lett._ , vol. 21, no. 8, pp. 1855–1858, Aug. 2017.
  * [80] L. Li, J. Wen, X. Tang, and C. Tellambura, “Modified sphere decoding for sparse code multiple access,” _IEEE Commun. Lett._ , vol. 22, no. 8, pp. 1544–1547, Aug. 2018.
  * [81] M. Vameghestahbanati, I. Marsland, R. H. Gohary, and H. Yanikomeroglu, “A novel SD-based detection for generalized SCMA constellations,” _IEEE Trans. Veh. Technol._ , vol. 68, no. 10, pp. 10278–10282, Oct. 2019.
  * [82] F. Wei and W. Chen, “A low complexity SCMA decoder based on list sphere decoding,” in _Proc. IEEE Global Commun. Conf._ , Dec. 2016, pp. 1–6.
  * [83] X. Fu, D. Le Ruyet, B. Fontana Da Silva and B. F. Uchôa-Filho, ”A Simplified Sphere Decoding-Based Detector for Generalized SCMA Codebooks,” _IEEE Access_ , vol. 10, pp. 516-534, 2022.
  * [84] J. Dai, K. Niu, C. Dong, and J. Lin, “Improved message passing algorithms for sparse code multiple access,” _IEEE Trans. Veh. Technol._ , vol. 66, no. 11, pp. 9986–9999, Nov. 2017.
  * [85] M. Jia, L. Wang, Q. Guo, X. Gu, and W. Xiang, “A low complexity detection algorithm for fixed up-link SCMA system in mission critical scenario,” _IEEE Internet Things J._ , vol. 5, no. 5, pp. 3289–3297, Oct. 2018.
  * [86] K. Lai, L. Wen, J. Lei, J. Zhong, G. Chen, and X. Zhou, “Simplified sparse code multiple access receiver by using truncated messages,” _IET Commun._ , vol. 12, no. 16, pp. 1937–1945, 2018.
  * [87] X. Peng, Z. Pan, K. Lai, L. Wen, and J. Lei, “Low complexity receiver of sparse code multiple access based on dynamic trellis,” _IET Commun._ , vol. 14, no. 9, pp. 1420–1427, 2020.
  * [88] D. Hui, S. Sandberg, Y. Blankenship, M. Andersson, and L. Grosjean, “Channel coding in 5G new radio: A tutorial overview and performance comparison with 4G LTE,” _IEEE Veh. Technol. Mag._ , vol. 13, no. 4, pp. 60–69, Dec. 2018.
  * [89] J. H. Bae, A. Abotabl, H.-P. Lin, K.-B. Song, and J. Lee, “An overview of channel coding for 5G NR cellular communications,” _APSIPA Trans. Signal Inf. Process._ , vol. 8, p. e17, Jun. 2019.
  * [90] W.-C. Sun, Y.-C. Su, Y.-L. Ueng, and C.-H. Yang, “An LDPC-coded SCMA receiver with multi-user iterative detection and decoding,” _IEEE Trans. Circuits Syst. I, Reg_. Papers, vol. 66, no. 9, pp. 3571–3584, Sep. 2019.
  * [91] S. Han, C. Guo, W. Meng, C. Li, Y. Cui, and W. Tang, “The uplink and downlink design of MIMO-SCMA system,” in _Proc. Int. Wireless Commun. Mobile Comput. Conf. (IWCMC)_ , Sep. 2016, pp. 56–60.
  * [92] Y. Zhang, W. Ge, P. Zhang, and M. Gao, “The optimization scheme for joint iterative detection and decoding of polar coded SCMA system,” _Opt. Fiber Technol._ , vol. 58, Sep. 2020, Art. no. 102283. [Online]. Available: http://www.sciencedirect.com/science/article/pii/ S106852002030273X
  * [93] D. Divsalar, M. Simon, and D. Raphaeli, “Improved parallel interference cancellation for CDMA,” _IEEE Trans. Commun._ , vol. 46, pp. 258–268, Feb. 1998.
  * [94] C. Studer and H. Bölcskei, “Soft-input soft-output single tree-search sphere decoding,” _IEEE Trans. Inf. Theory_ , vol. 56, no. 10, pp. 4827–4842, Oct. 2010.
  * [95] X. Wang and H. V. Poor, “Iterative (turbo) soft interference cancellation and decoding for coded CDMA,” _IEEE Trans. Commun._ , vol. 47, no. 7, pp. 1046–1061, Jul. 1999.
  * [96] M. Tüchler, A. C. Singer, and R. Koetter, “Minimum mean squared error equalization using a priori information,” _IEEE Trans. Signal Process._ , vol. 50, no. 3, pp. 673–983, Mar. 2002.
  * [97] C. Studer, S. Fateh, and D. Seethaler, “ASIC implementation of softinput soft-output MIMO detection using MMSE parallel interference cancellation,” _IEEE J. Solid-State Circuits_ , vol. 46, no. 7, pp. 1754–1765, Jul. 2011.
  * [98] Z. Pan, E. Li, L. Wen, J. Lei, and C. Tang, “Joint iterative detection and decoding receiver for polar coded SCMA system,” in _Proc. IEEE Int. Conf. Commun. Workshops (ICC Workshops)_ , May 2018, pp. 16.
  * [99] U. U. Fayyaz and J. R. Barry, “Polar codes for partial response channels,” in _Proc. IEEE Int. Conf. Commun. (ICC)_ , Jun. 2013, pp. 43374341.
  * [100] Z. Pan, E. Li, L. Zhang, J. Lei, and C. Tang, “Design and optimization of joint iterative detection and decoding receiver for uplink polar coded SCMA system,” _IEEE Access_ , vol. 6, pp. 52014–52026, 2018.
  * [101] J. Jiao, K. Liang, B. Feng, Y. Wang, S. Wu, and Q. Zhang, “Joint channel estimation and decoding for polar coded SCMA system over fading channels,” _IEEE Trans. Cogn. Commun. Netw._ , vol. 7, no. 1, pp. 210–221, Mar. 2021.
  * [102] L. Xiang, Y. Liu, C. Xu, R. G. Maunder, L. -L. Yang and L. Hanzo, ”Iterative Receiver Design for Polar-Coded SCMA Systems,” _IEEE Trans. Commun._ , vol. 69, no. 7, pp. 4235-4246, July 2021.
  * [103] J. Zou, H. Zhao, and W. Zhao, “Low-complexity interference cancellation receiver for sparse code multiple access,” in _Proc. IEEE 6th Int. Symp. Microw. Antenna Propag. EMC Technol. (MAPE)_ , 2015, pp. 277–282.
  * [104] T. P. Minka, “Expectation propagation for approximate Bayesian inference” in Uncertainty in Artificial Intelligence, 2001: 362-369.
  * [105] X. Meng, S. Wu, L. Kuang, Z. Ni and J. Lu, ”Expectation Propagation Based Iterative Multi-User Detection for MIMO-IDMA Systems,” _IEEE 79th Veh. Technol. Conf. (Spring)_ , Seoul, 2014, pp. 1-5.
  * [106] X. Meng, Y. Wu, Y. Chen, and M. Cheng, “Low complexity receiver for uplink SCMA system via expectation propagation,” in _Proc. IEEE Wireless Commun. Netw. Conf. (WCNC)_ , San Francisco, CA, USA, Mar. 2017, pp. 1–5.
  * [107] P. Wang, L. Liu, S. Zhou, G. Peng, S. Yin, and S. Wei, “Near-optimal MIMO-SCMA uplink detection with low-complexity expectation propagation,” _IEEE Trans. Wireless Commun._ , vol. 19, no. 2, pp. 1025–1037, Feb. 2020.
  * [108] L. Chai, Z. Liu, P. Xiao, A. Maaref and L. Bai, ”An Improved EPA based Receiver Design for Uplink LDPC Coded SCMA System,” _IEEE Wireless Commun. Lett._ , 2022.
  * [109] N. C. Luong et al., “Applications of deep reinforcement learning in communications and networking: A survey,” _IEEE Commun. Surveys Tuts._ , vol. 21, no. 4, pp. 3133–3174, 4th Quart., 2019.
  * [110] Q. Mao, F. Hu, and Q. Hao, “Deep learning for intelligent wireless networks: A comprehensive survey,” _IEEE Commun. Surveys Tuts._ , vol. 20, no. 4, pp. 2595–2621, 4th Quart., 2018.
  * [111] M. Kim, N.-I. Kim, W. Lee, and D.-H. Cho, “Deep learning aided SCMA,” _IEEE Commun. Lett._ , vol. 22, no. 4, pp. 720–723, Apr. 2018.
  * [112] F. Sun, K. Niu, and C. Dong, “Deep learning based joint detection and decoding of non-orthogonal multiple access systems,” in _Proc. IEEE Globecom Workshops (GC Wkshps)_ , Abu Dhabi, UAE, 2018, pp. 1–5.
  * [113] C. Lu, W. Xu, H. Shen, H. Zhang, and X. You, “An enhanced SCMA detector enabled by deep neural network,” 2018. [Online]. Available: https://arxiv.org/abs/1808.08015
  * [114] Y. Han, Z. Wang, Q. Guo, and W. Xiang, “Deep learning-based detection for moderate-density code multiple access in IoT networks,” _IEEE Commun. Lett._ , vol. 24, no. 1, pp. 122–125, Jan. 2020.
  * [115] J. Lin, S. Feng, Y. Zhang, Z. Yang, and Y. Zhang, “A novel deep neural network based approach for sparse code multiple access,” _Neurocomputing_ , vol. 382, pp. 52–63, Mar. 2020.
  * [116] H. Cheng, Y. Xia, Y. Huang, Z. Lu, and L. Yang, “Deep neural network aided low-complexity MPA receivers for uplink SCMA systems,” _IEEE Trans. Veh. Technol._ , vol. 70, no. 9, pp. 9050–9062, Sep. 2021.
  * [117] Z. Liu and L.-L. Yang, “Sparse or dense: a comparative study of codedomain NOMA systems,” _IEEE Trans. Wireless Commun._ , vol. 20, no. 8, pp. 4769-4780, Aug. 2021.
  * [118] G.-M. Kang, H. M. Kim, Y. Shin, and O.-S. Shin, “Message passing algorithm based on QR decomposition for an SCMA system with multiple antennas,” in _Proc. Int. Conf. Inf. Commun. Technol. Converg. (ICTC)_ , Jeju, South Korea, 2017, pp. 941–944.
  * [119] S.C. Lim, N. Kim, and H. Park, “Uplink SCMA System With Multiple Antennas,” _IEEE Trans. Veh. Technol._ vol. 66, no. 8, pp. 6982-6992, Aug. 2017.
  * [120] I. Liao and J. Wu, ”Successive Gaussian Approximation Based BP Detection for New Radio Multiple Access,” _Proc. IEEE VTC 2019-Spring_ , May, 2019.
  * [121] K. Inagaki, T. Takahashi, S. Ibi, and S. Sampei, “Structured random codebook design for GaBP iterative detection in massive SCMA,” _Proc. IEEE VTC 2018-Spring_ , June 2018.
  * [122] J. Dai, G. Chen, K. Niu, and J. Lin, “Partially active message passing receiver for MIMO-SCMA systems,” _IEEE Wireless Commun. Lett._ , vol. 7, no. 2, pp. 222–225, Apr. 2018.
  * [123] J. Dai, K. Niu, and J. Lin, “Iterative Gaussian-approximated message passing receiver for MIMO-SCMA system,” _IEEE J. Sel. Topics Signal Process._ , vol. 13, no. 3, pp. 753–765, Jun. 2019.
  * [124] L. Tian, M. Zhao, J. Zhong, and L. Wen, “Resource-selection based low complexity detector for uplink SCMA systems with multiple antennas,” _IEEE Wireless Commun. Lett._ , vol. 7, no. 3, pp. 316–319, Jun. 2018.
  * [125] W. Yuan, N. Wu, Q. Guo, Y. Li, C. Xing, and J. Kuang, “Iterative receivers for downlink MIMO-SCMA: Message passing and distributed cooperative detection,” _IEEE Trans. Wireless Commun._ , vol. 17, no. 5, pp. 3444–3458, May 2018.
  * [126] A. Anwar, B.C. Seet, M. A. Hasan, and X. J. Li, “A survey on application of non-orthogonal multiple access to different wireless networks,” _Electronics_ , vol. 8, no. 11, p. 1355, Nov. 2019.
  * [127] F. Wei, W. Chen, Y. Wu, J. Ma, and T. A. Tsiftsis, “Message-passing receiver design for joint channel estimation and data decoding in uplink grant-free SCMA systems,” _IEEE Trans. Wireless Commun._ , vol. 18, no. 1, pp. 167–181, Jan. 2019.
  * [128] Q.Y. Yu, H.Y. Li, W.X. Meng, andW. Xiang, “Sparse code multiple access asynchronous uplink multiuser detection algorithm,” _IEEE Trans. Veh. Technol._ , vol. 68, no. 6, pp. 5557–5569, Jun. 2019.
  * [129] M. Rebhi, K. Hassan, K. Raoof, and P. Chargé, “An adaptive uplink SCMA scheme based on channel state information,” in _Proc. Future Netw. 5G Beyond Workshop_ , Paris, France, Mar. 2020, pp. 1–7.
  * [130] S. Zhang, B. Xiao, K. Xiao, Z. Chen, and B. Xia, “Design and analysis of irregular sparse code multiple access,” in _Proc. Int. Conf. Wireless Commun. Signal Process. (WCSP)_ , 2015, pp. 1–5.
  * [131] Y. Chi, L. Liu, G. Song, Y. Li, Y. L. Guan, and C. Yuen, “Capacity optimal generalized multi-user MIMO: A theoretical and practical framework,” 2021, _arXiv:2111.11061_.
  * [132] C. Wang, Y. Chen, Y. Wu and L. Zhang,“Performance evaluation of grant-free transmission for uplink URLLC services,” _IEEE 85th Veh. Technol. Conf. (VTC Spring)_ , pp. 1-6, Jun. 2017.
  * [133] ] F. Wei, W. Chen, Y. Wu, J. Li, and Y. Luo, “Toward 5G wireless interface technology: Enabling nonorthogonal multiple access in the sparse code domain,” _IEEE Veh. Tech. Mag._ , vol. 13, no. 4, pp. 18–27, 2018\.
  * [134] F. Wei and W. Chen, “Message passing receiver design for uplink grant-free SCMA,” in _Proc. IEEE Globecom Workshops (GC Wkshps)_ , Singapore, Dec. 2017, pp. 1–6.
  * [135] F. Wei, W. Chen, Y. Wu, J. Ma, and T. A. Tsiftsis, “Message-passing receiver design for joint channel estimation and data decoding in uplink grant-free SCMA systems,” _IEEE Trans. Wireless Commun._ , vol. 18, no. 1, pp. 167–181, Jan. 2019.
  * [136] A. Bayesteh, E. Yi, H. Nikopour, and H. Baligh, “Blind detection of SCMA for uplink grant-free multiple-access,” in _Proc. IEEE Wireless Commun. Syst. (IEEE ISWCS)_ , Barcelona, Spain, Aug. 2014, pp. 853–857.
  * [137] J. Shen, W. Chen, F. Wei, and Y. Wu, “ACK feedback based UE-to-CTU mapping rule for SCMA uplink grant-free transmission,” in _Proc. Int. Conf. Wireless Commun. Signal Process. (WCSP)_ , Nanjing, China, Oct. 2017, pp. 1–5.
  * [138] Z. Khan, P. Fan, S. Fang, and F. Abbas, “An unsupervised cluster-based VANET-oriented evolving graph (CVoEG) model and associated reliable routing scheme,” _IEEE Trans. Intell. Transp. Syst._ , vol. 20, no. 10, pp. 3844-3859, Oct. 2019.
  * [139] K. Deka, A. Thomas and S. Sharma, ”OTFS-SCMA: A Code-Domain NOMA Approach for Orthogonal Time Frequency Space Modulation,” in _IEEE Trans. Commun._ , vol. 69, no. 8, pp. 5043-5058, Aug. 2021.
  * [140] P. H. Pathak, X. Feng, P. Hu, and P. Mohapatra, “Visible light communication, networking, and sensing: A survey, potential and challenges,” _IEEE Commun. Surveys Tuts._ , vol. 17, no. 4, pp. 2047–2077, 4th Quart., 2015.
  * [141] A. Jovicic, J. Li, and T. Richardson, “Visible light communication: opportunities, challenges and the path to market,” _IEEE Commun. Mag._ , vol. 51, no. 12, pp. 26–32, Dec. 2013.
  * [142] L. Grobe et al., “High-speed visible light communication systems,” _IEEE Commun. Mag._ , vol. 51, no. 12, pp. 60–66, Dec. 2013.
  * [143] B. Lin, X. Tang, Z. Zhou, C. Lin, and Z. Ghassemlooy, “Experimental demonstration of SCMA for visible light communications,” _Opt. Commun._ , vol. 419, pp. 36–40, July 2018.
  * [144] J. An and W.-Y. Chung, “Single-LED multichannel optical transmission with SCMA for long range health information monitoring,” _J. Lightw. Technol._ , vol. 36, no. 23, pp. 5470–5480, 2018\.
  * [145] R. Mitra, S. Sharma, G. Kaddoum and V. Bhatia, ”Color-domain SCMA NOMA for visible light communication”, _IEEE Commun. Lett._ , vol. 25, no. 1, pp. 200-204, Jan. 2021.
  * [146] S. Lou, C. Gong, Q. Gao, Z. Xu, “SCMA with low complexity symmetric CB design for visible light communication,” in _Proc. International Conference on Communications (ICC)_ , July 2018, pp. 1–6.
  * [147] S. Hu, Q. Gao, C. Gong, Z. Xu, R. Boluda-Ruiz, and K. Qaraqe, “Energy-efficient modulation for visible light SCMA system with signal-dependent Noise,” in _Proc. Int. Symp. Commun. Syst., Netw. Digit. Signal Process. (CSNDSP)_ , Budapest, Hungary, Jul. 2018, pp. 1–6.
  * [148] Q. Gao, S. Hu, C. Gong, E. Serpedin, K. Qaraqe and Z. Xu, “Distance-range-oriented constellation design for VLC-SCMA downlink with signal-dependent noise,” _IEEE Commun. Lett._ , vol. 23, no. 3, pp. 434–437, 2019.
  * [149] S. Chaturvedi, D. N. Anwar, V. A. Bohara, A. Srivastava and Z. Liu, ”Low-Complexity Codebook Design for SCMA-Based Visible Light Communication,” _IEEE Open J. Commun. Soc._ , vol. 3, pp. 106-118, 2022.
  * [150] E. Basar, M. Di Renzo, J. De Rosny, M. Debbah, M.-S. Alouini, and R. Zhang, “Wireless communications through reconfigurable intelligent surfaces,” _IEEE Access_ , vol. 7, pp. 116753–116773, 2019\.
  * [151] M. A. ElMossallamy et al., “Reconfigurable intelligent surfaces for wireless communications:Principles, challenges, and opportunities,” _IEEE Trans. Cogn. Commun. and Netw._ , vol. 6, pp. 990-1002, Sep. 2020.
  * [152] I. Al-Nahhal, O. A. Dobre, and E. Basar, “Reconfigurable intelligent surface-assisted uplink sparse code multiple access,” _IEEE Commun. Lett._ , early access, Feb. 9, 2021.
  * [153] I. Al-Nahhal, O. A. Dobre, E. Basar, T. M. N. Ngatched and S. Ikki, ”Reconfigurable Intelligent Surface Optimization for Uplink Sparse Code Multiple Access,” in _IEEE Commun. Lett._ , vol. 26, no. 1, pp. 133-137, Jan. 2022.