李成福,盧選民,張輝棟,楊 杰
(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129)
基于USRP的網(wǎng)絡(luò)編碼視頻傳輸研究與設(shè)計(jì)
李成福,盧選民,張輝棟,楊 杰
(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710129)
物理層網(wǎng)絡(luò)編碼理論及其應(yīng)用是當(dāng)前通信網(wǎng)絡(luò)領(lǐng)域研究的熱點(diǎn),但是真實(shí)場(chǎng)景下的實(shí)驗(yàn)平臺(tái)建設(shè)還很少見(jiàn)。文通過(guò)USRP+PC軟件無(wú)線電平臺(tái)在無(wú)線雙向中繼網(wǎng)絡(luò)場(chǎng)景下,實(shí)現(xiàn)了物理層網(wǎng)絡(luò)編碼視頻傳輸?shù)墓δ?。仿真結(jié)果表明, 應(yīng)用網(wǎng)絡(luò)編碼的視頻傳輸和傳統(tǒng)的方式相比,可以有效地提高視頻的傳輸質(zhì)量和效率。
網(wǎng)絡(luò)編碼;無(wú)線雙向中繼網(wǎng)絡(luò);軟件無(wú)線電;通用軟件無(wú)線電外設(shè)
網(wǎng)絡(luò)編碼是一種融合了路由和編碼的信息交換技術(shù),它的核心思想是在網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)上對(duì)各條信道上收到的信息進(jìn)行線性或者非線性的處理,然后轉(zhuǎn)發(fā)給下游節(jié)點(diǎn),中間節(jié)點(diǎn)扮演著編碼器或信號(hào)處理器的角色。大量理論研究證明,網(wǎng)絡(luò)編碼已成為提高網(wǎng)絡(luò)吞吐量、魯棒性、負(fù)載均衡和安全性等的有效方法。
雖然網(wǎng)絡(luò)編碼可以顯著提高通信網(wǎng)絡(luò)單位時(shí)間內(nèi)數(shù)據(jù)吞吐量并且有效降低網(wǎng)絡(luò)負(fù)載,但是目前傳統(tǒng)的硬件網(wǎng)絡(luò)基礎(chǔ)設(shè)施并不支持這種算法,所以當(dāng)前更多地僅局限于理論研究,一些核心關(guān)鍵技術(shù)在實(shí)際系統(tǒng)中并沒(méi)有得到有效地驗(yàn)證,工程化推進(jìn)不足[1]。因此,工程上實(shí)現(xiàn)網(wǎng)絡(luò)編碼的仿真驗(yàn)證平臺(tái)是一個(gè)亟需解決的問(wèn)題。
近幾年來(lái),隨著通用硬件處理性能的不斷提升,軟件無(wú)線電的解決方案和原型平臺(tái)也不斷涌現(xiàn),真正將軟件無(wú)線電由理論引入工程實(shí)踐是GNU Radio推出的軟件無(wú)線電通信外設(shè)平臺(tái)(USRP)解決方案,該方案基于FPGA和DSP 等可編程硬件,實(shí)時(shí)性較好且重配置能力得到了很大的提高。因此,文中研究在USRP平臺(tái)上實(shí)現(xiàn)無(wú)線雙向中繼網(wǎng)絡(luò)編碼算法,并驗(yàn)證了該網(wǎng)絡(luò)環(huán)境下視頻傳輸?shù)男阅堋?/p>
本系統(tǒng)基于GNU Radio的USRP軟件無(wú)線電平臺(tái)搭建無(wú)線雙向中繼傳輸系統(tǒng),并在該系統(tǒng)中實(shí)現(xiàn)基于TDMA方式的網(wǎng)絡(luò)編碼。系統(tǒng)傳輸模型如圖1所示。
圖1 基于USRP的網(wǎng)絡(luò)傳輸模型Fig. 1 Network transmission model based on USRP
GNU Radio由Eric Blossom開(kāi)發(fā),用計(jì)算機(jī)軟件定義了無(wú)線電磁波的發(fā)送和接收方式,從而搭建起無(wú)線通信系統(tǒng)[2-3]。因此,現(xiàn)在高性能的無(wú)線電設(shè)備中所遇到的數(shù)字調(diào)制問(wèn)題將變成軟件問(wèn)題。GNU Radio的編程基于Python腳本語(yǔ)言和C++的混合方式。C++被用于編寫(xiě)各種信號(hào)處理模塊。Python 被用來(lái)編寫(xiě)連接各個(gè)block 成為完整的信號(hào)處理流程的腳本graph。
一套USRP由一塊母板和最多四塊子板構(gòu)成,主板的主要功能是中頻采樣和中頻信號(hào)到基帶信號(hào)之間的互相轉(zhuǎn)換[4]。子板則負(fù)責(zé)射頻信號(hào)的接收發(fā)送以及到中頻信號(hào)的轉(zhuǎn)換。USRP從本質(zhì)上講,充當(dāng)了一個(gè)無(wú)線電通訊系統(tǒng)的數(shù)字基帶和中頻部分。在該系統(tǒng)中,USRP完成模擬信號(hào)到數(shù)字中頻信號(hào)的轉(zhuǎn)換,其余的信號(hào)處理過(guò)程均將在GNU Radio中完成。
1.2.1 母 板
USRP母板的主要功能是將處于中頻頻段的模擬信號(hào)通過(guò)ADC變換為數(shù)字信號(hào),并將得到的數(shù)字中頻數(shù)據(jù)通過(guò)USB接口傳遞給位于計(jì)算機(jī)中的軟件處理模塊。
1.2.2 子 板
子板是用來(lái)裝載RF接收接口或者調(diào)諧器和射頻發(fā)射機(jī)的。每個(gè)子板插槽可以訪問(wèn)4個(gè)高速AD/DA 轉(zhuǎn)換器其中的2個(gè)(DAC輸出用于發(fā)送, ADC輸入用于接收),這使得每個(gè)使用時(shí)(不是正交)采樣的子板有2個(gè)獨(dú)立的射頻部分,和2個(gè)天線(整個(gè)系統(tǒng)一共有4個(gè))。如果使用復(fù)正交采樣,每個(gè)子板支持一個(gè)單一的射頻部分,整個(gè)系統(tǒng)一共2個(gè)。通常,我們可以看到每個(gè)子板有兩個(gè)SMA連接器。通常會(huì)使用它們連接輸入或輸出信號(hào)。USRP母板上沒(méi)有提供抗混疊或重建濾波器,這樣可以在子板頻率規(guī)劃時(shí)獲得最大的靈活性。
文中設(shè)計(jì)的系統(tǒng)平臺(tái)中,物理層由發(fā)射機(jī),接收機(jī)和載波偵聽(tīng)3部分構(gòu)成,完成由信息比特到基帶波形之間的轉(zhuǎn)換,并通過(guò)能量檢測(cè)判斷當(dāng)前信道是否空閑。MAC層完成對(duì)數(shù)據(jù)打包并加入CRC校驗(yàn)等功能,物理層對(duì)MAC層的數(shù)據(jù)包加上包頭信息后進(jìn)行調(diào)制等數(shù)據(jù)處理[5]并發(fā)送給 USRP。物理層收發(fā)框圖如圖2所示。
圖2 數(shù)據(jù)發(fā)送流程Fig. 2 Data transmission process
在Mod-pkt中,先經(jīng)過(guò)Send-Pkt,完成對(duì)數(shù)據(jù)進(jìn)行MAC層打包的過(guò)程,對(duì)數(shù)據(jù)插入接入碼,進(jìn)行CRC校驗(yàn),加入白噪聲等處理后放入消息隊(duì)列,進(jìn)過(guò)調(diào)制之后,送到USRP并發(fā)送出去。在調(diào)制器之前都是以消息隊(duì)列的形式,通過(guò)Message Queue與MAC層連接起來(lái)。而調(diào)制后輸出的數(shù)據(jù)是流圖形式,這種連接方式,使得異步不定長(zhǎng)的MAC數(shù)據(jù)包跟和與系統(tǒng)時(shí)鐘“同步的”物理層連接起來(lái)。如圖3所示。
接收端從USRP接收過(guò)來(lái)信號(hào)后,經(jīng)過(guò)信道濾波器和功率檢測(cè)器,當(dāng)接收到的信號(hào)的功率大于一定的閾值時(shí),判定接收到的信號(hào)是有效信號(hào),并把信號(hào)傳給包接收機(jī),進(jìn)行相應(yīng)的解調(diào)和檢錯(cuò)等,數(shù)據(jù)輸出是消息隊(duì)列的形式,開(kāi)啟的多線程Watcher-Pkt負(fù)責(zé)把消息傳回給上面的 MAC層或者應(yīng)用層。對(duì)數(shù)據(jù)進(jìn)行MAC打包的過(guò)程較為簡(jiǎn)單,
圖3 數(shù)據(jù)接收流程Fig. 3 Data reception process
首先對(duì)數(shù)據(jù)包進(jìn)行CRC校驗(yàn),校驗(yàn)位長(zhǎng)度為4字節(jié)。數(shù)據(jù)部分、CRC 校驗(yàn)比特和尾比特(0x55)都被白化處理以使數(shù)據(jù)具有隨機(jī)均勻分布。最后,加上一個(gè) 4 字節(jié)的包頭。包頭包含兩個(gè)信息:白化參數(shù) 4 比特和數(shù)據(jù)包長(zhǎng)度 12 比特。包頭采用了重復(fù)發(fā)送的方法,以增加可靠性。在不定長(zhǎng)的Burst前添加一個(gè)定長(zhǎng)的Preamble(16bit),依靠該 Preamble完成時(shí)間同步和頻率同步,加上64比特的Access Code,以便接收端完成數(shù)據(jù)解幀。到此,一個(gè)完整的MAC 數(shù)據(jù)包就包裝完成,如圖4所示。
圖4 幀結(jié)構(gòu)與數(shù)據(jù)處理Fig. 4 Frame structure and data processing
如圖5所示,采用網(wǎng)絡(luò)編碼技術(shù)的傳輸方案使用3個(gè)時(shí)隙完成一次傳輸。在時(shí)隙1,節(jié)點(diǎn)A將自己的信息發(fā)送給中繼節(jié)點(diǎn)R,時(shí)隙2,節(jié)點(diǎn)B發(fā)送自己的信息給中繼R,時(shí)隙3,中繼檢點(diǎn)對(duì)前兩個(gè)時(shí)隙接收并解碼存儲(chǔ)的信號(hào)進(jìn)行異或操作之后按照節(jié)點(diǎn)A和B的編碼方式發(fā)送出去。
圖5 基于TDMA的NC傳輸方案Fig. 5 NC transmission schme based on TDMA
1)節(jié)點(diǎn)A在時(shí)隙1向中繼R發(fā)送數(shù)據(jù),節(jié)點(diǎn)B在時(shí)隙2向中繼R發(fā)送數(shù)據(jù),中繼節(jié)點(diǎn)R在時(shí)隙3向節(jié)點(diǎn)A、B發(fā)送數(shù)據(jù)[6],如此循環(huán)。
2)中繼節(jié)點(diǎn)R對(duì)接收到的節(jié)點(diǎn)A和節(jié)點(diǎn)B的數(shù)據(jù)進(jìn)行解調(diào)解碼,并進(jìn)行異或操作,如果數(shù)據(jù)包的長(zhǎng)度不匹配,測(cè)將短的數(shù)據(jù)包做補(bǔ)零操作之后再異或。
3)由于USRP自身的特點(diǎn),在流圖中設(shè)置發(fā)送一定時(shí)間,但是實(shí)際中數(shù)據(jù)通過(guò)網(wǎng)卡發(fā)送給USRP并最終發(fā)送出去需要的時(shí)間大于該時(shí)隙長(zhǎng)度,所以設(shè)置了一定的保護(hù)帶寬。
由于傳輸過(guò)程中,3個(gè)節(jié)點(diǎn)之間的時(shí)間同步方法是將3臺(tái)機(jī)器同步到互聯(lián)網(wǎng)時(shí)間,精度較差,所以在實(shí)驗(yàn)中每個(gè)時(shí)隙設(shè)置的保護(hù)帶寬很寬,每個(gè)時(shí)隙設(shè)置一半的時(shí)間作為有效傳輸時(shí)間,使用1Mbps的傳輸速率時(shí),節(jié)點(diǎn) A和節(jié)點(diǎn) B交換4 M 字節(jié)大小的文件時(shí),通過(guò)計(jì)算,不使用NC編碼處理時(shí),一個(gè)周期占用4個(gè)時(shí)隙,而在這 4個(gè)時(shí)隙中,有效時(shí)隙相當(dāng)于1個(gè)時(shí)隙,而這 1個(gè)時(shí)隙中還要去掉保護(hù)時(shí)隙所占用的時(shí)間,因此傳輸速率大約為128 Kbps,需要的傳輸時(shí)間為 256 s。如果采用NC編碼處理時(shí),一個(gè)周期需要3個(gè)時(shí)隙,其他參數(shù)類似于不采用NC編碼處理的傳輸方案,因此,通過(guò)計(jì)算可得傳輸4M字節(jié)文件需要的時(shí)間為192 s。網(wǎng)絡(luò)編碼視頻傳輸性能對(duì)比如表1所示。
表1 NC視頻傳輸性能對(duì)比Tab.1 Performance contrast of NC video transmission
在上述的雙向中繼傳輸系統(tǒng)中,使用TDMA方式傳輸一段視頻,通過(guò)比較加入網(wǎng)絡(luò)編碼和不加入網(wǎng)絡(luò)編碼的視頻傳輸效果,即節(jié)點(diǎn)A和節(jié)點(diǎn)B分別通過(guò)中繼轉(zhuǎn)發(fā)一段視頻給對(duì)方,并實(shí)時(shí)播放對(duì)方發(fā)過(guò)來(lái)的視頻,對(duì)傳輸視頻的質(zhì)量做一個(gè)定性的直觀對(duì)比,如圖6所示,傳統(tǒng)的傳輸方式下,實(shí)時(shí)視頻的傳輸會(huì)較不連貫,但是加入網(wǎng)絡(luò)編碼之后,視頻的質(zhì)量相對(duì)較好,如圖7所示。
圖6 未使用網(wǎng)絡(luò)編碼算法的視頻傳輸Fig. 6 Video transmission without network coding algorithm
實(shí)驗(yàn)結(jié)果表明,與不采用網(wǎng)絡(luò)編碼技術(shù)的傳統(tǒng)傳輸方案相比,該方案對(duì)系統(tǒng)的吞吐量增益可以達(dá)到25%。通過(guò)傳輸并實(shí)時(shí)播放相同的一段視頻,網(wǎng)絡(luò)編碼方案中視頻播放更加流暢,質(zhì)量較好,由此驗(yàn)證了網(wǎng)絡(luò)編碼在提升系統(tǒng)吞吐量方面有較大的優(yōu)勢(shì)。
圖7 使用網(wǎng)絡(luò)編碼算法的視頻傳輸Fig. 7 Video transmission with network coding algorithm
文中提出了一種在USRP平臺(tái)上通過(guò)網(wǎng)絡(luò)編碼算法[8]實(shí)現(xiàn)視頻傳輸?shù)姆桨?,并通過(guò)實(shí)驗(yàn)驗(yàn)證了采用網(wǎng)絡(luò)編碼算法后可以有效地提高視頻的傳輸質(zhì)量和效率。
[1] 段洪亮.基于軟件無(wú)線電的網(wǎng)絡(luò)編碼仿真平臺(tái)研究與實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué),2013.
[2] 姜宇柏,游思晴.軟件無(wú)線電原理與工程應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社, 2007.
[3]曹瀚文,王文博. GNU Radio:開(kāi)放的軟件無(wú)線電平臺(tái)[J].電信快報(bào), 2007.4:31-34.
CAO Han-wen,WANG Wen-bo.GNU Radio: Open software radio platform[J].Telecommunications Information.2007.(4):31-34.
[4]黃嘉崴,鐘曉峰,王京.基于GNU Radio和USRP的路測(cè)儀設(shè)計(jì)[J].通信技術(shù), 2011,44(4):158-160.
HUANG Jia-wei,ZHONG Xiao-feng,WANG Jing.A GSM 900M road tester design with USRP and GNU Radio[J]. Communications Technology, 2011,44(4):158-160.
[5] 丁宇貞.基于軟件無(wú)線電的網(wǎng)絡(luò)編碼實(shí)現(xiàn)與性能分析 [D].北京:北京郵電大學(xué). 2013.
[6] Yuzhen Ding,Guoyou Li. Multiple-Access Relay Channel with Direct Network Coding[C]//. IEEE,2012 IEEE 14th International Conference on CommunicationTechnolo gy,2012:1191-1195
[7] 趙明峰.基于網(wǎng)絡(luò)編碼的無(wú)線協(xié)作通信系統(tǒng)研究[D].成都:電子科技大學(xué), 2011.
[8] 陳海勇,朱詩(shī)兵,李長(zhǎng)青.網(wǎng)絡(luò)編碼構(gòu)造算法研究[J].現(xiàn)代電子技術(shù),2011(19):11-14.
CHEN Hai-yong,ZHU Shi-bing,LI Chang-qing.Research of network coding construction algorithm [J].Modern Electronics Technique,2011(19):11-14.
Network coding video transmission research and design based on USRP
LI Cheng-fu, LU Xuan-min, ZHANG Hui-dong, YANG Jie
(School of Electronics and Information, Northwestern Polytechnical University, Xi’an, 710129,China)
Theories on Physical-layer Network Coding and its application are a hotspot in current research.However,the real situations of experimental platform construction is still very rare.This paper realized the function of the physical layer network coding video transmission by using the USRP + PC software radio platform in wireless two-way relay network scenario.According to the simulation result, application of network coding of video transmission compared with the traditional way, can effectively improve the quality of video transmission and efficiency.
physical layer network coding; wireless cooperative relay network; software Defined radio; USRP
TN91
A
1674-6236(2014)03-0056-03
2013–06–18 稿件編號(hào):201306109
2011年西北工業(yè)大學(xué)基礎(chǔ)研究基金(GBKY1007)
李成福(1984—),男,青海平安人,碩士研究生。研究方向:網(wǎng)絡(luò)編碼、下一代網(wǎng)絡(luò)。