基于GNU Radio 和USRP 的無線通信系統(tǒng)建模仿真
0 引言
本文引用地址:http://butianyuan.cn/article/201809/388600.htm無線通信技術(shù)正處在飛速發(fā)展的階段,并開始廣泛運(yùn)用于個(gè)人、商業(yè)、軍事等多個(gè)領(lǐng)域。隨著無線通信系統(tǒng)復(fù)雜度的日益上升,使用傳統(tǒng)的分析方法來評(píng)估和設(shè)計(jì)無線通信系統(tǒng)已經(jīng)變得十分困難;采用硬件原型測(cè)試的方法由于實(shí)現(xiàn)成本高、難度大,往往在系統(tǒng)開發(fā)的后期才能得以實(shí)現(xiàn);以軟件為基礎(chǔ)的建模仿真方法則能夠使研究和開發(fā)人員在花費(fèi)較少的人力和財(cái)力的情況下,獲得接近真實(shí)系統(tǒng)的評(píng)估能力,因此成為了通信系統(tǒng)開發(fā)前期主要的設(shè)計(jì)和驗(yàn)證手段。目前,無線通信系統(tǒng)的建模仿真主要通過Matlab Simulink,SystemView,SPW等軟件實(shí)現(xiàn)。但對(duì)于特性變化快、易受干擾的無線傳輸環(huán)境來說,上述基于純軟件的建模仿真手段難以對(duì)系統(tǒng)實(shí)現(xiàn)快速和準(zhǔn)確的測(cè)試、分析和評(píng)估。
本文提出將軟件無線電開發(fā)平臺(tái)GNU Radio和通用軟件無線電外設(shè)USRP(Universal Software Radio Pe-ripheral)組成的軟件無線電系統(tǒng)用于無線通信系統(tǒng)的建模仿真,首先分析了該系統(tǒng)的軟件特性和硬件結(jié)構(gòu);隨后對(duì)MPSK 調(diào)制系統(tǒng)分別建立基于仿真信道和實(shí)際信道的通信鏈路模型,進(jìn)行誤碼率測(cè)試的對(duì)比實(shí)驗(yàn),驗(yàn)證該方法將實(shí)際無線信道納入系統(tǒng)仿真中的可行性;最后在采用實(shí)際信道的鏈路模型基礎(chǔ)上,進(jìn)一步設(shè)計(jì)并實(shí)現(xiàn)了無線視頻流傳輸原型系統(tǒng),能夠通過無線方式實(shí)現(xiàn)視頻流傳輸。分析和實(shí)驗(yàn)結(jié)果表明相對(duì)于常用的軟件建模仿真手段,軟硬件結(jié)合的新方法能夠快速實(shí)現(xiàn)系統(tǒng)原型,將特性復(fù)雜、仿真困難的實(shí)際無線信道納入系統(tǒng)仿真模型中。
1 GNU Radio 和USRP組成的軟件無線電系統(tǒng)
1.1 軟件無線電
軟件無線電的概念于1992 年由Joseph Mitola正式提出。這一概念的提出和發(fā)展是針對(duì)于無線通信領(lǐng)域出現(xiàn)的多種體系并存、標(biāo)準(zhǔn)間競(jìng)爭(zhēng)激烈的局面。軟件無線電的架構(gòu)體系突破了無線通信系統(tǒng)以專用硬件為核心的傳統(tǒng)設(shè)計(jì)模式,通過將寬帶的AD和DA器件盡可能地靠近射頻天線,盡早地將獲得的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并以通用硬件作為基本平臺(tái),盡可能多地由通用處理器上的軟件實(shí)現(xiàn)無線及通信功能,以實(shí)現(xiàn)無線通信系統(tǒng)的可升級(jí)和可重配置。將軟件無線電技術(shù)應(yīng)用于無線通信系統(tǒng)的建模仿真,能夠發(fā)揮其架構(gòu)靈活、開放、軟硬件結(jié)合、多層次協(xié)同的特性,解決傳統(tǒng)軟件工具存在的一些局限。
軟件無線電發(fā)展至今,已有多套開源及商業(yè)系統(tǒng)可用于原型設(shè)計(jì)及通信系統(tǒng)研究,如微軟研究院推出的Sora 系統(tǒng)、弗吉尼亞理工大學(xué)的OSSIE(Open SourceSCA Implementation Embedded)項(xiàng)目等。其中,開源無線電軟件GNU Radio和通用軟件無線電外設(shè)USRP組成一套基于PC的軟件無線電系統(tǒng),是適用于無線通信系統(tǒng)建模仿真的較好的解決方案。
1.2 GNU Radio的軟件特性
GNU Radio 是基于軟件無線電思想開發(fā)的開源平臺(tái),運(yùn)行在Linux 系統(tǒng)上,遵循GNU 的GPL(GeneralPublic License)條款分發(fā)。作為一個(gè)軟件無線電開發(fā)平臺(tái),GNU Radio具有很強(qiáng)的可重構(gòu)性。通過它所提供的多種實(shí)用的信號(hào)處理模塊和將這些信號(hào)處理模塊連接起來的流圖機(jī)制,可以建立起不同的通信鏈路模型,滿足不同類型通信系統(tǒng)的需要。GNU Radio 主要用于通信鏈路的建模和仿真,其標(biāo)準(zhǔn)庫(kù)十分豐富,覆蓋了調(diào)制解調(diào)、信源編/解碼、信道編/解碼、多址接入、均衡、同步、濾波器設(shè)計(jì)、小波分析等常用的信號(hào)處理模塊,且有類似于Matlab Simulink框圖式結(jié)構(gòu)的圖形化建模環(huán)境,能夠方便、快速地建立起鏈路級(jí)系統(tǒng)的模型。同時(shí),出于運(yùn)行效率的考慮,GNU Radio采用了數(shù)據(jù)通道和控制通道分離的兩級(jí)設(shè)計(jì),其中C++用于描述需要較高運(yùn)行效率的信號(hào)處理模塊,Python則用于模塊之間的配置和連接。
由于GNU Radio 采用了通用的編程語(yǔ)言Python 作為專門的控制通道,代替了單一的模塊連接機(jī)制,這樣除了能夠?qū)π盘?hào)處理模塊進(jìn)行更方便地配置和管理之外,借助Python的靈活特性,還能實(shí)現(xiàn)在通信鏈路的上層建立網(wǎng)絡(luò)模型,進(jìn)行整個(gè)通信協(xié)議的定制和設(shè)計(jì),甚至與應(yīng)用程序進(jìn)行直接交互。這使得在GNU Radio中實(shí)現(xiàn)跨層次設(shè)計(jì)和聯(lián)合優(yōu)化成為可能。
以GNU Radio內(nèi)建的測(cè)試程序?yàn)槔唧w分析,通過解析測(cè)試程序中的代碼可知,GNU Radio規(guī)定了如圖1所示的幀結(jié)構(gòu)格式。最底層的幀結(jié)構(gòu)提供了前導(dǎo)碼、同步碼用于接收端系統(tǒng)的頻率和時(shí)序同步;幀頭則提供幀長(zhǎng)度、高斯白化偏置等信息;幀的上層結(jié)構(gòu)提供了CRC(Cyclic Redundancy Check)校驗(yàn)和發(fā)送包數(shù)目統(tǒng)計(jì)功能。此外,GNU Radio在MAC(Media Access Control)層還提供了載波監(jiān)聽多路訪問/沖突檢測(cè)機(jī)制,用于檢測(cè)當(dāng)前信道上的信號(hào)沖突。當(dāng)USRP 接收到的信號(hào)幅度大于設(shè)定的門限值時(shí),則認(rèn)為該信道被占用,并采用二進(jìn)制指數(shù)退避重傳算法等待重傳。通過USRP 數(shù)據(jù)的時(shí)間戳配合,亦可以在GNU Radio中實(shí)現(xiàn)分時(shí)隙傳輸?shù)某瑤Y(jié)構(gòu)。同時(shí),通過導(dǎo)入Socket模塊,Python 能夠方便地進(jìn)行網(wǎng)絡(luò)編程。而調(diào)用TUN/TAP提供的虛擬以太網(wǎng)通道可以讓基于TCP/IP 的應(yīng)用層程序直接加載到GNU Radio上,并通過GNU Radio所提供的通信系統(tǒng)進(jìn)行通信。另外,上層網(wǎng)絡(luò)模型中的數(shù)據(jù)為異步數(shù)據(jù),不能夠直接被通信鏈路上的同步信號(hào)處理模塊處理,對(duì)此,GNU Radio在網(wǎng)絡(luò)模型和鏈路模型之間使用了一個(gè)FIFO(First In First Out)緩存,實(shí)現(xiàn)了信號(hào)從異步到同步、由信息比特到基帶波形的轉(zhuǎn)換,將通信鏈路和上層網(wǎng)絡(luò)緊密地結(jié)合起來。
通過使用上述GNU Radio提供的功能和特性,研究和開發(fā)人員可以方便地構(gòu)建起由通信鏈路和上層網(wǎng)絡(luò)模型組成的更為完整的通信系統(tǒng),并從全局性能的角度考慮,對(duì)定制的通信系統(tǒng)進(jìn)行跨層次聯(lián)合設(shè)計(jì)和優(yōu)化。
1.3 USRP的硬件結(jié)構(gòu)
在GNU Radio和USRP組成的軟件無線電系統(tǒng)中,GNU Radio 僅負(fù)責(zé)低速率基帶信號(hào)的處理,USRP 則充當(dāng)了數(shù)字中頻和射頻前端的角色,對(duì)高通量信號(hào)進(jìn)行處理?;谲浖o線電思想設(shè)計(jì)的USRP 的硬件結(jié)構(gòu)具有靈活、通用的特性,能夠兼容當(dāng)前無線通信的多種協(xié)議標(biāo)準(zhǔn),為建立自定制協(xié)議和多標(biāo)準(zhǔn)融合的系統(tǒng)建模和測(cè)試提供了強(qiáng)大的支持。
如圖2 所示,USRP 的結(jié)構(gòu)中主要包括了負(fù)責(zé)數(shù)字中頻處理的FPGA(Field Programmable Gate Array)、負(fù)責(zé)模/數(shù)與數(shù)/模轉(zhuǎn)換的ADC 與DAC 器件和負(fù)責(zé)射頻信號(hào)處理的射頻子板。在具體的收發(fā)過程中,接收端的天線捕捉空中的射頻信號(hào),由射頻子板進(jìn)行模擬域的下變頻,將信號(hào)由射頻移至中頻,然后通過A/D器件的轉(zhuǎn)換,進(jìn)入數(shù)字域;FPGA 作為數(shù)字下變頻器,將信號(hào)從數(shù)字中頻進(jìn)一步移至基帶,并同時(shí)完成信號(hào)的抽取工作,使信號(hào)速率降至通用處理器能夠處理的范圍;最后,通過控制芯片將低速率的基帶信號(hào)送入PC.發(fā)送端則完成一個(gè)大致相反的信號(hào)處理流程。
在USRP 的結(jié)構(gòu)中,寬頻段、可更換的收發(fā)射頻子板和天線可以覆蓋多數(shù)無線協(xié)議標(biāo)準(zhǔn)所在的頻率范圍,ADC 和DAC 器件具有高采樣速率和較好的分辨率,基于FPGA的數(shù)字中頻處理和基于PC端軟件的基帶信號(hào)處理易于重構(gòu),靈活的總線結(jié)構(gòu)的采用則降低了各硬件模塊之間的耦合性。當(dāng)前的無線通信協(xié)議標(biāo)準(zhǔn)很多都工作在相近的頻段,在射頻端上亦有很大的相似性,協(xié)議標(biāo)準(zhǔn)的主要區(qū)別集中在基帶信號(hào)的處理上。USRP作為通用的射頻前端,基于軟件無線電思想設(shè)計(jì),具有開放性、模塊化和高通用性的特點(diǎn),因此能夠兼容絕大多數(shù)現(xiàn)有的通信協(xié)議標(biāo)準(zhǔn),并且可以根據(jù)需要,在軟件層面自行定義通信系統(tǒng)的收發(fā)頻段和通信帶寬,進(jìn)行無線通信系統(tǒng)的定制化設(shè)計(jì)。
2 基于實(shí)際信道環(huán)境的通信系統(tǒng)模型實(shí)現(xiàn)
無線信道穩(wěn)定性較差,信道特性會(huì)隨著地形、地貌以及信號(hào)頻率和傳播方式的變化而變化,而且不可避免地會(huì)受到陰影效應(yīng)和多徑衰落的影響。因此,在實(shí)際無線通信系統(tǒng)的鏈路級(jí)仿真中,通常需要建立準(zhǔn)確的信道模型來預(yù)測(cè)系統(tǒng)的整體性能和評(píng)估信號(hào)處理算法的優(yōu)劣。但由于真實(shí)的無線信道具有時(shí)變特性,建立高精度的仿真信道模型難度很大,且仿真模型也很難做到和實(shí)際信道完全匹配,結(jié)合硬件原型進(jìn)行實(shí)際環(huán)境測(cè)試的做法在設(shè)計(jì)前期難以實(shí)現(xiàn),這一直是無線通信系統(tǒng)仿真中的難以解決的問題。而GNU Radio與USRP軟硬件無縫連接的特性有效地改善了傳統(tǒng)硬件原型建立困難的局限,通過快速實(shí)現(xiàn)無線通信系統(tǒng)的硬件原型,將真實(shí)的無線信道環(huán)境納入仿真過程中,對(duì)信道特性進(jìn)行評(píng)估。
2.1 通信鏈路建模仿真對(duì)比
相移鍵控PSK(Phase-Shift Keying)利用載波的多種不同相位狀態(tài)來進(jìn)行數(shù)字信號(hào)的調(diào)制,相比幅移鍵控和頻移鍵控調(diào)制系統(tǒng),在頻帶利用率和抗噪聲性能方面均有優(yōu)勢(shì),因此在中、高速數(shù)據(jù)傳輸中得到了廣泛的應(yīng)用。本部分使用GNU Radio 和USRP 對(duì)具體的MPSK 調(diào)制系統(tǒng)進(jìn)行建模,通過軟件仿真、實(shí)際環(huán)境測(cè)試和結(jié)果的對(duì)比分析,驗(yàn)證由GNU Radio和USRP無縫連接特性所帶來的硬件原型快速實(shí)現(xiàn)的能力,并說明該系統(tǒng)相比傳統(tǒng)仿真軟件在評(píng)估實(shí)際信道環(huán)境方面的優(yōu)勢(shì)。為了能夠最大程度地減小仿真模型和實(shí)際測(cè)試模型在基帶信號(hào)處理上的差別,實(shí)驗(yàn)調(diào)用GNU Radio中的模塊建立仿真模型,然后去除仿真信道,其他部分采用相同的模塊配合USRP實(shí)現(xiàn)硬件原型。為此,需要在仿真模型中加入加擾、解擾、載波頻偏恢復(fù)和信號(hào)時(shí)序恢復(fù)等實(shí)際信號(hào)傳輸中所需的模塊。仿真系統(tǒng)的構(gòu)建如圖3所示。在該系統(tǒng)的發(fā)送端,矢量信號(hào)源負(fù)責(zé)產(chǎn)生信號(hào);信號(hào)被送入加擾模塊進(jìn)行信道編碼,做偽隨機(jī)化處理;編碼后,信號(hào)進(jìn)入MPSK 模塊進(jìn)行調(diào)制。系統(tǒng)的接收端調(diào)用MPSK解調(diào)模塊進(jìn)行信號(hào)解調(diào),在該模塊中已經(jīng)插入了載波頻偏恢復(fù)和信號(hào)時(shí)序恢復(fù)的子模塊;最后對(duì)信號(hào)進(jìn)行相應(yīng)的解包和解擾操作,并與預(yù)設(shè)信號(hào)對(duì)比,獲得誤碼率數(shù)據(jù)。在解調(diào)模塊中還調(diào)用了信號(hào)強(qiáng)度探針,用來獲得當(dāng)前信號(hào)的信噪比大小。發(fā)送端與接收端之間則通過加性高斯白噪聲信道模塊連接,以仿真整個(gè)鏈路級(jí)的通信過程。
對(duì)上述仿真系統(tǒng)只需進(jìn)行收發(fā)部分的分離和簡(jiǎn)單修改,即可配合USRP設(shè)備實(shí)現(xiàn)該系統(tǒng)的硬件原型。見圖4,發(fā)送端經(jīng)MPSK調(diào)制后的信號(hào)被送入U(xiǎn)SRP模塊,該模塊對(duì)射頻信號(hào)的發(fā)射參數(shù)進(jìn)行配置,然后由USRP設(shè)備進(jìn)行上變頻等處理并發(fā)送到實(shí)際環(huán)境中;經(jīng)過室內(nèi)實(shí)際信道傳輸,接收端的USRP捕捉到環(huán)境中的射頻信號(hào),并進(jìn)行射頻和數(shù)字中頻的相應(yīng)處理,最后輸出數(shù)字基帶信號(hào)到GNU Radio中的MPSK解調(diào)模塊,做后續(xù)的基帶信號(hào)處理。這樣,使用兩臺(tái)USRP設(shè)備就能夠建立起通過實(shí)際信道進(jìn)行信號(hào)收發(fā)的系統(tǒng)硬件原型。
對(duì)上面建立的仿真模型和硬件原型,分別調(diào)用BPSK,QPSK,8PSK,16PSK 四種調(diào)制方式,進(jìn)行加性高斯白噪聲信道的仿真和實(shí)際環(huán)境下的測(cè)試。測(cè)試在約15 m2大小的室內(nèi)環(huán)境中進(jìn)行,每個(gè)測(cè)試點(diǎn)對(duì)30 min內(nèi)采集到的信噪比和誤碼率數(shù)據(jù)進(jìn)行平均化處理,對(duì)比仿真結(jié)果,獲得如圖5所示的誤碼率曲線。
從測(cè)試結(jié)果生成的曲線可以得知,低信噪比情況下,室內(nèi)環(huán)境測(cè)試所得的數(shù)據(jù)與仿真信道下測(cè)得的數(shù)據(jù)符合較好;在高信噪比情況下,尤其在高階調(diào)制模式下,實(shí)際測(cè)試數(shù)據(jù)與仿真信道下測(cè)得的數(shù)據(jù)產(chǎn)生了較大偏離,在同樣誤碼率情況下,偏離可能達(dá)到2~3 dB.由MPSK調(diào)制系統(tǒng)的理論分析可知,高階調(diào)制模式相比低階調(diào)制對(duì)噪聲更為敏感,受載波頻率和相位恢復(fù)模塊引入的相位噪聲影響也更大,容易對(duì)誤碼率數(shù)據(jù)產(chǎn)生影響。從實(shí)際的測(cè)試過程來看,室內(nèi)環(huán)境由于人、物移動(dòng)引起的信號(hào)遮擋和散射造成信號(hào)傳播路徑的變化,會(huì)使信號(hào)的信噪比產(chǎn)生5~10 dB左右大范圍變動(dòng)的現(xiàn)象,這也是測(cè)試數(shù)據(jù)與仿真曲線偏離的原因之一。由此看來,在低誤碼率的情況和高階調(diào)制模式下,理想的加性高斯白噪聲的仿真信道不足以精確描述實(shí)際的室內(nèi)信道特性。
2.2 無線視頻流傳輸系統(tǒng)原型
通過GNU Radio 靈活的軟件特性和Python 的編程能力,可以進(jìn)一步在上述鏈路級(jí)模型的基礎(chǔ)上,建立基于實(shí)際無線信道傳輸?shù)臒o線通信系統(tǒng)原型。以無線視頻流傳輸系統(tǒng)為例,本文設(shè)計(jì)了如圖6 所示的系統(tǒng)結(jié)構(gòu),并據(jù)此實(shí)現(xiàn)了相應(yīng)的原型系統(tǒng)。
在系統(tǒng)發(fā)送端,視頻采集設(shè)備從真實(shí)環(huán)境中實(shí)時(shí)采集視頻流數(shù)據(jù),經(jīng)過PC上的視頻編碼程序編碼后送到設(shè)定好的TCP或UDP網(wǎng)絡(luò)端口;通過Socket網(wǎng)絡(luò)編程方法,可以方便地綁定網(wǎng)絡(luò)端口,將視頻流數(shù)據(jù)送入GNU Radio中的程序進(jìn)行處理;GNU Radio中的程序?qū)W(wǎng)絡(luò)端口的數(shù)據(jù)流做進(jìn)一步的MAC 層成幀和同步處理,然后進(jìn)行基帶信號(hào)的調(diào)制和編碼工作,最后送入U(xiǎn)SRP發(fā)射。接收端系統(tǒng)則進(jìn)行大致相反的處理流程,經(jīng)過解碼后的視頻流數(shù)據(jù)可以在相應(yīng)的顯示器上顯示。
在實(shí)際測(cè)試過程中,該原型系統(tǒng)能夠正確顯示視頻采集端采集到的視頻信號(hào),達(dá)到了預(yù)想的效果,如圖7所示。其架構(gòu)具有很強(qiáng)的靈活性和可擴(kuò)展性,包括視頻格式、視頻編/解碼方式、分組幀結(jié)構(gòu)、信道編/解碼、信號(hào)調(diào)制方式、傳輸頻段和傳輸帶寬在內(nèi)的各個(gè)部分均易于調(diào)整和修改,這便于研究和開發(fā)人員根據(jù)視頻信號(hào)在實(shí)際信道中的傳輸效果進(jìn)行整體系統(tǒng)的定制性設(shè)計(jì)和優(yōu)化。
2.3 實(shí)驗(yàn)結(jié)果分析
上述實(shí)驗(yàn)表明,GNU Radio建立的鏈路模型能夠幾乎不經(jīng)修改地通過USRP進(jìn)行實(shí)際信號(hào)的發(fā)射和接收,實(shí)現(xiàn)無線通信系統(tǒng)原型,并進(jìn)一步用于室內(nèi)外等常見真實(shí)環(huán)境下的系統(tǒng)測(cè)試。相比純軟件仿真結(jié)果,結(jié)合硬件原型進(jìn)行測(cè)試將實(shí)際信道納入仿真過程,使研究和開發(fā)人員在早期階段就能夠?qū)δ繕?biāo)傳輸頻率和傳輸環(huán)境下的信道進(jìn)行研究,對(duì)傳輸過程中的路徑損耗、頻段上其他系統(tǒng)的干擾、信道特性的變化等因素進(jìn)行合理評(píng)估。
實(shí)際信道測(cè)試的結(jié)果對(duì)于系統(tǒng)后期開發(fā)也有更強(qiáng)的指導(dǎo)意義。借助該方法進(jìn)行原型測(cè)試,能夠使無線通信系統(tǒng)開發(fā)中的問題在早期迅速浮現(xiàn),并在系統(tǒng)規(guī)劃和設(shè)計(jì)階段就被解決,有助于減少后期設(shè)計(jì)迭代過程的產(chǎn)生,縮短整個(gè)系統(tǒng)的設(shè)計(jì)流程。
3 結(jié)語(yǔ)
本文提出將軟件無線電開發(fā)平臺(tái)GNU Radio和通用軟件無線電外設(shè)USRP 組成的軟件無線電系統(tǒng)用于無線通信系統(tǒng)的建模仿真。首先介紹并分析了GNURadio的軟件特性和USRP的硬件架構(gòu);隨后以MPSK系統(tǒng)在仿真信道和實(shí)際信道下的通信鏈路建模仿真對(duì)比實(shí)驗(yàn)為例,驗(yàn)證了該方法將實(shí)際的無線信道納入鏈路層仿真中的可行性;最后在前述鏈路級(jí)模型的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了一套基于實(shí)際無線信道收發(fā)的無線視頻流傳輸原型系統(tǒng)。分析和實(shí)驗(yàn)結(jié)果表明,本文所提出的具有軟硬件結(jié)合特性新方法具有快速系統(tǒng)原型實(shí)現(xiàn)的能力,而且通過引入實(shí)際信道進(jìn)行仿真,能夠避免復(fù)雜的信道建模過程,直接建立更精確的通信系統(tǒng)模型,提高對(duì)系統(tǒng)分析的速度和準(zhǔn)確性,并可以基于仿真分析結(jié)果進(jìn)行系統(tǒng)各部分的聯(lián)合設(shè)計(jì)和優(yōu)化。
該方法適用于對(duì)通信協(xié)議標(biāo)準(zhǔn)及整體系統(tǒng)有定制化需求、針對(duì)的傳輸環(huán)境較復(fù)雜的無線通信系統(tǒng)的研究開發(fā),有助于減少系統(tǒng)開發(fā)后期的迭代過程,縮短系統(tǒng)的研發(fā)周期。
評(píng)論