《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于5G無(wú)線通信的稀疏碼多址接入系統(tǒng)的FPGA實(shí)現(xiàn)
基于5G無(wú)線通信的稀疏碼多址接入系統(tǒng)的FPGA實(shí)現(xiàn)
2016年電子技術(shù)應(yīng)用第7期
宋春雪,文 萍,張學(xué)晨
西安電子科技大學(xué) 通信工程學(xué)院,陜西 西安710018
摘要: 在理解無(wú)線通信多址接入的基礎(chǔ)之上,提出了一種低復(fù)雜度的基于5G無(wú)線通信的稀疏碼多址接入系統(tǒng)的FPGA實(shí)現(xiàn)方案,利用可綜合的Verilog語(yǔ)言在QuartusII及ModelSim平臺(tái)下完成了電路的設(shè)計(jì)綜合仿真及FPGA驗(yàn)證,結(jié)果證明該設(shè)計(jì)實(shí)現(xiàn)功能完備,可以實(shí)際應(yīng)用。
關(guān)鍵詞: 5G SCMA max-log-MPA FPGA
中圖分類(lèi)號(hào): TN911
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.002
中文引用格式: 宋春雪,文萍,張學(xué)晨. 基于5G無(wú)線通信的稀疏碼多址接入系統(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.
FPGA implementation of the sparse code multiple access system based on 5G wireless communication
Song Chunxue,Wen Ping,Zhang Xuechen
College of Communication Engineering,XIDIAN University,Xi′an 710018,China
Abstract: Based on the understanding of the multiple access in the wireless communication, an implementation scheme of the sparse code multiple access system with a low complexity based on 5G wireless communication is put forward. By using synthesizable Verilog language in the Quartus II and ModelSim platform, the simulation of SCMA system and FPGA verification are realized. The results prove that the design can achieve perfect function ,and it can be applied in practice.
Key words : 5G;SCMA;max-log-MPA;FPGA

0 引言

    稀疏碼多址接入(SCMA)是一種多址接入技術(shù),也就是基站如何同時(shí)服務(wù)和區(qū)分多個(gè)用戶的一種方式。現(xiàn)在的2G、3G、4G無(wú)線通信系統(tǒng)中的多址接入方式是正交的,用戶之間也是正交的,如TDMA、FDMA,這種正交多址接入方式的優(yōu)點(diǎn)是整個(gè)系統(tǒng)相對(duì)簡(jiǎn)單,接收端可以不做多用戶均衡,但不足是容納的用戶數(shù)量取決于正交的資源數(shù)量。因此,正交接入方式不能很好地適用未來(lái)5G大容量、海量連接低延時(shí)接入等需求。解決這個(gè)問(wèn)題的一種簡(jiǎn)單想法是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)過(guò)信道編碼,編碼后的比特經(jīng)過(guò)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%的過(guò)載。

    在發(fā)送端,每個(gè)用戶有自己獨(dú)立的碼本,SCMA碼本的設(shè)計(jì)過(guò)程可以看成稀疏擴(kuò)頻和多維調(diào)制的聯(lián)合優(yōu)化[2]。用戶根據(jù)輸入的比特串來(lái)選擇碼本中不同的碼字,將編碼比特直接映射為復(fù)數(shù)域多維碼字,然后不同用戶的碼字在相同的資源塊上以稀疏的擴(kuò)頻方式非正交疊加。本文直接使用文獻(xiàn)[2]中的碼本來(lái)編碼,即6個(gè)用戶分布在4個(gè)資源塊上,tanner圖如圖1。

5g1-t1.gif

    接收端利用擴(kuò)頻的稀疏性進(jìn)行低復(fù)雜度的多用戶聯(lián)合檢測(cè),并結(jié)合信道譯碼完成多用戶的比特串恢復(fù)[3]。

    本文簡(jiǎn)化的上行鏈路SCMA系統(tǒng)總體設(shè)計(jì)框圖如圖2所示。

5g1-t2.gif

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ì)算困難的問(wèn)題分解成許多容易計(jì)算的子問(wèn)題。譯碼器的最終目的在于計(jì)算每個(gè)比特的后驗(yàn)概率,因此在迭代過(guò)程中消息傳遞算法的基本運(yùn)算就是基于先驗(yàn)概率和圖模型結(jié)構(gòu)對(duì)外概率和后驗(yàn)概率的估算[5]。SCMA譯碼器設(shè)計(jì)流程圖如圖3所示。

5g1-t3.gif

    譯碼器包含輸入緩沖、殘余信號(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后,首先通過(guò)fn(.)函數(shù)計(jì)算條件概率進(jìn)行初始化,然后功能節(jié)點(diǎn)FN與變量節(jié)點(diǎn)VN沿著相連的邊進(jìn)行信息迭代更新,滿足最大迭代次數(shù)后,變量節(jié)點(diǎn)輸出信息比特的似然比作為turbo譯碼的輸入,SCMA譯碼完成。整個(gè)過(guò)程主要由以下三步完成。

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),則:

5g1-gs1-3.gif

1.2 迭代消息沿邊緣傳遞更新

    功能節(jié)點(diǎn)FN通過(guò)其相鄰的變量節(jié)點(diǎn)VN傳遞的外信息更新,如圖4所示。

5g1-t4.gif

     5g1-gs4-6.gif

    VN通過(guò)其相鄰的FN傳遞的信息來(lái)更新,當(dāng)d_v=2,可以看作在VN上信息的交換,如圖5所示。

5g1-t5.gif

     5g1-gs7.gif

1.3 一定的迭代次數(shù)后變量v處LLR輸出

    5g1-gs8-9.gif

     這樣可以得到每個(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的仿真圖。

5g1-t6.gif

    從圖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譯碼:

    5g1-gs10-13.gif

    5g1-gs14.gif

    使用這種被稱為MAX-LOG-MPA的譯碼算法雖然會(huì)有精度損失,但其復(fù)雜度大大降低,這使得在硬件上實(shí)現(xiàn)譯碼算法變得簡(jiǎn)單可行。表1顯示出在本文中兩種運(yùn)算方法的N比特譯碼大致運(yùn)算量,M為一個(gè)碼本中碼字的個(gè)數(shù),可以看出MAX-LOG-MPA譯碼算法很大程度上降低了運(yùn)算的復(fù)雜度,使得在硬件上實(shí)現(xiàn)變得可行、快捷。

5g1-b1.gif

    根據(jù)以上的化簡(jiǎn)公式,實(shí)現(xiàn)簡(jiǎ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所示。

5g1-t7.gif

    從圖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。

5g1-t8.gif

    一個(gè)FN節(jié)點(diǎn)連接3個(gè)VN節(jié)點(diǎn),每做1次功能節(jié)點(diǎn)更新(FNU)運(yùn)算,需要輸入3個(gè)用戶的碼本以及接收信號(hào)用來(lái)計(jì)算殘留信號(hào)f,殘留信號(hào)f與相連的變量節(jié)點(diǎn)傳來(lái)的外信息Iv→g求和,來(lái)進(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)過(guò)一定迭代次數(shù)后,由前面的推導(dǎo):LLR似然比輸出為:

     5g1-gs15.gif

    由于輸出似然比為最大值相減,那么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),則:

    5g1-gs16-17.gif

    另外,由于每次迭代使用相同的f,第一次迭代時(shí)計(jì)算f(m1,m2,m3)的同時(shí)將其存放到RAM中,供以后的迭代使用,減小了運(yùn)算量。

    按照以上的思想,低復(fù)雜度SCMA譯碼器硬件實(shí)現(xiàn)結(jié)構(gòu)如圖9。

5g1-t9.gif

5g1-t9-x1.gif

    按照以上的結(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ù)。

5g1-t10.gif

5g1-b2.gif

    圖11、圖12分別是SCMA系統(tǒng)發(fā)送端發(fā)送碼字,接收端迭代譯碼仿真波形。發(fā)送端:用戶根據(jù)自己的碼本來(lái)選擇輸出碼字,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è)比特的似然比。

5g1-t11.gif

5g1-t12.gif

    圖13給出SCMA系統(tǒng)測(cè)試平臺(tái)設(shè)計(jì)圖,在PC上隨機(jī)產(chǎn)生信源,經(jīng)PCIE下傳給FPGA上完成算法編碼鏈路形成傳輸符號(hào)信息,對(duì)編碼后數(shù)據(jù)加入高斯白噪聲,然后經(jīng)過(guò)SCMA算法譯碼鏈路,并回傳PC解碼結(jié)果并在PC上顯示誤碼率BER。圖14給出SCMA系統(tǒng)FPGA上測(cè)試結(jié)果。

5g1-t13.gif

5g1-t14.gif

4 結(jié)果分析

    本文在max-log-MPA算法基礎(chǔ)上進(jìn)行簡(jiǎn)化計(jì)算,優(yōu)化電路結(jié)構(gòu)來(lái)降低運(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。