陳 程,李 燁
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
非正交多址[1](Non-Orthogonal Multiple Access,NOMA)技術(shù)是在正交頻分多址接入(Orthogonal Frequency Division Multiple Access,OFDMA) 技術(shù)的基礎(chǔ)上引入功率域的概念,以增加接收端復(fù)雜度的代價(jià)來提升系統(tǒng)的吞吐量性能[2]。NOMA系統(tǒng)主要依靠在發(fā)送端對(duì)用戶信號(hào)進(jìn)行疊加編碼(Superposition Coding,SC)和在接收端使用串行干擾消除(Successive Interference Cancellation,SIC)技術(shù)恢復(fù)原始用戶信號(hào)[3]。由于NOMA 系統(tǒng)最大化系統(tǒng)和速率問題是一個(gè)非線性混合整數(shù)規(guī)劃問題[4],需要同時(shí)考慮用戶配對(duì)和功率分配對(duì)系統(tǒng)和速率的影響,但這種求解方式復(fù)雜度較高。因此,大多數(shù)研究只是從用戶配對(duì)或功率分配其中一個(gè)角度對(duì)系統(tǒng)和速率進(jìn)行優(yōu)化。
在用戶配對(duì)方面,一般是將具有較大信道增益差的用戶進(jìn)行配對(duì)[5]。Islam 等人[6]提出最大-最小信道增益用戶配對(duì),這樣的配對(duì)方式存在近零問題,導(dǎo)致系統(tǒng)和速率降低。Mounchili 等人[7]提出了分布式NOMA(Distributed NOMA,D-NOMA)配對(duì)算法,保證配對(duì)用戶間存在最小信道增益差。Mounchili 等人[8]還提出了一種最小距離(Minimum Distance NOMA,MD-NOMA)配對(duì)算法,推導(dǎo)出參與配對(duì)用戶的增益差閉式表達(dá)式。相比于規(guī)則量化的配對(duì)算法,基于啟發(fā)式的配對(duì)搜索算法如爬山算法[9]、模擬退火算法[9]、匈牙利算法[10]、粒子群算法[11]、神經(jīng)網(wǎng)絡(luò)[12]等也被應(yīng)用于用戶配對(duì)問題中。
在功率分配方面,F(xiàn)u 等人[13]提出了改進(jìn)注水功率分配算法;Tong 等人[14]提出了復(fù)數(shù)域的功率分配方法;Mounchili 等人[8]推導(dǎo)出滿足用戶服務(wù)質(zhì)量(Quantity of Service,QoS)的功率分配系數(shù)閉式解;Gupta 等人[15]從能量效率角度提出了基于Dinklebach 的迭代功率分配算法;Lee 等人[16]提出了基于強(qiáng)化學(xué)習(xí)的功率分配算法;Huang 等人[17]從和速率、能量效率角度,以及Fathimath Shamna 等人[18]從用戶公平性的角度,結(jié)合深度學(xué)習(xí)對(duì)功率分配問題進(jìn)行研究。
然而,上述研究都是單獨(dú)考慮用戶配對(duì)或功率分配問題,實(shí)際上用戶配對(duì)方案和功率分配方案互為條件,對(duì)系統(tǒng)和速率均有著重要的影響。同時(shí),這些研究都是基于接收端能完美執(zhí)行SIC 的假設(shè),但由于接收端硬件處理能力不足、信號(hào)重構(gòu)異步等因素[19],接收端會(huì)存在干擾殘留,導(dǎo)致系統(tǒng)和速率降低。本文基于接收端不完美執(zhí)行SIC 的假設(shè),提出一種用戶配對(duì)和功率分配聯(lián)合優(yōu)化(Joint optimization of User Pairing and Power Allocation,JUPPA)算法。
考慮單基站蜂窩下行NOMA 系統(tǒng)的L個(gè)用戶均勻分布在半徑為R的小區(qū)中,形成M個(gè)用戶對(duì),每個(gè)用戶對(duì)中有N個(gè)用戶(M≤L/N),相同用戶對(duì)內(nèi)的用戶在同一資源塊上復(fù)用。系統(tǒng)總帶寬為B,用戶對(duì)帶寬為Bw。
假設(shè)基站側(cè)已知用戶信道狀態(tài)信息(Channel State Information,CSI),且信道增益滿足其中,hi,l為基站到用戶對(duì)l中用戶i的信道矩陣;ωl為預(yù)編碼矩陣。定義用戶對(duì)中信道增益較大者為強(qiáng)用戶,信道增益較小者為弱用戶。
如圖1 所示,按照NOMA 系統(tǒng)工作原理,基站采用疊加編碼技術(shù)發(fā)射信號(hào)并進(jìn)行功率控制,信道增益越大的用戶,基站分配的功率越低。在接收端,用戶根據(jù)串行干擾消除原則恢復(fù)信號(hào),將信道增益較大的用戶視為干擾,依次濾波解碼信道增益較小的用戶并進(jìn)行信號(hào)重構(gòu),移除該重構(gòu)信號(hào)后,順序解調(diào)恢復(fù)其他用戶信號(hào)。
圖1 單基站蜂窩下行NOMA 系統(tǒng)
在傳統(tǒng)NOMA 系統(tǒng)中,經(jīng)過發(fā)射端的信號(hào)疊加和接收端的串行干擾消除,接收端用戶信干噪比(Signal to Interference plus Noise Ratio,SINR)為:
式中:Pi,l為用戶對(duì)l中用戶i的功率;分子為目標(biāo)用戶信號(hào)功率;分母中第1 項(xiàng)為用戶對(duì)l中其他用戶的干擾信號(hào)功率,第2 項(xiàng)為不同用戶對(duì)對(duì)間干擾;Zi,l~CN(0,1)為高斯白噪聲。
受接收端硬件處理能力不足和信號(hào)重構(gòu)異步等因素影響,實(shí)際接收端并不能完美執(zhí)行SIC,因此用戶的接收信號(hào)中還存在已解調(diào)用戶的殘余信號(hào),則接收端不能完美執(zhí)行SIC 時(shí),目標(biāo)用戶SINR 為:
式中:η為不完美SIC 系數(shù)且η∈[0,1],η=0 表示接收端執(zhí)行完美SIC,η=1 表示接收端不能執(zhí)行SIC。
對(duì)于對(duì)間干擾,可以采用迫零波束賦形[20]設(shè)計(jì)的預(yù)編碼矩陣消除,則目標(biāo)用戶的SINR 為:
根據(jù)香農(nóng)公式,NOMA 系統(tǒng)最大和速率優(yōu)化問題為:
式中:Ptot為基站總發(fā)射功率;約束C.1 確保小區(qū)內(nèi)用戶分配的總功率小于系統(tǒng)總發(fā)射功率;約束C.2確保用戶對(duì)中弱用戶分配到的功率比強(qiáng)用戶分配到的功率大。若用戶配對(duì)方法已知,優(yōu)化問題轉(zhuǎn)化為求解最優(yōu)功率分配矩陣問題;若功率分配矩陣已知,則轉(zhuǎn)化為求解最優(yōu)用戶配對(duì)方案問題。但這兩種情形下得到的均為非全局最優(yōu)解。
考慮到用戶配對(duì)問題的實(shí)質(zhì)為組合優(yōu)化問題,可用局部搜索算法求解,而功率分配問題為非凸問題,用連續(xù)凸逼近(Successive Convex Approximation,SCA)算法求解復(fù)雜度低,且其收斂結(jié)果與對(duì)應(yīng)卡羅需庫(kù)恩塔克(Karush-Kuhn-Tucker,KKT)條件極值點(diǎn)相同[21],提出JUPPA 算法,算法流程如圖2所示。基于自適應(yīng)遺傳算法(Adaptive Genetic Algorithm,AGA)進(jìn)行用戶配對(duì)方案搜索,對(duì)AGA 算法中的每一個(gè)用戶配對(duì)方案根據(jù)SCA 準(zhǔn)則[22]和KKT 條件[22]進(jìn)行功率分配優(yōu)化,用尋優(yōu)得到的功率分配系數(shù)矩陣計(jì)算適應(yīng)度值,并依據(jù)計(jì)算得到的適應(yīng)度值進(jìn)行下一代種群的選擇、交叉和變異。交替進(jìn)行用戶配對(duì)方案尋優(yōu)和功率分配方案尋優(yōu),直至系統(tǒng)和速率收斂。
圖2 用戶配對(duì)和功率分配聯(lián)合優(yōu)化算法
常規(guī)遺傳算法(Genetic Algorithm,GA)[23,24]實(shí)現(xiàn)簡(jiǎn)單,但是容易陷入局部最優(yōu),并且設(shè)置交叉、變異概率過大會(huì)導(dǎo)致算法變成隨機(jī)搜索,而設(shè)置交叉、變異概率過小會(huì)導(dǎo)致算法收斂過慢。針對(duì)常規(guī)GA 算法的不足,采用如圖2 所示的AGA 算法進(jìn)行用戶配對(duì)方案搜索。使用自適應(yīng)交叉和變異算子,根據(jù)種群適應(yīng)度,自適應(yīng)地調(diào)節(jié)交叉、變異概率,使算法更好地達(dá)到全局最優(yōu)。同時(shí),在交叉、變異生成新種群的過程中引入哈希表,避免產(chǎn)生重復(fù)的個(gè)體,提高算法的搜索效率。
2.1.1 編碼策略
選用實(shí)數(shù)編碼策略,便于直接在用戶配對(duì)方案的表現(xiàn)型上進(jìn)行交叉、變異操作。按照用戶的生成順序依次對(duì)用戶進(jìn)行編碼,小區(qū)內(nèi)用戶的數(shù)量L即染色體的長(zhǎng)度。
2.1.2 初始化種群
初始種群由Pop個(gè)長(zhǎng)度為L(zhǎng)的不重復(fù)染色體序列組成。按照染色體中基因序列的前后順序,連續(xù)N個(gè)基因表示一個(gè)用戶對(duì),共組成M(M=L/N)個(gè)用戶對(duì),即形成一種用戶配對(duì)方案。
2.1.3 選擇算子
基于輪盤賭策略選擇下一代種群中的父代,計(jì)算個(gè)體的適應(yīng)度值在當(dāng)前種群適應(yīng)度的占比,即個(gè)體被選中作為父代的概率大小。適應(yīng)度越高的個(gè)體,被選中作為父代的概率越大。
2.1.4 自適應(yīng)交叉算子
從父代中隨機(jī)選擇兩個(gè)染色體進(jìn)行兩點(diǎn)交叉,為了確保染色體中每個(gè)基因僅出現(xiàn)一次,對(duì)交叉后的染色體進(jìn)行沖突檢測(cè),交叉概率隨種群適應(yīng)度值自適應(yīng)變化,其表達(dá)式為:
式中:fmax為當(dāng)代種群中最大適應(yīng)度值;fmin為當(dāng)代種群中最小適應(yīng)度值;favg為當(dāng)代種群中平均適應(yīng)度值;f為進(jìn)行交叉操作的個(gè)體中較大適應(yīng)度值;Pco為初始交叉概率;Pc為自適應(yīng)變化的交叉概率。
2.1.5 自適應(yīng)變異算子
在染色體內(nèi)隨機(jī)選擇一個(gè)基因進(jìn)行單點(diǎn)變異,即在染色體中隨機(jī)選擇兩個(gè)基因交換。變異概率隨種群適應(yīng)度值的變化而變化,其表達(dá)式為:
式中:Pmo為初始變異概率;Pm為自適應(yīng)變化的變異概率;f′為進(jìn)行變異操作的個(gè)體的適應(yīng)度值。
2.1.6 適應(yīng)度計(jì)算
對(duì)于每個(gè)染色體,根據(jù)染色體表示的用戶配對(duì)方案,結(jié)合當(dāng)前的用戶功率分配矩陣,計(jì)算系統(tǒng)和速率,作為其適應(yīng)度值。
最大化系統(tǒng)和速率是一個(gè)非凸混合整數(shù)規(guī)劃問題[4],直接求解復(fù)雜度會(huì)隨著約束條件和變量數(shù)呈指數(shù)增長(zhǎng)。因此,通過拉格朗日乘子法和SCA 算法[21,22,25]求解最優(yōu)功率分配系數(shù)矩陣。首先,使用SCA 算法對(duì)目標(biāo)函數(shù)做凸處理;其次,使用拉格朗日乘子法構(gòu)造KKT 條件,將有約束問題轉(zhuǎn)化為無約束問題;最后,通過梯度下降法更新拉格朗日乘子。由收斂的拉格朗日乘子求解用戶功率,用解得的用戶功率進(jìn)一步更新SCA 系數(shù),直到拉格朗日乘子和用戶功率同時(shí)收斂。
2.2.1 系統(tǒng)模型凸逼近
通過連續(xù)凸逼近方法,以原目標(biāo)函數(shù)下界構(gòu)造替代函數(shù):
式中:R′i,l為用戶對(duì)l中用戶i的系統(tǒng)速率;a,b為SCA 系數(shù);為輔助變量;SINR′i,l取最后一次迭代值。
這樣,優(yōu)化問題轉(zhuǎn)換為:
2.2.2 構(gòu)建拉格朗日KKT 條件
由于式(11)目標(biāo)函數(shù)仍為非凸函數(shù),令Pi,l=eμi,l,將其轉(zhuǎn)換為log-sum-exp 形式,可得:
式中:μi,l為用戶對(duì)l中用戶i的功率值所對(duì)應(yīng)的指數(shù)次方項(xiàng)。
同時(shí),由于log-sum-exp 為凸函數(shù)[26],而約束條件也為凸函數(shù),因此可以通過構(gòu)造拉格朗日KKT條件來求解。
引入拉格朗日乘子v和ξi,l,將有約束問題轉(zhuǎn)化為如下無約束求極值問題,即可求得用戶功率。
對(duì)于拉格朗日乘子,采用梯度下降法進(jìn)行迭代更新:
式中:t為迭代次數(shù);φ和ψ為步長(zhǎng)。功率分配算法的具體偽代碼如下:
通過實(shí)驗(yàn)仿真對(duì)所提算法性能進(jìn)行驗(yàn)證。在以基站為中心,半徑為500 m 的蜂窩范圍內(nèi)生成隨機(jī)獨(dú)立分布的終端用戶,設(shè)定用戶數(shù)L=16。以NOMA方式進(jìn)行用戶復(fù)用,設(shè)定功率域疊加用戶數(shù)N=2。無線信道為獨(dú)立均勻分布的瑞利衰落信道。仿真參數(shù)設(shè)置如表1 所示。
表1 仿真參數(shù)
3.2.1 不完美SIC 系數(shù)影響分析
為了研究不同程度干擾殘留即接收端執(zhí)行SIC能力對(duì)系統(tǒng)和速率的影響,設(shè)置不同的干擾殘余系數(shù)η對(duì)JUPPA 算法進(jìn)行仿真實(shí)驗(yàn),結(jié)果如圖3 所示。η=0 表示接收端執(zhí)行完美SIC,即接收端不存在干擾殘留,此時(shí)系統(tǒng)和速率最高。在用戶信噪比相同的情況下,隨著干擾系數(shù)的增加,系統(tǒng)和速率持續(xù)下降。這是由于在NOMA 系統(tǒng)中,干擾殘余系數(shù)不會(huì)對(duì)弱用戶的速率造成影響,但是強(qiáng)用戶的SINR會(huì)隨著干擾系數(shù)的增大而減小,導(dǎo)致強(qiáng)用戶的速率降低,進(jìn)而造成系統(tǒng)和速率下降。同時(shí),當(dāng)用戶信噪比由10 dB 增加到40 dB,在η=0 時(shí),系統(tǒng)有約10.5 Mbit/s 的和速率提升;η=0.01 時(shí),系統(tǒng)和速率僅有約5.5 Mbit/s 的提升,說明當(dāng)接收端存在干擾殘留時(shí),增大用戶信噪比帶來的和速率增益也會(huì)下降。當(dāng)接收端執(zhí)行串行干擾消除能力持續(xù)下降即干擾殘留系數(shù)越來越大時(shí),相比于正交多址接入(Orthogonal Multiple Access,OMA)系統(tǒng),NOMA系統(tǒng)并不會(huì)帶來系統(tǒng)和速率上的增益。當(dāng)η=0.5 時(shí),NOMA 系統(tǒng)和速率已明顯低于OMA 系統(tǒng)和速率。
圖3 不完美SIC 系數(shù)對(duì)系統(tǒng)和速率的影響
3.2.2 自適應(yīng)遺傳算法性能分析
將JUPPA 算法與常規(guī)GA 算法[24]和AGA 算法進(jìn)行對(duì)比研究,仿真結(jié)果如圖4 所示。可以看出,當(dāng)接收端干擾殘留系數(shù)相同,且GA 算法和AGA 算法使用相同功率分配算法時(shí),兩種算法均能求得最優(yōu)的用戶配對(duì)方案,達(dá)到基本一致的系統(tǒng)和速率性能。對(duì)比JUPPA 算法和AGA 算法,在使用相同用戶配對(duì)算法的情況下,JUPPA 算法具有更高的系統(tǒng)和速率,說明在JUPPA 算法中,所提功率分配方案能帶來更大的系統(tǒng)和速率增益。
圖4 JUPPA 算法、常規(guī)GA 算法和AGA 算法對(duì)比
然而,由圖5 常規(guī)GA 算法和AGA 算法收斂對(duì)比可知,在基站發(fā)射功率、干擾殘留系數(shù)相同的情況下,常規(guī)GA 算法在24 輪迭代后收斂,而AGA 算法在15 輪迭代即已接近于GA 算法收斂值,其后的和速率性能一直優(yōu)于常規(guī)GA 算法。此外,22 輪之后的迭代,展現(xiàn)了AGA 算法跳出局部最優(yōu)的強(qiáng)大能力。
圖5 常規(guī)GA 算法和AGA 算法收斂性對(duì)比
3.2.3 與典型功率分配算法對(duì)比
將JUPPA 算法與當(dāng)前代表性的功率分配算法,即固定功率分配(Fixed Power Allocation,F(xiàn)PA)算法[19]和分?jǐn)?shù)階功率分配(Fractional Transmit Power Allocation,F(xiàn)TPA)算法[10]進(jìn)行對(duì)比研究,仿真結(jié)果如圖6 所示。顯然,在用戶信噪比、干擾殘余系數(shù)和用戶配對(duì)方式均相同的情況下,JUPPA 算法具有更高的系統(tǒng)和速率,這是由于FPA 算法和FTPA算法僅按照信道增益進(jìn)行功率分配。相比之下,JUPPA 算法考慮了干擾殘留系數(shù)對(duì)系統(tǒng)和速率的影響,在確保NOMA 系統(tǒng)用戶對(duì)中強(qiáng)弱用戶功率分配原則下,干擾系數(shù)越大,會(huì)分配越多的功率給弱用戶,由弱用戶帶來系統(tǒng)和速率上的提升。對(duì)比FPA算法和FTPA 算法,在用戶配對(duì)方案相同的情況下,由于FTPA 算法能夠動(dòng)態(tài)地適應(yīng)用戶對(duì)中用戶信道增益的變化,調(diào)整強(qiáng)弱用戶之間的功率分配權(quán)重,因此FTPA 算法具有更高的系統(tǒng)和速率。
圖6 JUPPA 算法與典型功率分配算法對(duì)比
3.2.4 與典型功率分配算法對(duì)比
將JUPPA 和代表性的用戶配對(duì)算法,即隨機(jī)用戶配對(duì)(Random Pairing Algorithm,RPA)算法[3]和基于最大信道增益差的傳統(tǒng)NOMA 配對(duì)(Conventional NOMA,C-NOMA)算法[7]進(jìn)行對(duì)比研究,仿真結(jié)果如圖7 所示??梢姡嗤β史峙渌惴ㄏ?,JUPPA 算法擁有比RPA 算法和C-NOMA算法更高的系統(tǒng)和速率。這是由于JUPPA 算法使用AGA 算法在用戶配對(duì)組合方案中進(jìn)行搜索,而RPA 算法未考慮用戶之間信道增益差異,C-NOMA算法則未考慮用戶間的信道增益近零問題。RPA 算法的和速率性能僅優(yōu)于OMA 系統(tǒng),因?yàn)樵贜OMA系統(tǒng)中將具有一定信道增益差的用戶進(jìn)行配對(duì)就能產(chǎn)生一定的系統(tǒng)和速率增益,使得NOMA 系統(tǒng)的和速率優(yōu)于OMA 系統(tǒng)。同樣,對(duì)比不同干擾殘留系數(shù)下的OMA 系統(tǒng)和速率,由于OMA 系統(tǒng)不存在功率域的復(fù)用,即不涉及用戶配對(duì),也就并不存在干擾殘留的問題,故不同干擾殘留系數(shù)的OMA 系統(tǒng)和速率曲線完全一致。
圖7 JUPPA 算法與典型用戶配對(duì)算法對(duì)比
本文針對(duì)不完美SIC 下的NOMA 系統(tǒng)和速率優(yōu)化問題,提出了一種聯(lián)合用戶配對(duì)和功率分配的優(yōu)化算法JUPPA。在用戶配對(duì)階段,設(shè)計(jì)了AGA 算法進(jìn)行用戶配對(duì)方案尋優(yōu);在功率分配階段,采用SCA 準(zhǔn)則和KKT 條件求解最優(yōu)功率分配系數(shù)矩陣。仿真結(jié)果表明,接收端執(zhí)行SIC 的能力強(qiáng)弱,對(duì)系統(tǒng)和速率有著較大影響,同時(shí),JUPPA 算法中AGA算法相比常規(guī)GA 算法具有更高的收斂速度和更優(yōu)的全局搜索能力,且與已有用戶配對(duì)和功率分配算法對(duì)比,JUPPA 算法具有更高的系統(tǒng)和速率。對(duì)于考慮不完美SIC 的NOMA 系統(tǒng)研究,本文具有一定的參考意義。