文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.002
中文引用格式: 宋春雪,,文萍,,張學(xué)晨. 基于5G無線通信的稀疏碼多址接入系統(tǒng)的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,,42(7):8-12.
英文引用格式: Song Chunxue,Wen Ping,,Zhang Xuechen. FPGA implementation of the sparse code multiple access system based on 5G wireless communication[J].Application of Electronic Technique,2016,,42(7):8-12.
0 引言
稀疏碼多址接入(SCMA)是一種多址接入技術(shù),也就是基站如何同時(shí)服務(wù)和區(qū)分多個(gè)用戶的一種方式?,F(xiàn)在的2G,、3G、4G無線通信系統(tǒng)中的多址接入方式是正交的,,用戶之間也是正交的,,如TDMA、FDMA,,這種正交多址接入方式的優(yōu)點(diǎn)是整個(gè)系統(tǒng)相對(duì)簡單,,接收端可以不做多用戶均衡,但不足是容納的用戶數(shù)量取決于正交的資源數(shù)量,。因此,,正交接入方式不能很好地適用未來5G大容量、海量連接低延時(shí)接入等需求,。解決這個(gè)問題的一種簡單想法是OFDM與CDMA結(jié)合,,即在每個(gè)時(shí)頻資源上以碼分的方式疊加更多用戶。由于每個(gè)資源塊上疊加了N個(gè)用戶,,N是碼字的數(shù)量,,這導(dǎo)致譯碼端復(fù)雜度非常高。稀疏碼多址接入(SCMA)就是應(yīng)5G需求設(shè)計(jì)產(chǎn)生的一種非正交多址技術(shù)[1],。SCMA系統(tǒng)中稀疏擴(kuò)頻的概念,,將用戶的數(shù)據(jù)在頻域上擴(kuò)散在有限的子載波上,每個(gè)資源塊上等效的疊加用戶數(shù)會(huì)大大減少,,這就為接收端實(shí)現(xiàn)低復(fù)雜度提供可能性,。
在SCMA系統(tǒng)中,信息比特首先經(jīng)過信道編碼,,編碼后的比特經(jīng)過SCMA調(diào)制碼本映射成SCMA碼字,,碼字以稀疏的方式擴(kuò)頻在多個(gè)資源塊上,,因此,其最大特點(diǎn)是非正交疊加的碼字個(gè)數(shù)可以成倍大于使用的資源塊個(gè)數(shù),。相比4G的OFDMA技術(shù),,它可以實(shí)現(xiàn)在同等資源數(shù)量條件下,同時(shí)服務(wù)更多用戶,,從而有效提升系統(tǒng)整體容量,。本文中模擬6個(gè)數(shù)據(jù)流擴(kuò)散在4個(gè)資源塊的情況,也就是150%的過載,。
在發(fā)送端,,每個(gè)用戶有自己獨(dú)立的碼本,SCMA碼本的設(shè)計(jì)過程可以看成稀疏擴(kuò)頻和多維調(diào)制的聯(lián)合優(yōu)化[2],。用戶根據(jù)輸入的比特串來選擇碼本中不同的碼字,,將編碼比特直接映射為復(fù)數(shù)域多維碼字,然后不同用戶的碼字在相同的資源塊上以稀疏的擴(kuò)頻方式非正交疊加,。本文直接使用文獻(xiàn)[2]中的碼本來編碼,,即6個(gè)用戶分布在4個(gè)資源塊上,tanner圖如圖1,。
接收端利用擴(kuò)頻的稀疏性進(jìn)行低復(fù)雜度的多用戶聯(lián)合檢測(cè),,并結(jié)合信道譯碼完成多用戶的比特串恢復(fù)[3]。
本文簡化的上行鏈路SCMA系統(tǒng)總體設(shè)計(jì)框圖如圖2所示,。
1 SCMA譯碼器的設(shè)計(jì)原理
SCMA系統(tǒng)的性能主要取決于SCMA碼本設(shè)計(jì)和譯碼器設(shè)計(jì),。因此好的譯碼器十分重要。最大聯(lián)合后驗(yàn)概率(MAP)檢測(cè)是最優(yōu)的多用戶聯(lián)合檢測(cè),,但由于巨大的存儲(chǔ)量,,較高的復(fù)雜度往往不能在實(shí)際中使用。由于SCMA中低密度擴(kuò)頻的結(jié)構(gòu),,可以采用近似于最大似然比(ML)檢測(cè)性能的低復(fù)雜度的消息傳遞算法(message passing algorithm)[4],。
消息傳遞算法的基本原理就是將一個(gè)計(jì)算困難的問題分解成許多容易計(jì)算的子問題。譯碼器的最終目的在于計(jì)算每個(gè)比特的后驗(yàn)概率,,因此在迭代過程中消息傳遞算法的基本運(yùn)算就是基于先驗(yàn)概率和圖模型結(jié)構(gòu)對(duì)外概率和后驗(yàn)概率的估算[5],。SCMA譯碼器設(shè)計(jì)流程圖如圖3所示。
譯碼器包含輸入緩沖,、殘余信號(hào)f計(jì)算,、功能節(jié)點(diǎn)FN更新、變量節(jié)點(diǎn)VN更新,、輸出似然比LLR等模塊,,控制部分iter_ctrl負(fù)責(zé)協(xié)調(diào)整個(gè)譯碼器的工作。譯碼器的工作流程是:當(dāng)接收到帶有高斯噪聲的信號(hào)r后,,首先通過fn(.)函數(shù)計(jì)算條件概率進(jìn)行初始化,,然后功能節(jié)點(diǎn)FN與變量節(jié)點(diǎn)VN沿著相連的邊進(jìn)行信息迭代更新,,滿足最大迭代次數(shù)后,變量節(jié)點(diǎn)輸出信息比特的似然比作為turbo譯碼的輸入,,SCMA譯碼完成,。整個(gè)過程主要由以下三步完成。
1.1 初始化條件概率
給出用戶k在資源n的信道增益h_n=1,,變量節(jié)點(diǎn)k在資源節(jié)點(diǎn)n上發(fā)送碼字m_k的符號(hào)C(k,n)(mk),,噪聲功率N0,,n,可以用fn(.)函數(shù)計(jì)算包含各種可能性的殘余信號(hào),。令fn(.)=fn(yn,,m1,m2,,m3,,N0,n,,Hn),,則:
1.2 迭代消息沿邊緣傳遞更新
功能節(jié)點(diǎn)FN通過其相鄰的變量節(jié)點(diǎn)VN傳遞的外信息更新,如圖4所示,。
VN通過其相鄰的FN傳遞的信息來更新,,當(dāng)d_v=2,可以看作在VN上信息的交換,,如圖5所示,。
1.3 一定的迭代次數(shù)后變量v處LLR輸出
這樣可以得到每個(gè)比特的對(duì)數(shù)似然比LLR,用于turbo譯碼的輸入,。
2 低復(fù)雜度MPA譯碼器原理與仿真
2.1 尋找MPA譯碼的最佳迭代次數(shù)
為了實(shí)現(xiàn)迭代次數(shù)與譯碼性能的平衡,,對(duì)SCMA編譯碼模塊單獨(dú)進(jìn)行MATLAB仿真,并在多個(gè)信噪比(Eb/N0)下測(cè)試迭代次數(shù)對(duì)誤碼率的影響以求得到最優(yōu)迭代次數(shù),。圖6是Eb/N0=6 dB,,7 dB,8 dB時(shí),,nframe=400幀,,每幀1 000 bit的仿真圖。
從圖6可以看出,,各個(gè)信噪比不變時(shí),,曲線走向大致相同;隨著迭代次數(shù)的增加,,誤碼率下降,,但3次之后,,誤碼率下降不明顯,而且迭代次數(shù)的增加會(huì)消耗更多的系統(tǒng)資源,。綜合考慮,,令迭代次數(shù)niter=5。
2.2 max-log-MPA
MPA算法雖然能以性能接近最優(yōu)的方法進(jìn)行譯碼,,但是其中包含了太多的指數(shù)運(yùn)算,,在硬件實(shí)現(xiàn)上復(fù)雜度高,這會(huì)使其譯碼性能大大折扣,。采用Jacobi算法將考察變量都轉(zhuǎn)換到對(duì)數(shù)域,,去掉指數(shù)運(yùn)算,即max-log-MPA的SCMA譯碼:
使用這種被稱為MAX-LOG-MPA的譯碼算法雖然會(huì)有精度損失,,但其復(fù)雜度大大降低,,這使得在硬件上實(shí)現(xiàn)譯碼算法變得簡單可行。表1顯示出在本文中兩種運(yùn)算方法的N比特譯碼大致運(yùn)算量,,M為一個(gè)碼本中碼字的個(gè)數(shù),,可以看出MAX-LOG-MPA譯碼算法很大程度上降低了運(yùn)算的復(fù)雜度,使得在硬件上實(shí)現(xiàn)變得可行,、快捷,。
根據(jù)以上的化簡公式,實(shí)現(xiàn)簡化的SCMA系統(tǒng),,進(jìn)行max-log-MPA仿真,,并與復(fù)雜度較高的MPA譯碼相比較,MATLAB仿真條件為:每個(gè)用戶發(fā)送幀數(shù)為nframe=40幀,,每幀1 000 bit,,SCMA的譯碼迭代次數(shù)為5次,turbo譯碼迭代5次,,碼率1/2,,觀察誤碼率與誤幀率隨著Eb/N0的變化,仿真結(jié)果如圖7所示,。
從圖7可以看出,,相同條件下,max-log-MPA的性能比MPA大約差0.5 dB,,但max-log-MPA硬件實(shí)現(xiàn)的復(fù)雜度大大降低,,更容易在硬件上實(shí)現(xiàn)。
3 低復(fù)雜度的SCMA系統(tǒng)的FPGA設(shè)計(jì)與驗(yàn)證
SCMA系統(tǒng)的性能主要取決于譯碼器的設(shè)計(jì),。為實(shí)現(xiàn)低復(fù)雜度SCMA系統(tǒng)譯碼器的設(shè)計(jì),,本文選擇max-log-MPA算法譯碼。max-log-MPA最重要的一部分就是功能節(jié)點(diǎn)(FNU)與變量節(jié)點(diǎn)(VNU)的信息迭代更新,,F(xiàn)PGA設(shè)計(jì)如圖8,。
一個(gè)FN節(jié)點(diǎn)連接3個(gè)VN節(jié)點(diǎn),,每做1次功能節(jié)點(diǎn)更新(FNU)運(yùn)算,需要輸入3個(gè)用戶的碼本以及接收信號(hào)用來計(jì)算殘留信號(hào)f,,殘留信號(hào)f與相連的變量節(jié)點(diǎn)傳來的外信息Iv→g求和,,來進(jìn)行功能節(jié)點(diǎn)更新(FNU),在max-log-MPA下,,找到輸出的最大值作為一次FNU結(jié)束,,輸出的Ig→v作為VNU的一個(gè)輸入。變量節(jié)點(diǎn)更新(VNU)模塊進(jìn)行信息交換輸出Iv→g完成一次VN節(jié)點(diǎn)更新,,輸出的值作為下一次迭代的輸入,。
使用max-log-MAP譯碼算法,經(jīng)過一定迭代次數(shù)后,,由前面的推導(dǎo):LLR似然比輸出為:
由于輸出似然比為最大值相減,那么Q中相同的值可以不用計(jì)算,,這樣就減少了計(jì)算量,。即對(duì)一個(gè)數(shù)據(jù)譯碼時(shí),接收信號(hào)|yn|2不變,,先驗(yàn)概率apv(m)不變,,則計(jì)算殘余誤差時(shí)可以將這些省略,不會(huì)影響結(jié)果,。
假設(shè)信道增益h=1,,令C=C1,n(m1)+C2,,n(m2)+C3,,n(m3),則:
另外,,由于每次迭代使用相同的f,,第一次迭代時(shí)計(jì)算f(m1,m2,,m3)的同時(shí)將其存放到RAM中,,供以后的迭代使用,減小了運(yùn)算量,。
按照以上的思想,,低復(fù)雜度SCMA譯碼器硬件實(shí)現(xiàn)結(jié)構(gòu)如圖9。
按照以上的結(jié)構(gòu)完成系統(tǒng)設(shè)計(jì),,選用Terasic DE5-Net的Altera Stratix V GX FPGA(5SGXEA7N2F45C2)器件綜合時(shí),,SCMA譯碼器的資源使用情況如圖10;表2顯示了在設(shè)計(jì)中1次SCMA譯碼(輸出2 bit)所需要的乘法和加法運(yùn)算次數(shù),,N為迭代次數(shù),。
圖11,、圖12分別是SCMA系統(tǒng)發(fā)送端發(fā)送碼字,接收端迭代譯碼仿真波形,。發(fā)送端:用戶根據(jù)自己的碼本來選擇輸出碼字,,6個(gè)用戶非正交疊加輸出發(fā)送信號(hào)tx在4個(gè)信道上。在接收端:利用接收信號(hào)rx計(jì)算殘余信號(hào)f,,從而進(jìn)行功能節(jié)點(diǎn)FN與變量節(jié)點(diǎn)VN的迭代更新,,達(dá)到一定迭代次數(shù)后輸出各個(gè)比特的似然比。
圖13給出SCMA系統(tǒng)測(cè)試平臺(tái)設(shè)計(jì)圖,,在PC上隨機(jī)產(chǎn)生信源,,經(jīng)PCIE下傳給FPGA上完成算法編碼鏈路形成傳輸符號(hào)信息,對(duì)編碼后數(shù)據(jù)加入高斯白噪聲,,然后經(jīng)過SCMA算法譯碼鏈路,,并回傳PC解碼結(jié)果并在PC上顯示誤碼率BER。圖14給出SCMA系統(tǒng)FPGA上測(cè)試結(jié)果,。
4 結(jié)果分析
本文在max-log-MPA算法基礎(chǔ)上進(jìn)行簡化計(jì)算,,優(yōu)化電路結(jié)構(gòu)來降低運(yùn)算復(fù)雜度,對(duì)SCMA系統(tǒng)的各功能模塊進(jìn)行了設(shè)計(jì)并在相關(guān)的軟硬件平臺(tái)下實(shí)現(xiàn)仿真驗(yàn)證,。從仿真驗(yàn)證結(jié)果看,,在FPGA上該系統(tǒng)實(shí)現(xiàn)功能完備,滿足設(shè)計(jì)要求,,系統(tǒng)性能在實(shí)際應(yīng)用中是可以接受的,。
參考文獻(xiàn)
[1] NIKOPOUR H,BALIGH H.Sparse code multiple access[C].In IEEE 24th PIMRC,,2013.
[2] TAHERZADEH M,,NIKOPOUR H,Bayesteh A,,et al.SCMA Codebook design[C].IEEE VTC-fall,,2014.
[3] AU K,Zhang Liqing,,NIKOPOUR H,,et al.Uplink contention based SCMA for 5G radio access[C].IEEE Globecom 5G workshop 2014.
[4] HOSHYAR R,WATHAN F P,,TAFAZOLLI R.Novel low-density signature for synchronous CDMA systems over AWGN channel[J].IEEE Transactions on Signal Processing,,2008,56(4).
[5] WU Y,,ZHANG S,,CHEN Y.Iterative multiuser receiver in sparse code multiple access systems[C].IEEE ICC 2015.