張建良, 吳 越, 齊冬蓮
(浙江大學(xué) 電氣工程學(xué)院, 浙江 杭州 310027)
?
基于GNU Radio架構(gòu)的信號處理實驗平臺開發(fā)
張建良, 吳 越, 齊冬蓮
(浙江大學(xué) 電氣工程學(xué)院, 浙江 杭州 310027)
開發(fā)了基于GNU Radio的信號分析與處理實驗平臺。借助GNU Radio完全開源的信號分析處理平臺,既能夠提供開放式可修改的模塊庫,以便快速建立關(guān)于信號處理的流程并進行內(nèi)容設(shè)計、仿真,又能夠用來連接真實的信號接收和處理系統(tǒng),方便進行綜合性和探究性實驗設(shè)計。該實驗平臺的建立,方便學(xué)生以更加靈活的學(xué)習(xí)形式獲取專業(yè)的資源,進行更加靈活多樣的學(xué)習(xí)和互動,并有助于提高實驗教學(xué)效果。
信號分析與處理; 實驗平臺; GNU Radio; 實驗教學(xué)改革
傳統(tǒng)信號實驗大多基于硬件電路完成,實驗手段單一,很多復(fù)雜的實驗難以實現(xiàn),因而在一定程度上影響了學(xué)生對“信號分析與處理”課程基本內(nèi)容的理解和掌握[1-4]。
目前高校信號類課程實驗平臺主要可以分為3類:
(1) 以高校自制和教儀公司成套產(chǎn)品為代表的第一代驗證性實驗平臺。這類平臺主要配合實驗課程內(nèi)容,以設(shè)計簡單、操作方便為特點,主要通過完成電路的設(shè)計和搭建,實現(xiàn)對信號基本概念的驗證。這類儀器的特點是體積較大、功能單一、擴展性和可靠性較差。
(2) 以Matlab和Labview+Mydaq為代表的第二代綜合性實驗平臺[1-9]。此類平臺注重利用計算機軟件資源實現(xiàn)對信號的分析和處理,結(jié)構(gòu)緊湊、使用靈活、可擴展,也便于開展綜合性實驗。然而,這類平臺結(jié)構(gòu)比較封閉,修改內(nèi)容和擴展應(yīng)用也比較困難,一些實驗還需要設(shè)計硬件電路來配合。這類平臺集成程度高、價格昂貴、維護和維修困難,不利于課下大規(guī)模實驗使用。
(3) 清華大學(xué)、上海交大和華中科大等部分大學(xué)開發(fā)的具有開放性、便攜性和探究性特點的第三代實驗平臺[8-10]。這類平臺注重加強學(xué)生對信號基本知識的理解和轉(zhuǎn)化,借助于豐富的計算機網(wǎng)絡(luò)資源,對實驗內(nèi)容和實驗形式做了徹底的改進,既加入了學(xué)生感興趣的日常應(yīng)用實驗內(nèi)容,如對電力信號、手機信號、聲音信號等獲取、分析和處理[8-12],也注重互動性,能夠設(shè)計和開展探究性實驗,提高了教學(xué)方式的靈活性和知識理解的深度和廣度。
本文基于模塊化和互動性的實驗教學(xué)思想,開發(fā)了基于GNU Radio的完全開源的信號分析與處理實驗平臺[13-15]。該平臺既能提供開放式可修改的模塊庫,方便用戶快速建立關(guān)于信號處理的實驗流程并進行內(nèi)容設(shè)計和仿真,又能夠用來連接真實的信號接收和處理系統(tǒng),方便開展綜合性和探究性實驗設(shè)計。
基于GNU Radio架構(gòu)的信號分析與處理實驗平臺由信號源、信號接收端硬件、以GNU Radio為基礎(chǔ)的信號分析與處理軟件以及顯示器模塊組成。整個實驗平臺的體系架構(gòu)如圖1所示。實驗系統(tǒng)的設(shè)計理念為:在GNU Radio體系架構(gòu)下,模塊化、標(biāo)準(zhǔn)化的硬件單元以標(biāo)準(zhǔn)開放的形式連接起來,形成一個通用實驗平臺,通過軟件加載和重新設(shè)計來實現(xiàn)各種信號分析與處理模塊,有助于將“信號分析與處理”實驗教學(xué)的重心轉(zhuǎn)移到對信號基本概念和原理的理解和實現(xiàn)上,從而專注于利用信號理論本身開展對新系統(tǒng)、新知識、新應(yīng)用的開發(fā)和探索。
圖1 實驗平臺的體系架構(gòu)
GNU Radio提供信號處理模塊的庫,包括對“信號分析與處理”課程中濾波器、FFT 變換、調(diào)制/解調(diào)器、信道編譯碼等模塊,并且允許使用者根據(jù)自己的需要定制和改造現(xiàn)有的信號處理模塊,提供流向圖(flow graph)連接機制,把單個的處理模塊連接在一起,組成信號分析與處理系統(tǒng)。
基于遠(yuǎn)程開源平臺的實驗設(shè)計思路,方便學(xué)生以更加靈活的學(xué)習(xí)形式獲取專業(yè)的資源,可以實現(xiàn)在不同場合和時間參與實驗,有助于將實驗教學(xué)從課堂擴展到課外,提供更加靈活多樣的學(xué)習(xí)和互動形式,鍛煉學(xué)生在信號處理算法實現(xiàn)和探究性實驗設(shè)計方面的綜合素質(zhì),不斷提高實驗教學(xué)效果。
1.1 信號源
在GNU Radio架構(gòu)下,實驗平臺的信號源為頻率2~6 000 MHz的電磁信號。根據(jù)接收端硬件中射頻芯片的功能,將信號源發(fā)出的電磁信號接收下來進行抽樣、量化并轉(zhuǎn)化成數(shù)字信號,供軟件模塊進一步分析和處理。信號源的類型多樣,包括常見的無線電廣播信號、GPS信號、GSM信號、雷達信號等。
1.2 信號接收端硬件部分
信號接收端硬件部分是具有開放性、標(biāo)準(zhǔn)化、模塊化的通用硬件平臺,目前比較成熟的主要有HackRF、USRP和RTL2832U等模塊。由于RTL2832U模塊覆蓋了常見的信號源頻段,同時具有較高的性價比,因而擁有強大的用戶基礎(chǔ)和眾多的開發(fā)者團體,也是筆者開發(fā)信號分析與處理實驗平臺的最佳選擇。
通過配合調(diào)諧器芯片(例如R820T或E4000),可以用天線接收頻率范圍為24~1 766 MHz或者24~2 200 MHz的信號,其中調(diào)諧器內(nèi)置了混頻器(E4000是零中頻模式,R820T是低中頻模式)。混頻器輸出信號經(jīng)過PGA放大后輸入RTL2832U的ADC功能模塊(E4000是I/Q兩路,R820T只有I一路),ADC采集的信號數(shù)據(jù)直接通過USB送到軟件處理模塊進一步處理,實現(xiàn)利用軟件對信號分析和處理的目的。
1.3 信號分析與處理軟件部分
GNU Radio是一個最小程度地結(jié)合硬件(例如RTL2832U),而用軟件來實現(xiàn)信號分析與處理的軟件體系。GNU Radio應(yīng)用程序用Python語言編寫,真實的信息處理過程是由C++浮點擴展庫實現(xiàn)的。GNU Radio還是一個全球性的開源軟件,其開放性和互動性的特點方便探究性實驗教學(xué)內(nèi)容的豐富和實施形式的改進。
利用具有較高執(zhí)行效率的C++語言編寫各種信號處理模塊(如濾波器、FFT 變換、調(diào)制/解調(diào)器、信道編譯碼等模塊),可以實現(xiàn)信號分析與處理課程中基本的理論內(nèi)容;利用語法簡單、完全面向?qū)ο蟮腜ython腳本語言來構(gòu)造流向圖,從而連接各個模塊成為完整的信號處理流程。GNU Radio 的軟件結(jié)構(gòu)允許用戶根據(jù)實際應(yīng)用要求對信號處理模塊進行改進,以獲得預(yù)期的性能;并通過“黏合劑”——流向圖來完成信號處理的全流程。用戶除了能夠開發(fā)自己的信號模塊之外,還可使用GNU Radio 內(nèi)嵌的利用CPU增強指令集模塊,完成功能更加豐富、效率更高的實驗內(nèi)容。
軟件處理模塊的實驗原理為:(1)GNU Radio是一個信號處理模塊和開發(fā)者互動的軟件框架,具有一個廣泛的標(biāo)準(zhǔn)庫的塊,允許連接外圍硬件電路并和現(xiàn)有軟件模塊結(jié)合,形成更加復(fù)雜的信號處理流程圖,完成諸如同步、分析和可視化等標(biāo)準(zhǔn)任務(wù);(2)通過編寫基本信號處理模塊,設(shè)計基礎(chǔ)智能信號分析處理單元,并實現(xiàn)相應(yīng)的信號處理邏輯;(3)通過開發(fā)具有特定功能的高級模塊,可以實現(xiàn)對輸入和輸出數(shù)據(jù)的分析控制;(4)GNU Radio中模塊化和圖形化的信號處理特點,使得開發(fā)者不用關(guān)心這些數(shù)據(jù)如何在模塊間流動,一旦程序連接好,功能模塊會自動得出信號處理的最終結(jié)果并顯示出來。
實驗平臺通過靈活的模塊化操作,可以定制和改進現(xiàn)有模塊,激發(fā)學(xué)生對信號實驗的興趣;基于強大的網(wǎng)絡(luò)資源支持,解決實驗過程中的問題,培養(yǎng)學(xué)生發(fā)現(xiàn)問題和解決問題的能力;具有專業(yè)的信號處理功能,可以獨自仿真或者借助外圍設(shè)備,拓展信號分析與處理的范圍和能力。
GNU Radio軟件架構(gòu)在實驗平臺中的地位如圖2所示。
圖2 GNU Radio軟件架構(gòu)在整個實驗平臺中的地位
根據(jù)實驗教學(xué)和科研開發(fā)的需要,該信號處理實驗平臺的開發(fā)主要實現(xiàn)以下目標(biāo):
(1) 在課程服務(wù)方面,將覆蓋信號分析與處理課程中信號的采樣、濾波器設(shè)計、信號調(diào)制與解調(diào)等基礎(chǔ)實驗內(nèi)容;通過對相關(guān)模塊的改進,可以擴展形成諸如FM發(fā)射與接收、遙控小車信號解析、NOAA衛(wèi)星接收、GSM信號解調(diào)與分析等探究性實驗;
(2) 在學(xué)生受益面方面,面向電力系統(tǒng)及自動化、電子信息工程、自動化3個專業(yè)8個教學(xué)班的學(xué)生,預(yù)計每年超過400人受益;
(3) 在實踐教學(xué)環(huán)節(jié)方面,可以利用GNU Radio高度模塊化和圖形化的軟件架構(gòu)平臺以及具有特定信號采集功能的外圍電路模塊,結(jié)合工業(yè)和科研實際來拓展實驗內(nèi)容,服務(wù)于本科畢業(yè)設(shè)計和SRTP等實踐教學(xué)環(huán)節(jié);
(4) 在科研輔助方面,通過對GNU Radio中功能模塊部分的優(yōu)化和完善,實現(xiàn)數(shù)字圖像處理中的信號頻譜分析等信號復(fù)雜處理,采用模塊化的設(shè)計理念和豐富的擴展接口,減少項目開發(fā)時間、提高項目的實施效率。
(1) 在實驗技術(shù)水平方面,要實現(xiàn)對現(xiàn)有信號分析處理內(nèi)容的全部覆蓋,采用GNU Radio定制化功能模式,能夠進行采樣信號數(shù)據(jù)流的緩沖、調(diào)度等復(fù)雜處理,實現(xiàn)對真實信號采集前端硬件的全面支持,具有強大的工業(yè)應(yīng)用前景。
(2) 在技術(shù)指標(biāo)方面,借助Realtek RTL2832U等外圍信號采集單元,實現(xiàn)24~2 200 MHz信號的采集和處理,覆蓋一般工業(yè)和民用常用信號的范圍。可以使用GNU Radio提供的信號處理模塊,也可以將現(xiàn)有信號處理模塊嵌入更加復(fù)雜的信號處理流程圖中。
(3) 在核心指標(biāo)及技術(shù)保證方面,基于GNU Radio模塊化和圖形化的特點,將信號處理過程分為幾個階段和模塊進行,用戶只需關(guān)注模塊的功能;配合USRP、RTL2832U、HackRF等前端信號采集模塊,可以實現(xiàn)對不同頻率范圍內(nèi)信號的采集、分析和處理。
基于GNU Radio架構(gòu)的信號處理實驗平臺,浙江大學(xué)電氣工程學(xué)院近年來在實驗教學(xué)方面和科研實踐方面均取得了豐碩的成果。
4.1 實驗教學(xué)應(yīng)用
浙江大學(xué)電氣工程學(xué)院承擔(dān)了本?!靶盘柗治雠c處理實驗室”的建設(shè)以及信號分析與處理課程的實驗教學(xué)工作,獲批國家級精品課程,開發(fā)了一系列創(chuàng)新性、綜合性實驗,編寫了《信號分析與處理實驗講義》。
“信號分析與處理”理論教學(xué)和實驗教學(xué)是電氣大類本科生的核心課程。在2014—2015學(xué)年,電氣學(xué)院自動化專業(yè)的“信號分析與處理”實驗教學(xué)首次采用了學(xué)生研究小組的教學(xué)形式,基于GNU Radio配合Realtek RTL2832U的實驗開發(fā)平臺,進行了無線電信息分析、航班信號獲取和分析等探究性實驗,取得了較好的教學(xué)效果。
基于GUN Radio架構(gòu)的系統(tǒng)化信號分析與處理實驗平臺整合了現(xiàn)有信號處理實驗內(nèi)容,并結(jié)合平臺特點和學(xué)生興趣,開發(fā)了諸如GSM信號處理、GPS信號接收、飛行航班信號獲取與顯示等探究性信號實驗,以分組形式逐步在電氣學(xué)院信號大類課程中推廣。
4.2 科研輔助研究
浙江大學(xué)電氣工程學(xué)院擁有“控制理論與控制工程”國家重點學(xué)科,在電力系統(tǒng)信號分析、復(fù)雜信息系統(tǒng)控制領(lǐng)域的研究實力雄厚,在多項國家科技支撐計劃、863計劃、國家自然科學(xué)基金、省部級重大項目的支持下,對信號分析與處理實驗平臺的建設(shè)進行了從理論到實踐的深入研究,在信號研究領(lǐng)域獲得了豐富的技術(shù)積累和實踐經(jīng)驗。
基于GNU Radio架構(gòu)的信號處理實驗平臺有力地支撐了學(xué)院相關(guān)科研團隊在混沌信號分析和控制理論方面的研究,深入探索了介于隨機信號與確定性信號之間的混沌信號的特性,驗證了非線性控制策略的有效性。該項研究獲得了國家自然科學(xué)基金和浙江省杰出青年基金的資助。該實驗平臺在申請和實施國家高技術(shù)研究發(fā)展計劃(863計劃)“配電網(wǎng)信息物理系統(tǒng)關(guān)鍵技術(shù)研究及示范”、國家自然科學(xué)基金項目“無人機在非合作場景中的分布式控制與優(yōu)化問題研究”的過程中,提供了重要的實驗保障和經(jīng)驗支撐。
基于GNU Radio架構(gòu)的信號處理實驗平臺的開發(fā),改進了實驗教學(xué)的形式和效果,有助于將實驗教學(xué)的重心轉(zhuǎn)移到課程基本知識的掌握上。基于開源平臺的實驗內(nèi)容,使實驗教學(xué)從課堂內(nèi)擴展到課堂外,方便學(xué)生以更加靈活的學(xué)習(xí)形式獲取專業(yè)的資源,鍛煉學(xué)生在信號處理算法實現(xiàn)和探究性實驗設(shè)計方面的綜合能力。該實驗平臺也為浙江大學(xué)電氣工程學(xué)院開展信號處理技術(shù)的科研工作提供了有力的技術(shù)支撐和理論儲備。
References)
[1] 唐東煒,章敏,王宇華.基于LabVIEW的信號分析與處理實驗系統(tǒng)的開發(fā)[J].中山大學(xué)學(xué)報論叢,2006,26(1):36-38.
[2] 陳鴿,常敏慧.Matlab在信號處理系列課程實驗中的應(yīng)用[J].實驗技術(shù)與管理,2006,23(11):77-80.
[3] 劉峰,段紅,熊慶旭,等.信號與系統(tǒng)實驗教學(xué)改革[J].實驗技術(shù)與管理,2008,25(3):118-120.
[4] 夏平,向?qū)W軍,吉培榮.基于MATLAB的信號與系統(tǒng)、數(shù)字信號處理實驗體系教學(xué)實踐[J].電氣電子教學(xué)學(xué)報,2004,26(5):73-74.
[5] 王艷芬,史良,王剛.基于MATLAB軟件環(huán)境的《數(shù)字信號處理》課程新實驗開發(fā)[J].實驗技術(shù)與管理,2002,19(3):61-63.
[6] 周祥才,楊錚.基于MATLAB的信號采樣與重構(gòu)的實現(xiàn)[J].實驗技術(shù)與管理,2007,24(2):79-80.
[7] 劉成云,陳振學(xué),孔慧.基于CCS的“信號分析與處理”實驗教學(xué)[J].實驗室研究與探索,2010,29(11):97-100.
[8] 許爽,李敏.綜合設(shè)計性數(shù)字信號處理實驗的探討[J].大連民族學(xué)院學(xué)報,2010,12(3):96-97.
[9] 孫暉,趙菁.信號分析與處理綜合性實驗設(shè)計與實現(xiàn)[J].實驗技術(shù)與管理,2012,29(7):161-163.
[10] 劉衛(wèi)東,孟曉靜,王艷芬.語音信號處理實驗教學(xué)研究探索[J].實驗室研究與探索,2008,27(4):72-74.
[11] 高軍萍,王霞,李琦,等.數(shù)字信號處理課程教學(xué)改革的探索與體會[J].電氣電子教學(xué)學(xué)報,2007,29(2):19-21.
[12] 朱金秀,張卓,朱昌平.數(shù)字信號處理課程實驗教學(xué)研究與實踐[J].實驗室研究與探索,2008,27(5):96-98.
[13] 曹瀚文,王文博.GNU Radio:開放的軟件無線電平臺[J].電信快報,2007(4):31-34.
[14] 楊宏,孔耀暉,茹晨光,等.基于GNU Radio和USRP的無線通信系統(tǒng)建模仿真[J].現(xiàn)代電子技術(shù),2013,36(18):73-77.
[15] 趙楠,武明虎,周先軍,等.基于GNU Radio和USRP的寬頻帶并行感知平臺設(shè)計[J].計算機應(yīng)用研究,2015,32(12):3779-3781.
Development of signal processing experimental platform based on GNU Radio framework
Zhang Jianliang, Wu Yue, Qi Donglian
(College of Electrical Engineering, Zhejiang University, Hangzhou 310027, China)
The signal analysis and processing experimental platform based on GNU Radio is developed. By using the fully open source GNU Radio based signal analysis and processing platform, an open and modifiable library of modules can be provided so as to establish the quick signal processing flow and carry out the content design and simulation. At the same time, the platform can be used to connect the real signal receiving and processing system, which is easy to carry out the comprehensive and exploratory experimental design. The establishment of the experimental platform can help the students to obtain the specialized resources in a more flexible learning method and carry out more flexible and interactive learning, and the platform can also contribute to the improvement of the experimental teaching effect.
signal analysis and processing; experimental platform; GNU Radio;experimental teaching reform
10.16791/j.cnki.sjg.2016.11.040
2016-05-25
國家高技術(shù)研究發(fā)展計劃(863)項目(2015AA050202);國家自然科學(xué)基金項目(61503333);浙江省自然科學(xué)基金項目(LY15E070001);浙江省教育廳科研項目(Y201533326);浙江大學(xué)實驗技術(shù)研究重點項目(SZD201501);浙江大學(xué)本科實驗教學(xué)自制儀器設(shè)備項目(2016046);浙江大學(xué)電氣工程學(xué)院探究性實驗立項項目
張建良(1984—),男,河南新野,博士,講師,主要研究方向為信號分析與處理、復(fù)雜工業(yè)系統(tǒng)的分析與控制.
E-mail:jlzhang@zju.edu.cn
G642.0
A
1002-4956(2016)11-0161-04