王 輝, 張 晨, 于立君, 胡羽坤
(哈爾濱工程大學(xué) 自動(dòng)化學(xué)院, 黑龍江 哈爾濱 150001)
軟件無線電(sofware defined radio, SDR)是一種使用軟件實(shí)現(xiàn)物理層連接的無線通信設(shè)計(jì),能夠在不改變硬件的情況下實(shí)現(xiàn)不同通信功能。軟件無線電技術(shù)有巨大的研究和實(shí)用空間[1-4]。筆者為實(shí)驗(yàn)課程設(shè)計(jì)了基于HackRF的無線通信收發(fā)系統(tǒng)創(chuàng)新性實(shí)驗(yàn)[5-6]。該實(shí)驗(yàn)可以使學(xué)生中深入學(xué)習(xí)無線通信收發(fā)過程以及數(shù)字調(diào)制/解調(diào)方法,提高對(duì)無線通信收發(fā)系統(tǒng)的使用能力。在分析計(jì)算與實(shí)際編程調(diào)試的過程中,學(xué)生能夠深入理解課程的理論知識(shí),實(shí)現(xiàn)從理論知識(shí)到實(shí)踐能力的全面提高[5]。
軟件無線電系統(tǒng)可以分為3類:基于FPGA的SDR系統(tǒng)、基于DSP平臺(tái)的SDR系統(tǒng)和基于通用處理器的SDR系統(tǒng)。為了實(shí)驗(yàn)室調(diào)試方便,選擇基于通用處理器的SDR系統(tǒng),搭建的基于HackRF的SDR系統(tǒng)模型框架如圖1所示。
由圖1可以看出,無線通信收發(fā)系統(tǒng)由硬件外設(shè)HackRF和主機(jī)2部分組成。主機(jī)配置了GNU Radio編程環(huán)境,作為實(shí)現(xiàn)各種通信功能的軟件平臺(tái)。
圖1 系統(tǒng)模型框架圖
HackRF是一款軟件無線電通用平臺(tái),由于其硬件設(shè)計(jì)可以與各種通信方式進(jìn)行匹配[6-7],因此選用HackRF作為實(shí)驗(yàn)的硬件平臺(tái)。HackRF的硬件架構(gòu)如圖2所示,采用正交低通采樣方式進(jìn)行采樣量化,通過USB2.0與主機(jī)通信。
圖2 HackRF硬件架構(gòu)圖
(1) 接收信號(hào)。當(dāng)天線收到無線信號(hào)后,編程控制是否放大該信號(hào),然后將信號(hào)利用RFFC5072和MAX2837進(jìn)行2次下變頻,得到模擬基帶信號(hào),量化并抽取,最后得到基帶數(shù)字信號(hào),然后送入主機(jī)進(jìn)行處理。
(2) 發(fā)送過程。與接收過程類似,是一個(gè)與接收信號(hào)大致相反的過程。HackRF是一個(gè)半雙工器件,收發(fā)過程不能同時(shí)完成,需要軟件切換。
GNU Radio是一個(gè)開源軟件平臺(tái),但它不是必要的,控制HackRF的程序可以由學(xué)生自行編寫。軟件無線電的核心理念就是通用化,硬件平臺(tái)使用了通用的硬件外設(shè),為避免重復(fù)的信號(hào)處理以及與外設(shè)通信過程,GNU Radio集成了方便調(diào)用的模塊。此外,GNU Radio還包含一種圖形編程工具(GNU radio company),可以將模塊以流圖的形式連接并自動(dòng)生成Python代碼,配合GRC和代碼編程,就可以在主機(jī)上實(shí)現(xiàn)所需的通信過程[8-10]。
FM是一種模擬體制的無線通信,工作頻段在80~108 MHz,至今仍然有廣泛的應(yīng)用。傳統(tǒng)的FM接收機(jī)大多指調(diào)頻收音機(jī),所需硬件固定、功能固定,而且調(diào)試復(fù)雜[11-12];而配合通用硬件外設(shè)HackRF與軟件GNU Radio實(shí)現(xiàn)FM通信更具優(yōu)勢(shì)。
首先,搭建FM接收機(jī)模型。系統(tǒng)模型的接收機(jī)部分,利用HackRF接收指定頻段的FM信號(hào),下變頻并數(shù)字化得到基帶未解調(diào)FM信號(hào),送入主機(jī)進(jìn)行信息處理,得到解調(diào)后的原始音頻信息并送入聲卡播放,配合其他功能模塊實(shí)現(xiàn)調(diào)頻、調(diào)音量等功能。將此過程通過GRC搭建流圖并自動(dòng)生成實(shí)際運(yùn)行的Python代碼。FM接收機(jī)的軟件架構(gòu)如圖3所示。
圖3 FM接收機(jī)軟件架構(gòu)圖
根據(jù)該架構(gòu)圖,調(diào)用相應(yīng)的模塊搭建流圖(見圖4),實(shí)現(xiàn)FM接收。由于FM發(fā)送需實(shí)現(xiàn)立體聲調(diào)制,多數(shù)學(xué)生會(huì)遇到困難,因此不作為本實(shí)驗(yàn)的必做部分,可以作為課外拓展實(shí)驗(yàn)。
圖4 FM接收機(jī)GRC流圖
無線通信收發(fā)系統(tǒng)實(shí)驗(yàn)的軟件架構(gòu)如圖5所示。接收機(jī)是在FM接收機(jī)的基礎(chǔ)上,根據(jù)GMSK解調(diào)理論修改而成;發(fā)送機(jī)根據(jù)調(diào)制理論搭建。
圖5 GMSK無線通信系統(tǒng)軟件架構(gòu)圖
根據(jù)該架構(gòu)圖,調(diào)用相關(guān)模塊搭建收發(fā)系統(tǒng),實(shí)現(xiàn)文本信息的無線收發(fā)。繪制無線通信收發(fā)系統(tǒng)的完整工作流程如圖6所示。
無線通信收發(fā)系統(tǒng)的工作流程如下:
圖6 工作流程示意圖
(1) 利用File Source模塊從指定位置讀取文本文件,利用Packet Encoder模塊對(duì)信息進(jìn)行編碼處理,加入默認(rèn)的header code、access code和preamble code,將編碼后的數(shù)據(jù)流送入下一個(gè)模塊處理;
(2) 進(jìn)行數(shù)據(jù)流的GMSK調(diào)制:經(jīng)過高階模塊GMSK Mod中的底層模塊“packed_to_unpacked_bb”將數(shù)據(jù)流拆分成二進(jìn)制序列,然后經(jīng)“chunks_to_symbols_bf”底層模塊變?yōu)殡p極性非歸零碼元序列送入下一個(gè)模塊;
(3) 將雙極性非歸零碼元序列送入高斯濾波器進(jìn)行預(yù)調(diào)制,并將預(yù)調(diào)制后的碼元序列送入頻率調(diào)制底層模塊,完成頻率調(diào)制,獲得兩路同相、正交信號(hào),也就是所謂的基帶復(fù)信號(hào);
(4) 通過Osmocom Sink模塊與HackRF One通信,將基帶已調(diào)制信號(hào)經(jīng)USB2.0送入HackRF One板卡,并且上變頻到指定頻帶,送入無線通信信道,完成GMSK調(diào)制過程;
(5) 通過Osmocom Source模塊與HackRF One通信,接收機(jī)驅(qū)動(dòng)板卡接收指定頻帶的信號(hào),經(jīng)過下變頻、低通采樣、量化、抽取等一系列操作,獲取基帶正交同相兩路信號(hào),經(jīng)USB2.0送入PC進(jìn)行處理;
(6) 信號(hào)流送入GMSK Demod高階模塊,首先通過其中的正交解調(diào)底層模塊,計(jì)算出相應(yīng)的相位差值(頻率值),經(jīng)過增益調(diào)整變?yōu)檎?fù)數(shù)字序列,經(jīng)過時(shí)鐘同步底層模塊恢復(fù)時(shí)序,再經(jīng)過抽樣判決模塊“binary_slicer_fb”對(duì)信號(hào)流按判決值0進(jìn)行判決,獲得二進(jìn)制數(shù)字序列,送入下一個(gè)模塊;
(7) 將已解調(diào)的二進(jìn)制數(shù)字序列碼元流送入解碼模塊Packet Decoder,去除數(shù)據(jù)中添加的內(nèi)容,還原出原本的數(shù)據(jù)流;將原本的數(shù)據(jù)送入File Sink模塊,將數(shù)據(jù)流寫進(jìn)指定位置文檔并存儲(chǔ)。
通過Osmocom Source與HackRF通信,將基帶未解調(diào)信號(hào)送入流圖,Signal Source和Multiply模塊組合,利用余弦信號(hào)頻譜以及時(shí)域相乘頻域卷積的特性,移動(dòng)信號(hào)頻譜,實(shí)現(xiàn)信號(hào)的軟件調(diào)頻過程。通過Low Pass Filter選擇頻道,并利用Rational Resampler平整波形和調(diào)整采樣率。利用WBFM Receive高級(jí)模塊進(jìn)行FM解調(diào),得到原始音頻信號(hào),并利用Multiply Const調(diào)整音頻信號(hào)音量,最后送入聲卡播放。
該過程的核心模塊WBFM Receive使用的是正交解調(diào),也是一種通用頻率解調(diào)方式。其他模塊則旨在設(shè)置參數(shù)以及構(gòu)建圖形界面,方便觀看頻譜、調(diào)整頻道和音量。
能實(shí)現(xiàn)文本信息無線收發(fā)的通信系統(tǒng)包含發(fā)送機(jī)和接收機(jī)兩部分。系統(tǒng)模型包含一個(gè)發(fā)送機(jī)和一個(gè)接收機(jī)。需要注意的是,搭建FM接收機(jī)時(shí)選擇的是FM解調(diào)方式,傳輸文本信息是數(shù)字通信,故對(duì)數(shù)字調(diào)制/解調(diào)方法進(jìn)行對(duì)比和選擇。利用Matlab對(duì)數(shù)字頻率調(diào)制/解調(diào)進(jìn)行仿真研究和對(duì)比,最終選定了GMSK調(diào)制/解調(diào)為實(shí)現(xiàn)技術(shù),仿真結(jié)果對(duì)比如圖7所示。
圖7 MSK和GMSK頻譜對(duì)比圖
至此,可以實(shí)現(xiàn)文本信息收發(fā)的無線通信收發(fā)系統(tǒng)實(shí)驗(yàn)成功實(shí)現(xiàn)。
基于HackRF的無線通信收發(fā)系統(tǒng)實(shí)驗(yàn)項(xiàng)目,能夠利用同一套硬件系統(tǒng)搭載不同的軟件,分別實(shí)現(xiàn)FM接收和文本信息收發(fā)。學(xué)生可以對(duì)實(shí)驗(yàn)項(xiàng)目進(jìn)行創(chuàng)新和拓展。此實(shí)驗(yàn)所需硬件簡(jiǎn)單,可以節(jié)約實(shí)驗(yàn)室資源,增添實(shí)驗(yàn)課程的趣味性,同時(shí)能夠加深學(xué)生對(duì)無線通信收發(fā)過程的理解,提高學(xué)生對(duì)無線通信收發(fā)系統(tǒng)實(shí)驗(yàn)的興趣和實(shí)踐能力,激發(fā)學(xué)生在無線通信方面的創(chuàng)造性,提升學(xué)生的科研能力和綜合素質(zhì)。