李良,楊新杰
(寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
近年來(lái),隨著移動(dòng)通信技術(shù)以及互聯(lián)網(wǎng)行業(yè)的迅速發(fā)展,智能無(wú)線終端得到了快速發(fā)展和普及,蜂窩網(wǎng)絡(luò)用戶數(shù)量呈現(xiàn)爆炸式增長(zhǎng)。根據(jù)《思科年度互聯(lián)網(wǎng)報(bào)告(2018—2023年)》,到2023年,全球手機(jī)用戶將增加到57億人(占總?cè)丝诘?1%),全球移動(dòng)設(shè)備將增長(zhǎng)到131億部[1]。如此龐大的用戶和設(shè)備數(shù)量,給蜂窩網(wǎng)絡(luò)的基站帶來(lái)了巨大的負(fù)載,同時(shí)導(dǎo)致無(wú)線頻譜資源短缺、頻譜利用率低下和網(wǎng)絡(luò)容量不足等問(wèn)題日益凸顯[2]。研究人員因此提出了設(shè)備到設(shè)備(device-to-device,D2D)通信技術(shù)以應(yīng)對(duì)上述問(wèn)題。不同于只允許設(shè)備和基站之間通過(guò)上行/下行鏈路進(jìn)行通信的傳統(tǒng)移動(dòng)通信技術(shù),D2D允許鄰近的移動(dòng)設(shè)備直接進(jìn)行通信,有效地提高了蜂窩網(wǎng)絡(luò)的頻譜效率或吞吐量[3]。另一方面,D2D設(shè)備既可以通過(guò)使用非授權(quán)頻譜或?qū)S梅涓C頻譜實(shí)現(xiàn)通信,也可以通過(guò)復(fù)用蜂窩設(shè)備使用的頻譜實(shí)現(xiàn)通信[4]。這種復(fù)用模式能夠大幅提高頻譜利用率,有助于解決頻譜短缺問(wèn)題[5]。由于具有多種優(yōu)勢(shì),D2D技術(shù)被3GPP確定為5G關(guān)鍵技術(shù)之一,受到越來(lái)越多研究人員的關(guān)注。
傳統(tǒng)的直連D2D具有通信距離短,消耗設(shè)備電量多,對(duì)蜂窩網(wǎng)絡(luò)干擾大等問(wèn)題。另外,在設(shè)備間距離較遠(yuǎn)時(shí),直連D2D的源設(shè)備可能無(wú)法接入目的設(shè)備[6]。一些研究人員在 D2D中引入中繼技術(shù),進(jìn)一步提高了 D2D通信的性能,中繼選擇由此成為D2D中一個(gè)重要的研究方向。
為了減少算法執(zhí)行給基站帶來(lái)的負(fù)擔(dān),研究人員提出了一些不需要基站參與的中繼選擇算法。文獻(xiàn)[7]提出了一種基于計(jì)時(shí)器的中繼選擇方法,該方法能夠分布式確定并選擇最好的中繼。文獻(xiàn)[8]提出了一種用以設(shè)備為中心的中繼選擇方案。該方案通過(guò)交換設(shè)備鄰居表獲得D2D通信設(shè)備的共同鄰近設(shè)備,然后基于信干噪比和剩余電量等多種參數(shù)從共同臨近設(shè)備中選出最佳的設(shè)備作為中繼,相比傳統(tǒng)的以網(wǎng)絡(luò)/基站為中心的方案,減少了基站負(fù)載和網(wǎng)絡(luò)開(kāi)銷(xiāo)。
另外,為了進(jìn)一步擴(kuò)大 D2D通信范圍和提升通信性能,研究人員將研究從單跳延伸到多跳D2D 通信[9]。文獻(xiàn)[10]提出了一種基于 Dijkstra算法的 D2D多跳路由算法,仿真結(jié)果表明與單跳直接 D2D通信相比,多跳路徑可以實(shí)現(xiàn)更高的吞吐量。文獻(xiàn)[11]提出了一種用于D2D通信的自適應(yīng)干擾感知多跳路徑選擇算法。該算法通過(guò)了解用戶位置,使多跳路徑從 D2D發(fā)射端開(kāi)始首先到達(dá)小區(qū)邊緣,然后沿小區(qū)邊緣移動(dòng),最后到達(dá)接收端附近時(shí)返回小區(qū)內(nèi)部。該算法在小幅度犧牲傳統(tǒng)蜂窩容量的情況下顯著提高了整體網(wǎng)絡(luò)容量。
考慮在實(shí)際的系統(tǒng)中,設(shè)備充當(dāng)中繼時(shí)具有自身意愿問(wèn)題,研究人員考慮更加現(xiàn)實(shí)的場(chǎng)景并將終端的社交域引入D2D研究中。文獻(xiàn)[12]提出了一種利用社交網(wǎng)絡(luò)的中繼選擇方法。該方法綜合考慮中繼的物理域和社交域因素,將根據(jù)用戶遭遇歷史計(jì)算得到的鏈路傳輸穩(wěn)定性和根據(jù)用戶親密度計(jì)算得到的合作意愿作為標(biāo)準(zhǔn)選擇中繼。相比傳統(tǒng)的方法,該方法可以提高中繼選擇成功的概率,減輕蜂窩網(wǎng)絡(luò)的負(fù)擔(dān)。文獻(xiàn)[13]提出了一種創(chuàng)新的社交感知節(jié)能中繼選擇機(jī)制,該機(jī)制考慮了移動(dòng)用戶之間隱藏的社交關(guān)系,能夠確保更多用戶愿意參與合作通信。
上述 D2D中繼選擇算法均應(yīng)用于蜂窩網(wǎng)絡(luò)場(chǎng)景,文獻(xiàn)[14]提出了一種應(yīng)用于物聯(lián)網(wǎng)場(chǎng)景的多跳 D2D通信最優(yōu)路由算法,在算法中融合了社交域信息,通過(guò)使用基于排序的信任模型推導(dǎo)得到 D2D連接的信任概率,由信任概率得到了節(jié)點(diǎn)間的可信任連接概率,并在算法中考慮了可信任連接概率的影響。最終所提出的路由算法可以使任意一對(duì) D2D以分布式的方式實(shí)現(xiàn)最高的可信任連接概率,幾乎達(dá)到了通過(guò)窮舉搜索實(shí)現(xiàn)的性能。
綜上所述,目前在兩跳D2D方面已有一些關(guān)于分布式或以設(shè)備為中心的中繼選擇算法的研究,但有關(guān)多跳D2D中繼選擇的研究基本沒(méi)有考慮算法的執(zhí)行方式和復(fù)雜度這一問(wèn)題。另一方面,現(xiàn)有關(guān)于多跳 D2D中繼選擇的研究是基于半雙工中繼,算法的吞吐量性能受到限制。同時(shí),對(duì)社交域信息在實(shí)際系統(tǒng)中對(duì)算法性能的影響的研究還不充分。因此,本文提出了一種用于蜂窩網(wǎng)絡(luò)下多跳 D2D通信的中繼選擇算法。通過(guò)使用全雙工中繼,保證了多跳 D2D的吞吐量性能。通過(guò)合理地設(shè)計(jì)執(zhí)行流程,中繼選擇算法在工程實(shí)現(xiàn)上能夠以半分布式的方式執(zhí)行,有效地減少了基站負(fù)載。考慮設(shè)備充當(dāng)中繼的意愿問(wèn)題,在中繼選擇算法中引入了社交域信息,并與沒(méi)有引入社交域信息的方案進(jìn)行了對(duì)比。仿真結(jié)果表明,相比于對(duì)比算法,所提算法在不考慮社交域信息時(shí)能夠改善系統(tǒng)的吞吐量和能量效率,在考慮社交域信息時(shí)能夠大幅提升系統(tǒng)的能量效率。
一個(gè)單小區(qū)蜂窩網(wǎng)絡(luò)中的多跳D2D通信物理模型如圖1所示,包括位于小區(qū)中心的基站(base station,BS),若干通過(guò)上行正交信道與基站通信的蜂窩設(shè)備(cellular equipment,CE),若干當(dāng)前沒(méi)有通信需求的空閑設(shè)備(idle equipment,IE),多跳D2D通信的源(source,S),多跳D2D通信的目的地(destination,D),以及若干為S和D之間的通信轉(zhuǎn)發(fā)數(shù)據(jù)的中繼(relay,R)設(shè)備。基站配備有全向天線,所有設(shè)備配備有兩個(gè)天線且工作在全雙工模式。
圖1 多跳D2D通信物理模型
在本文中,假設(shè)所有信道均為瑞利衰落信道,同時(shí)考慮自由空間傳播路徑損耗,則任意一個(gè)節(jié)點(diǎn)x向另一個(gè)節(jié)點(diǎn)y發(fā)送信號(hào)時(shí)節(jié)點(diǎn)y的接收信號(hào)功率為:
其中,Px表示x的發(fā)射功率,表示x和y之間的信道增益,且h~CN(0,1),表示x0和y之間的距離,α表示路徑損耗指數(shù)。
在實(shí)際的D2D通信中進(jìn)行中繼選擇時(shí),由于自身有通信需求或電池電量有限等原因,持有中繼設(shè)備的用戶可能不愿意充當(dāng)他人的中繼,或者不愿意為轉(zhuǎn)發(fā)他人的數(shù)據(jù)貢獻(xiàn)太多的功率。但是,如果持有中繼設(shè)備的用戶和進(jìn)行D2D通信的用戶有親密的社交關(guān)系,那么該用戶就很有可能愿意充當(dāng)中繼或?yàn)檗D(zhuǎn)發(fā)D2D通信的數(shù)據(jù)貢獻(xiàn)更多的功率。因此,在實(shí)際的系統(tǒng)中,有必要將社交域信息引入多跳D2D通信的中繼選擇算法中。
在現(xiàn)實(shí)生活中,兩個(gè)關(guān)系密切的人之間一般會(huì)通過(guò)電話或社交軟件等頻繁地聯(lián)系,并且每次聯(lián)系時(shí)持續(xù)的時(shí)間比較長(zhǎng);而兩個(gè)關(guān)系疏遠(yuǎn)的人之間一般很少聯(lián)系,并且聯(lián)系時(shí)持續(xù)的時(shí)間比較短。另一方面,考慮基站可以從數(shù)據(jù)庫(kù)中獲取用戶的通話記錄,并且在用戶通過(guò)社交軟件聯(lián)系時(shí)可以很方便地記錄次數(shù)、時(shí)長(zhǎng)等數(shù)據(jù),因此用持有設(shè)備的用戶之間通過(guò)電話或社交軟件進(jìn)行聯(lián)系的次數(shù)和時(shí)長(zhǎng)來(lái)量化他們之間的社交關(guān)系,具體的計(jì)算式如下:
其中,ui,j表示用戶j與用戶i之間的社交關(guān)系強(qiáng)度,Ti,j表示用戶j與用戶i之間的總聯(lián)系次數(shù),表示用戶i與所有用戶進(jìn)行過(guò)的聯(lián)系的次數(shù)之和,Di,j表示用戶j與用戶i之間的總聯(lián)系時(shí)長(zhǎng),表示用戶i與所有用戶進(jìn)行過(guò)的聯(lián)系的時(shí)長(zhǎng)之和。
根據(jù)文獻(xiàn)[15]的研究,絕大多數(shù)用戶之間的社交關(guān)系強(qiáng)度比較弱,只有少數(shù)用戶與其他用戶之間有著較強(qiáng)的社交關(guān)系,類(lèi)似于帕累托分布。帕累托分布的概率密度函數(shù)如下:
其中,尺度參數(shù)xmin>0。
在本文中,用帕累托分布建模用戶之間的社交關(guān)系強(qiáng)度,并規(guī)定中繼的發(fā)射功率與他們和源、目的地之間的社交關(guān)系強(qiáng)度有關(guān)。用uS,j和uD,j分別表示設(shè)備j與S和D之間的社交關(guān)系強(qiáng)度,則由社交關(guān)系強(qiáng)度得到的設(shè)備j的發(fā)射功率為:
其中,max{?}表示取最大值,Pmax表示中繼的最大發(fā)射功率。
在某個(gè)時(shí)刻設(shè)備S想要與D進(jìn)行D2D通信,由于他們之間的距離過(guò)遠(yuǎn),因此只能在多個(gè)中繼的幫助下才能成功建立D2D通信。在這種情況下需要從源和目的地之間的空閑設(shè)備中選出合適的設(shè)備作為中繼,幫助轉(zhuǎn)發(fā)S和D之間的數(shù)據(jù)。但是S和D之間的空閑設(shè)備數(shù)量眾多,而且不同的空閑設(shè)備作為中繼時(shí)D2D通信鏈路的性能不同,因此如何選擇中繼成為一個(gè)重要的問(wèn)題。本文提出的中繼選擇算法主要由候選中繼確定方法、被復(fù)用頻譜的蜂窩設(shè)備確定方法以及中繼選擇算法執(zhí)行方法3部分組成。
毫無(wú)疑問(wèn),如果將源和目的地之間所有的空閑設(shè)備當(dāng)作候選中繼,并從中選出最佳的中繼可以得到更準(zhǔn)確的結(jié)果,但這樣會(huì)導(dǎo)致算法復(fù)雜度過(guò)高,不利于實(shí)際應(yīng)用。受多跳認(rèn)知無(wú)線網(wǎng)絡(luò)[16]和認(rèn)知中繼網(wǎng)絡(luò)[17]中中繼選擇和路由策略方向相關(guān)研究的啟發(fā),同時(shí)為了減少算法復(fù)雜度,本文提出了一種基于中繼簇(cluster)的候選中繼確定方法,在中繼選擇時(shí)只把某些區(qū)域中的空閑設(shè)備當(dāng)作候選中繼,然后從中選出最后所需的中繼。
假設(shè)S到D之間需要進(jìn)行M(M≥3)跳D2D通信,則共需要從M-1個(gè)中繼簇中選出M-1個(gè)空閑設(shè)備作為中繼。中繼簇的位置由S和D的位置以及事先設(shè)定的距離在S和D之間確定,S和D之間的中繼簇示意圖如圖2所示。每一個(gè)中繼簇均為圓心在S和D的連線上、半徑為r的圓形區(qū)域。第一個(gè)中繼簇的圓心與S之間的距離為r,之后的每一個(gè)中繼簇的圓心與前一個(gè)中繼簇的圓心之間的距離為L(zhǎng)(L>2r),D與最后一個(gè)中繼簇的圓心之間的距離用l表示,0<l≤L。
圖2 S和D之間的中繼簇示意圖
在本文中,為了提高頻譜利用率,D2D設(shè)備通過(guò)復(fù)用蜂窩設(shè)備的頻譜實(shí)現(xiàn)通信。為了避免多跳鏈路之間的互干擾以及全雙工帶來(lái)的自干擾,D2D通信的每一跳復(fù)用不同蜂窩設(shè)備的頻譜,即中繼工作在頻分雙工模式。另外,D2D通信復(fù)用蜂窩設(shè)備的上行頻譜,一方面復(fù)用下行頻譜時(shí)蜂窩設(shè)備接收干擾信號(hào),復(fù)用上行頻譜時(shí)基站接收干擾信號(hào),而基站處理干擾的能力一般強(qiáng)于蜂窩設(shè)備;另一方面,相比于下行頻譜,上行頻譜通常未被充分利用[18]。另外,D2D通信的每一跳復(fù)用不同蜂窩設(shè)備的頻譜,所以雖然在本文的模型中所有中繼均工作在全雙工模式,但各跳的信道干擾情況可以單獨(dú)分析。多跳D2D通信第m跳干擾示意圖如圖3所示,假設(shè)Tm和Rm分別為多跳D2D通信第m跳的發(fā)射設(shè)備和接收設(shè)備,Cm為該跳復(fù)用的頻譜所對(duì)應(yīng)的蜂窩設(shè)備。
圖3 多跳D2D通信第m跳干擾示意圖
為了保證蜂窩設(shè)備的正常通信,BS從Cm處接收的信號(hào)的信干噪比()需要達(dá)到一定的門(mén)限值,即:
其中,PCm表示Cm的發(fā)射功率(假設(shè)對(duì)于所有m,PCm均等于PC),PTm表示Tm的發(fā)射功率,,分別表示Cm和BS之間的距離和信道增益,、分別表示Tm和BS之間的距離和信道增益,rth表示BS能正確解碼Cm發(fā)送的信號(hào)所需要的最小信干噪比(signal to interference plus noise ratio,SINR),N0表示背景高斯白噪聲的功率。由式(5)可以得到:
?。?/p>
綜上所述,多跳D2D通信第m跳復(fù)用蜂窩設(shè)備選擇示意圖如圖4所示,做一直線連接Rm所在中繼簇的圓心和基站并反向延長(zhǎng)(在最后一跳Rm即是D,中繼簇的圓心即是D的位置),以延長(zhǎng)線上一點(diǎn)為圓心、r/2為半徑做一與保護(hù)區(qū)域邊界內(nèi)切的圓,從該圓形區(qū)域內(nèi)的蜂窩設(shè)備中選出到基站的接收信號(hào)功率最大的蜂窩設(shè)備作為第m跳復(fù)用的蜂窩設(shè)備。合理地設(shè)置R的數(shù)值既能避免D2D對(duì)基站造成嚴(yán)重的干擾,又能減小,增加,由式(8)可知第m跳的將增加,即該跳的吞吐量將增加。綜上所述,根據(jù)上述過(guò)程選取的蜂窩設(shè)備可以改善D2D鏈路的吞吐量性能,同時(shí)又能保證蜂窩設(shè)備的QoS。
圖4 多跳D2D通信第m跳復(fù)用蜂窩設(shè)備選擇示意圖
多跳D2D通信在每一跳中既要從多個(gè)蜂窩設(shè)備中選出被復(fù)用頻譜的設(shè)備,又要從中繼簇中的多個(gè)空閑設(shè)備中選出中繼,涉及的設(shè)備數(shù)量過(guò)多,如果完全由基站以集中式完成中繼選擇過(guò)程,必然會(huì)給基站帶來(lái)過(guò)量負(fù)載和大量信令開(kāi)銷(xiāo)。本文提出的中繼選擇算法能夠以半集中式的方式執(zhí)行,基站只需完成D2D多跳通信開(kāi)始時(shí)的信道參數(shù)、節(jié)點(diǎn)位置等信息的收集及少量的數(shù)據(jù)處理,中繼選擇則由參與多跳D2D通信的設(shè)備自行完成。
假設(shè)S和D之間的D2D通信總共M跳,則需要復(fù)用M個(gè)蜂窩設(shè)備的頻譜,用F={f1,f2,…,fM}表示第一跳到第M跳復(fù)用的頻譜。另外需要M-1個(gè)中繼設(shè)備,這M-1個(gè)中繼設(shè)備從M-1個(gè)中繼簇中選出,從簇 1到簇M-1確定的中繼分別用R1,R2,…,RM?1表示,每個(gè)中繼簇中有N個(gè)空閑設(shè)備作為候選中繼。用Pn′,m表示由式(4)得到的第m個(gè)中繼簇中第n個(gè)空閑設(shè)備在考慮社交關(guān)系的情況下的發(fā)射功率,用P′ ={P1′,1,… ,Pn′,m,… ,PN′,M?1}表示各中繼簇內(nèi)的空閑設(shè)備在考慮社交關(guān)系情況下的發(fā)射功率集。用Pn′′,m表示由式(7)得到的第m個(gè)中繼簇中第n個(gè)空閑設(shè)備在考慮干擾的情況下的最大發(fā)射功率。
忽略設(shè)備發(fā)現(xiàn)過(guò)程,具體的中繼選擇過(guò)程如下。
步驟1S、D發(fā)送D2D多跳通信請(qǐng)求到BS。
步驟2BS首先確定S、D的位置,然后根據(jù)第2.1節(jié)的方法確定各中繼簇的位置、范圍、其中包含的空閑設(shè)備和各空閑設(shè)備的位置,并通知各中繼簇中的空閑設(shè)備其已被選作對(duì)應(yīng)簇中的候選中繼。接著根據(jù)數(shù)據(jù)庫(kù)內(nèi)的通話記錄計(jì)算所有空閑設(shè)備與S和D的社交關(guān)系并得到集合P',根據(jù)D及各簇的位置由第2.2節(jié)的方法確定各跳復(fù)用頻譜對(duì)應(yīng)的蜂窩設(shè)備共M個(gè),記錄這些蜂窩設(shè)備的頻譜F。最后,BS記錄S、各簇中的空閑設(shè)備與BS之間的信道增益,連同S、D和各簇中空閑設(shè)備的位置以及集合P'、F發(fā)送給D。
步驟3D將從BS處接收的數(shù)據(jù)發(fā)送給簇M-1中的空閑設(shè)備并將自己信號(hào)接收頻率設(shè)為fm。
步驟4簇M-1中的各空閑設(shè)備根據(jù)式(7)計(jì)算在考慮干擾的情況下其發(fā)射功率最大值然 后 取{P1,M?1,… ,PN,M?1}=min{{·},{·}}表示取集合對(duì)應(yīng)元素最小值。假設(shè)簇M-1中的各空閑設(shè)備在從D處收到數(shù)據(jù)的同時(shí)可以獲得他們與 D之間的信道增益,則根據(jù){P1,M?1,… ,PN,M?1}、簇M-1中的各空閑設(shè)備到D的信道增益由式(1)可得到他們發(fā)送信號(hào)給D時(shí)D的接收信號(hào)功率。然后各個(gè)空閑設(shè)備開(kāi)啟一個(gè)終止時(shí)間與其到D的接收信號(hào)功率成反比的計(jì)時(shí)器,接收信號(hào)功率最大的空閑設(shè)備的計(jì)時(shí)器最先結(jié)束,該設(shè)備即RM?1。然后RM?1向簇M-1中的其他空閑設(shè)備廣播一條自己已被選作中繼的消息,簇M-1中的其他空閑設(shè)備遂停止計(jì)數(shù)并得知自己未被選中。最后RM?1將從D處接收到的數(shù)據(jù)發(fā)送給簇M-2中的空閑設(shè)備,并將自己的信號(hào)發(fā)送頻率設(shè)為fM,信號(hào)接收頻率設(shè)為fM?1。
步驟 5各簇中的空閑設(shè)備重復(fù)步驟 4中的處理過(guò)程直至S根據(jù)式(7)確定其發(fā)射功率,并將其信號(hào)發(fā)送頻率設(shè)為f1。
步驟6S開(kāi)始D2D通信。
可以看出,根據(jù)上述步驟確定多跳通信鏈路后,每一跳的 SINR也即確定,故可用香農(nóng)公式計(jì)算每一跳的吞吐量。假設(shè)蜂窩設(shè)備頻譜帶寬用B表示,則第一跳的吞吐量為:
中間第m跳的吞吐量為:
最后一跳的吞吐量為:
由于所有中繼設(shè)備均工作在全雙工模式,因此整條多跳D2D通信鏈路的吞吐量由吞吐量最小的那一跳的吞吐量決定,即多跳D2D通信的吞吐量為:
本節(jié)給出所提出的算法通過(guò)仿真得到的數(shù)值結(jié)果,并與對(duì)比算法進(jìn)行比較。仿真模擬了一個(gè)半徑為 500 m、以配備全方向天線的基站為中心的圓形單小區(qū)蜂窩場(chǎng)景,蜂窩設(shè)備和空閑設(shè)備在小區(qū)內(nèi)隨機(jī)均勻分布。詳細(xì)的仿真參數(shù)及其取值見(jiàn)表1。仿真中的社交感知(social awareness,SA)和非社交感知(social unawareness,SUA)算法為本文所提算法,SA算法中空閑設(shè)備的發(fā)射功率既考慮對(duì)蜂窩設(shè)備的干擾、同時(shí)也考慮社交關(guān)系,SUA算法中空閑設(shè)備的發(fā)射功率只考慮對(duì)蜂窩設(shè)備的干擾,不考慮社交關(guān)系;MLS0(max link selection,最大鏈路選擇)、HTPRS0(highest transmit power relay selection,最大發(fā)射功率中繼選擇)為對(duì)比算法,由于認(rèn)知無(wú)線網(wǎng)絡(luò)中的一些多跳中繼選擇算法所考慮的系統(tǒng)模型與本文的系統(tǒng)模型類(lèi)似,因此MLS和HTPRS均選自認(rèn)知無(wú)線網(wǎng)絡(luò)相關(guān)文獻(xiàn)。
表1 仿真參數(shù)及其取值
不同S和D間距離下算法吞吐量比較如圖5所示,可以看出所有算法的吞吐量均隨著距離的增加而減少,這是因?yàn)殡S著距離的增加,所增加的跳只會(huì)導(dǎo)致各跳吞吐量的最小值不變或減少,所以整條鏈路的吞吐量會(huì)相應(yīng)減少。在距離相等的情況下 SUA算法的吞吐量高于 MLS和HTPRS,這是因?yàn)镾UA算法選擇中繼的指標(biāo)與每一跳的 SINR直接相關(guān),能夠選出性能更好的中繼。而在距離相等的情況下 SA算法的吞吐量不如SUA,這是因?yàn)镾A算法對(duì)所有空閑設(shè)備的發(fā)射功率施加了額外的社交關(guān)系約束,所以 SA算法選出的中繼的發(fā)射功率必定小于SUA算法選出的中繼。
圖5 不同S和D間距離下算法吞吐量比較
不同中繼簇中空閑設(shè)備數(shù)量下算法吞吐量比較如圖6所示。結(jié)果表明,SUA、SA和MLS 3種算法的吞吐量均隨著空閑設(shè)備數(shù)量的增加而增加,這是因?yàn)殡S著空閑設(shè)備數(shù)量的增加,這3種算法能有更大的概率選出性能更好的空閑設(shè)備作為中繼,而HTPRS算法選擇中繼時(shí)隨機(jī)性更大,無(wú)法利用更多的空閑設(shè)備這一優(yōu)勢(shì)。在空閑設(shè)備數(shù)量相同的情況下 SUA算法的吞吐量大于MLS和 HTPRS的吞吐量,而 SA算法的吞吐量不如SUA算法的吞吐量。
圖6 不同中繼簇中空閑設(shè)備數(shù)量下算法吞吐量比較
不同S和D間距離下算法能量效率比較如圖7所示,能量效率定義為鏈路吞吐量與所有參與多跳D2D通信的設(shè)備的實(shí)際發(fā)射功率之和的比。結(jié)果表明所有算法的能量效率均隨著距離的增加而減少,這是因?yàn)殡S著距離的增加參與D2D通信的中繼數(shù)量也在增加,這導(dǎo)致發(fā)射功率之和隨之增加,而所有算法的吞吐量隨著距離的增加而減小,因此能量效率減小。在距離相等的情況下SUA算法的能量效率優(yōu)于MLS和HTPRS,而SA算法的能量效率遠(yuǎn)遠(yuǎn)超過(guò)其他3種算法。這是由于SA算法通過(guò)對(duì)所有空閑設(shè)備施加額外的社交關(guān)系約束,減少了每一跳被選出的中繼的發(fā)射功率,因此發(fā)射功率之和大幅減少,雖然SA算法比SUA的吞吐量要低,它的能量效率卻遠(yuǎn)遠(yuǎn)超過(guò)了另外3種算法。
圖7 不同S和D間距離下算法能量效率比較
不同中繼簇中空閑設(shè)備數(shù)量下算法能量效率比較如圖8所示。結(jié)果表明SUA、SA和MLS 3種算法的能量效率均隨空閑設(shè)備數(shù)量的增加而增加,HTPRS的能量效率均隨空閑設(shè)備數(shù)量的增加基本保持不變。在空閑設(shè)備數(shù)量相同的情況下SUA的能量效率優(yōu)于MLS和HTPRS,而SA算法的能量效率遠(yuǎn)遠(yuǎn)超過(guò)其他3種算法。
圖8 不同中繼簇中空閑設(shè)備數(shù)量下算法能量效率比較
SA和SUA算法性能比較見(jiàn)表2,總結(jié)了SA和SUA兩種算法在不同S和D之間距離下的性能比較??梢钥闯?,SA和SUA兩種算法在吞吐量和能量效率兩方面的性能差異很大,且在能量效率方面 SA相比于 SUA有很大優(yōu)勢(shì),因此在D2D中繼選擇算法的研究中不能忽略社交域信息的作用。
表2 SA和SUA算法性能比較
本文提出了一種用于單小區(qū)蜂窩網(wǎng)絡(luò)下多跳D2D通信的中繼選擇算法。首先在算法中引入了持有設(shè)備的用戶之間的社交關(guān)系,以解決設(shè)備充當(dāng)中繼時(shí)的意愿問(wèn)題,并使算法更具有現(xiàn)實(shí)意義;其次為了提高多跳D2D鏈路的吞吐量,不同于以往假設(shè)中繼是半雙工設(shè)備的研究,本文的模型基于全雙工中繼;然后為了避免全雙工帶來(lái)的嚴(yán)重的干擾,令中繼工作在頻分雙工模式;最后通過(guò)合理設(shè)計(jì),算法能夠在較少依賴基站的情況下運(yùn)行,有利于實(shí)際工程實(shí)現(xiàn)。蒙特卡洛仿真驗(yàn)證了所提算法的性能。仿真結(jié)果表明所提算法在不考慮社交關(guān)系信息時(shí)吞吐量和能量效率均優(yōu)于對(duì)比算法,在考慮社交關(guān)系信息時(shí)吞吐量會(huì)小幅下降,但能量效率會(huì)大幅提高。這使本文所提算法在電池技術(shù)沒(méi)有突破性進(jìn)展和倡導(dǎo)節(jié)能減排的今天具有一定的實(shí)際應(yīng)用價(jià)值。