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