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