范鵬,李旭東
(西華大學理學院,成都610039)
隨著第四代移動通信系統(tǒng)(The Fourth Generation Mobile Communication Systems,4G)的大規(guī)模商業(yè)化及其技術(shù)的不斷成熟,第五代移動通信系統(tǒng)(The Fifth Generation Mobile Communication Systems,5G)已成為全球研發(fā)的焦點[1-2]。目前,我國工信部已正式發(fā)放5G 商用牌照,與4G 相比,5G 在頻譜資源利用率和終端設(shè)備接入量均有很大的提高。非正交多址接入技術(shù)[3](Non-Orthogonal Multiple-Access,NOMA)擁有頻譜效率較高的特點,在5G 通信中有著廣泛的應(yīng)用。作為NOMA技術(shù)的一種,SCMA[4-5]利用碼本的稀疏性能夠連接大量不同的終端用戶,并同時為終端用戶服務(wù)。在發(fā)送端,每個用戶將數(shù)據(jù)比特直接映射為SCMA 碼本中的多維碼字,多個用戶的碼字進行疊加,使得同一頻譜資源上可以承載多個用戶,大幅度地提高了系統(tǒng)容量。在接收端,接收信號是多個用戶碼字和噪聲的疊加,需要對接收信號通過多用戶檢測(Multi-user Detection,MUD)技術(shù)來實現(xiàn)用戶譯碼。
利用SCMA 碼序列的稀疏性,在接收端使用復(fù)雜度相對較低的消息傳遞算法(Message Passing Algorithm,MPA)[6]進行譯碼。該系統(tǒng)中多個用戶共享頻率資源,來成倍提高系統(tǒng)容量和頻譜利用率,同時,基于MPA 的MUD 極大地降低了聯(lián)合最優(yōu)最大后驗概率(Maximum-A-Posteriori,MAP)的復(fù)雜度。但原始的MPA 算法復(fù)雜度依然很高,特別是用戶碼本大小增加以及同一資源的用戶數(shù)增多時,其計算復(fù)雜度呈指數(shù)增長。為了降低原始MPA 算法復(fù)雜度,文獻[7]通過每次迭代計算未判決用戶的碼字可信度,將碼字可信度滿足門限條件的用戶提前譯碼來降低算法復(fù)雜度;文獻[8]提出函數(shù)節(jié)點在每次迭代中以串行方式,將已更新的消息立即傳遞到當前迭代中,從而降低算法復(fù)雜度;文獻[9]引入權(quán)重因子改變每個疊加星座點的初始概率,加快了迭代過程的收斂速度,降低了算法復(fù)雜度。此外文獻[10-12]通過不同的方法來降低算法的復(fù)雜度。
為了降低原始MPA 算法的復(fù)雜度,本文提出了一種變量節(jié)點穩(wěn)定性判斷的方法。在每一輪迭代更新中,找出未譯碼用戶變量節(jié)點最大可信度的位置,若用戶所有變量節(jié)點最大可信度的位置相同,且在當前迭代和上次迭代中各變量節(jié)點最大可信度的位置也相同,則對用戶提前譯碼。仿真結(jié)果表明,本文所提算法在收斂速度和BER 性能上,優(yōu)于門限MPA 算法和原始MPA 算法。在算法復(fù)雜度上優(yōu)于原始MPA 算法。
假定一個上行多用戶SCMA 通信系統(tǒng)共有K 個資源塊,每個用戶占用資源數(shù)為N(N
圖1 上行SCMA多用戶通信系統(tǒng)模型(J=6,K=4)
SCMA 碼的總結(jié)構(gòu)可以由對應(yīng)的因子圖及因子圖矩陣F=(f1,f2,…,fJ)來表示。當且僅當Fk,j=1 時,用戶j 占用資源塊k。稀疏矩陣的SCMA 因子圖及其矩陣如圖2 所示。
當J 個用戶同時接入時,接收信號可表示為:
其中,xj=(x1,j,x2,j,…,xK,j)T表示第j 個用戶發(fā)送的碼字,hj=(h1,j,h2,j,…,hK,j)T表示第j 個用戶的信道有效向量,n=(n1,n2,…,nK)表示信道噪聲且n ~cN(0,σ2I)。第k 個資源塊接收信號為:
圖2 SCMA碼本因子圖及其矩陣
假定已知接收信號y 和信道矩陣H=(h1,h2,…,hJ),用MAP 算法來檢測用戶數(shù)據(jù)X=(x1,x2,…,xJ),如式:
MPA 算法是利用因子圖求邊緣概率分布的一種迭代算法,在算法迭代過程中,因子圖的變量節(jié)點和函數(shù)節(jié)點之間通過邊傳遞消息,每次消息傳遞后,根據(jù)一定的計算準則更新每個節(jié)點存儲的可信度值,以便計算下一次傳遞的外部信息。在多次消息迭代更新后,獲得一個關(guān)于所有用戶碼字的邊緣概率分布,以此概率分布作為判決量判決輸出結(jié)果,從而判斷出每個用戶發(fā)送的碼字。MPA 算法利用了碼本稀疏性的特征,其算法復(fù)雜度為O(Mf)(f 表示每個資源上疊加的用戶數(shù),f 第一步,初始化,即SCMA 接收機在迭代開始時,假設(shè)每個用戶發(fā)送各碼字的概率相同,即: 第二步,由式(5)和式(6)分別更新函數(shù)節(jié)點和變量節(jié)點的消息,即: 其中,εk表示占用資源k 的用戶集合,l ∈εk/j 表示從集合εk中除去用戶j,目的是獲得用戶j 的外信息,normalize()· 表示歸一化。式(7)涉及信道傳遞函數(shù),即: 第三步,迭代步數(shù)加1,重復(fù)第二步的操作,直到迭代次數(shù)達到最大迭代次數(shù)Tmax,對用戶碼字進行譯碼。 雖然MPA 算法極大地降低了MAP 的復(fù)雜度,使其硬件實現(xiàn)成為可能,但是當系統(tǒng)用戶數(shù)過多、用戶碼本尺寸過大或信號經(jīng)歷快衰落時,MPA 復(fù)雜度依舊很高,不能滿足高質(zhì)量的通信需求。 為了降低SCMA 多用戶檢測的復(fù)雜度,本文提出了基于變量節(jié)點穩(wěn)定性的多用戶檢測算法。在每一輪迭代更新中,找出未譯碼用戶變量節(jié)點最大可信度的位置,若用戶所有變量節(jié)點最大可信度的位置相同,且在當前迭代和上次迭代中各變量節(jié)點最大可信度的位置也相同,則對用戶提前譯碼。這使得在保證降低算法復(fù)雜度的同時,提高了用戶譯碼的可靠性。 首先我們根據(jù)用戶是否已經(jīng)提前譯碼,將用戶分為兩個集合,譯碼集φ 和非譯碼集ψ。在算法初始化階段,所有用戶都未譯碼,即所有用戶都在非譯碼集ψ之中。在每次消息迭代更新后,由式(9)找出第t 次迭代時用戶j 在資源塊k 上碼字可信度最大的位置,即: 根據(jù)式(8)可知,用戶發(fā)送碼字的可信度等于該用戶所有資源上變量節(jié)點的乘積。當檢測到任意用戶j的變量節(jié)點碼字最大可信度位置有不同時,這說明用戶j 的變量節(jié)點還未完全收斂,若此時直接將用戶j 進行譯碼,多用戶檢測的誤碼概率將會大大增加。因此當用戶j 的變量節(jié)點碼字最大可信度位置相同時,即,用戶j 譯碼的準確性將有所提高。為了進一步提高用戶譯碼的準確性,這里給出變量節(jié)點穩(wěn)定性判斷定義:在算法迭代過程,若用戶j 的某一變量節(jié)點在當前迭代和上一次迭代中,檢測到最大碼字可信度的位置為同一位置,即,則用戶j 的這一變量節(jié)點趨于穩(wěn)定。只有當用戶j 的所有變量節(jié)點碼字可信度均最大且滿足穩(wěn)定性條件時,才將用戶j 提前譯碼,并將該用戶從非譯碼集ψ 移出放入譯碼集φ。若運行到最大迭代次數(shù)后若非譯碼集ψ 中仍有用戶存在,由式(10)繼續(xù)對剩余非譯碼集ψ 中用戶進行譯碼,即: 從而確定所有用戶的碼字。 MPA 算法過程主要分為消息更新和碼字檢驗兩個階段,其算法復(fù)雜度主要體現(xiàn)在消息更新上。本文算法僅僅在每次消息更新迭代結(jié)束后,判斷用戶在后續(xù)迭代中是否繼續(xù)消息迭代更新,這個過程并沒有破壞用戶消息更新環(huán)節(jié)。比較原始MPA 算法[6]、門限MPA算法[7]和本文所提到的算法復(fù)雜度,只需要比較不同算法在迭代過程中需要的乘法運算數(shù)目即可。原始的MPA 算法所需的乘法個數(shù)為[13]: 其中dr和dc分別表示每個資源塊上的用戶數(shù)和每個用戶占用的資源塊數(shù)。由式(11)可知,在用戶碼本不變的情況下,影響本文算法復(fù)雜度的參數(shù)為用戶數(shù)和迭代次數(shù)。在本文算法中,因噪聲存在隨機性,不能給出具體算法復(fù)雜度的公式表達。在每次迭代過程中,用戶數(shù)隨著部分用戶提前譯碼而逐步減少,特別是當信噪比越高時,所有用戶未達到最大迭代次數(shù)就能被全部譯碼,故所提算法復(fù)雜度低于原始MPA 算法的復(fù)雜度。本文算法與門限MPA 算法相比,將用戶碼字提前判決條件從用戶碼字可信度降低到變量節(jié)點碼字可信度,減少了提前判斷用戶碼字時各變量節(jié)點的軟信息損失,從而提高了BER 性能。 通過仿真對比原始MPA 算法[6]、門限MPA 算法[7]以及本文提出的算法,驗證本文算法BER 性能,收斂速度和算法復(fù)雜度。由于門限MPA 算法在門限較高時近似原始MPA 算法,仿真只選擇門限為Th=20 來進行對比。在仿真中,用戶數(shù)為6,資源塊數(shù)為4,最大迭代次數(shù)為6,信道模型為AWGN。 圖3 中可以看出,在迭代次數(shù)為2 時,本文提出的算法性能優(yōu)于門限MPA(Th=20)和原始MPA 算法。在Eb/N0=11 時,迭代次數(shù)為2 的門限MPA(Th=20)和原始MPA 算法的EBR 值分別為0.0039 和0.0036,而本文算法的BER 值為0.0012,特別是Eb/N0>11 時,可以看到本文迭代2 次的EBR 性能明顯優(yōu)于門限MPA(Th=20)的迭代4 次的EBR 性能。圖3 中還可以看出,本文算法迭代4 次的BER 性能幾乎和原始MPA算法迭代4 次的BER 性能相當,在Eb/N0=13 時,這兩種算法的BER 值相差僅為0.2×10-4。由于本文算法每次迭代后,已被譯碼的用戶不再繼續(xù)參與到后續(xù)迭代的消息更新中,故本文算法和原始MPA 算法相比不僅能保證BER 性能,同時也能大幅度的降低算法的復(fù)雜度。 從圖3 可以看出,在迭代次數(shù)為2 時,本文提出的算法的碼字收斂速度優(yōu)于門限MPA(Th=20)和原始MPA 算法。從圖4 可以看出,在為11 和13 時,本文算法迭代3 次就趨于收斂,而門限MPA 算法和原始MPA 算法至少要迭代5 次才趨于收斂。本文所提算法的收斂速度明顯優(yōu)于門限算法和原始MPA 算法。 圖3 不同算法不同迭代次數(shù)的BER對比 圖4 各算法收斂速度對比 為了對比各算法之間的復(fù)雜度,在仿真過程中統(tǒng)計出各算法在不同、不同迭代次數(shù)下的平均乘法次數(shù)。在Eb/N0=13,迭代次數(shù)為4 時,本文所提算法、門限MPA 算法(Th=20)和原始MPA 算法的平均乘法次數(shù)為9974、6171 和18456,本文算法和門限MPA算法(Th=20)相比復(fù)雜度高61.6%,但BER 性能高68.7%,和原始MPA 算法相比復(fù)雜度只有原始MPA 算法的54%,BER 性能降低13.8%。 為了降低SCMA 系通信統(tǒng)中多用戶檢測算法的復(fù)雜度,本文提出了基于變量節(jié)點穩(wěn)定性的多用戶檢測算法。該算法在收斂速度和BER 性能方面明顯優(yōu)于門限MPA 算法,與原始MPA 算法相比,在BER 性能幾乎不變的前提下,大大降低了算法的復(fù)雜性。因此,本文所提算法具有較高的實用性。2 本文算法
2.1 變量節(jié)點穩(wěn)定性的多用戶檢測算法
2.2 復(fù)雜度分析
3 仿真分析
3.1 BER性能比較
3.2 收斂速度分析
3.3 復(fù)雜度對比
4 結(jié)語