唐 正,呂曉蕊
(1.湖北交通職業(yè)技術(shù)學(xué)院 交通信息學(xué)院,湖北 武漢 430079;2.武漢鐵路職業(yè)技術(shù)學(xué)院 鐵道通信與信號(hào)學(xué)院,湖北 武漢 430205)
通信原理是通信類(lèi)專(zhuān)業(yè)的核心基礎(chǔ)課程,對(duì)學(xué)生專(zhuān)業(yè)知識(shí)體系的建立具有重要意義。通信實(shí)踐教學(xué)作為理論教學(xué)的重要補(bǔ)充和支撐,能夠幫助學(xué)生更好地理解重要的結(jié)論和概念。在傳統(tǒng)的通信實(shí)踐教學(xué)中,實(shí)驗(yàn)平臺(tái)多使用通信原理實(shí)驗(yàn)箱,該模式的實(shí)踐教學(xué)多為驗(yàn)證性實(shí)驗(yàn),實(shí)驗(yàn)內(nèi)容固定、項(xiàng)目可拓展性差、學(xué)生參與性不強(qiáng),導(dǎo)致教學(xué)效果不理想。
軟件無(wú)線電(Software Defined Radio, SDR)是一種在不改變硬件設(shè)計(jì)的情況下,通過(guò)改變軟體的部署實(shí)現(xiàn)不同通信方式的無(wú)線通信架構(gòu)。該思想于1992年由Joseph Mitola博士第一次提出,SDR在軍事領(lǐng)域和移動(dòng)通信領(lǐng)域得到迅速發(fā)展。隨著軟件無(wú)線電平臺(tái)通用外設(shè)(Hack RF、USRP等)的產(chǎn)生,SDR成為一種可行的通信課程實(shí)踐教學(xué)資源。
鑒于軟件無(wú)線電的優(yōu)點(diǎn),筆者將SDR引入通信實(shí)踐教學(xué)中。學(xué)生通過(guò)完成相關(guān)實(shí)驗(yàn),可深入理解通信系統(tǒng)中信息處理的過(guò)程,了解信道參數(shù)對(duì)系統(tǒng)的影響,并能親自體驗(yàn)無(wú)線數(shù)據(jù)收發(fā)的樂(lè)趣。學(xué)生還能掌握軟件無(wú)線電設(shè)計(jì)方法,以本實(shí)驗(yàn)平臺(tái)為基礎(chǔ),拓展新的通信實(shí)驗(yàn)項(xiàng)目。
基于Hack RF的軟件無(wú)線電教學(xué)平臺(tái)由Hack RF和計(jì)算機(jī)構(gòu)成,如圖1所示。平臺(tái)中,Hack RF開(kāi)發(fā)板需要兩塊,其中一塊作為發(fā)射模塊,另一塊作為接收模塊;計(jì)算機(jī)需安裝Linux系統(tǒng)和GNU Radio程序。軟件無(wú)線電教學(xué)平臺(tái)如圖1所示。
圖1 軟件無(wú)線電教學(xué)平臺(tái)
GNU Radio是一個(gè)開(kāi)源的無(wú)線電軟件平臺(tái),由C++語(yǔ)言和Python語(yǔ)言混合編寫(xiě)而成。C++的實(shí)時(shí)性好、效率高,被用于編寫(xiě)信號(hào)處理模塊,如信號(hào)的調(diào)制和解調(diào)模塊、信道的編碼和譯碼模塊以及虛擬儀表模塊等;Python是一種語(yǔ)法簡(jiǎn)單而且完全面向?qū)ο蟮男滦湍_本語(yǔ)言,它被用于連接由C++編譯而成的信號(hào)處理模塊。GNU Radio提供了一個(gè)可視化的圖形界面。GNU Radio Companion簡(jiǎn)稱(chēng)GRC,在GRC空白區(qū),開(kāi)發(fā)者以流圖的形式構(gòu)建無(wú)線通信系統(tǒng),流圖完成后系統(tǒng)自動(dòng)編譯生成Python代碼,為不熟悉Python編程的學(xué)生和用戶(hù)提供方便。
Hack RF是軟件無(wú)線電平臺(tái)的外部設(shè)備,工作頻段為30 MHz~6 GHz,最大采樣率為20 MS/s,半雙工通信模式。其主要功能是無(wú)線信號(hào)的射頻處理以及數(shù)字信號(hào)與模擬信號(hào)的相互轉(zhuǎn)換,其硬件架構(gòu)與工作流程如圖2所示。當(dāng)設(shè)備處于接收狀態(tài)時(shí),天線接收信號(hào)進(jìn)入射頻前端,射頻模塊對(duì)信號(hào)進(jìn)行低噪聲放大和下變頻后生成模擬基帶信號(hào),模擬基帶信號(hào)送入模數(shù)轉(zhuǎn)換器生成數(shù)字基帶信號(hào),數(shù)字基帶信號(hào)在單片機(jī)中完成數(shù)據(jù)封裝后通過(guò)USB口送入計(jì)算機(jī)進(jìn)行數(shù)字信號(hào)處理。發(fā)送流程為接收流程的逆過(guò)程,這里不再贅述。
圖2 Hack RF硬件架構(gòu)
結(jié)合通信原理課程的教學(xué)特點(diǎn),筆者基于Hack RF的軟件無(wú)線電教學(xué)平臺(tái)設(shè)計(jì)了7個(gè)實(shí)驗(yàn)項(xiàng)目,本文將重點(diǎn)分析“GFSK無(wú)線通信”實(shí)驗(yàn),具體見(jiàn)表1所列。
表1 基于Hack RF的軟件無(wú)線電教學(xué)平臺(tái)開(kāi)發(fā)設(shè)計(jì)的實(shí)驗(yàn)
高斯頻移鍵控(Gauss Frequency Shift Keying, GFSK)調(diào)制是把輸入數(shù)據(jù)經(jīng)高斯低通濾波器預(yù)調(diào)制濾波后,再進(jìn)行FSK調(diào)制的數(shù)字調(diào)制方式。GFSK具有恒幅包絡(luò)、功率譜集中、頻譜較窄等特性,被廣泛應(yīng)用在移動(dòng)通信、物聯(lián)網(wǎng)通信等領(lǐng)域。
GFSK無(wú)線通信實(shí)驗(yàn)分為兩部分:第一部分在GNU Radio軟件上搭建GFSK的數(shù)據(jù)調(diào)制系統(tǒng),觀測(cè)調(diào)制系數(shù)BT對(duì)基帶信號(hào)頻譜的影響;第二部分使用圖1所示的軟件無(wú)線電通信教學(xué)實(shí)踐平臺(tái)實(shí)現(xiàn)GFSK調(diào)制解調(diào)的無(wú)線數(shù)據(jù)收發(fā)。
本實(shí)驗(yàn)旨在讓學(xué)生觀察GFSK數(shù)字基帶信號(hào)受BT參數(shù)的影響。由于這部分實(shí)驗(yàn)不涉及信號(hào)的射頻處理,故本實(shí)驗(yàn)僅在軟件平臺(tái)GNU Radio上進(jìn)行。實(shí)驗(yàn)內(nèi)容主要包括數(shù)字基帶信號(hào)產(chǎn)生、GFSK調(diào)制以及虛擬儀表觀測(cè)頻譜,系統(tǒng)流圖如圖3所示。
圖3 GFSK調(diào)制流圖
2.1.1 實(shí)驗(yàn)流程
(1)在“File Source”模塊中加載文本文件,使用“Packet Encoder”模塊對(duì)信息進(jìn)行預(yù)處理,其作用是配合解調(diào)過(guò)程中“Packer Decoder”模塊的使用,使得調(diào)制前與解調(diào)后的數(shù)據(jù)流保持同步;
(2)將數(shù)據(jù)流送入GFSK調(diào)制器,本實(shí)驗(yàn)使用三組不同BT值的“GFSK Mod”模塊做對(duì)比實(shí)驗(yàn);
(3)在“Frequency Sink”模塊中,觀察設(shè)置不同BT值的“GFSK Mod”模塊輸出信號(hào)的頻譜。
2.1.2 實(shí)驗(yàn)結(jié)果分析
不同BT值對(duì)應(yīng)的GFSK頻譜如圖4所示??梢园l(fā)現(xiàn):BT值越小,基帶信號(hào)的頻譜能量越集中,帶寬越小,頻譜的利用率越高。在實(shí)際應(yīng)用中,GSM系統(tǒng)和藍(lán)牙通信系統(tǒng)均使用GFSK調(diào)制解調(diào),調(diào)制系數(shù)BT取0.5。
圖4 不同BT值對(duì)應(yīng)的GFSK頻譜
本實(shí)驗(yàn)使用圖1所示的軟件無(wú)線電教學(xué)平臺(tái)實(shí)現(xiàn)GFSK無(wú)線數(shù)據(jù)收發(fā)功能。在GRC流圖中分別搭建GFSK調(diào)制發(fā)射部分和接收解調(diào)部分,如圖5所示。由于Hack RF只能工作于半雙工模式,故本實(shí)驗(yàn)需要兩臺(tái)Hack RF:一臺(tái)作為發(fā)射信機(jī),另一臺(tái)作為接收信機(jī)。
圖5 GFSK無(wú)線通信系統(tǒng)流圖
2.2.1 實(shí)驗(yàn)流程
(1)本實(shí)驗(yàn)開(kāi)始的操作與上節(jié)實(shí)驗(yàn)相似,GFSK的BT值設(shè)置為0.35。
(2)GFSK調(diào)制后的基帶信號(hào)送入“ADD”模塊的輸入端口,“ADD”模塊的另一個(gè)輸入端口接入“Noise Source”模塊。此設(shè)計(jì)的目的是讓實(shí)驗(yàn)貼近實(shí)際,模擬無(wú)線信號(hào)在信道中信噪比衰落的現(xiàn)象?!癗oise Source”模塊中噪聲的取值使用變量“noise”,而“noise”的大小受控件“QT GUI Range”的控制。該控件的功能是在GUI界面中創(chuàng)建變量參數(shù)調(diào)節(jié)框,使參數(shù)能在設(shè)定的范圍內(nèi)實(shí)時(shí)調(diào)節(jié)。
(3)疊加高斯噪聲后的基帶信號(hào)送入“Osmocom Sink”模塊。“Osmocom Sink”模塊需完成以下任務(wù):
a)配置并部署指定Hack RF的射頻參數(shù)。本實(shí)驗(yàn)中,Hack RF頻率設(shè)為433 MHz,采樣率為2 MS/s,增益參數(shù)使用默認(rèn)值。
b)模塊將基帶信息送給指定的Hack RF進(jìn)行射頻處理,包括:數(shù)模轉(zhuǎn)換、上變頻、射頻放大等。最終,信號(hào)經(jīng)天線發(fā)送到無(wú)線信道中。
(4)接收系統(tǒng)大致為發(fā)射系統(tǒng)的逆過(guò)程?!癘smocom Source”模塊中的頻率值設(shè)置為“433 MHz+freq_offset”?!癴req_offset”為頻率偏移變量,“freq_offset”的引入是為了模擬無(wú)線通信中的多普勒頻移效應(yīng)。該變量參數(shù)同樣使用“QT GUI Range”模塊控制。
(5)接收系統(tǒng)最終將信號(hào)送入“File source”模塊,并以文本文件的形式存儲(chǔ)數(shù)據(jù)。
2.2.2 實(shí)驗(yàn)結(jié)果分析
(1)變量noise和freq_offset設(shè)置為0時(shí),觀察發(fā)射信號(hào)和接收信號(hào)頻譜,如圖6所示。接收信號(hào)頻譜與發(fā)射信號(hào)頻譜相似,信噪比良好。
圖6 系統(tǒng)發(fā)射信號(hào)、接收信號(hào)頻譜
(2)變量noise和freq_offset設(shè)置為0時(shí),系統(tǒng)可正常收發(fā)文本文件,如圖7所示。為便于實(shí)驗(yàn)觀察,筆者在 “File Sink”模塊設(shè)置中選擇“repeat”模式,故接收系統(tǒng)保存的文本中出現(xiàn)重復(fù)信息。本實(shí)驗(yàn)框架還能實(shí)現(xiàn)圖片文件和音頻文件的發(fā)送和接收。
圖7 發(fā)射文本文件與接收文本文件
(3)變量noise設(shè)置為0.4時(shí),接收信號(hào)的信噪比惡化20 dB,如圖8所示。此時(shí),系統(tǒng)無(wú)法正常接收文件。
圖8 不同情況下接收信號(hào)的頻譜1
(4)變量freq_offset設(shè)置為260 kHz時(shí),收發(fā)系統(tǒng)出現(xiàn)較大頻偏,如圖9所示。此時(shí),系統(tǒng)無(wú)法正常接收文件。
圖9 不同情況下接收信號(hào)的頻譜2
通過(guò)“GFSK無(wú)線通信”實(shí)驗(yàn),學(xué)生一方面可以觀察GFSK頻譜特性,掌握數(shù)字基帶信號(hào)頻帶傳輸?shù)姆椒?,理解無(wú)線通信的框架,了解無(wú)線信道對(duì)通信系統(tǒng)的影響;另一方面,學(xué)生能夠理解軟件無(wú)線電的理念,學(xué)會(huì)使用GNU Radio平臺(tái)仿真分析復(fù)雜的通信概念,并能借助通用外設(shè)實(shí)現(xiàn)實(shí)際通信案例。
本文從平臺(tái)構(gòu)建、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)實(shí)施以及結(jié)果分析等方面闡述了基于Hack RF的軟件無(wú)線電平臺(tái)在通信教學(xué)中的應(yīng)用和實(shí)施。
基于Hack RF的軟件無(wú)線電平臺(tái)的初步實(shí)踐教學(xué)成果已在我校2020—2021學(xué)年的通信類(lèi)課程教學(xué)中得以運(yùn)用,教學(xué)效果良好,學(xué)生普遍反映實(shí)踐教學(xué)課程高效有趣。筆者也正在嘗試將實(shí)踐教學(xué)平臺(tái)運(yùn)用到跨專(zhuān)業(yè)的學(xué)科教學(xué)中:擬與無(wú)人機(jī)專(zhuān)業(yè)聯(lián)合開(kāi)發(fā)無(wú)人機(jī)反制實(shí)驗(yàn);與汽車(chē)專(zhuān)業(yè)開(kāi)發(fā)汽車(chē)防撞雷達(dá)模擬實(shí)驗(yàn)等。
綜上所述,基于Hack RF的軟件無(wú)線電平臺(tái)不僅能幫助學(xué)生理解通信課程的理論知識(shí),其參與性強(qiáng)、拓展性強(qiáng)的特點(diǎn)還能促進(jìn)學(xué)生學(xué)習(xí)的自主性和創(chuàng)新能力,幫助他們?cè)谕ㄐ殴こ痰拈_(kāi)發(fā)與應(yīng)用方面不斷取得進(jìn)步。