上行SCMA系统的串行球形解码MPA算法①
2020-10-26杜军均贾国庆易辉跃张武雄
杜军均,贾国庆,易辉跃,许 晖,张武雄
(1.青海民族大学物理与电子信息工程学院,青海 西宁 810007;2. 中国科学院上海微系统与信息技术研究所,上海 201800;3. 上海无线通信研究中心,上海 201800)
0 引 言
大规模机器类通信(mMTC)是5G三大场景之一[1],连接密度要求更广、更密[2]。SCMA是一种码域的非正交多址接入技术,通过将高维调制和稀疏扩频结合成用户专用的码本,把频谱效率提升到了150%以上,有希望成为大连接候选技术。但是SCMA在实际应用中存在限制,主要问题之一是接收端检测算法复杂度较高。为了解决这一问题,文献[3]考虑节点置信度的稳定性,降低了复杂度,但是阈值是通过经验设定,现实中难以实现。文献[4]引入了动态子图MPA(DS-MPA)算法,但是收敛速度较慢,复杂度较高。文献[5]介绍了一种球形解码MPA算法(SD-MPA),但是收敛较慢。针对上述算法不足,提出一种串行球形解码MPA算法(SSD-MPA),利用高斯噪声分布特性与星座点可信度的关系,更新可信星座点,引入串行策略加快收敛速度。仿真结果显示,SSD-MPA加快了收敛速度,降低了复杂度,在半径适当的情况下,相较于MPA性能几乎没有损耗。
1 SCMA系统模型
1.1 上行SCMA系统
假定上行SCMA系统中有J个用户共享K个资源,系统具有L个M×K的码本,每个用户独占一个码本,具有M个星座点。系统过载率定义为λ=J/K,其中J>K。J=6,L=6,K=4,M=4的上行SCMA系统模型如图1所示。
图1 上行SCMA系统模型
在用户发射端,每个用户j根据基站分配的码本利用SCMA编码器将lb(M) bit数据流映射为N(N 表示多用户非正交叠加方式的因子图如图2所示,图中包含两种节点:资源节点FN表示K个资源、用户节点VN表示J个用户,连线表示用户和资源的有效承载关系。用df表示每个资源节点上叠加的用户数、dv表示每个用户节点上叠加的资源数。 图2 L=6, K=4的系统因子图 因此,基站接收端的信号y为: (1) 其中,Sj= (S1,j,S2,j…SK,j)T表示用户j在K个资源上的码字,hj=(h1,j,h2,j…hK,j)T表示信道系数,n~CN(0,σ2I)是K维高斯噪声。 根据因子图可知,每个资源上叠加了df个用户的码字,所以第k个资源上的接收信号为: (2) 其中,N(k) = {j|Sk,j≠0}为数据叠加在第k个资源上的用户集合,基数为df。 MPA是SCMA系统最常用的多用户检测算法,因为码字的稀疏性,MPA算法能够降低解码复杂度。基站接收机根据信道系数和噪声估计值按照因子图进行建模,解码过程主要为节点迭代更新和码字判决两部分,具体描述如下: 首先在资源节点k和用户节点j间迭代更新节点信息 (3) (4) 式中,V(j)={k|Sk,j≠0}为第j个用户映射的资源的集合,表示归一化基数为dv,norm(·)。Φ(ζ,k)表示接受信号和星座点的欧氏距离: Φ(ζ,k)=Φ(m1,m2,...mdf,k)= (5) 迭代结束后,计算码字概率然后根据对数似然比(LLR)判决码字 (6) (7) MPA虽然利用码字稀疏性将复杂度降到了Mdf量级,但是随着叠加用户数df和码本尺寸M的增加,复杂度呈指数增长。这限制了它在实际场景中的应用。MPA复杂度主要集中在节点迭代过程中,减小此过程的迭代次数和迭代节点数是减少复杂度的一种思路。 基于这种思路,考虑高斯噪声对接收信号的影响,星座点与接收信号的欧式距离越小时可信度越高。因此根据实际场景需求设置合适的半径(欧式距离)可以在保证误码率性能的情况下,减少需要迭代更新的节点数。 同时,串行策略可以使得资源节点更新的信息及时传递给用户节点,加快节点信息更新的收敛速度。SSD-MPA具体步骤如算法1所示: 算法1 串行球形解码MPA算法0.Input:y,H,σ,N,R1.Initialization:for all j andk∈V(j)andmdoI0k→j(mj)=1/M,I0j→k(mj)=1/Mend for2.Calculate contingent probability:for all k,j∈N(k)andm=1:Mdo Calculate Φ(ζ,k)via (5)end for3.Iteration:for t=1:N and all k,j∈N(k)do form=1:Mdo ifabsΦ(ζ,k) MPA算法复杂度集中在迭代更新节点过程,每次迭代都有df·Mdf次更新。SSD-MPA算法通过将更新节点限定在可信范围内,减少迭代更新的节点数,每次迭代df·qdf次,其中q表示每个码字的可信星座点数。利用串行策略减少了收敛的最大迭代次数。SSD-MPA与多个算法的收敛复杂度比较如表1所示,其中NMPA、NSD、NDS、NSSD分别是各算法收敛的最大迭代次数,|Φ*(k)|表示SD-MPA在资源k上的更新节点数。图3给出了在实际运算时各算法的收敛复杂度比较。 表1 收敛复杂度比较 图3 复杂度比较图 图4 收敛速度比较图 为了验证所提算法的性能和复杂度,对几种算法的收敛速度和误码率性能进行了仿真比较,仿真参数如表2所示。 表2 仿真参数设置 图5 N=2的BER性能比较图 图6 N=10的BER性能比较图 图4给出了SNR=12dB的情况下几种算法的收敛速度比较。由图可见,MPA算法收敛较慢在6次才收敛。SD-MPA在半径Δ=δ时虽然3次就收敛但是性能较差,而在Δ=2δ时要5次才收敛,且性能有损失。DS-MPA算法虽然性能比SD-MPA好,但是收敛慢。相比之下,SSD-MPA在N=2时就已经收敛。 图5和图6分别给出了迭代次数N为2和10时几种算法的误码率性能比较图。从图5中可以看出,SSD-MPA的误码率性能优于其他几种算法。这是因为由图4可知,在N=2时SSD-MPA已经收敛,而其他几种算法还未收敛。 图4显示N为10时几种算法都已经收敛,图6则显示除了Δ=δ的SD-MPA性能较差外,DS-MPA在低SNR时性能略优,但是当SNR超过6dB时几种算法性能相似。结合图4、图5和图6分析可以得出结论:SSD-MPA较其他几种算法收敛速度更快,当几种算法均收敛时性能一致。 为了降低MPA算法的复杂度,提升其实际应用性,针对现有技术的不足之处,提出一种串行球形解码算法,通过减少更新节点数、加快收敛速度,降低复杂度。仿真结果表明:所提算法在保持MPA性能的同时,降低了复杂度。1.2 MPA算法描述
2 串行球形解码算法
2.1 SSD-MPA算法描述
2.2 复杂度分析
3 仿真数值分析
4 结 语