SCMA: Sparse Code Multiple Access
SCMA基本原理
我们考虑一个同步(synchronous)的SCMA系统,
- 含1个基站(Base Station, BS);
- J J J个用户(so called layers);
- K个OFDM子载波(so called REs)。
用户 j j j发送的码字 x j ∈ C K × 1 \boldsymbol x_j \in \mathbb C^{K \times 1} xj∈CK×1,其中 x j \boldsymbol x_j xj是从集合 C j \boldsymbol C_j Cj中选取的,集合 C j \boldsymbol C_j Cj一共有 M j M_j Mj个码字,因此用户 j j j发送一个码字可以传输 log 2 M j \log_2{M_j} log2Mj个比特。注意到SCMA的码字是稀疏的,即仅有 N j ≪ K N_j \ll K Nj≪K个RE上的符号是非零的,其它都为零,我们把 N j N_j Nj称为码字的稀疏度(codebook sparsity degree)。
SCMA的关键特征:给定用户 j j j对应的所有码字,这些码字非零元素对应的位置都是一致的,且相较于其他用户是唯一的。(The sparsity key of SCMA that all codewords corresponding to the j th j^{\text{th}} jth SCMA layer (user) have a unique location of nonzero entries at the same ( K − N j ) (K-N_j) (K−Nj) positions.)
Note:A regular SCMA system is defined by
N
j
=
N
,
1
≤
j
≤
J
M
j
=
M
,
1
≤
j
≤
J
N_j = N, \ \ 1 \leq j \leq J \\ M_j = M, \ \ 1 \leq j \leq J
Nj=N, 1≤j≤JMj=M, 1≤j≤J
一个regular SCMA系统如下图所示。其中,码字的维数 K = 4 K=4 K=4,码字空间大小 M j = 4 , ∀ j M_j=4, \forall j Mj=4,∀j,用2个RE来承载符号,即 N j = 2 , ∀ j N_j = 2, \forall j Nj=2,∀j。
Define
- The maximum degree of user superposition on a given RE: d f d_f df
- Overloading factor is defined by the ratio of number of total users to number of REs: λ = J K \lambda = \frac{J}{K} λ=KJ
从上图可以看出, d f = 3 , λ = 150 % d_f =3, \lambda=150 \% df=3,λ=150%。
我们使用数学语言来描述SCMA encoder。SCMA encoder可以被定义为映射: f : { 0 , 1 } log 2 M → X f: \{0,1\}^{\log_2 M} \rightarrow \mathcal X f:{0,1}log2M→X,即 x = f ( b ) \boldsymbol x = f(\boldsymbol b) x=f(b),其中 X ⊂ C K \mathcal X \subset \mathbb C^{K} X⊂CK且 ∣ X ∣ = M \vert \mathcal X \vert=M ∣X∣=M。 x ∈ X \boldsymbol x \in \mathcal X x∈X是一个稀疏向量,只有 K − N K-N K−N个非零元素。指定 c \boldsymbol c c为 N N N维的复星座点(complex constellation point),对应的星座集合为 C ⊂ C N \mathcal C \subset \mathbb C^{N} C⊂CN,那么从二进制向量到高维星座点的映射为 g : { 0 , 1 } log 2 M → C g: \{0,1\}^{\log_2 M} \rightarrow \mathcal C g:{0,1}log2M→C,即 c = g ( b ) \boldsymbol c = g(\boldsymbol b) c=g(b),那么SCMA encoder可以表示为
f : ≡ V c = V g ( b ) f : \equiv \boldsymbol V \boldsymbol c = \boldsymbol V g(\boldsymbol b) f:≡Vc=Vg(b)其中 V \boldsymbol V V为映射矩阵,将在后面介绍。
BS上行接收信号可以表示为:
y
=
∑
j
=
1
J
H
j
x
j
+
n
∈
C
K
×
1
\boldsymbol y = \sum_{j=1}^J \boldsymbol H_j \boldsymbol x_j + \boldsymbol n \in \mathbb C^{K \times 1}
y=j=1∑JHjxj+n∈CK×1
其中 H j = diag ( h j ) \boldsymbol H_j =\text{diag}(\boldsymbol h_j) Hj=diag(hj),且 h j = ( h j , 1 , h j , 2 , ⋯ , h j , K ) T \boldsymbol h_j=(h_{j,1}, h_{j,2}, \cdots, h_{j,K})^T hj=(hj,1,hj,2,⋯,hj,K)T是用户 k k k的信道向量, n ∼ C N ( 0 , N 0 I K ) \boldsymbol n \sim \mathcal {CN}(\boldsymbol 0, N_0 \boldsymbol I_K) n∼CN(0,N0IK)。
我们可以用两种方式来描述SCMA系统:
(1)因子图矩阵(factor graph matrix)
SCMA系统可以被一个
K
×
J
K \times J
K×J的因子矩阵
F
=
(
f
1
,
f
2
,
⋯
,
f
J
)
∈
{
0
,
1
}
K
×
J
\boldsymbol F=(\boldsymbol f_1, \boldsymbol f_2, \cdots, \boldsymbol f_J) \in \{0,1\}^{K \times J}
F=(f1,f2,⋯,fJ)∈{0,1}K×J表征。
F
\boldsymbol F
F的每一列
f
j
\boldsymbol f_j
fj定义了用户
j
j
j发送码字对应的非零位置。
F
=
[
1
1
1
0
0
0
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
]
\boldsymbol{F}=\left[ \begin{matrix}{} 1& 1& 1& 0& \begin{matrix} 0& 0\\ \end{matrix}\\ 1& 0& 0& 1& \begin{matrix} 1& 0\\ \end{matrix}\\ 0& 1& 0& 1& \begin{matrix} 0& 1\\ \end{matrix}\\ 0& 0& 1& 0& \begin{matrix} 1& 1\\ \end{matrix}\\ \end{matrix} \right]
F=
110010101001011000100111
(2)用户
j
j
j的映射矩阵
我们用
V
=
{
V
j
,
∀
j
}
\mathcal V=\{\boldsymbol V_j, \forall j\}
V={Vj,∀j}来表征SCMA系统,且
f
j
=
diag
(
V
j
V
j
T
)
\boldsymbol f_j = \text{diag}(\boldsymbol V_j \boldsymbol V_j^T)
fj=diag(VjVjT),其中
V
j
\boldsymbol V_j
Vj是用户
j
j
j将发送符号映射到RE上的映射矩阵,例如图中第1个用户的映射矩阵为
V
1
=
[
1
0
0
1
0
0
0
0
]
\boldsymbol{V}_1=\left[ \begin{matrix}{} 1& 0\\ 0& 1\\ 0& 0\\ 0& 0\\ \end{matrix} \right]
V1=
10000100
上图对应的因子图为
SCMA映射矩阵的构造
映射矩阵的构造准则如下:
- V j ∈ { 0 , 1 } K × N \boldsymbol V_j \in \{0,1\}^{K \times N} Vj∈{0,1}K×N;
- V j ≠ V i , ∀ i ≠ j \boldsymbol V_j \neq \boldsymbol V_i, \ \ \forall i \neq j Vj=Vi, ∀i=j
- V j [ ⊘ ] = I N \boldsymbol V_j^{[\oslash] } = \boldsymbol I_N Vj[⊘]=IN, where V j [ ⊘ ] \boldsymbol V_j^{[\oslash] } Vj[⊘] is V j \boldsymbol V_j Vj after removing its all-zero rows.
基于上述构造准则的解是唯一的,简单地可以解释为是一个排列组合问题,即往 I N \boldsymbol I_N IN中插入 N − K N-K N−K个全0的行。不难看出,该解具有以下性质:
- J = ( K N ) J=\left( \begin{array}{c} K\\ N\\ \end{array} \right) J=(KN)
- d F = ( K − 1 N − 1 ) = J N K d_F = \left( \begin{array}{c} K-1 \\ N-1 \\ \end{array} \right) = \frac{JN}{K} dF=(K−1N−1)=KJN
- λ = J K = d f N \lambda = \frac{J}{K}=\frac{d_f}{N} λ=KJ=Ndf
- max ( 0 , 2 N − K ) ≤ l ≤ N − 1 \max(0, 2N-K) \leq l \leq N-1 max(0,2N−K)≤l≤N−1 where l is the number of the overlapping elements of any two distinct f j \boldsymbol f_j fj vectors.
SCMA与LDS-CDMA的区别
LDS is a special simplified case of the SCMA structure with QAM symbol repetition over multiple tones/subcarriers.
引用
[1] L. Dai, B. Wang, Y. Yuan, S. Han, I. Chih-lin and Z. Wang, “Non-orthogonal multiple access for 5G: solutions, challenges, opportunities, and future research trends,” in IEEE Communications Magazine, vol. 53, no. 9, pp. 74-81, September 2015, doi: 10.1109/MCOM.2015.7263349.
[2] H. Nikopour and H. Baligh, “Sparse code multiple access,” 2013 IEEE 24th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), London, UK, 2013, pp. 332-336, doi: 10.1109/PIMRC.2013.6666156.
[3] M. Rebhi, K. Hassan, K. Raoof and P. Chargé, “Sparse Code Multiple Access: Potentials and Challenges,” in IEEE Open Journal of the Communications Society, vol. 2, pp. 1205-1238, 2021, doi: 10.1109/OJCOMS.2021.3081166.