石劍,蔣立平,王建新
(南京理工大學(xué)電子工程與光電技術(shù)學(xué)院,江蘇南京210094)
隨著無線通信技術(shù)的發(fā)展,傳統(tǒng)的通信系統(tǒng)由于對(duì)硬件的要求比較高,已不能滿足現(xiàn)代通信系統(tǒng)多標(biāo)準(zhǔn)多體制的要求[1]。這時(shí),一種新型的無線電應(yīng)用思想軟件無線電逐漸發(fā)展起來。根據(jù)定義[2]:軟件無線電是一種新型的無線電體系結(jié)構(gòu),它通過硬件和軟件的結(jié)合使無線網(wǎng)絡(luò)和用戶終端具有可重配置能力。軟件無線電提供了一種建立多模式、多頻段、多功能無線設(shè)備的有效而且相當(dāng)經(jīng)濟(jì)的解決方案,可以通過軟件的更新實(shí)現(xiàn)系統(tǒng)功能的變化。
最早的軟件無線電平臺(tái)是由美軍研發(fā)的“易通話”系統(tǒng)[3]。其工作頻帶為 2 MHz~2 GHz,能夠兼容美軍15種以上的無線電平臺(tái)。之后軟件無線電得到迅速發(fā)展,但由于其設(shè)備價(jià)格高昂,一般的中小型企業(yè)和個(gè)人難以使用[4]。本文采用的RTL-SDR作為一款非常廉價(jià)的軟件無線電接收機(jī)設(shè)備,非常適合個(gè)人的學(xué)習(xí)和使用。
RTL-SDR是一個(gè)非常廉價(jià)的家用消費(fèi)檔次的USB接口的軟件無線電接收機(jī)。它由Realtek公司的RTL2832U芯片和一個(gè)R820T調(diào)諧器組成。它能夠接收周圍空間中25 MHz到1.75 GHz之內(nèi)的射頻信號(hào),并將其下變頻到基帶,從USB接口輸出數(shù)字化的8位采樣信號(hào)。其結(jié)構(gòu)示意圖以及工作流程如圖1所示。
從圖1可以看到,該接收機(jī)在內(nèi)部共進(jìn)行了兩個(gè)流程:從RF到IF的模擬信號(hào)處理和從IF到基帶的數(shù)字信號(hào)處理。
RTL-SDR的壓控整蕩器(VCO)的振蕩頻率可以由RTL2832U的I2C接口控制。設(shè)其頻率為flo,則flo=fc-fif,其中,fif是中頻頻率,fc是待接收信號(hào)的載波頻率。例如,當(dāng)需要接收一個(gè)載波頻率在400 MHz的信號(hào)時(shí),需要將其下變頻到基帶。由于R820T的中頻頻率fif=3.57 MHz,故VCO的振蕩頻率為flo=400-3.57=396.43 MHz,[cos2π(400e6)t]×[cos2π(396.43e6)t]=[cos2π(3.57e6)t+cos2π(796.43e6)t]?;祛l后796.43 MHz的高頻分量會(huì)被R820T的中頻段低通濾波器衰減掉,只有3.57 MHz的中頻分量會(huì)進(jìn)入下一步的處理階段。
圖1 RTL-SDR信號(hào)處理過程
信號(hào)到達(dá)中頻段后,其帶寬約為6 MHz,通過AGC動(dòng)態(tài)調(diào)整其幅度后,需要對(duì)其進(jìn)行采樣將其變?yōu)閿?shù)字信號(hào),采樣頻率為fadc=28.8 MHz,采樣位數(shù)為8位。
采樣后的數(shù)字信號(hào)經(jīng)過數(shù)字正交下變頻變換為基帶信號(hào)。數(shù)字正交下變頻即將信號(hào)分為兩路,分別乘以與,用指數(shù)形式表示為。
為了進(jìn)一步降低軟件的計(jì)算壓力,減少數(shù)據(jù)量,須對(duì)基帶信號(hào)進(jìn)行抽取,將其采樣頻率降低為約2.8 MHz(該采樣頻率可控)。最后,將這兩路IQ數(shù)字信號(hào)從USB接口輸出至計(jì)算機(jī),由軟件來進(jìn)行數(shù)字信號(hào)處理(DSP)。
為了方便使用,廠商已經(jīng)提供了RTL-SDR的驅(qū)動(dòng)程序和動(dòng)態(tài)鏈接庫。將RTL-SDR連接到計(jì)算機(jī)后,安裝好驅(qū)動(dòng)程序,直接調(diào)用動(dòng)態(tài)鏈接庫函數(shù)就可以控制RTL-SDR的各種參數(shù),如采樣頻率,中心頻率等。將采樣數(shù)據(jù)通過USB接口傳輸?shù)接?jì)算機(jī)后,即可以通過軟件來進(jìn)行各種數(shù)字信號(hào)處理。
隨著技術(shù)的進(jìn)步、多核處理器的發(fā)展以及語言的支持,計(jì)算機(jī)已經(jīng)可以非常方便快捷的進(jìn)行多線程編程[5],這對(duì)軟件無線電來說具有非常重要的意義。軟件無線電最大的一個(gè)問題是需要實(shí)時(shí)處理,這就對(duì)軟件的算法和計(jì)算機(jī)的計(jì)算能力提出了很高的要求。而多線程編程通過并行處理,使軟件的計(jì)算速度有了很大的提升。
本文所采用的軟件無線電接收機(jī)框架如圖2所示??梢钥吹?,該框架總共分為4個(gè)流程,可以分別由4個(gè)獨(dú)立的線程完成。線程1負(fù)責(zé)將接收機(jī)接收的數(shù)據(jù)放入緩存中,避免因后續(xù)處理速度慢而造成數(shù)據(jù)的覆蓋缺失。線程2負(fù)責(zé)對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理。線程3負(fù)責(zé)對(duì)信號(hào)進(jìn)行功率譜估計(jì)并顯示。線程4負(fù)責(zé)對(duì)接收到的FM信號(hào)進(jìn)行解調(diào)并輸出。
圖2 接收機(jī)軟件處理框架
FM廣播在世界上的大部分國家都有相同的標(biāo)準(zhǔn),其頻率范圍為88~108 MHz,每個(gè)電臺(tái)的頻帶寬度為200 kHz。而RTL-SDR的采樣頻率為2 MHz以上,所以輸出到計(jì)算機(jī)的數(shù)字信號(hào)中包含有多個(gè)FM無線電臺(tái)的信號(hào),這可以通過實(shí)時(shí)的功率譜監(jiān)視窗口看到,如圖3所示。當(dāng)前設(shè)置的中心頻率為97.5 MHz,采樣頻率為 2.4 MHz。
所采用的功率譜估計(jì)算法需要兼顧準(zhǔn)確性與實(shí)時(shí)性,文中采用的算法為Welch法[6-7],即加窗處理與時(shí)域平滑相結(jié)合的方法。先對(duì)信號(hào)進(jìn)行重疊的分段,為了減小方差,Welch建議有50%的數(shù)據(jù)重疊。然后對(duì)每一段信號(hào)進(jìn)行加窗處理,利用周期圖法求出每一段的功率譜估計(jì)。最后將所有的功率譜估計(jì)取平均得到最終的功率譜估計(jì)。Welch法可以很好的改善譜估計(jì)曲線的平滑性,并提高譜估計(jì)的分辨能力[8]。
圖3 功率譜估計(jì)顯示窗口
無論是從功率譜估計(jì)顯示窗口(上方)還是時(shí)頻顯示窗口(下方)都可以看到,在當(dāng)前的頻帶范圍到即96.3 MHz到98.7 MHz內(nèi),有兩個(gè)電臺(tái)正在進(jìn)行廣播,中心頻率分別是97.5 MHz和96.9 MHz。需要說明的是,這兩個(gè)中心頻率是通過計(jì)算得到的,RTL-SDR輸入到計(jì)算機(jī)的是基帶信號(hào),所以這兩個(gè)頻率對(duì)應(yīng)的為0 Hz和-0.6 MHz。當(dāng)選擇中心頻率為96.9 MHz的電臺(tái)時(shí),需要將其基帶中心頻率搬移到0 Hz,即將接收到的信號(hào)乘以,其中,fb為信號(hào)的基帶中心頻率,在這里等于-0.6 MHz,fs為采樣頻率,等于2.4 MHz,n為接收到的數(shù)字復(fù)信號(hào)的下標(biāo)。
采樣頻率為2.4 MHz,而FM電臺(tái)的頻帶寬度為200 kHz,為了不影響信號(hào)所攜帶的信息而盡可能地降低數(shù)據(jù)速率,需要進(jìn)行12倍抽取。抽取之前,需要進(jìn)行濾波來濾除其它電臺(tái)以及防止頻譜混疊[9]。本文的抽取結(jié)構(gòu)中,采用多個(gè)半帶濾波器級(jí)聯(lián)加FIR濾波器的結(jié)構(gòu),如圖4所示。
圖4 抽取結(jié)構(gòu)
半帶濾波器的幅頻響應(yīng)如圖5(a)所示,而FIR濾波器的參數(shù)需要可控以滿足不同的抽取要求。利用窗函數(shù)設(shè)計(jì)法[10]來生成FIR濾波器,理想低通濾波器的沖激響應(yīng)為,其為無限長(zhǎng)序列,且是非因果的,需要利用一個(gè)窗函數(shù)來截?cái)?,該窗函?shù)和濾波器階數(shù)可由軟件控制。圖5(b)為生成的用來進(jìn)行3倍抽取的FIR濾波器。
圖5 濾波器幅頻響應(yīng)
調(diào)頻信號(hào)的表達(dá)式如下所示:sfm(t)=Accos(ωct+θfm(t)),如調(diào)制信號(hào)為單音信號(hào)si(t)=Aicos(2πfit),則:
其中,Δf稱為最大頻偏,βfm稱為調(diào)頻指數(shù)。
FM廣播中規(guī)定最大頻偏Δf為75 kHz,最高調(diào)制頻率fi為15 kHz,故調(diào)頻指數(shù)βfm=5。由調(diào)頻指數(shù)可以看到FM廣播使用的是寬帶調(diào)頻(WFM),由卡森公式[11]BFM=2(βfm+1)fi可以計(jì)算得到FM信號(hào)的頻帶寬度為180 kHz。
FM解調(diào)有多種方法,文中采用如圖6所示解調(diào)方法[12]。設(shè)RTL-SDR接收到的信號(hào)為,其中ωΔ是由于本振與載波頻率不完全同步而殘留的頻偏。兩支路輸出分別為。兩路相乘取幅角后,輸出為sd(t)=-{[ωΔt-ωΔ(t-τ)]+[θfm(t)-θfm(t-τ)]}。當(dāng)τ非常小時(shí),,若忽略由ωΔ產(chǎn)生的很小的直流分量,其正比于調(diào)制信號(hào),可作為解調(diào)輸出。
圖6 FM解調(diào)示意圖
Edwin Armstrong在1934年就提出了頻分復(fù)用的概念[13],1961年之后,開始在FM廣播中使用起來,出現(xiàn)了調(diào)頻立體聲[14]。FM調(diào)頻立體聲廣播頻譜分布如圖7所示,聲音分為左聲道L和右聲道R,頻率都在50 Hz~15 kHz。兩個(gè)聲道相加減形成和信號(hào)(L+R)和差信號(hào)(L-R),差信號(hào)由38 kHz的載波進(jìn)行抑制載波的雙邊帶調(diào)制,然后和和信號(hào)相加作為FM調(diào)頻立體聲的基帶信號(hào)。
圖7 FM調(diào)頻立體聲頻譜結(jié)構(gòu)
調(diào)頻立體聲的解調(diào)首先需要提取出導(dǎo)頻,利用一個(gè)帶通濾波器即可。本文設(shè)計(jì)的帶通濾波器如圖8所示,采樣頻率為200 kHz。提取出濾波后的導(dǎo)頻信號(hào)后,利用鎖相環(huán)將其相位同步[15],提取出相位并翻倍后可得到38 kHz的載波信號(hào),其用來解調(diào)差信號(hào)(L-R)。得到基帶的和信號(hào)和差信號(hào)后,由于其最高頻率為15 kHz,須對(duì)其進(jìn)行抽取,進(jìn)一步降低采樣速率。將解調(diào)得到的和信號(hào)和差信號(hào)相加除以2便得到左聲道,相減除以2便得到右聲道。
FM廣播中傳送的語音信號(hào)和音樂信號(hào)的能力一般主要集中在低頻端,在調(diào)制頻率高頻端的信號(hào)功率譜密度較小,而噪聲的功率譜密度卻比較大。為了改善解調(diào)得到的輸出信噪比,在FM調(diào)頻系統(tǒng)中一般都采用了預(yù)加重與去加重的措施[16]。預(yù)加重即在信號(hào)頻率大于某個(gè)固定頻率時(shí),給其一個(gè)線性的增益。該固定頻率在美國地區(qū)為2 122.1 Hz,在亞洲和歐洲地區(qū)為3 183.1 Hz。去加重只需要在相應(yīng)頻率處給其一個(gè)相應(yīng)的衰減即可。
最后,將解調(diào)后的信號(hào)輸出到計(jì)算機(jī)的聲卡驅(qū)動(dòng)程序,即可以收聽到FM廣播。
圖8 導(dǎo)頻提取濾波器頻率特性
軟件無線電是未來通信系統(tǒng)發(fā)展的趨勢(shì),文中利用RTL-SDR軟件無線電接收機(jī),在Windows環(huán)境下搭建了適用于該接收機(jī)的軟件框架,并以FM廣播信號(hào)為例,完成了FM廣播信號(hào)的接收與解調(diào)。軟件的可擴(kuò)展性可以賦予本系統(tǒng)更加完善的功能。為了使軟件更加智能化,可以處理更多的信號(hào),本文擬將現(xiàn)有的調(diào)制方式的解調(diào)方法做成一個(gè)個(gè)的模塊,在接收到信號(hào)后,先對(duì)信號(hào)的調(diào)制方式進(jìn)行識(shí)別,識(shí)別之后可自動(dòng)調(diào)用該調(diào)制方式的解調(diào)模塊完成信號(hào)的處理。
參考文獻(xiàn):
[1]饒玲俐.基于GNU Radio和RTLSDR軟件無線電的FM廣播解調(diào)接收[D].武漢:華中師范大學(xué),2015.
[2]向新.軟件無線電原理與技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[3]陶玉柱,胡建旺,崔佩璋.軟件無線電技術(shù)綜述[J].通信技術(shù),2011,44(1):37-39.
[4]費(fèi)丹,熊磊,吳建強(qiáng).基于軟件無線電的無線信道仿真儀設(shè)計(jì)與實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2013,34(12):93-98.
[5]眭俊華,劉慧娜,王建鑫,等.多核多線程綜述[J].計(jì)算機(jī)應(yīng)用,2013,33(S1):239-242.
[6]伊鑫,曲愛華.基于Welch算法的經(jīng)典功率譜估計(jì)的Matlab分析[J].現(xiàn)代電子技術(shù),2010,33(3):7-9.
[7]楊曉明,晉玉劍,李永紅.經(jīng)典功率譜估計(jì)Welch法的Matlab仿真分析[J].電子測(cè)試,2011(7):101-104.
[8]鄧澤懷,劉波波,李彥良.常見的功率譜估計(jì)方法及其Matlab仿真[J].電子科技,2014,27(2):50-52.
[9]樓才義,徐建良,楊小牛.軟件無線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2014.
[10]程佩青.數(shù)字信號(hào)處理教程[M].北京:清華大學(xué)出版社,2008.
[11]樊昌信,曹麗娜.通信原理[M].北京:國防工業(yè)出版社,2008.
[12]Robert W.Steward,Kenneth W.Barlee,Dale S.W.Atkinson,Louise H.Crockett.Software Defined Radio using MATLAB&Simulink and the RTL-SDR[M].Glasgow,Scotland,UK:Strathclyde Academic Media,2015.
[13]L.Lessing.Man of High Fidelity:Edwin Howard Armstrong[M].New York City:Bantam Books,1969.
[14]朱良貴.談?wù)務(wù){(diào)頻立體聲廣播接收機(jī)[J].電子技術(shù),1980,18(11):16-20.
[15]王曉玲.雙聲道調(diào)頻立體聲廣播系統(tǒng)仿真設(shè)計(jì)與分析[J].實(shí)驗(yàn)室研究與探索,2015,34(11):129-132.
[16]崔尚平.調(diào)頻廣播中預(yù)加重和去加重問題的討論[J].甘肅科學(xué)學(xué)報(bào),2001,13(3):76-82.