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.



















