朱申丹,徐鍵卉
(陸軍工程大學(xué)通信工程學(xué)院,江蘇 南京 210001)
D2D(Device-to-Device)通信是一種允許移動終端在通信系統(tǒng)的控制下使用系統(tǒng)授權(quán)頻段進(jìn)行點到點通信的終端間直接通信技術(shù)[1]。在小范圍且更靠得住的無線信道間,D2D網(wǎng)絡(luò)中終端設(shè)備可以相互協(xié)作互換數(shù)據(jù),該方法不但能節(jié)約基站的無線資源,更能夠進(jìn)一步提高數(shù)據(jù)傳輸?shù)目煽啃?。但由于無線信道傳輸中的數(shù)據(jù)包容易丟失,D2D網(wǎng)絡(luò)的終端間也需要高效的數(shù)據(jù)傳輸方式來提高效率。
網(wǎng)絡(luò)編碼(Network Coding,NC)在2000年由Ahlswede[2]等人首次提出,它可以有效提升通信網(wǎng)絡(luò)的容量和傳輸效率,并且能夠最大限度地減少有線和無線通信系統(tǒng)的延遲。文獻(xiàn)[3]在網(wǎng)絡(luò)編碼提出之后提出的機(jī)會式網(wǎng)絡(luò)編碼(Opportunistic Network Cording,ONC)可以很好地運(yùn)用到無線網(wǎng)絡(luò)中。其思維是在編碼條件已滿足的情況下,通過簡單的異或(Exclusive or,XOR)運(yùn)算把多個數(shù)據(jù)包變成編碼包,在這里每個數(shù)據(jù)包都有可能去參與編碼。在收到編碼包后,假如終端設(shè)備僅僅只是丟失編碼包集合中的某一個數(shù)據(jù)包,該終端就可以對編碼包進(jìn)行解碼并恢復(fù)丟包。因而機(jī)會網(wǎng)絡(luò)編碼是一種更適用于時延應(yīng)用場景的網(wǎng)絡(luò)編碼組織方案。結(jié)合網(wǎng)絡(luò)編碼的優(yōu)勢和D2D網(wǎng)絡(luò)的特點,將編碼復(fù)雜度低的機(jī)會網(wǎng)絡(luò)編碼應(yīng)用于D2D網(wǎng)絡(luò)的終端協(xié)作數(shù)據(jù)交換中,可使D2D網(wǎng)絡(luò)在原有優(yōu)勢的基礎(chǔ)上降低終端間數(shù)據(jù)交換傳輸次數(shù)的同時降低時延,從而進(jìn)一步提升D2D網(wǎng)絡(luò)的傳輸性能[4]。文獻(xiàn)[5]是從近似動態(tài)規(guī)劃(Approximate Dynamic Programming,ADP)的思想角度求解問題,將編碼組合的選取轉(zhuǎn)化為編碼向量的優(yōu)化問題,進(jìn)而提出了高效的BPPE算法。針對基于 D2D網(wǎng)絡(luò)的無線廣播場景,文獻(xiàn)[6-7]為了降低重傳次數(shù)分別提出了明確性算法和隨機(jī)性算法。為了提高D2D協(xié)作傳輸?shù)男剩档椭貍鞔螖?shù),文獻(xiàn)[8]對基于立即可譯網(wǎng)絡(luò)編碼(Instantly Decodable Network Coding,IDNC)的調(diào)度方案進(jìn)行了研究,同時對發(fā)送設(shè)備的次序以及廣播的編碼包進(jìn)行了優(yōu)化。考慮數(shù)據(jù)包具有不同的交付時間限制,文獻(xiàn)[9]提出了時延感知的網(wǎng)絡(luò)編碼重傳方案,以最大限度地提高無線設(shè)備能夠及時解碼的數(shù)據(jù)包個數(shù)。
從網(wǎng)絡(luò)編碼應(yīng)用于無線廣播網(wǎng)絡(luò)中得到啟發(fā),最近的一些研究工作目的在于開發(fā)解決方案,利用網(wǎng)絡(luò)編碼來加速D2D網(wǎng)絡(luò)中的協(xié)作數(shù)據(jù)交換過程。由于無線網(wǎng)絡(luò)固有的廣播特性,結(jié)合D2D與網(wǎng)絡(luò)編碼技術(shù),可以在包括蜂窩、傳感器、車載、認(rèn)知網(wǎng)絡(luò)等許多類型的無線網(wǎng)絡(luò)中實現(xiàn)傳輸速率、服務(wù)質(zhì)量以及能量效率的明顯而有效的提升。
在現(xiàn)有的研究基礎(chǔ)上,本文主要研究D2D網(wǎng)絡(luò)中基于機(jī)會網(wǎng)絡(luò)編碼的協(xié)作重傳問題,針對D2D網(wǎng)絡(luò)中的協(xié)作數(shù)據(jù)傳輸場景,提出了性能優(yōu)異的結(jié)合啟發(fā)式編碼算法的雙接口重傳方式,進(jìn)而提升了無線通信網(wǎng)絡(luò)的整體性能。
在無線網(wǎng)絡(luò)編碼廣播場景下,對蜂窩與D2D協(xié)作下的網(wǎng)絡(luò)編碼重傳方法做出研究。本文提出一種結(jié)合蜂窩鏈路與D2D鏈路進(jìn)行調(diào)度的網(wǎng)絡(luò)編碼重傳方式來進(jìn)一步提高重傳效率。仿真結(jié)果表明,在不同條件(終端數(shù)量、數(shù)據(jù)包數(shù)目)下,本文提出重傳方式能夠大大削減重傳次數(shù)、有效地提高重傳效率。
終端{(lán)R1,R2,R3}想要從基站處得到數(shù)據(jù)包{P1,P2,P3,P4},其中,終端R1丟失數(shù)據(jù)包P1,終端R2丟失數(shù)據(jù)包P2,終端R3丟失數(shù)據(jù)包P3和P4。基站依據(jù)終端的反饋信息,對P1,P2和P3使用機(jī)會式網(wǎng)絡(luò)編碼產(chǎn)生編碼包P*=P1⊕P2⊕P3并且進(jìn)行重傳,終端可以依據(jù)已收到的數(shù)據(jù)包對編碼包進(jìn)行解碼,從而恢復(fù)各自丟失的數(shù)據(jù)包,在這R1可以依據(jù)P1=P*⊕P2⊕P3恢復(fù)P1,R2可以依據(jù)P2=P*⊕P1⊕P3恢復(fù)P2,同理可得R3也可以恢復(fù)出P3和P4。
考慮圖1所示的無線廣播場景,基站S向M個終端設(shè)備R={R1,R2,…,RM}廣播N個數(shù)據(jù)包P={P1,P2,…,PN},考慮每個終端設(shè)備都配有無線雙接口,并且兩個接口使用不同的頻段,其中D2D接口通過D2D鏈路與其他終端建立連接,而蜂窩接口則通過蜂窩鏈路與基站相連。同時整個體系采取集中控制的方法,由基站做出所有的傳輸決議,并將決議廣播給D2D的發(fā)送終端。
整個傳輸過程可以分為初始播送階段與重傳階段。在初始播送階段,基站在固定時隙間隔之下把N個源數(shù)據(jù)包廣播給各個終端。在這個階段,為了能夠減少能量的消耗,終端只能經(jīng)由蜂窩鏈路來接收數(shù)據(jù)包,而D2D接口始終處于關(guān)閉狀態(tài)。因為無線衰落信道的“丟包”作用,各個終端會有不同程度的丟包情況,而在接收數(shù)據(jù)包的同時,各個終端通過控制幀將數(shù)據(jù)包的接收狀態(tài)信息反饋給基站。為了達(dá)到既能夠快速恢復(fù)丟失數(shù)據(jù)包又可以減輕基站負(fù)載的目的,在重傳階段終端同時利用雙接口工作,在蜂窩鏈路與D2D鏈路協(xié)作下進(jìn)行數(shù)據(jù)重傳。換言之,每一個終端在單個重傳時隙至多能收到兩個編碼包,一個來自于基站,另一個來自被選為D2D鏈路廣播源的發(fā)送終端。為了達(dá)到更加有效應(yīng)用有限資源(如終端設(shè)備的能量、帶寬等)的目的,要在每一個重傳時隙做出最好的調(diào)度決議,進(jìn)一步提高重傳效率。因而,本文的重點是設(shè)計和開發(fā)高效的網(wǎng)絡(luò)編碼調(diào)度方法,并研究其傳輸性能。
圖1 D2D場景中網(wǎng)絡(luò)編碼的傳輸示例
定義1 反饋矩陣Ω?;維依據(jù)終端的反饋信息創(chuàng)建或更新數(shù)據(jù)包接收反饋矩陣。Ω是M行N列的矩陣,其中M為終端數(shù)目,N為數(shù)據(jù)包數(shù)目,Ωij=1表示Ri收到數(shù)據(jù)包Pj,否則Ωij=0。
定義2 需求量集合V。需求量指的是當(dāng)下有多少終端需要某個數(shù)據(jù)包,用VPj表示數(shù)據(jù)包的需求量大小,而且有集合V={VP1,VP2,…,VPN}。
定義3 編碼集合C。用來記錄當(dāng)下有哪些數(shù)據(jù)包已經(jīng)加入編碼,初始化C=φ,在這里面不限定C的大小直到不滿足具體的編碼條件為止。
定義4 可結(jié)合因子。假如兩個丟失包在任何終端都不同時丟失,那么其中的一個數(shù)據(jù)包就稱為另一數(shù)據(jù)包的可結(jié)合因子。用rPk表示所有與數(shù)據(jù)包Pk互為可結(jié)合因子的數(shù)據(jù)包集合。
定義5 相斥因子。假如在一個終端內(nèi)存在多個數(shù)據(jù)包丟失,那么這幾個數(shù)據(jù)包中任意兩個數(shù)據(jù)包都互為相斥因子。
這里采取一種啟發(fā)式編碼算法,首先考慮數(shù)據(jù)包需求量大小,因為需求量大的數(shù)據(jù)包對全局的影響最大,所以優(yōu)先將這類數(shù)據(jù)包加入編碼集合;其次再考慮數(shù)據(jù)包的可結(jié)合因子,只要還存在可加入的數(shù)據(jù)包,就繼續(xù)向編碼集合加入數(shù)據(jù)包,這里面不限定加入編碼集合的數(shù)據(jù)包數(shù)目;最后,基站S對編碼集合里的數(shù)據(jù)包進(jìn)行編碼并重傳,各個終端將編碼包進(jìn)行解碼進(jìn)而恢復(fù)丟失的數(shù)據(jù)包。整個重傳過程詳細(xì)地分為下面5個步驟:
步驟1:在完成初始播送或某一次重傳之后,基站S依據(jù)各個終端的反饋信息,創(chuàng)建或更新反饋矩陣Ω。
步驟2:基站S計算或更新數(shù)據(jù)包的需求量,計算公式為:
步驟3:基站S計算每一個丟失包的可結(jié)合包集合。用L表示丟失包,Li表示某一個終端Ri(i=1,2,…,M)的丟失數(shù)據(jù)包,則數(shù)據(jù)包Pk(Pk∈L)的可結(jié)合包集合rPk的計算公式為:
步驟4:生成編碼包。
蜂窩接口側(cè):基站S把需求量大的終端丟失包Li以及它的可結(jié)合包集合加入編碼包,并將編碼包通過蜂窩鏈路傳給各個終端。
D2D接口側(cè):基站S選擇接收到的數(shù)據(jù)包最多的終端作為發(fā)送終端,把其余終端丟失的數(shù)據(jù)包與發(fā)送終端收到的數(shù)據(jù)包作比較,產(chǎn)生相應(yīng)編碼包,將編碼包通過D2D鏈路傳給各終端。
步驟5:每收到一個編碼包,各個終端就能夠依據(jù)已經(jīng)收到的數(shù)據(jù)包信息直接進(jìn)行譯碼,更新終端處的數(shù)據(jù)包狀態(tài)信息,進(jìn)而重新更新需求量V。若需求量為空集,則代表所有丟失數(shù)據(jù)包都已成功恢復(fù);若不為空集,則代表仍然存在丟失現(xiàn)象,繼續(xù)新一輪的重傳。
本文以平均重傳次數(shù)和重傳所需時間作為性能指標(biāo)進(jìn)行了仿真實驗,來驗證所提的雙接口重傳方式。主要和下面兩種方式進(jìn)行對比:(1)單接口方式,該方式考慮終端設(shè)備只使用蜂窩接口,并且采取機(jī)會網(wǎng)絡(luò)編碼策略,每一個時隙基站通過蜂窩鏈路播送編碼包;(2)不采取網(wǎng)絡(luò)編碼的方式,但終端同時利用蜂窩與D2D接口。
假定同一信道的丟包幾率在播送周期內(nèi)保持穩(wěn)定。在數(shù)據(jù)包N=20固定不變的情況下,圖2給出了3種方式的重傳次數(shù)隨著終端數(shù)量M的變化趨向。從圖2中可以看出,和采取單個接口的方式比,本文提出的雙接口方式在極大程度上削減了重傳次數(shù)。這說明在網(wǎng)絡(luò)編碼廣播場景中,各個終端同時使用雙接口,并且采用不同頻段以及公道的調(diào)度方法進(jìn)行播送重傳可以大大提高重傳效率。而相比較于其他方式,不采用網(wǎng)絡(luò)編碼的方式性能最不好,這表明網(wǎng)絡(luò)編碼技術(shù)能夠有效提高體系吞吐量。
圖2 重傳次數(shù)VS.終端數(shù)量
同樣地假定同一信道的丟包幾率在播送周期內(nèi)保持穩(wěn)定。在終端數(shù)量M=15固定不變的情況下,圖3給出了3種方式的重傳次數(shù)隨著數(shù)據(jù)包數(shù)量N的變化趨向。從圖3中可以看出,與其他方式相比,雙接口方式可以極大地削減重傳次數(shù)。雖然3種方式的重傳次數(shù)都跟著數(shù)據(jù)包個數(shù)的增長而線性增長,但是所提方式的重傳次數(shù)增長率明顯低于其他兩種方式,因而當(dāng)數(shù)據(jù)包數(shù)量N越來越大時,雙接口的性能增益更加顯著。
圖3 重傳次數(shù)VS.數(shù)據(jù)包數(shù)量
數(shù)據(jù)包數(shù)量穩(wěn)定N=20,且假定同一信道的丟包幾率在播送周期內(nèi)保持穩(wěn)定。圖4給出了3種方式的重傳所需時間。從圖4中可以看出,相比較于其他方式,雙接口方式在重傳所需時間方面有了明顯地下降。此外,伴隨著數(shù)據(jù)包數(shù)目的增多,丟失的數(shù)據(jù)包會越來越多,而恢復(fù)全部數(shù)據(jù)包所需的重傳時間也隨之增大,但總體來看,雙接口方式的重傳所需時間增長率最低。
圖4 重傳所需時間VS.終端數(shù)量
在不久的將來,智能移動設(shè)備會被不斷普及,而物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、認(rèn)知網(wǎng)等無線網(wǎng)絡(luò)也正在興起,那么數(shù)據(jù)流量必然會迎來爆發(fā)性的增長。設(shè)備的海量接入、各類新型業(yè)務(wù)的不斷涌現(xiàn)以及各種應(yīng)用場景,使得現(xiàn)有無線網(wǎng)絡(luò)中的數(shù)據(jù)傳輸有了更高的要求。針對D2D網(wǎng)絡(luò)下的網(wǎng)絡(luò)編碼廣播場景,本文研究了相應(yīng)的網(wǎng)絡(luò)編碼播送及重傳方式,進(jìn)而提高傳輸效率。本文的主要創(chuàng)新點可以總結(jié)如下:
針對D2D場景下的網(wǎng)絡(luò)編碼協(xié)作重傳問題,本文采用終端設(shè)備配有雙接口的網(wǎng)絡(luò)編碼廣播傳輸場景,來進(jìn)一步地提高D2D場景下的重傳效率,削減傳輸次數(shù)。為了針對不同的應(yīng)用需求,結(jié)合機(jī)會網(wǎng)絡(luò)編碼(ONC)的編碼特點,提出了聯(lián)合蜂窩鏈路和D2D鏈路的編碼調(diào)度方法。仿真結(jié)果表明,與傳統(tǒng)的重傳方式比較,所提方式可以有效地提高重傳效率。