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