米 洪,鄭 瑩
(南京交通職業(yè)技術(shù)學(xué)院電子信息工程學(xué)院,江蘇 南京 211188)
能量采集(EH)是延長(zhǎng)無(wú)線網(wǎng)絡(luò)壽命的有效技術(shù)[1-2],廣泛應(yīng)用于風(fēng)能、太陽(yáng)能和無(wú)線射頻(RF)能量的采集領(lǐng)域。由于RF能量穩(wěn)定且易控制,相比于風(fēng)能和太陽(yáng)能,RF的能量采集(RF-EH)應(yīng)用更廣泛[3]。
為了提高網(wǎng)絡(luò)吞吐量和覆蓋區(qū)域,基于轉(zhuǎn)發(fā)的無(wú)線攜能協(xié)作通信網(wǎng)絡(luò)(WPCCN)受到廣泛關(guān)注。WPCCN中轉(zhuǎn)發(fā)節(jié)點(diǎn)和用戶均通過(guò)下行鏈路(DL)中的混合接入點(diǎn)(HAP)獲取電能。同時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)和用戶利用所采集的能量,通過(guò)上行鏈路(UL)向HAP傳輸數(shù)據(jù)[4-6]。其中,文獻(xiàn)[4]針對(duì)WPCCN中的3類節(jié)點(diǎn)(HAP, 用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)),推導(dǎo)了平均吞吐量的表達(dá)式,并提出基于信道狀態(tài)信息(CSI)的轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇算法。文獻(xiàn)[5]提出自適應(yīng)傳輸(AT)協(xié)議。在AT協(xié)議中,HAP先給用戶充電,然后和用戶一起估計(jì)CSI,再依據(jù)所估計(jì)的CSI,AT協(xié)議決策是否通過(guò)轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)或直接傳輸方式傳輸數(shù)據(jù)。文獻(xiàn)[6]研究了轉(zhuǎn)發(fā)節(jié)點(diǎn)位置對(duì)鏈路中斷性能的影響。
針對(duì)WPCCN網(wǎng)絡(luò),文中研究提高網(wǎng)絡(luò)吞吐量的策略,提出基于傳輸時(shí)間分配和轉(zhuǎn)發(fā)節(jié)點(diǎn)選舉的吞吐量最大化算法(TARM)。TARM算法通過(guò)擇優(yōu)選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)和優(yōu)化分配傳輸時(shí)間,提升總吞吐量。性能分析表明,合理地選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)有利于網(wǎng)絡(luò)吞吐量的提升,且提出的TARM算法的性能逼近于窮盡搜索算法。
考慮如圖1所示的WPCCN系統(tǒng),由1個(gè)配備全雙工(FD)天線[7]的HAP、M個(gè)半雙工(HD)的轉(zhuǎn)發(fā)節(jié)點(diǎn)和N個(gè)HD的用戶。通過(guò)FD天線在向轉(zhuǎn)發(fā)節(jié)點(diǎn)和用戶傳輸能量的同時(shí),HAP同步地接收來(lái)自用戶傳輸?shù)臄?shù)據(jù)。
用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)將從HAP接收的能量存儲(chǔ)在自己的電池中。令Br表示第r個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的初始儲(chǔ)能,r=1,2,…,M;令Bu表示第u個(gè)用戶的初始儲(chǔ)能,u=1,2,…,M。
圖1 基于轉(zhuǎn)發(fā)的WPCCN網(wǎng)絡(luò)架構(gòu)Fig.1 Relay-based WPCCN network architecture
將時(shí)間軸劃分為等長(zhǎng)的若干個(gè)幀,每個(gè)幀又劃分為多個(gè)時(shí)隙,這些時(shí)隙分配給用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn),并依據(jù)所分配的時(shí)隙有序地傳輸數(shù)據(jù)[8]。
令Eu表示用戶u從HAP收集的能量[9]:
(1)
式中:Cu為用戶u的能量采集率;su,r為二值變量,su,r=1表示用戶u選擇了轉(zhuǎn)發(fā)節(jié)點(diǎn)r作為自己的轉(zhuǎn)發(fā)節(jié)點(diǎn),su,r=0表示用戶u未選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)r作為自己的轉(zhuǎn)發(fā)節(jié)點(diǎn);τu,r為用戶u向轉(zhuǎn)發(fā)節(jié)點(diǎn)r的數(shù)據(jù)傳輸時(shí)間;τr為轉(zhuǎn)發(fā)節(jié)點(diǎn)r向HAP傳輸數(shù)據(jù)的時(shí)間。
用Er表示轉(zhuǎn)發(fā)節(jié)點(diǎn)r從HAP收集的能量:
(2)
式中:Cr為轉(zhuǎn)發(fā)節(jié)點(diǎn)r的能量采集率;si,r為布爾變量,si,r=1表示轉(zhuǎn)發(fā)節(jié)點(diǎn)r為第i個(gè)用戶轉(zhuǎn)發(fā)數(shù)據(jù),si,r=0表示轉(zhuǎn)發(fā)節(jié)點(diǎn)r不為第i個(gè)用戶轉(zhuǎn)發(fā)數(shù)據(jù);τi,r為用戶i向轉(zhuǎn)發(fā)節(jié)點(diǎn)r傳輸數(shù)據(jù)的時(shí)間;τr為轉(zhuǎn)發(fā)節(jié)點(diǎn)r向HAP傳輸數(shù)據(jù)的時(shí)間。
引用文獻(xiàn)[10]的基于對(duì)數(shù)函數(shù)的非線性能量采集模型,用戶u和轉(zhuǎn)發(fā)節(jié)點(diǎn)r端的能量采集率為[10]:
(3)
式中:x∈[u,r];Ps為飽和功率;Φx=(1+exp(-ax·(Phhx-bx)))-1,其中ax,bx均為接收能量電路的參數(shù);Ph為HAP傳輸功率;hx為信道增益值,當(dāng)x=u時(shí),hu表示用戶u至HAP鏈路的信道系數(shù)增益,當(dāng)x=r時(shí),hr表示轉(zhuǎn)發(fā)節(jié)點(diǎn)r至HAP鏈路的信道系數(shù)增益。
假定用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)將采集的能量全部用于數(shù)據(jù)傳輸。據(jù)此,在用戶-轉(zhuǎn)發(fā)節(jié)點(diǎn)-HAP的兩跳鏈路中,用戶u和轉(zhuǎn)發(fā)節(jié)點(diǎn)r的傳輸功率為:
(4)
利用香農(nóng)定理,用戶u至轉(zhuǎn)發(fā)節(jié)點(diǎn)r鏈路上的瞬時(shí)吞吐量和轉(zhuǎn)發(fā)節(jié)點(diǎn)r至HAP鏈路上瞬時(shí)吞吐量分別為:
(5)
式中:gu,r,gr分別為用戶u至轉(zhuǎn)發(fā)節(jié)點(diǎn)r鏈路,轉(zhuǎn)發(fā)節(jié)點(diǎn)r至HAP鏈路的信道系數(shù);βPh為自干擾功率;N0w為噪聲功率;w表示系統(tǒng)帶寬。
用戶-轉(zhuǎn)發(fā)節(jié)點(diǎn)-HAP的兩跳的端到端吞吐量取決于Ru,r和Rr間的最小值:Rtotal=min{Ru,r,Rr}。
TARM算法旨在通過(guò)聯(lián)合優(yōu)化傳輸時(shí)間和轉(zhuǎn)發(fā)節(jié)點(diǎn)的選舉,提升網(wǎng)絡(luò)吞吐量。對(duì)于用戶u和轉(zhuǎn)發(fā)節(jié)點(diǎn)r而言,通過(guò)聯(lián)合優(yōu)化τu,r和τr以及su,r的值,提高Rtotal值。因此,建立目標(biāo)函數(shù):
(6)
以上目標(biāo)函數(shù)是一個(gè)混合整數(shù)非線性規(guī)劃問(wèn)題。為了求解式(6),采用兩步法求解:1)基于信噪比的轉(zhuǎn)發(fā)節(jié)點(diǎn)選舉算法。即依據(jù)用戶至轉(zhuǎn)發(fā)節(jié)點(diǎn)以及轉(zhuǎn)發(fā)節(jié)點(diǎn)至HAP的兩跳鏈路的信噪比,擇優(yōu)為用戶選舉轉(zhuǎn)發(fā)節(jié)點(diǎn)。2)依據(jù)第一步的結(jié)果(為用戶分配了轉(zhuǎn)發(fā)節(jié)點(diǎn)),優(yōu)化τu,r和τr的值。即su,r值已知,優(yōu)化τu,r和τr的值。利用Lagrange法[11]和梯度算法[12]求解用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的傳輸時(shí)間。為了描述簡(jiǎn)單,將該算法簡(jiǎn)稱為L(zhǎng)GUR算法。
對(duì)于每個(gè)用戶,計(jì)算用戶至轉(zhuǎn)發(fā)節(jié)點(diǎn)以及轉(zhuǎn)發(fā)節(jié)點(diǎn)至HAP的兩跳鏈路的信噪比,并從中選擇具有最大信噪比的轉(zhuǎn)發(fā)節(jié)點(diǎn)分配至用戶。
具體而言,對(duì)于用戶u,計(jì)算所有轉(zhuǎn)發(fā)節(jié)點(diǎn)r參與轉(zhuǎn)發(fā)的兩跳鏈路的信噪比為[13]:
(7)
(8)
為分析在已給用戶分配了轉(zhuǎn)發(fā)節(jié)點(diǎn)條件下,如何優(yōu)化選擇τu,r和τr的值,提升網(wǎng)絡(luò)吞吐量,將式(6)的目標(biāo)函數(shù)改寫成:
(9)
(10)
為求解式(10),將式(10)所示的目標(biāo)函數(shù)構(gòu)成Lagrange函數(shù):
(11)
式中,u和φ為L(zhǎng)agrange乘子。
為了求解式(11),計(jì)算Lagrange函數(shù)L關(guān)于τu,r和τr的偏導(dǎo)數(shù)。首先求解Lagrange函數(shù)L關(guān)于τu,r的偏導(dǎo)數(shù),并令其等于零:
(12)
整理式(12)可得:
(13)
(14)
式中:W(·)表示Lambert函數(shù)[14]。類似的,通過(guò)求解Lagrange函數(shù)L關(guān)于τr的偏導(dǎo)數(shù),并令其等于零,可得:
(15)
式中,γr=grEr/(βPh+N0w)。
引用文獻(xiàn)[15]的梯度算法更新Lagrange乘子μ和φ:
(16)
(17)
式中:j為迭代次數(shù);λμ和λφ均為迭代權(quán)重。
利用MATLAB軟件建立仿真平臺(tái),通過(guò)Monte Carlo實(shí)驗(yàn)分析TARM算法的性能。每次實(shí)驗(yàn)獨(dú)立進(jìn)行次數(shù)為50,取平均數(shù)據(jù)作為最終的實(shí)驗(yàn)數(shù)據(jù)。用戶數(shù)N=4,轉(zhuǎn)發(fā)節(jié)點(diǎn)數(shù)M=4。EH模型的參數(shù)為:Ps=7 mW,a=1500,b=0.0022;Ph=1 dB,用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的初始能量分為Bu=Br=10-7J;w=1 MHz,β=-80 dB。
采用如式(18)所示的信號(hào)傳輸模型[16]:
PL(d)=PL(d0)+10ηlg(d/d0)+n
(18)
式中:d為收發(fā)間隔距離;d0為參考距離,其值為1 m;PL(d0)=30 dB;η=2.76;n為噪聲變量,其服從均值0、方差為42的高斯分布。
此外,選擇兩類算法作為參照,進(jìn)而分析TARM算法的吞吐量性能:1)窮舉搜索(BFS)算法。窮舉搜索采用窮舉式搜索策略,通過(guò)把需要解決問(wèn)題的所有可能解逐一試驗(yàn),來(lái)找出符合條件的全局最優(yōu)解。即BFS算法搜索用戶與轉(zhuǎn)發(fā)節(jié)點(diǎn)間的最優(yōu)組合,得到具有最大吞吐量的解。顯然,窮舉搜索算法能夠獲取全局最優(yōu)解,但是計(jì)算復(fù)雜度高。逐一實(shí)驗(yàn)所有可能的解所消耗的時(shí)間過(guò)多,運(yùn)算量高。窮舉搜索算法與TARM算法的不同在于:TARM算法先通過(guò)兩跳的信噪比擇優(yōu)選擇轉(zhuǎn)發(fā)節(jié)點(diǎn),再利用LGUR算法優(yōu)化用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的傳輸時(shí)間,進(jìn)而提升吞吐量。窮舉搜索算法搜索的是最優(yōu)解,而TARM算法計(jì)算的是問(wèn)題的次優(yōu)解。2)隨機(jī)+LGUR算法(RGUR)。RGUR表示隨機(jī)為用戶選擇轉(zhuǎn)發(fā)節(jié)點(diǎn),然后利用LGUR算法計(jì)算用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的傳輸時(shí)間。RGUR算法與TARM算法的區(qū)別在于:為用戶選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)的方法不同。TARM算法通過(guò)兩跳的信噪比擇優(yōu)選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)。將RGUR算法與TARM算法進(jìn)行對(duì)比,目的在于分析轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)吞吐量的影響。
3.2.1 HAP的傳輸功率對(duì)吞吐量的影響
首先分析HAP的傳輸功率Ph對(duì)吞吐量的影響,其中Ph取值為1~20 dB,如圖2所示。
圖2 吞吐量隨HAP傳輸功率的變化情況Fig.2 Throughput for different HAP transmit power
從圖2可知,Ph的增加使吞吐量呈上升趨勢(shì)。原因在于:Ph越大,用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)能夠收集更多能量。但當(dāng)Ph增加到一定值后,吞吐量隨Ph的增加而上升的速度變緩。原因在于:用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的能量收集達(dá)到飽和。即隨著Ph的增加,EH電路達(dá)到飽和,網(wǎng)絡(luò)吞吐量趨近于常數(shù)。
此外,相比于RGUR算法,TARM算法提高了吞吐量,這說(shuō)明通過(guò)兩跳的信噪比選舉轉(zhuǎn)發(fā)節(jié)點(diǎn)能夠有效地提升吞吐量。同時(shí),TARM算法的吞吐量逼近BFS算法。
3.2.2 用戶數(shù)對(duì)吞吐量的影響
接下來(lái),分析用戶數(shù)對(duì)吞吐量的影響,其中用戶數(shù)N為1~4,如圖3所示。
圖3 吞吐量隨用戶數(shù)的變化情況Fig.3 Throughput for different numbers of users
從圖3可知,吞吐量隨用戶數(shù)N的增加而上升,這符號(hào)預(yù)期。但是相比于RGUR算法,TARM算法和BFS算法的吞吐量隨用戶數(shù)N的增加而上升的速度更快。這說(shuō)明在網(wǎng)絡(luò)規(guī)模增大情況下,優(yōu)化選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)可以有效地提升吞吐量。此外,TARM算法和BFS算法的吞吐量性能相近。
3.2.3 用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的初始儲(chǔ)能對(duì)吞吐量的影響
當(dāng)初始儲(chǔ)能從10-8J至10-7J變化時(shí),分析用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)的初始儲(chǔ)能對(duì)吞吐量的影響如圖4所示。從圖4可知,吞吐量隨初始儲(chǔ)能的增加呈線性增加。這符合預(yù)期:初始儲(chǔ)能越大,用戶和轉(zhuǎn)發(fā)節(jié)點(diǎn)工作時(shí)間越長(zhǎng),能夠在短時(shí)間內(nèi)傳輸更多的數(shù)據(jù)量。此外,相比于RGUR算法,TARM算法的吞吐量仍保持較大的優(yōu)勢(shì)。
圖4 吞吐量隨初始儲(chǔ)能的變化情況Fig.4 Throughput for different initial battery level
3.2.4 算法的運(yùn)行時(shí)間
為評(píng)估TARM算法的運(yùn)行時(shí)間,記錄算法的運(yùn)行時(shí)間。運(yùn)行次數(shù)為50,取平均值作為最終數(shù)據(jù)。圖5給出RGUR算法、TARM算法和BFS算法隨用戶數(shù)變化情況下的運(yùn)行時(shí)間。
圖5 算法的運(yùn)行時(shí)間Fig.5 Runtime of algorithm
從圖5可知,BFS算法的運(yùn)行時(shí)間隨用戶數(shù)呈指數(shù)增加。而RGUR算法和TARM算法隨用戶數(shù)增加而保持緩慢增加,趨近于穩(wěn)定。這說(shuō)明盡管BFS算法能夠獲取最優(yōu)的吞吐量,但其付出了高的運(yùn)行時(shí)間,即以高的運(yùn)行時(shí)間為代價(jià)。
在無(wú)線攜能協(xié)作通信網(wǎng)絡(luò)中,用戶通過(guò)轉(zhuǎn)發(fā)節(jié)點(diǎn)向HAP傳輸數(shù)據(jù),同時(shí)從HAP收集能量。給用戶分配的轉(zhuǎn)發(fā)節(jié)點(diǎn)以及傳輸時(shí)間影響了吞吐量。為此,文中先建立目標(biāo)函數(shù),再利用兩步法求解,得到最優(yōu)的傳輸時(shí)間。性能分析表明,提出的TARM算法提升了吞吐量。這也說(shuō)明通過(guò)合理選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)可提升吞吐量。
相比于BFS算法,TARM算法在吞吐量方面的性能仍具有一定的差距。但是BFS算法是以高的運(yùn)行時(shí)間為代價(jià)。后期,將進(jìn)一步優(yōu)化TARM算法,使其吞吐量性能逼近于BFS算法。此外,文中只考慮了小型網(wǎng)絡(luò)場(chǎng)景,后期將擴(kuò)展網(wǎng)絡(luò)場(chǎng)景。