羅 康,張勝利,丁 凡,2
(1. 深圳大學 信息工程學院,廣東 深圳 518000;2.韶關學院 物理與機電工程學院,廣東 韶關 512005)
物理層網絡編碼系統中ARQ的設計*
羅 康1,張勝利1,丁 凡1,2
(1. 深圳大學 信息工程學院,廣東 深圳 518000;2.韶關學院 物理與機電工程學院,廣東 韶關 512005)
在物理層網絡編碼系統中,鏈路層差錯控制采用基于終端節(jié)點的自動重傳請求(TO-ARQ)方案。文中針對TO-ARQ系統存在傳輸速率慢、延時較大的缺點,在TO-ARQ的基礎上,提出了一種基于終端和中繼的自動重傳請求(TR-ARQ)方案。該方案在中繼接收的物理層網絡編碼數據包受損時,中繼將立即發(fā)送反饋信息請求終端節(jié)點重傳相應的數據分組,從而降低數據傳輸的反饋延時。實驗結果表明,相比TO-ARQ,TR-ARQ方案改善了系統的延時,并顯著提高了系統的傳輸速率。
物理層網路編碼;鏈路層差錯控制;TO-ARQ方案;TR-ARQ方案
網絡編碼[1](Network Coding, NC)的概念最早在有線網絡中提出,研究發(fā)現利用NC技術可以提高系統資源利用率和提升網絡吞吐量。2006年,Zhang等人[2]將網絡編碼的思想應用到無線網絡中,創(chuàng)新性地提出了物理層網絡編碼(Physical-layer Network Coding, PNC)的概念。其基本思想是中繼節(jié)點將同時接收到的疊加的電磁波信號映射為相應數據比特的異或,從而有效提升網絡吞吐量和系統的傳輸效率。物理層網絡編碼與網絡編碼相比,系統獲得了更大的吞吐量增益,因此獲得越來越多的關注[3-4]。
雙向中繼信道作為一種典型的傳輸信道,常常應用于物理層網絡編碼的研究中,其簡單模型為兩個終端節(jié)點通過中繼節(jié)點交換信息。Lu Lu等人[5-6]在軟件定義無線電平臺上實現了雙向中繼信道的物理層網絡編碼系統,為PNC的進一步應用奠定了堅實基礎。然而,在PNC的實現過程中,由于信號在傳輸過程中一定會受到各種衰落和干擾的影響,為了對抗無線信道中不利因素的影響,實現可靠有效的數據通信,需要采用具有差錯檢測功能的ARQ技術。在PNC系統中,鏈路層差錯控制采用端到端的ARQ機制[6],即基于終端節(jié)點的ARQ(TO-ARQ),但存在傳輸速率慢、延時較大的缺點。本文在Lu Lu等人的研究基礎上,根據參與ARQ機制節(jié)點的不同,提出了一種基于終端節(jié)點和中繼的ARQ(TR-ARQ)方案。相比TO-ARQ,TR-ARQ在中繼接收PNC映射數據包出錯時,中繼將發(fā)送NACK信息請求終端節(jié)點重傳相應的數據分組,從而降低數據傳輸的反饋延時。相比TO-ARQ,TR-ARQ改善了系統的延時,提高了系統的傳輸速率。
本文考慮的物理層網絡編碼系統模型如圖1所示。終端節(jié)點A、B之間希望傳輸各自的信息給對方,但節(jié)點A、B均不在對方的可靠通信范圍之內,所以只能通過中繼R協作進行通信。
終端節(jié)點A、B之間的信息交互由兩個階段組成,多址接入(MA)階段和廣播(BC)階段。假設節(jié)點A、B之間交換K個分組,分別用SA[i]和SB[i]表示,其中i=0,1,...,K-1。在MA階段,節(jié)點A、B分別向中繼R同時發(fā)送分組SA[i]和SB[i],在BC階段,中繼R將收到的疊加的信息分組映射成網絡編碼的數據包SR[i]。
SR[i]=SA[i]⊕SB[i],i=0,...,K-1
(1)
當獲得的SR[i]正確時,中繼R將SR[i]廣播給節(jié)點A、B,因為節(jié)點A、B已知各自的發(fā)送信息,可以分別利用自己的信息從成功接收到的XOR包中獲取另一個節(jié)點的數據,實現信息的交互。
SB[i]=SR[i]⊕SA[i],i=0,...,K-1
(2)
SA[i]=SR[i]⊕SB[i],i=0,...,K-1
(3)
在節(jié)點A、B信息交互過程中,因為無線信道中的路徑損耗、衰落等因素的影響,系統在MA和BC階段都有可能出錯。在MA階段,中繼R可能丟失XOR數據包或者獲得的XOR數據包受損。在BC階段,節(jié)點A、B可能丟失XOR數據包或者接收的XOR數據包受損。為了確保數據的正確傳輸,提高系統的傳輸效率,必須重傳出錯的數據包。接下來首先介紹PNC系統中基于終端節(jié)點的重傳方案TO-ARQ,然后介紹改進的基于終端節(jié)點和中繼的重傳方案TR-ARQ。
1.1 TO-ARQ方案
TO-ARQ方案是端到端的ARQ方案,即基于終端節(jié)點的ARQ。在TO-ARQ中,中繼不參與ARQ過程,中繼只轉發(fā)正確的網絡編碼的數據包,并且在MA階段,如果中繼獲得的XOR數據包出錯,中繼不請求終端節(jié)點重傳相應的數據分組。文獻[7-8]介紹了PNC系統中TO-ARQ方案,采用的是窗為N的自動選擇重傳,ACK放在數據包的頭部。圖2介紹了在TO-ARQ中中繼獲得的XOR數據包錯誤時的情景,其中終端節(jié)點數據分組的第一位數字代表分組的序號,第二位數字代表ACK。假設N=8,節(jié)點A、B分別發(fā)送分組SA[0]、SB[0]時,中繼節(jié)點獲得的網絡編碼數據包SR[0]為False。在TO-ARQ方案中,中繼節(jié)點不發(fā)送NACK信息請求終端節(jié)點重傳,節(jié)點A、B將分別丟失分組SB[0]、SA[0]。節(jié)點A、B在窗內繼續(xù)發(fā)送,并將正確接收的失序分組緩存,當發(fā)送窗的長度等于8時,重發(fā)分組SA[0]、SB[0]。節(jié)點A、B按序接收到丟失的分組SB[0]、SA[0]后,將緩存的數據一起按序交付給上層應用,然后發(fā)送ACK=8。當節(jié)點A、B收到ACK后,采用累積確認的方式,更新發(fā)送窗口為[8,15]。
1.2 TR-ARQ方案
TR-ARQ是基于終端節(jié)點和中繼的重傳方案,中繼和終端節(jié)點都參與ARQ過程,采用的是窗為N的自動選擇重傳。在TO-ARQ方案中,中繼獲得的XOR數據包出錯時,中繼不請求終端節(jié)點重發(fā)使XOR數據包出錯的分組。在TR-ARQ方案中,中繼發(fā)送NACK信息請求終端節(jié)點重傳相應的分組。圖3介紹了在TR-ARQ中中繼獲得的XOR數據包錯誤時的情景,假設N=8,節(jié)點A、B分別發(fā)送SA[0]、SB[0]時,中繼獲得的SR[0]為False。在TR-ARQ中,中繼R發(fā)送NACK請求節(jié)點A、B分別重傳SA[0]、SB[0]。節(jié)點A、B接收的失序分組SB[1]、SA[1]將被緩存直到丟失的分組SB[0]、SA[0]被收到為止,這時才將分組0、1按序交付給上層應用,然后發(fā)送ACK=2。當節(jié)點A、B收到ACK=2后,采用累積確認的方式,更新發(fā)送窗口為[2,9],重復接收的分組SA[1]、SB[1]忽略。接下來按序接收的分組直接交付給上層。定義節(jié)點的相對平均速率為按序接收分組的平均速率與接收分組的平均速率的比值,這個比值越大,按序接收的數據分組的比例越大,往上層應用交付數據越快,系統延越較小。對比TR-ARQ和TO-ARQ,很顯然,TR-ARQ方案的反饋延時較小,相對平均速率更大。
基于TR-ARQ的雙向中繼PNC 系統架構如圖4。終端節(jié)點TCP/IP層上運行著實際的應用,并且TCP/IP層和邏輯鏈路控制(LLC)層、媒體訪問控制(MAC)層、物理(PHY)層交互。中繼沒有應用,因此只有MAC層和PHY層。
在PNC系統中,MAC層協調終端節(jié)點和中繼的傳輸,LLC層提供可靠的數據通信。為了支持實際應用,實現兩終端節(jié)點通過中繼交換信息,終端節(jié)點應用層數據通過TCP套接字與LLC層通信,并在ARQ控制下發(fā)送數據。為了驗證TR-ARQ的可行性和可靠性,PNC系統LLC層差錯控制采用TR-ARQ方案。
PNC的實現是以OFDM為基礎的。在多址接入階段,中繼節(jié)點同時接收兩個信源節(jié)點到達的OFDM 信號,中繼節(jié)點根據接收的和信號中的導頻信息進行信道估計,然后對信號進行均衡、檢測、映射及OFDM 調制,在廣播階段將處理后的和信號同時發(fā)給兩個信源節(jié)點。整個系統的工作流程如下:
(1)中繼節(jié)點首先發(fā)送一個IEEE 802.11a/g標準格式的信標Beacon觸發(fā)終端節(jié)點同時發(fā)送數據。
(2)終端節(jié)點接收到Beacon后,以一定時間間隔將帶有時間戳的M個數據分組發(fā)送出去。終端節(jié)點在MAC層協議控制下保證數據同時發(fā)送。
(3)中繼節(jié)點接收到兩個終端節(jié)點同時到達的分組后,進行PNC映射,將數據映射成x1⊕x2、x1⊕jx2、5QAM形式,然后直接發(fā)送出去。如果PNC映射的數據包經校驗有錯,中繼將發(fā)送NACK信息請求終端節(jié)點重傳相應的數據分組。
(4)終端節(jié)點根據信道系數之間的關系確定接收到的是哪種編碼形式(x1⊕x2、x1⊕jx2、5QAM),然后結合自身數據解碼出對方節(jié)點的信息。如果接收到NACK,終端節(jié)點重發(fā)相應的數據分組。
為了驗證TR-ARQ的可行性和可靠性,在實驗室部署三節(jié)點網絡的雙向中繼PNC實驗系統,實現節(jié)點A、B通過中繼R互傳圖片數據文件,如圖5所示。
本文的雙向中繼PNC測試系統是在Linux 12.04 LTS 桌面版系統上通過USRP/GNU Radio軟件定義無線電(SDR)平臺實現,采用3臺計算機分別連接3臺USRP N210,來搭建一個三節(jié)點中繼通信系統。USRP N210使用千兆以太網線和計算機連接。USRP的子板是RFX2400雙工子板/2.4 GHz頻段,主要負責數據采集和數字上下變頻,信號處理的功能由PC來完成。在圖5中,上行鏈路和下行鏈路的天線分別位于垂直和水平兩個不同平面,以盡可能避免同一USRP不同鏈路之間天線的干擾。
為了對比分析TR-ARQ與TO-ARQ的優(yōu)缺點,在PNC實驗系統中分別采用TR-ARQ和TO-ARQ重傳方案。圖6和圖7是在相同傳輸條件下分別采用TO-ARQ和TR-ARQ的PNC系統節(jié)點A的應用層,用來顯示接收節(jié)點B的圖片信息。圖6中顯示在343.53 s時接收數據的平均速率為241.77 kb/s,圖7中顯示在343.97 s時接收數據的平均速率為274.11 kb/s。圖8是在相同傳輸條件下PNC系統分別采用TO-ARQ和TR-ARQ,節(jié)點A應用層接收數據的平均速率隨接收數據包數的變化情況。從圖6、圖7和圖8可以看出,相比TO-ARQ,TR-ARQ系統的傳輸速率有明顯的提高。節(jié)點B也有類似的結果。
圖9所示為在中繼接收2 000個PNC映射數據包時節(jié)點A接收數據的相對平均速率隨中繼誤包率的變化情況。從圖9中看出,相比TO-ARQ,采用TR-ARQ方案的PNC系統相對平均速率更快,相應的系統延時較小,并且在中繼誤包率相對較大時,TR-ARQ的PNC系統的相對平均速率相比TO-ARQ提高較大,相應降低系統延時更加明顯。節(jié)點B也有類似結果。
本文在TO-ARQ方案的基礎上提出了一種基于終端節(jié)點和中繼的重傳方案TR-ARQ。從理論上分析了這兩種方案的特點,并通過實驗比較分析了兩種不同重傳方案的PNC系統的性能。實驗結果表明,TR-ARQ方案是可行的,其能夠提供可靠的數據通信;并且相比TO-ARQ,TR-ARQ方案降低了系統的延時,改善了系統的傳輸速率。實驗中還發(fā)現,在中繼誤包率較大時,TR-ARQ改善系統延時更加明顯。
[1] AHLGWEDE R, ROBERT S R, YEUNG R W. Network information flow[J]. IEEE Transactions on Information Theory, 2000, 46(4): 1204-1216.
[2] ZHANG S L, LIEW S C, LAM P P. Hot topic: physical-layer network coding[C]. In ACM MOBICOM, 2006: 358-365.
[3] POPOVSKI P, YOMO H.Physical network coding two-way wireless relay channels[C]. In IEEE International Conference on Communications, Glasgow, 2007: 707- 712.
[4] BOBAK N, MICHAEL G. Reliable physical layer network coding [J]. Proceedings of the IEEE, 2011, 99(3): 438-460.
[5] LU L, WANG T T, LIEW S C, et al. Implementation of physical-layer network coding[C]. In IEEE International Conference on Communications, 2012:4734-4740.
[6] LU L, YOU L, YANG Q, et al. Real-time implementation of physical-layer network coding[C]. In ACM SRIF, 2013:4734-4740.
[7] YOU L Z, LIEW S C, LU L. Reliable physical-layer network coding supporting real applications[J]. IEEE Transactions on Mobile Computing, 2016,16(99):1-16.
[8] HE J H, LIEW S C. ARQ for physical-layer network coding[J]. IEEE Transactions on Mobile Computing,2015, 15(7): 1614-1631.
ARQ design for physical-layer network coding system
Luo Kang1,Zhang Shengli1,Ding Fan1,2
(1.College of Information Engineering, Shenzhen University, Shenzhen 518000, China; 2.School of Physics and Mechanical & Electrical Engineering, Shaoguan College, Shaoguan 512005, China)
In the physical-layer network coding system, TO-ARQ (Terminal-only ARQ) is a common approach to provide error control at the link-layer. For TO-ARQ system has the problems of slow data transmission rate and large delay, this paper proposes a TR-ARQ(Terminal-relay ARQ)scheme based on TO-ARQ. In this scheme, if the network coded packet in error at relay, the relay will feed back messages to inform the two terminals to retransmit the corresponding data packets, thereby reduce the feedback delay of data transmission. The experimental results show that, compared with TO-ARQ, the TR-ARQ scheme improves the system delay and data transmission rate significantly.
physical-layer network coding; link-layer error control; TO-ARQ scheme; TR-ARQ scheme
國家自然科學基金(61372078)
TN925
A
10.19358/j.issn.1674- 7720.2017.05.022
羅康,張勝利,丁凡.物理層網絡編碼系統中ARQ的設計[J].微型機與應用,2017,36(5):72-75,79.
2016-10-12)
羅康(1990-),男,碩士研究生,主要研究方向:物理層網絡編碼。
張勝利(1978-),男,博士,教授,博士生導師,主要研究方向:物理層網絡編碼、無線通信、軟件定義網絡。