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