简化SCMA上行多接入系统设计*
安保统魏中振郭书军
(北方工业大学电子信息工程学院,100144,北京)
摘要正交多址技术由于其接入用户数量与正交资源成正比,可同时接入的用户数量受到正交资源总量的限制,不能满足5G低延时接入、大容量传输、海量连接等需求。针对此问题,本文对华为公司提出的SCMA(稀疏码多址接入)技术进行了深入研究,创新、优化、精简了算法,在误码率减小或保持不变的前提下,降低了算法复杂度,减少了时延,并用MATLAB模拟空间信道进行了仿真。 关键词多址;5G;非正交;SCMA 分类号TN929.53
Design of Simplified SCMA Uplink Multiple Access System
AN BaotongWEIZhongzhen GUO Shujun
(Col. ofElectronic Information Engineering ,North China Univ. of Tech., 100144) AbstractIn the orthogonal multiple access technology, the number of access users is proportional to the orthogonal resource, and the number of users can be limited by the total amount of orthogonal resources. So it cannot meet the needs of 5G, such as low latency access, large capacity transmission, mass connection, etc. To solve the problem,this paper is researching on the SCMA technology which put forward from the Huawei Company, and innovating, optimizating, simplifying the algorithm. Under the premise of reducing the bit error rate or remaining unchanged ,algorithm complexity is reduced, delay is decreased, and it using MATLAB to simulate the analog spatial channel as well. KeyWordsmultipleaccess; 5G; non-orthogonal; SCMA
在世界移动通信大会上,华为公司发布了面向5G的新空中接口技术,并展示了涵盖信道编码、双工模式、基础波形、多址方式等在内的系列化5G空中接口候选技术,主要包括3大技术,即Polar Code(极化码)的链路仿真、F-OFDM(可变子载波带宽的非正交波形)和SCMA(Sparse Code Multiple Access,稀疏码多址接入)。
SCMA引入稀疏码本,通过码域的多址实现了频谱效率3倍的提升。SCMA的第1个关键技术为低密度扩频[1],把单个用户的数据扩频到2个子载波上,然后6个用户共享4个子载波,之所以叫低密度扩频,是因为单个用户数据只占用了其中2个子载波,另外2个子载波是空的,这就相当于6个乘客坐4个座位,那每个乘客最多坐2个座位。这也是SCMA中Sparse(稀疏)的来由。但是4个座位(子载波)塞了6个用户之后,乘客之间就不严格正交了(每个乘客占了2个座位,没法再通过座位号来区分乘客了)。这时候我们就用到了SCMA的第2个关键技术,叫做高维调制。通过高维调制技术,使得多用户的星座点之间欧氏距离拉的更远,多用户解调和抗干扰性能大大增强。每个用户的数据都使用系统分配的稀疏码本进行了高维调制,而系统知道每个用户的码本,就可以在不正交的情况下,把不同 *
收稿日期:2016-4-10
第一作者简介:安保统,硕士研究生。研究方向:嵌入式系统。
用户信息解调出来。这样,SCMA在使用相同频谱的情况下,通过引入码域的多址,大大提升了频谱效率,通过使用数量更多的载波组,并调整稀疏度(多个子载波中单用户承载数据的子载波数),频谱效率可以提升3倍甚至更高。
SCMA利用多维稀疏非正交码本,相比于CDMA,极大的丰富了码资源,可以提供更大的容量和多用户接入,是下一代移动通信技术的研究重点。SCMA在发送端,通过多维调制和稀疏扩频将6个用户信息对应的编码比特映射成SCMA码字,经过4个信道发送出去,在接收端通过多用户检测、利用最大似然译码准则完成译码,解析出6个用户的信息。整体结构如图1所示。
SCMA编码用户1Turbo编码Turbo编码Turbo编码Turbo编码Turbo编码Turbo编码码表映射码表映射码表映射码表映射码表映射高斯白噪声Turbo译码用户1用户21高斯白噪声1Turbo译码Turbo译码Turbo译码Turbo译码用户2用户32高斯白噪声2SCMA译码用户3用户43高斯白噪声3用户4用户5用户54用户64Turbo译码用户6码表映射
图1 SCMA编码整体结构
本文对码本设计、SCMA编码、模拟信道传输及SCMALog_MAP解码进行了研究推导,改进了SCMA Max_Log_MAP解码,给出了两种不同解码的仿真结果,并进行了对比分析。
1 码本设计
SCMA通过4个信道发送6个用户的数据,用户之间肯定不可能严格正交,必须使用高维调制技术,使得每2个用户星座点之间的欧氏距离尽可能拉的更远[2]。所以SCMA码本设计要求非常高、难度比较大,经过权衡,我们没有花更多时间研究码本如何设计,直接将精力放在了简化和优化译码算法上。实验所用码本出自华为工程师之手,经过很多专家优化,可信度高、可行性大。码本[3]如图2所示。
SCMA码本索引 (SCMA Codebook index) 每层对应的码本 (SCMA codebook for each layer) CB_1 0 0 0 0 -0.1815-0.1318i -0.6315-0.4615i 0.6315+0.4615i 0.1815+0.1318i 0 0 0 0 0.7815 -0.2243 0.2243 -0.7851 CB_2 0.7851 -0.2243 0.2243 -0.7851 0 0 0 0 -0.1815-0.1318i -0.6351-0.4615i 0.6351+0.4615i 0.1815+0.1318i 0 0 0 0 CB_3 -0.6351+0.4615i 0.1815-0.1318i -0.1815+0.1318i 0.6351-0.4615i 0.1392-0.1759i 0.4873-0.6156i -0.4873+0.6156i -0.1392+0.1759i 0 0 0 0 0 0 0 0 CB_4 0 0 0 0 0 0 0 0 0.7851 -0.2243 0.2243 -0.7851 -0.0055-0.2242i 0.0193-0.7848i 0.0193+0.7848i 0.0055+0.2242i CB_5 -0.0055-0.2242i -0.0193-0.7848i 0.0193+0.7848i 0.0055+0.2242i 0 0 0 0 0 0 0 0 -0.6351+0.4615i 0.1815-0.1318i -0.1815+0.1318i 0.6351-0.4615i CB_6 0 0 0 0 0.7851 -0.2243 0.2243 -0.7851 0.1392-0.1759i 0.4873-0.6156i -0.4873+0.6156i -0.1392+0.1759i 0 0 0 0 图2 SCMA 码本 通过对码本的分析发现,所给码本已经对每个用户码字的总能量进行了归一化,每个用户在每个子载波上的平均能量为0.3333,每个子载波上承载3个用户的码字,所以每个子载波发送码字的平均能量为1,瞬时能量在1的上下波动。
2 SCMA编码
SCMA编码是为了将6个用户的数据映射到4个信道上去,如公式(1)所示。
y(n)?h(n,1)c(n,m1)?h(n,2)c(n,m2)?h(n,3)c(n,m3)?Z(n)(1)
h(n,m)为n通道上m用户所对应的码字,c为各用户的码元在码表上的对应关系:首先生成4×6的空矩阵,行代表子载波,列代表各用户。根据第n用户的码元00,01,10,11对应到第n列的第1,2,3,4行上。然后利用公式计算出每个载波所要发送的数据,第一子载波上数据计算公式如式(2)所示。
y?1??h1?1,:?×c?:,2??h1?2,:?×c?:,3??h1?3,:?×c?:,5?(2)
3 模拟信道传输
通过对码表的理论分析和用MATLAB仿真验证,每个子载波发送信号的平均能量为1。所以本文利用MATLAB自带的AWGN函数对每个通道添加高斯白噪声,添加前先测量信号的功率,再根据信噪比添加噪声,在接收端估算出噪声功率。
fori=1:4
y(i)=awgn(y(i),SNR,'measured'); end; SNR=7;
en=10^(SNR/10); N(i)=1/en;
4 SCMA Log_MAP解码
SCMA解码依据最大似然译码准则,即最大后验概率准则,就是利用计算机的超级运算能力,对接收到的数据与可能产生这个结果的所有可能进行比较,概率最大的这个被认为是所发送的数据,为了使结果尽可能的准确,采用了多次迭代算法。 MPA Decode主要包括3个步骤:条件概率初始化、消息迭代、判决输出。 1)条件概率初始化,就是计算接收到的y信号与各种可能的码字信号组合之间的残差。计算公式如式(3)所示。
fn(y(n),m1,m2,m3,N0(n),H(n))??1||y(n)?(h(n,1)c(1,n,m1)(3) N0(n)(m1,m2,m3,m4)?(1......M),n?(1......F),在本次实验中,M=4,F=4,H(n)=1。所其中
以先预生成fn=(4?4?4?4?4)的零矩阵并分配内存空间,然后通过循环计算出所有残差赋值给fn。通过分析发现,fn??0,没有误差时fn=0;有误差时fn?0,误差越大,fn越小。
2)消息迭代,过程如式(4)~式(6)所示。
?n(y(n),m1,m2,m3,N0(n),H(n))?exp(fn(y(n),m1,m2,m3,N0(n),H(n));(4)
Igv(g,v,m1)?M2?1M3?1???n(y(n),m,m,m,N0(n),H(n))(Ivg(v,g,m)Ivg(v,g,m))(5)
12323MM?????? ??,??,?? =??????????????????(×?????? ??,??,?? )(6)
4
1
一次完整迭代包括完成FN更新和VN更新。FN更新是利用一个子载波上两个用户与载波的转移概率和残差去更新第三个用户与载波的转移概率,分别求出每个用户码元为00,01,10,11的转移概率,过程如式(4)和式(5)所示。VN更新是以用户为中心,用用户在一个载波上数据的转移概率去更新在另一个载波上的转移概率,然后进行归一化。归一化依据的原理是:每个用户码元为00,01,10,11的先验概率为1/4,概率总和为1。normalize函数先对Igv(g,v,m)求和,再用Igv(g,v,m)除以和值。这样就保证了Ivg(v,g,1)、Ivg(v,g,2)、Ivg(v,g,3)、Ivg(v,g,4)的和值为1,再进入下一次迭代。迭代次数却多,结果越精确,但计算量越大,影响时延,所以一般取3~5次。
3)判决输出
1Qv(m)?*Igv(g1,v,m)*Igv(g2,v,m);4(7) Qv(m)?p(bx?0)m:bx?0LLRx?ln()?ln()p(bx?1)Q(m)(8)?m:b?1vx?ln(?m:bx?0Qv(m))?ln(?m:bx?1Qv(m)) 迭代结束后,假设结果已经收敛,下一步就是结果输出,需要对V节点上的码字m进行判决。首先对与V节点相连的转移概率相乘,再乘以先验概率,如式(7),最后输出对数似然比,如式(8),利用对数似然比判决用户的码元,如果似然比小于等于0,判别为1,否则为0。
5 SCMA Max_Log_MAP解码
本文Max-Log-MAP 算法是在 Log-MAP 算法的基础上推导出来的,是Log-MAP 算法的精简化。利用求最大值max的方法代替最大似然译码算法中的Log,译码性能非常接近,计算复杂度却得到显著降低。主要依据公式(9)来逆向推导计算方法。
ln(?exp(fi))?max{f1,f2,...,fN}(9)
i?1N
1)推导过程:
通过Log-MAP算法反推Max-Log-MAP 算法,现在以推导第1位数据为例,其余位数方法类似,过程如下:
LLRX?ln(Q(1,1)?Q(1,2))?ln(Q(1,3)?Q(1,4))?max{lnQ(1,1),ln(1,2)}?max{lnQ(1,3),lnQ(1,4)}
(10)
2)迭代过程推导
Log-MAP算法中,Ivg初始值为1/4,以后每进行一次迭代,就是对Ivg做出修正,然后归一化,使
Ivg(v,g,m1)?Ivg(v,g,m2)?Ivg(v,g,m3)?Ivg(v,g,m4)?1(11)
理论上归一化为式(12)。
Ivg?ln(normalize(eIvg))(12)
即先对Ivg做指数运算,由对数域转为数域,进行完归一化再变为对数域。实际上增加了算法复杂度。经过分析,我们试图对ex、lnx进行泰勒级数展开。Q转化为对数域,乘号变加号,所以有式(13)。
Q(1,1)?Igv(2,1,1)?Igv(4,1,1)?1.38629436111(13)
6 仿真结果
SCMA无查错纠错能力,为了得到更好的实验结果,本文在仿真过程中加入了1/2码率的Turbo码[4]。同等条件下,Log_MAP解码和Max_Log_MAP解码的仿真结果对比如图3所示,横轴表示信噪比,纵轴表示误码率,可以发现,当信噪比大于6.8以后,2种算法的误码率都小于10-6,达到实用通信系统要求[5],验证了SCMA技术的有效性,证明高维调制的稀疏码多址接入技术可以用于下一代移动通信系统,实现了预期的3倍效率提升。相比之下,经过优化的Max_Log_MAP解码性能更好,在性噪比为6.6左右就达到了通信系统要求,且计算复杂度明显小于Log_MAP算法,说明算法推导正确、优化有效。