賈志豪,孫 君
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
隨著物聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,面對(duì)大規(guī)模機(jī)器通信的應(yīng)用場(chǎng)景,在有限頻譜資源條件下,正交多址技術(shù)已經(jīng)不能滿(mǎn)足種類(lèi)繁多的物聯(lián)網(wǎng)業(yè)務(wù)和海量設(shè)備接入,有必要提出新型的多址技術(shù)。稀疏碼分多址(SCMA)作為一種重要的非正交多址技術(shù),在相同資源映射配置以及系統(tǒng)負(fù)載條件下,相比于其他多址技術(shù),能夠提供更好的鏈路性能。
SCMA上行鏈路系統(tǒng)傳輸過(guò)程中,發(fā)送端將編碼比特直接映射為復(fù)數(shù)多維碼字,多個(gè)用戶(hù)碼字在信道上疊加傳輸,接收端的信號(hào)檢測(cè)變得十分困難。最大后驗(yàn)概率算法作為最優(yōu)的檢測(cè)準(zhǔn)則可以區(qū)分疊加的用戶(hù)信號(hào),但是由于復(fù)雜度非常高,無(wú)法得到實(shí)際應(yīng)用。消息傳遞算法(MPA)作為接近最優(yōu)的SCMA多用戶(hù)檢測(cè)方案,利用碼字的稀疏特性,能夠接近MPA譯碼性能并且大幅度降低譯碼復(fù)雜度,但是隨著接入用戶(hù)數(shù)目的不斷增多,傳統(tǒng)的MPA算法仍然具有較高的計(jì)算復(fù)雜度。針對(duì)此問(wèn)題,國(guó)內(nèi)外專(zhuān)家學(xué)者們提出了一系列改進(jìn)算法。文獻(xiàn)[6]提出了球形解碼的檢測(cè)算法,根據(jù)噪聲方差大小計(jì)算圓形半徑區(qū)域內(nèi)的合成星座點(diǎn)(SCP),舍去部分較遠(yuǎn)的合成星座點(diǎn),通過(guò)選擇合理的球形解碼半徑動(dòng)態(tài)平衡系統(tǒng)誤碼率性能和計(jì)算復(fù)雜度。文獻(xiàn)[7-8]提出了基于部分邊緣化消息傳遞算法(PM-MPA),迭代一定次數(shù)后確定部分用戶(hù)的碼字信息,以犧牲部分誤碼率為代價(jià),降低了計(jì)算復(fù)雜度。文獻(xiàn)[9]提出了基于加權(quán)系數(shù)的MPA檢測(cè)算法,通過(guò)對(duì)合成星座點(diǎn)分配不同的權(quán)值系數(shù),有效加快消息的收斂速度。文獻(xiàn)[10]提出了串行更新策略的算法(SMPA),保證更新的消息能夠立即進(jìn)入當(dāng)前迭代,加快消息的收斂速度,降低了算法復(fù)雜度。文獻(xiàn)[11-12]中改進(jìn)串行調(diào)度的MPA檢測(cè)方案,進(jìn)一步加快了串行調(diào)度策略的收斂速度。文獻(xiàn)[13]通過(guò)刪支規(guī)則,將原始因子圖轉(zhuǎn)換為多個(gè)子圖并行迭代更新,降低了計(jì)算復(fù)雜度,但是需要針對(duì)不同的系統(tǒng)預(yù)先設(shè)定不同的子圖方案,系統(tǒng)性能較差。該文提出一種基于動(dòng)態(tài)因子圖更新率的消息傳遞算法(DFT-MPA),通過(guò)對(duì)因子圖不同分支上信息的收斂程度進(jìn)行判斷,動(dòng)態(tài)選擇收斂程度較高的分支不再參與后續(xù)迭代更新,減少了更新分支的數(shù)目,有效降低了計(jì)算復(fù)雜度。
J
個(gè)用戶(hù)共享K
個(gè)資源塊,用戶(hù)發(fā)送的數(shù)據(jù)比特流被映射成K
維碼字,每個(gè)碼字都為包含N
個(gè)非零元素的K
維稀疏向量,其中用戶(hù)數(shù)J
大于時(shí)頻資源塊數(shù)K
,系統(tǒng)過(guò)載率為λ
=J/K
。多路用戶(hù)信號(hào)經(jīng)過(guò)同步后,基站端接收到的信號(hào)可以表示為:(1)
其中,=(x
1,,x
2,,…,x
,)表示碼字向量,=(h
1,,h
2,,…,h
,)表示信道向量,diag
()表示以向量為對(duì)角元素構(gòu)造的矩陣,=(n
1,,n
2,,…,n
,)表示高斯噪聲,且服從N
(0,σ
I
)分布。圖1 SCMA上行鏈路系統(tǒng)框圖
SCMA系統(tǒng)中因子圖用來(lái)描述用戶(hù)和資源塊的連接關(guān)系,以J
=6,K
=4系統(tǒng)為例,因子圖分支連接資源節(jié)點(diǎn)(RN)與用戶(hù)節(jié)點(diǎn)(UN),可以反映消息的迭代傳播過(guò)程,每個(gè)用戶(hù)節(jié)點(diǎn)連接2個(gè)資源節(jié)點(diǎn),每個(gè)資源節(jié)點(diǎn)與3個(gè)用戶(hù)節(jié)點(diǎn)相連,連接關(guān)系如圖2所示。圖2 SCMA系統(tǒng)因子圖
原始消息傳遞算法(MPA)是一種置信度傳播算法,作為接近最優(yōu)的SCMA多用戶(hù)檢測(cè)方案,用因子圖模型來(lái)回歸概率推理問(wèn)題,消息在資源節(jié)點(diǎn)和用戶(hù)節(jié)點(diǎn)之間更新,經(jīng)過(guò)多次迭代后,計(jì)算每個(gè)用戶(hù)碼字的概率信息。
在SCMA上行鏈路通信系統(tǒng)中,接收端MPA算法首先初始化先驗(yàn)概率,然后對(duì)資源節(jié)點(diǎn)和用戶(hù)節(jié)點(diǎn)的消息值迭代更新,迭代過(guò)程分為兩步:資源節(jié)點(diǎn)到用戶(hù)節(jié)點(diǎn)消息的更新和用戶(hù)節(jié)點(diǎn)至資源節(jié)點(diǎn)消息的更新,更新過(guò)程相互依賴(lài),達(dá)到設(shè)定最大迭代次數(shù)后,則根據(jù)多次迭代后的結(jié)果進(jìn)行解碼判決。具體可分為以下三個(gè)步驟:
步驟1:初始化參數(shù),假設(shè)每個(gè)用戶(hù)發(fā)送的碼字概率相等:
(2)
(3)
(4)
式中,表示碼字向量,ξ
/j
表示除節(jié)點(diǎn)j
以外所有與資源節(jié)點(diǎn)k
相連的用戶(hù)節(jié)點(diǎn)集合,ζ
/k
表示除節(jié)點(diǎn)k
之外所有與用戶(hù)節(jié)點(diǎn)相連的資源節(jié)點(diǎn)集合。步驟3:當(dāng)達(dá)到最大迭代次數(shù)T
,計(jì)算每個(gè)用戶(hù)的碼字概率:(5)
MPA算法消息沿著因子圖分支傳遞更新,在檢測(cè)過(guò)程中,存在部分因子圖分支上的碼字信息少量迭代后就不再變化,但是每次迭代仍然會(huì)更新所有分支的消息,產(chǎn)生了大量的冗余計(jì)算。針對(duì)上述問(wèn)題,該文提出一種基于動(dòng)態(tài)因子圖更新率的消息傳遞算法(DFT-MPA),根據(jù)更新率衡量相鄰迭代因子圖分支上信息的變化程度,停止更新收斂程度較高的分支,動(dòng)態(tài)調(diào)整因子圖結(jié)構(gòu),減少了迭代過(guò)程中更新分支的數(shù)目,可以有效降低計(jì)算復(fù)雜度。
對(duì)因子圖中連接資源節(jié)點(diǎn)和用戶(hù)節(jié)點(diǎn)的分支分類(lèi),所有分支集合劃分為兩類(lèi),更新集合|B
(t
)|和收斂集合|B
(t
)|,如式(7)所示。對(duì)應(yīng)因子圖中在資源節(jié)點(diǎn)與用戶(hù)節(jié)點(diǎn)之間的連線(xiàn)分別為實(shí)線(xiàn)和虛線(xiàn)(見(jiàn)圖3),實(shí)線(xiàn)表示資源節(jié)點(diǎn)和用戶(hù)節(jié)點(diǎn)之間的消息可以互相更新,虛線(xiàn)表示該分支只存在用戶(hù)節(jié)點(diǎn)對(duì)資源節(jié)點(diǎn)進(jìn)行更新,但資源節(jié)點(diǎn)不再對(duì)用戶(hù)節(jié)點(diǎn)更新,在MPA算法初始迭代中|B
(t
)|=Kd
,|B
(t
)|=0,分支集合之間的關(guān)系如(6)所示。|B
(t
)|+|B
(t
)|=Kd
(6)
(7)
圖3 動(dòng)態(tài)因子圖示意圖
(9)
(10)
算法具體步驟如下:
輸入:接收信號(hào)y
,信道矩陣,噪聲功率σ
,最大迭代次數(shù)T
,門(mén)限值T
輸出:用戶(hù)比特值LLR
t
≤T
)if(t
=1)end if
if(1<t
≤T
)B
(t
)|end if
t
=t
+1end if
forj
=1:J
End for
本節(jié)在SCMA上行鏈路系統(tǒng)中進(jìn)行仿真,比較分析了DFT-MPA、MPA和PM-MPA算法的BER性能,收斂速度和計(jì)算復(fù)雜度。具體仿真參數(shù)設(shè)置如表1所示。
表1 仿真參數(shù)設(shè)置
如圖4所示,仿真給出DFT-MPA算法隨著門(mén)限值大小變化的BER曲線(xiàn)。在固定SNR情況下,DFT-MPA算法的BER性能隨著門(mén)限值的增加呈下降趨勢(shì),當(dāng)門(mén)限值較小時(shí),相比原始MPA算法的性能損失較少,當(dāng)門(mén)限值較大時(shí),BER性能損失較大。因此,DFT-MPA算法通過(guò)調(diào)整門(mén)限值能滿(mǎn)足不同的通信質(zhì)量要求。
圖4 門(mén)限值與BER性能
圖5為不同算法在6次迭代下的BER性能對(duì)比,其中PM-MPA算法的性能最差,PM-MPA算法隨機(jī)選擇部分用戶(hù)進(jìn)行檢測(cè),以犧牲性能為代價(jià),一定程度上降低了復(fù)雜度,DFT-MPA算法在門(mén)限值為0.1的BER性能較好,相比原始MPA算法僅有0.1 dB的性能損失,門(mén)限值為0.3時(shí),大約有0.6 dB的性能損失,門(mén)限值為0.5時(shí),大約有0.8 dB的性能損失,其曲線(xiàn)接近于PM-MPA算法。DFT-MPA算法由于迭代過(guò)程中部分分支消息更新受損,導(dǎo)致BER性能的下降,可以通過(guò)調(diào)整門(mén)限值實(shí)現(xiàn)不同的BER性能,滿(mǎn)足不同通信場(chǎng)景需求。
圖5 不同算法BER性能對(duì)比
圖6為不同算法在SNR=13 dB下的收斂速度對(duì)比,其中PM-MPA和DFT-MPA算法在門(mén)限值為0.5和0.3下的收斂速度較快,3~4次迭代后達(dá)到收斂,DFT-MPA算法在門(mén)限值為0.1下,與原始MPA算法的收斂速度相同,5~6次迭代后收斂,隨著門(mén)限值的增加,算法的BER性能逐漸降低,但是收斂速度卻越來(lái)越快,算法可以調(diào)節(jié)門(mén)限值實(shí)現(xiàn)不同的收斂速率。
圖6 不同算法收斂速度對(duì)比
表2 不同算法復(fù)雜度比較
圖7 不同算法復(fù)雜度對(duì)比
圖7為不同算法在SNR=8 dB下的復(fù)雜度對(duì)比,主要比較算法的乘法(Multiplication)和加法數(shù)目(Additon)。其中原始MPA算法乘法次數(shù)為32 256次,PM-MPA算法乘法次數(shù)為19 479次,DFT-MPA算法在門(mén)限值為0.1,0.3,0.5時(shí),乘法次數(shù)分別為19 385次,15 676次,12 741次,分別相當(dāng)于原始MPA算法復(fù)雜度的60.1%,48.6%,39.5%,DFT-MPA算法能夠通過(guò)調(diào)整門(mén)限值不同程度地降低復(fù)雜度。
針對(duì)MPA算法存在計(jì)算復(fù)雜度較高的問(wèn)題,提出了一種基于動(dòng)態(tài)因子圖更新率的消息傳遞算法(DFT-MPA),利用更新率衡量迭代前后因子圖分支上信息的變化程度,選擇收斂程度高的分支加入到收斂集合中,停止該分支的消息更新,動(dòng)態(tài)調(diào)整原始因子圖結(jié)構(gòu),當(dāng)所有分支加入收斂集合或達(dá)到最大迭代次數(shù),則完成迭代輸出譯碼,算法通過(guò)減少消息分支更新數(shù)目,降低計(jì)算復(fù)雜度。仿真結(jié)果表明,DFT-MPA算法能夠有效平衡復(fù)雜度與BER性能,滿(mǎn)足不同場(chǎng)景的性能需求。