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