Content uploaded by Wen Chen
Author content
All content in this area was uploaded by Wen Chen on Mar 21, 2020
Content may be subject to copyright.
A Low Complexity SCMA Decoder
Based on List Sphere Decoding
Fan Wei and Wen Chen
Department of Electronic Engineering, Shanghai Jiao Tong University, China
Email: {weifan89; wenchen}@sjtu.edu.cn
Abstract—Non-orthogonal multiple access is one of the key
techniques developed for the future 5G communication systems
among which, the recent proposed sparse code multiple access
(SCMA) has attracted a lots of researchers’ interests. By explor-
ing the shaping gain of the multi-dimensional complex codewords,
SCMA is shown to have a better performance compared with
some other non-orthogonal schemes such as low density signature
(LDS). However, although the sparsity of the codewords makes
the near optimal message passing algorithm (MPA) possible,
the decoding complexity is still very high. In this paper, we
propose a low complexity decoding algorithm based on list sphere
decoding. Complexity analysis and simulation results show that
the proposed algorithm can reduce the computational complexity
substantially while achieve the near maximum likelihood (ML)
performance.
Index Terms—5G, Non-orthogonal multiple access, SCMA,
message passing algorithm, list sphere decoder.
I. INTRODUCTION
The non-orthogonal multiple access is regarded as an essen-
tial technique to cope with the massive connectivity require-
ment in the next generation wireless network. As a candidate
technique for non-orthogonal multiple access, sparse code
multiple access (SCMA) [1], [2] is shown to have a superior
performance due to the shaping gain of the multi-dimensional
complex codewords. By multiplexing the 𝐾layers complex
sparse codewords over 𝑁orthogonal resources with 𝐾>𝑁,
non-orthogonal multiple access is achieved in SCMA.
SCMA can be viewed as an improved version of low density
signature (LDS) [3]. In LDS, QAM symbols are repeated
over several chips. To reduce the multiuser interference, the
chips are sparse so that only a few users are collided on
each chip. Benefited from this sparsity feature, both SCMA
and LDS can use message passing algorithm (MPA) to detect
the receive signals [4]. While the sparsity of the codewords
or chips have reduced the decoding complexity effectively,
MPA still needs exponential times in decoding. Thus, for some
large constellation sizes or highly overloaded systems, the
complexity is time consuming.
In [5], log domain MPA is introduced to reduce the decoding
complexity of SCMA. It is shown that by this transformation,
one can convert considerable number of multiplications into
summations. Further, partial marginalized (PM) based MPA is
proposed in [6]. In this scheme, after some iterations in MPA,
part of the symbols are chosen by the receiver and judged in
advance. Then those symbols are never computed in the left
iterations. Although the decoding complexity is reduced, the
above methods are still of high complexity.
In this paper, motivated by the lattice structure of SCMA
codewords, we propose a low complexity decoding algorithm
based on list sphere decoding (LSD) algorithm [7], [9]. In
general, sphere decoder avoids the exhaustive search for all
possible hypotheses, instead it considers only the signal points
within a hypersphere. Thus, the log likelihood ratio (LLR)
can be approximated by using the candidate list searched
by LSD. Simulation shows that a small enough candidate
set can achieve near ML performance and thus reduce the
computational complexity in MPA detection.
In this paper, 𝔹and ℂare used to denote the binary and
complex numbers. Lowercase letters 𝑥, bold lowercase letters
xand bold uppercase letters Xdenote scalars, column vectors
and matrices, respectively. 𝑥𝑖representing the 𝑖-th component
of vector xwhile 𝑥𝑖𝑗 representing the (𝑖, 𝑗)-th component
of matrix X.Weuse(⋅)∗,(⋅)𝑇and (⋅)†to denote complex
conjugate, matrix transpose and conjugate matrix transpose.
diag(x)is the diagonal matrix with the diagonal entries being
vector x.𝜉∖𝑘means the set 𝜉with element 𝑘being excluded.
II. SYSTEM MODEL
Fig. 1 shows an uplink multiple access SCMA system.
Typically, an uplink SCMA system consists of 𝐾layers which
map the encoded bits to an 𝑁-dimensional complex lattice
signal point. In SCMA, one or more layers can be allocated
to each user and in this paper, we assume each user occupy
only one SCMA layer. To reduce the multiuser interference,
the 𝑁-dimensional complex codewords are sparse such that
only 𝑃<𝑁dimensions are used to convey data while the left
𝑁−𝑃dimensions are set to zeros. The data in each dimension
are modulated to an OFDMA subcarrier (corresponds to the
resource node in Fig. 1) and transmitted through the wireless
channels.
A. Factor Graph Representation
As 𝐾layers are multiplexing over 𝑁OFDMA subcarriers,
the SCMA system can be represented by a Forney factor graph.
Fig. 2 illustrates a factor graph with 𝐾=6,𝑁 =4and 𝑃=2.
For an equivalent representation of this structure, we can use
an indicator matrix
F=
111000
100110
010101
001011
,
978-1-5090-1328-9/16/$31.00 ©2016 IEEE
SCMA Encoder 1
SCMA Encoder 2
SCMA Encoder K
...
Radio Channels
Resource Node Layer Node
...
MPA Detection
Layer 1
Layer 2
Layer K
Layer 1
Layer 2
Layer K
Fig. 1: The Uplink SCMA system
where the 1s in each column correspond to the non-zero
entries of the codewords and the 1s in each row correspond to
the collision users in some subcarrier 𝑛. The sparsity of the
codewords makes that only 𝑑𝑐<𝐾 signals are collided over
subcarrier 𝑛. In the following, let 𝑓𝑛,𝑘 be the (𝑛, 𝑘)-th entry
of the indicator matrix F. We will use 𝜉𝑛={𝑘∣𝑓𝑛,𝑘 ∕=0,∀𝑛}
to denote the set of collision users in subcarrier 𝑛and 𝜁𝑘=
{𝑛∣𝑓𝑛,𝑘 ∕=0,∀𝑘}to denote the set of OFDMA subcarriers for
layer 𝑘to transmit data, respectively.
v1
g1
v2 v3 v6v4 v5
g2 g3 g4
Resource Node
Layer Node
Fig. 2: Factor graph of SCMA with K=6, N=4 and P=2
B. SCMA Codewords
The SCMA encoder can be defined as a mapping of binary
encoded bits to a multidimensional complex signal point, i.e.,
𝑓𝑘:≡V𝑘𝑔with 𝑔:𝔹log2𝑀→𝒞,𝒞∈ℂ𝑃where 𝑀is the
size of the constellation point and V𝑘∈𝔹𝑁×𝑃is the mapping
matrix that converts the 𝑃-dimensional non-zero codewords to
an 𝑁-dimensional sparse codewords. In general, V𝑘can be
obtained by inserting 𝑁−𝑃zero rows to an identity matrix I𝑃.
Since there are 𝐾=𝐶(𝑁,𝑃)different mapping matrices, we
can have at most 𝐾layers in an SCMA system with a given
parameter 𝑁and 𝑃.
For the design of 𝑃-dimensional non-zero codewords x𝑃
for each layer, [1], [2] has introduced a multi-step suboptimal
method which can be formulated as
𝒢+,[Δ
Δ
Δ+
𝑘]𝐾
𝑘=1 =argmax
𝒢,Δ
Δ
Δ𝑘
𝑚(𝒮(𝒱+,𝒢=[(Δ
Δ
Δ𝑘)𝒢]𝐾
𝑘=1;𝐾, 𝑀 , 𝑃, 𝑁)),(1)
where 𝒢+is the mother constellation and [Δ
Δ
Δ+
𝑘]𝐾
𝑘=1 is the
constellation operators for 𝐾layers. Therefore, we can design
one mother constellation for all and 𝐾constellation operators
separately for each layer.
Typically, the 𝑃-dimensional mother constellation can be
formed by the Cartesian product of 𝑃orthogonal QAM
symbols. In addition, to increase the product distance of
the constellation and create the power variation in different
dimension, the unitary rotation would be applied to the mother
constellation.
Let u2𝑃=(𝑢1,𝑢
2, ..., 𝑢2𝑃)𝑇be the equivalent 2𝑃-
dimensional QAM constellation, where 𝑢𝑖=±1,±3, ...
and M2𝑃×2𝑃be the unitary rotation matrix. Then the 𝑃-
dimensional non-zero codewords can be written as,
x𝑃=(E𝑟+𝑖⋅E𝑖)⋅M⋅u2𝑃,(2)
where E𝑟and E𝑖are 𝑃×2𝑃matrix that select components
from u2𝑝corresponding to the real part and imaginary part
of the QAM symbols, respectively. Detailed construction of
rotation matrix can be found in [10], [11].
After that, 𝐾different constellation operators are applied
to the above mother constellation to construct the codebook
for 𝐾layers. Three different operators were introduced in [1],
[2], i.e.,
1) Phase rotation: 𝜃𝑘=(𝑘−1) 2𝜋
𝑀𝑑𝑐,∀𝑘=1, ..., 𝑑𝑐;
2) Dimensional permutation;
3) Complex comjugate.
Denote the operator for layer 𝑘as Δ𝑘. Then we can write the
𝑃-dimensional codewords for layer 𝑘as,
x𝑃,𝑘 =Δ𝑘⋅(E𝑟+𝑖⋅E𝑖)⋅M⋅u2𝑃,𝑘
=G𝑘⋅u2𝑃,𝑘,(3)
where G𝑘=Δ𝑘⋅(E𝑟+𝑖⋅E𝑖)⋅M. Indeed, the SCMA
codewords are essentially multi-dimensional complex lattice
constellation signal points.
At the receiver, the received signal can be written as,
y=
𝐾
𝑘=1
diag(h𝑘)x𝑘+z,(4)
where x𝑘and h𝑘are the SCMA codewords and channel
coefficient for layer 𝑘, respectively, and zis the additive
complex Gaussian white noise with distribution 𝒞𝒩(0,𝜎
2I).
On the 𝑛th subcarrier, the received signal can be written as,
𝑦𝑛=
𝑘∈𝜉𝑛
ℎ𝑛,𝑘𝑥𝑛,𝑘 +𝑧
=h𝑇
𝑛¯x𝑛+𝑧
=h𝑇
𝑛diag{g𝑇
𝑛,𝜅(1),...,g𝑇
𝑛,𝜅(𝑑𝑐)}u𝑛+𝑧
=H𝑛u𝑛+𝑧, (5)
where ¯x𝑛=[𝑥𝑛,𝜅(1),...,𝑥
𝑛,𝜅(𝑑𝑐)]𝑇is the set of users
collided on the 𝑛th subcarrier, h𝑛=[ℎ𝑛,𝜅(1),...,ℎ
𝑛,𝜅(𝑑𝑐)]𝑇
is the channel vector in subcarrier 𝑛. Since x𝑃,𝑘 =
G𝑘u2𝑃,𝑘,the𝑛th component of x𝑃,𝑘 can be written as
𝑥𝑛,𝑘 =g𝑇
𝑛,𝑘u2𝑃,𝑘 , where the row vector g𝑇
𝑛,𝑘 correspond-
stothe𝑛th row of matrix G𝑘. In this case, we can
formulate ¯x𝑛=diag{g𝑇
𝑛,𝜅(1),...,g𝑇
𝑛,𝜅(𝑑𝑐)}u𝑛with u𝑛=
[u𝑇
2𝑃,𝜅(1),...,u𝑇
2𝑃,𝜅(𝑑𝑐)]𝑇being the set of lattice points of
collision users in subcarrier 𝑛.
III. DECODING OF SCMA CODEWORDS
A. MPA Detection
Inspired by LDPC codes, the SCMA codewords can also be
decoded using message passing algorithm (MPA). During the
decoding, soft information of the codewords are interchanged
between layer nodes (LNs) and resource nodes (RNs) in a
iterative way until a maximum number of iteration is reached.
In log domain, the LLR information sent from resource node
𝑛to layer node 𝑘can be written as,
𝐼𝑔𝑛→𝑣𝑘(x𝑘)= ∗
max
x𝑢:𝑢∈𝜉𝑛∖𝑘{−𝑓𝑛(x)+
𝑢∈𝜉𝑛∖𝑘
𝐼𝑣𝑢→𝑔𝑛(x𝑢)},
(6)
where 𝑓𝑛(x)= 1
𝜎2∥𝑦𝑛−Σ𝑘∈𝜉𝑛ℎ𝑘,𝑛𝑥𝑘,𝑛∥2.The ∗
max operation
is given by
∗
max(𝑎, 𝑏)=log(𝑒𝑎+𝑒𝑏)
=max(𝑎, 𝑏)+log(1+𝑒−∣𝑎−𝑏∣).(7)
For Max-log-MPA, the approximation ∗
max(𝑎, 𝑏)≈max(𝑎, 𝑏)
is applied.
The information sent from layer node 𝑘to resource node 𝑛
can be written as,
𝐼𝑣𝑘→𝑔𝑛(x𝑘)=𝐿(x𝑘)+
𝑙∈𝜁𝑘∖𝑛
𝐼𝑔𝑙→𝑣𝑘(x𝑘),(8)
where 𝐿(x)=log𝑝(x)is a priori probability of x.
When the algorithm is converged or a maximum number of
iterations 𝐼𝑇 is reached, a posteriori probability of codeword
x𝑘is given by
𝐼(x𝑘)=𝐿(x𝑘)+
𝑙∈𝜁𝑘
𝐼𝑔𝑙→𝑣𝑘(x𝑘).(9)
Clearly, the operations dominating the process of decoding
is equation (6), where the marginalization ∗
max need to com-
puted 𝑀𝑑𝑐−1items. When the constellation size is 𝑀,the
total complexity is 𝑀𝑑𝑐. However, it can be observed that
the massive computation is useless since the 𝑓𝑛(x)with large
Euclidean distance has tiny contributions to (6). In the next
subsection, we will introduced a new method based on list
sphere decoding (LSD), which avoids the exhaustive search
for all the possible hypotheses and only considers the signals
within a given hypersphere.
B. LSD-based MPA Detection
Let us consider the following maximum likelihood detection,
ˆu𝑛=arg min
u𝑛∈Λ∥𝑦𝑛−H𝑛u𝑛∥2,(10)
where 𝑦𝑛∈ℂis the receive signal in subcarrier 𝑛,H𝑛and u𝑛
are row vector and column vector defined in (5), respectively.
The ML detector searches the optimal ˆu𝑛in a brute-force way,
which is clearly inefficient especially in high SNR, when the
possible transmit signal is not far from the receive value 𝑦𝑛.
In sphere decoder, we avoid this exhaustive search and only
consider signals within a given hypersphere.
Let the dimension of H𝑛and u𝑛be 𝐿and assume that the
entries of u𝑛are of constant modulus (e.g., BPSK modula-
tion). Equation (10) can be formulated as [12],
ˆu𝑛=arg min
u𝑛∈Λ∥𝑦𝑛−H𝑛u𝑛∥2+𝛼un
†un
=arg min
u𝑛∈Λ∥
y𝑛−
H𝑛u𝑛∥2,(11)
where 𝛼>0,
y𝑛=𝑦𝑛
0and
H𝑛=H𝑛
𝛼Iare (𝐿+1)×1
and (𝐿+1)×𝐿matrices, respectively.
Now consider the following generalized sphere decoder,
∥
y𝑛−
H𝑛u𝑛∥2≤𝐶, (12)
where 𝐶is the search radius. Applying the QR factorization
of
H𝑛,wehave,
H𝑛=[Q1,Q2]R
0,(13)
where Q1,Q2and Rare (𝐿+1)×𝐿,(𝐿+1)×1and 𝐿×𝐿
matrices, respectively. Since the multiplication of a unitary
matrix to a vector does not change the norm of the vector, we
have,
∥
y𝑛−
H𝑛u𝑛∥2=∥y
′
𝑛−Ru𝑛∥2≤𝐶′,(14)
where y′
𝑛=Q†
1
y𝑛and 𝐶′=𝐶−∥Q†
2
y𝑛∥2. For notation
simplification, we will drop the prime in the following.
Note that matrix Ris an upper triangle matrix. Hence we
can expand (14) as,
𝐿
𝑖=1
∣𝑦𝑖−
𝐿
𝑗=𝑖
𝑟𝑖𝑗 𝑢𝑗∣2≤𝐶. (15)
The sphere decoder works in a backward recursive way. For
𝑖=𝑙, i.e., considering the last 𝐿−𝑙+1 terms, we have,
∣𝑦𝑙−
𝐿
𝑗=𝑙+1
𝑟𝑙𝑗 𝑢𝑗−𝑟𝑙𝑙𝑢𝑙𝑙 ∣2+
𝐿
𝑖=𝑙+1
∣𝑦𝑖−
𝐿
𝑗=𝑖
𝑟𝑖𝑗 𝑢𝑗∣2≤𝐶. (16)
Define ˆ𝑦𝑙=𝑦𝑙−𝐿
𝑗=𝑙+1 𝑟𝑙𝑗 𝑢𝑗and 𝑇𝑙=𝐶−𝐿
𝑖=𝑙+1 ∣ˆ𝑦𝑖−
𝑟𝑖𝑖𝑢𝑖∣, (16) can be further simplified as,
∣ˆ𝑦𝑙−𝑟𝑙𝑙𝑢𝑙∣2≤𝑇𝑙.(17)
The upper bound 𝑈𝐵(𝑢𝑙)and lower bound 𝐿𝐵(𝑢𝑙)can be
obtained by solving the above inequality such that,
𝑈𝐵(𝑢𝑙)=∣ˆ𝑦𝑙∣cos(ˆ
𝜃𝑙)+𝑇𝑙−∣ˆ𝑦𝑙∣2sin2(ˆ
𝜃𝑙)
𝑟𝑙𝑙
,(18)
and
𝐿𝐵(𝑢𝑙)= ∣ˆ𝑦𝑙∣cos(ˆ
𝜃𝑙)−𝑇𝑙−∣ˆ𝑦𝑙∣2sin2(ˆ
𝜃𝑙)
𝑟𝑙𝑙
,(19)
where the complex ˆ𝑦𝑙=∣ˆ𝑦𝑙∣exp(𝑗ˆ
𝜃𝑙).
In general, we can search the signal points by a lexicograph-
ic order, i.e., let 𝑢𝑙=⌈𝐿𝐵(𝑢𝑙)⌉−1and search in an ascending
order until it reaches ⌊𝑈𝐵(𝑢𝑙)⌋, which is the original version
of sphere decoder [7]. Alternatively, the search can also be
proceeded in an ascending order of distance increment (DI)
𝑒(𝑢𝑙)=∣ˆ𝑦𝑙−𝑟𝑙𝑙𝑢𝑙∣2, i.e., search in an order
𝑢𝑙,1,𝑢
𝑙,2,𝑢
𝑙,3, ..., (20)
such that 𝑒(𝑢𝑙,𝑖)≤𝑒(𝑢𝑙,𝑗 )for 𝑖<𝑗. This is referred as
Schnorr-Euchner enumeration (SEE) [8]. The SEE starts with
the point that minimize the partial Euclidean distance (PED)
𝑑(u𝐿
𝑙)=𝐿
𝑖=𝑙∣𝑦𝑖−𝐿
𝑗=𝑖𝑟𝑖𝑗 𝑢𝑗∣2, so that we can find the
right path earlier than the original sphere decoder. Further, in
SEE the search radius can be initialized as 𝐶=+∞, i.e., we
are free of the choice of initial radius.
In the above, u𝑛is assumed to be constant modulus. For
general QAM symbols, 𝑢𝑖=±1,±3, ..., to make (11) feasible,
a simple decomposition can be applied,
𝑢=
log 𝑀−1
𝑖=0
2𝑖⋅𝑢′
𝑖=𝛾
𝛾
𝛾𝑇⋅u
′,(21)
where 𝑢=±1,±3, ... is an M-PAM symbol and 𝑢′
𝑖is a BPSK
modulation, and vector 𝛾
𝛾
𝛾𝑇=[2
log 𝑀−1,...,2,1]. In this way,
the u2𝑃,𝑘 in (3) can rewritten as,
u2𝑃,𝑘 =
𝛾
𝛾
𝛾𝑇
1,𝑘
𝛾
𝛾
𝛾𝑇
2,𝑘
...
𝛾
𝛾
𝛾𝑇
2𝑃,𝑘
u′1
𝑘
u′2
𝑘
...
u′2𝑃
𝑘
=Γ
Γ
Γ𝑘⋅u
′
2𝑃,𝑘,
(22)
where the entries in u′
2𝑃,𝑘 are BPSK. Further, the collision
signals in the 𝑛subcarrier can be written as,
u𝑛=
u2𝑃,𝜅(1)
u2𝑃,𝜅(2)
...
u2𝑃,𝜅(𝑑𝑐)
=
Γ
Γ
Γ𝜅(1)
Γ
Γ
Γ𝜅(2)
...
Γ
Γ
Γ𝜅(𝑑𝑐)
u′
2𝑃,𝜅(1)
u′
2𝑃,𝜅(2)
...
u′
2𝑃,𝜅(𝑑𝑐)
.(23)
Algorithm 1 LSD based MPA Detection
Initialization: Q=[Q1,Q2],R,y𝑛=Q†
1
y𝑛,𝐶 =+∞,𝐼𝑇
Iteration: (LSD Iteration)
1: Set 𝑖=𝐿, ˆ𝑦𝐿=𝑦𝐿,𝑇
𝐿=0
2: (SE Enumeration) Set 𝑢𝑖=sign(∣ˆ𝑦𝑖∣cos(ˆ
𝜃𝑖)) and search
step Δ𝑖=−2⋅sign(∣ˆ𝑦𝑖∣cos(ˆ
𝜃𝑖)).
3: (Node Pruning)If𝑇𝑖+∣ˆ𝑦𝑖−𝑟𝑖𝑖𝑢𝑖∣2>𝐶 or 𝑢𝑖/∈{−1,1},
go to 4. else go to 5.
4: If 𝑖=𝐿, terminate and output Φ𝑛;else𝑖=𝑖+1,𝑢𝑖=
𝑢𝑖+Δ
𝑖,goto3.
5: (PED Computation)If𝑖=1,goto6;elseset𝑇𝑖−1=𝑇𝑖+
∣ˆ𝑦𝑖−𝑟𝑖𝑖𝑢𝑖∣2,ˆ𝑦𝑖−1=𝑦𝑖−1−𝐿
𝑗=𝑖𝑟𝑖−1𝑗𝑢𝑗and 𝑖=𝑖−1,
go to 2.
6: A lattice point u𝑛within the hypersphere has been found.
Let ∥y𝑛−Ru𝑛∥2=𝑇1+∣𝑦1−𝑟11𝑢1∣2.Addu𝑛and the
corresponding Euclidean distance 𝑑(u𝑛)to the candidate
list set. If the candidate list set is full (the size reaches
𝑇𝑚𝑎𝑥), find u𝑛with maximum 𝑑(u𝑛),set𝐶=𝑑(u𝑛).
𝑢𝑖=𝑢𝑖+Δ
𝑖,goto3.
Iteration: (MPA Iteration)
7: Set 𝑖=1
8: while 𝑖≤𝐼𝑇 do
9: (LN Updating) Compute 𝐼𝑔𝑛→𝑣𝑘(x𝑘)using (25).
10: (RN Updating) Compute 𝐼𝑣𝑘→𝑔𝑛(x𝑘)using (8).
11: 𝑖=𝑖+1.
12: end while
13: (LLR of x𝑘) Compute 𝐼(x𝑘)using (9).
Using (23), we can reformulated (5) as,
𝑦𝑛=
𝑘∈𝜉𝑛
ℎ𝑛,𝑘𝑥𝑛,𝑘 +𝑧
=h𝑇
𝑛diag{g𝑇
𝑛,𝜅(1),...,g𝑇
𝑛,𝜅(𝑑𝑐)}u𝑛+𝑧
=h𝑇
𝑛diag{g𝑇
𝑛,𝜅(1)Γ
Γ
Γ𝜅(1),...,g𝑇
𝑛,𝜅(𝑑𝑐)Γ
Γ
Γ𝜅(𝑑𝑐)}u
′
𝑛+𝑧
=H
′
𝑛u
′
𝑛+𝑧, (24)
where vector H′
𝑛=h𝑇
𝑛diag{g𝑇
𝑛,𝜅(1)Γ
Γ
Γ𝜅(1),...,g𝑇
𝑛,𝜅(𝑑𝑐)Γ
Γ
Γ𝜅(𝑑𝑐)}
and u′
𝑛=[u′𝑇
2𝑃,𝜅(1),...,u′𝑇
2𝑃,𝜅(𝑑𝑐)]𝑇. Since the entries in u′
𝑛
are BPSK, we can proceed the sphere decoding as in the
constant modulus case.
In general, the sphere decoder finds all the candidate lattice
points within a given radius 𝐶. Denote the set of candidate
lattice points as Φ𝑛={u1
𝑛,...,u𝑇𝑚𝑎𝑥
𝑛}where 𝑇𝑚𝑎𝑥 is the
size of this set. In LSD we approximate the equation (6) as [9],
𝐼𝑔𝑛→𝑣𝑘(x𝑘=x𝑚
𝑘)
≈∗
max
x𝑢∈Φ𝑛∩𝕏𝑚
𝑘,𝑛
{−𝑓𝑛(x)+
𝑢∈𝜉𝑛∖𝑘
𝐼𝑣𝑢→𝑔𝑛(x𝑢)},
(25)
where 𝕏𝑚
𝑘,𝑛 is the collision codewords set on the 𝑛th subcarrier
with x𝑘being the 𝑚th constellation point.
Obviously, the equality holds only when 𝑇𝑚𝑎𝑥 =𝑀𝑑𝑐and
there is a trade off between the computational complexity
TABLE I: Complexity Comparison of Different Decoding Algorithms
Sphere Decoding 𝐼𝑔𝑛→𝑣𝑘(x𝑘)𝐼𝑣𝑘→𝑔𝑛(x𝑘)𝐼(x𝑘)
MPA -𝐼𝑇 ⋅(3𝑑2
𝑐+2𝑑𝑐)⋅𝑀𝑑𝑐𝐼𝑇 ⋅(𝑁
𝐾𝑑2
𝑐−𝑑𝑐)⋅𝑀 𝑑𝑐𝑀
LSD-MPA 2𝐿3+2𝐿2+𝐿
+∑𝐿
𝑘=1(2𝑘+7)𝑁𝑘
𝐼𝑇 ⋅(𝑑2
𝑐−𝑑𝑐)⋅𝑇𝑚𝑎𝑥 𝐼𝑇 ⋅(𝑁
𝐾𝑑2
𝑐−𝑑𝑐)⋅𝑀 𝑑𝑐𝑀
of (25) and the performance of MPA. However, we will
observe in the simulation section that a small enough 𝑇𝑚𝑎𝑥
would usually result in an acceptable performance loss. Hence
the complexity to compute (25) is reduced substantially. The
LSD based MPA is summarised in Algorithm 1.
C. Complexity Analysis
In this subsection, the complexity of original MPA and
LSD-based MPA is analyzed. We assume that the Max-log-
MPA is used in the detection and the complexity is evaluated in
terms of the number of floating point operations per OFDMA
subcarrier in this paper. A flop is regarded as either a complex
multiplication or a complex summation.
First consider the LSD-based MPA. For initialization, the
LSD needs a QR factorization of matrix
H𝑛and the com-
putation of the column vector y𝑛=Q†
1
y𝑛. Note that the
dimensions of
H𝑛and y𝑛are (𝐿+1)×𝐿and 𝐿×1. Since
we have the decomposition (23), 𝐿=𝑑𝑐⋅log2𝑀.TheQR
factorization is implemented based on modified Gram-Schmidt
algorithm (MGS) [15], which needs 2(𝐿+1)𝐿2flops. To
compute y𝑛=Q†
1
y𝑛,𝐿multiplications are needed since
y𝑛
is a sparse column vector. Therefore, 2𝐿3+2𝐿2+𝐿flops are
required in total before running the LSD.
For LSD, the expected complexity as shown in (26) is
evaluated in this paper [13],
𝐸𝑐=
𝐿
𝑘=1
𝑓(𝑘)𝑁𝑘=
𝐿
𝑘=1
(2𝑘+7)𝑁𝑘,(26)
where 𝑁𝑘is the averaged number of points inside a 𝑘-
dimensional sphere and 𝑓𝑘is the number of flops needed for
searching a point in dimension 𝑘(step 2 to step 6).
For the complexity of Max-log-MPA, (2𝑑2
𝑐−𝑑𝑐)𝑀𝑑𝑐sum-
mations and (𝑑2
𝑐+3𝑑𝑐)𝑀𝑑𝑐multiplications are required per
OFDMA subcarrier to compute equation (6) while for LSD-
MPA, since 𝑓𝑛(x)has been computed in Algorithm 1, only
(𝑑2
𝑐−𝑑𝑐)𝑇𝑚𝑎𝑥 summations are needed. Finally, the compu-
tations of (8) and (9) need 𝑑𝑐(𝑃−1)𝑀=(
𝑁
𝐾𝑑2
𝑐−𝑑𝑐)𝑀
summations and 𝐾𝑃 𝑀
𝑁=𝑑𝑐𝑀summations, respectively.
The computational complexities of the two algorithms are
summarised in Table I, where 𝐼𝑇 is the number of MPA
iteration.
IV. SIMULATION RESULTS
In this section, we investigate the BER performance and
the computational complexity of the proposed LSD-MPA in
uplink SCMA system. 16 points SCMA with 𝑁=4,𝑃 =2
and indicator matrix Fintroduced in Section II is considered
in this paper. The channel is additive white Gaussian noise
(AWGN) channel.
10 12 14 16 18 20 22 24
10−6
10−5
10−4
10−3
10−2
10−1
100
Eb/N0(dB)
BER
SCMA (16 points)
Max−log−MPA
LSD−MPA, T
max=96
PM−MPA, Rs=2 m=8
PM−MPA, Rs=4 m=7
(a) BER of SCMA 16 points with no channel coding
13.5 14 14.5 15 15.5 16 16.5 17 17.5 18
10−4
10−3
10−2
10−1
100
Eb/N0(dB)
BER
Turbo SCMA (16 points)
Max−log−MPA
LSD−MPA, T
max=96
PM−MPA, Rs=2 m=8
PM−MPA, Rs=4 m=7
(b) BER of SCMA 16 points with turbo coding
Fig. 3: Performance comparison of SCMA 16 points
In Fig. 3, the BER performance of Max-log-MPA, LSD-
MPA and PM-MPA is compared, where 𝑅𝑠is used to deter-
mine the number of symbols to be marginalized in the rest of
𝐼𝑇 −𝑚iterations as in PM-MPA. For channel coding, half
rate turbo code is utilized. The maximum iteration number is
set to 10 for both MPA and turbo code. From Fig. 3, we can
observe that the proposed LSD-MPA has attained the near ML
performance. In fact, the raw bits curves for Max-log-MPA and
LSD-MPA are overlapped with each other and for encoded
BER, the proposed scheme only results in 0.2dB performance
Summation Multiplication Square Root
100
101
102
103
104
105
106
Numboer of Flops
Complexity comparison (16 points)
Max−log−MPA
PM−MPA Rs=2 m=8
PM−MPA Rs=4 m=7
LSD−MPA Size = 96
Fig. 4: Complexity Comparison
loss. For comparison, we can easily observe that there is a
large performance gap between PM-MPA and Max-log-MPA
especially in high SNR region.
The amazing fact reflected in Fig. 3 is that the near
ML performance can be achieved through the candidate list
set Φ𝑛with a small enough size. In simulation, we set
𝑇𝑚𝑎𝑥 =96, which is a small portion of the whole searching
space (96/163≈0.023). Indeed, the brute force search for
all possible hypotheses is rather inefficient since the large
Euclidean distance has tiny contribution to (6). Thus, by
limiting the searching space within a hypersphere, we are able
to reduce the computational complexity of (6) effectively.
The complexity of sphere decoder depends mainly on the
expected visited points 𝑁𝑘in each 𝑘-dimensional hyper-
sphere [14]. In this paper, we count the averaged number
of visited nodes through Monte-Carlo simulation with 10000
noise samples (i.e., for 10000 receive 𝑦𝑠
𝑛). In Table II, we list
the total averaged number of visited nodes 𝐿
𝑘=1 𝑁𝑘during
the search in sphere decoder.
TABLE II: Average searched points
EbN0 (dB) 10 12 14 16 18 20
∑𝐿
𝑘=1 𝑁𝑘1908 1908 1898 1905 1914 1907
The histogram in Fig. 4 compares the number of operations
for additions and multiplications, where the SNR is set to
10 dB. From the figure, we can observe that by utilizing
the proposed LSD-MPA, the numbers of summations and
multiplications has been reduced by about one order of
magnitude compared with the traditional MPA. Note that
although some square root operations are required by the MGS
QR factorization, they are far less than the other operations.
Therefore the decoding complexity can still be reduced by
using the proposed algorithm.
V. C ONCLUSION
In this work, we propose a new decoding algorithm based on
LSD, which aims to reduce the computational complexity of
the original MPA detection. By clarifying the lattice structure
of SCMA codewords, we had shown that SCMA can be
decoded by using the low complexity list sphere decoder.
Instead of the exhaustive search for all possible hypotheses,
the proposed LSD-MPA only considers the signals within a
hypersphere. Simulation results shown that a candidate list set
with a small enough size searched by LSD can achieve the
near ML performance. Therefore the proposed algorithm has
attained a well trade off between the BER performance and
computational complexity.
ACKNOWLEDGMENT
This paper is supported by NSFC #6167010252,by
the National 973 Project #2012𝐶𝐵316106,bytheNa-
tional 863 Project #2015𝐴𝐴01𝐴710, by Guangxi NSF
#2015𝐺𝑋 𝑁𝑆 𝐹 𝐷𝐴139037, and by SKL on Mobile Commu-
nications #2013𝐷11.
REFERENCES
[1] H. Nikopour and H. Baligh, “Sparse code multiple access,” in Proc. IEEE
24th International Symposium on Personal Indoor and Mobile Radio
Communications (PIMRC), pp. 332-336, 2013.
[2] M. Taherzadeh, H. Nikopour, A. Bayesteh and H. Baligh, “SCMA
codebook design,” in Proc. IEEE Vehicular Technology Conference (VTC
Fall), pp. 1-5, 2014.
[3] R. Hoshyar, F. P. Wathan and R. Tafazolli, “Novel low-density signature
for synchronous CDMA systems over AWGN channel,” IEEE Trans. on
Signal Processing, vol. 56, no. 4, pp. 1616-1626, Apr. 2008.
[4] R. Razavi, et aI., “On receiver design for uplink low density signature
OFDM (LDS-OFDM),” IEEE Trans. on Communications, vol. 60. no. II,
pp. 3499-3508, Nov. 2012.
[5] S. Zhang, X. Xu, L. LU, Y. Wu, G. He, and Y. Chen, “Sparse code
multiple access: an energy efficient uplink approach for 5G wireless
systems,” in Proc. IEEE Global Communications Conf., 2014.
[6] H. Mu, Z. MA, M. Alhaji, P. Fan, and D. Chen, “A fixed low complexity
message pass detector for pp-link SCMA system,” IEEE Commun. Lett.,
vol. 4, no. 6, pp. 585-588, Dec. 2015.
[7] U. Fincke and M. Pohst, “Improved methods for calculating vectors of
short length in a lattice, including a complexity analysis,” Math. Comput.,
vol. 44, pp. 463-471, Apr. 1985.
[8] C. P. Schnorr and M. Euchner, “Lattice basis reduction: Improved prac-
ticcal algorithms and solving subset sum problems,” Math. Programming,
vol. 66, pp. 181-191, 1994.
[9] B. M. Hochwald and S. ten Brink, “Achieving near-capacity on a multiple-
antenna channel,” IEEE Trans. Commun., vol. 51, no. 3, pp.389-399, Mar.
2003.
[10] J. Boutros and E. Viterbo, “Signal space diversity: a power- and
bandwidth-efficient diversity technique for the rayleigh fading channel,”
IEEE Trans. Inform. Theory, vol. 44, pp. 1453-1467, July 1998.
[11] J. Boutros, E. Viterbo, C. Rastello, and J. C. Befiore, “Good lattice
constellations for both rayleigh fading and gaussian channels,” IEEE
Trans. Inform. Theory, vol. 42, pp. 502-518, Mar. 1996.
[12] T. Cui and C. Tellambura, “An efficient generalized sphere decoder
for rank-deficient MIMO systems,” IEEE Commun. Lett., vol. 9, no. 5,
pp.423-425, May 2005.
[13] B. Hassibi and H. Vikalo, “On sphere decoding algorithm. I. expected
complexity,” IEEE Trans. Signal Process., vol. 53, no. 8, pp.2806-2818,
Aug. 2005.
[14] J. Jaldn and B. Ottersten, “On the complexity of sphere decoding in
digital communications,” IEEE Trans. Signal Process., vol. 53, pp.1474-
1484, Apr. 2005.
[15] G. H. Golub and C. Van Loan, Matrix Computations. Baltimore, MD:
The John Hopkins Univ. Press, 1993.