石東新,李朝暉
(中國(guó)傳媒大學(xué) 信息工程學(xué)院,北京 100024)
DRM開(kāi)源軟件接收系統(tǒng)
石東新,李朝暉
(中國(guó)傳媒大學(xué) 信息工程學(xué)院,北京 100024)
DRM可以在帶聲卡的PC機(jī)上實(shí)現(xiàn)實(shí)時(shí)軟件接收。本文在介紹基于PC機(jī)的 DRM軟件接收機(jī)系統(tǒng)之后,分析了 DRM接收軟件現(xiàn)狀,重點(diǎn)論述了Dream和Diorama兩款DRM開(kāi)接收軟件的工作原理和特點(diǎn)。
數(shù)字音頻廣播;軟件接收機(jī);Dream;Diorama
由 DRM(Digital Radio Mondiale:數(shù)字聲音廣播)聯(lián)盟和 ETSI(European Telecommunications Standards Institute)提出的 DRM,在兼容當(dāng)前模擬AM調(diào)幅廣播頻率和帶寬的前提下,實(shí)現(xiàn)了長(zhǎng)、中、短波的數(shù)字聲音和數(shù)據(jù)廣播系統(tǒng)。雖然我國(guó)并沒(méi)有啟動(dòng) DRM的意向,但是就國(guó)際市場(chǎng)和長(zhǎng)遠(yuǎn)來(lái)看,DRM將取代當(dāng)前 30MHz以內(nèi)的模擬廣播方式。
DRM采用 COFDM(Coded Orthogonal Frequency Division Multiplexing)方式和現(xiàn)代信源編碼技術(shù),可以為 10K帶寬內(nèi)提供很好的音質(zhì)。PC(Personal Computer)和聲卡的 48KHz的音頻信號(hào)采樣功能,保證了 DRM軟件實(shí)現(xiàn)的可能性。軟件接收需配備一個(gè)模擬接收前端,用來(lái)將 DRM射頻信號(hào)下變換到中頻,再送入 PC機(jī)的音頻輸入端。PC聲卡取樣DRM模擬中頻信號(hào),在 PC上完成信號(hào)的解調(diào)和音頻解碼,然后播放 DRM廣播。
軟件接收系統(tǒng)易安裝、可升級(jí)、價(jià)格低廉、操作簡(jiǎn)單,易于實(shí)現(xiàn)??梢造`活的盡可能提供數(shù)字信號(hào)處理的各種手段。軟件接收機(jī)很容易就可以作為DRM信號(hào)的測(cè)試工具,可以方便地記錄、測(cè)量和分析相關(guān)數(shù)據(jù)。
下面,本文介紹了 DRM軟件接收系統(tǒng)及現(xiàn)狀,并重點(diǎn)分析了其中兩種開(kāi)源接收軟件的實(shí)現(xiàn)原理和特點(diǎn)。
圖1 DRM軟件接收系統(tǒng)
DRM射頻信號(hào)首先經(jīng)一個(gè)合適的前端進(jìn)行接收。前端將射頻信號(hào)自天線下變換到中頻,典型的是 12KHz。12KHz便于被 PC的聲卡取樣數(shù)字化。許多商業(yè)短波收音機(jī),一般都有詳細(xì)的操作手冊(cè)修改頻率下變換電路以得到正確頻率范圍內(nèi)的信號(hào)。OFDM接收的下變換尤其要求低相位噪聲的振蕩電路。
然后,中頻信號(hào)經(jīng)聲卡輸入給 PC機(jī)進(jìn)行處理。聲卡實(shí)現(xiàn)采樣和模數(shù)/數(shù)模轉(zhuǎn)換。通常,聲卡的采樣率在 44.1KHz和 48KHz。 48KHz要更適合一些,因?yàn)椴蓸又芷谑?DRM標(biāo)準(zhǔn)規(guī)定的基本時(shí)間周期 T的1/4,可以簡(jiǎn)化后續(xù)信號(hào)處過(guò)程以相同的方式處理所有的魯棒模式,而僅僅改變每一音頻采樣符號(hào)的數(shù)量和調(diào)整 DFT的尺寸,就可以同時(shí)保證子載波的正交特性。不同的源采樣速率能夠通過(guò)后面的采樣率轉(zhuǎn)換來(lái)獲得,并可以用多相濾波器進(jìn)行有效的濾波。但是,某些聲卡會(huì)在內(nèi)部以某一速率重新采樣,這樣對(duì)自然音頻信號(hào)是最優(yōu)的,但是卻會(huì)降低 DRM信號(hào)在抖動(dòng)和相位噪聲方面的性能,使得不能進(jìn)一步進(jìn)行 OFDM解碼。
另外,現(xiàn)有桌面基本都是多任務(wù)操作系統(tǒng),如Windows,Linux等,都不是實(shí)時(shí)操作系統(tǒng)。所以,并不能保證 DRM軟件在所有情況下都能做到連續(xù)操作,然而實(shí)際上所有軟件基本都是能在現(xiàn)今的 PC機(jī)上得以精確的運(yùn)行。
目前流行的基于 PC的 DRM接收軟件有四種:Fraunhofer Software Rad io、 DRM Software Radio、Dream和 Diorama。Fraunhofer Software Radio和DRM Software Radio,都由德國(guó)弗勞恩霍夫集成電路研究所 (Fraunhofer IIS)開(kāi)發(fā),屬于商業(yè)軟件,分別是專業(yè)版和普通版。Dream是德國(guó) Darmstadt大學(xué)Volker Fischer和 Alexandre Kurpier開(kāi)發(fā)的 C++開(kāi)源接收軟件。Diorama是德國(guó) Kaiserslautern大學(xué)通信學(xué)院開(kāi)發(fā)的基于 Matlab的開(kāi)源接收軟件。
Fraunhofer Software Radio是目前公認(rèn)的性能最好的 DRM接收軟件[7],不僅具有基本的 DRM接收功能,還具有監(jiān)測(cè)、記錄以及多組信號(hào)分析的能力。Fraunhofer IIS為 DRM軟件接收系統(tǒng)配備了專用商用接收前端,將射頻信號(hào)下變頻為固定的 12KHz中頻信號(hào),對(duì)中頻信號(hào)要求嚴(yán)格。
DRM Software Radio是基于 Fraunhofer Software Radio引擎僅有 DRM基本接收功能的簡(jiǎn)化版本,由Fraunhofer IIS提供給其它廠商,如 WiNRADiO等,以便其配售接收前端使用。根據(jù)廠商的產(chǎn)品定位,DRM Software Radio的衍生版本又分若干種[7]。
Dream基于 C++,源代碼開(kāi)放,有 Windows和Linux兩個(gè)平臺(tái)版本。編譯環(huán)境需要 Visual C++V6.0的 Service Pack 4以上的支持,另外還需要Trolltech QT2.x、Qwt(Qt Widgets for Technical Applications)、FFTW(Fastest Fourier Transform in the West)和 FAAD2的支持。Qt是挪威 Trolltech公司出品的 C++圖形用戶界面庫(kù),具有廣泛的跨平臺(tái)能力。Qwt是基于 Qt開(kāi)發(fā)的第三方插件,用于 2D的功能強(qiáng)大的繪圖工具,開(kāi)發(fā)簡(jiǎn)單。FFTW是Dream使用的快速傅立葉變換對(duì)算法,對(duì) DRM信號(hào)進(jìn)行必要的分析。FAAD2是開(kāi)源 MPEG4和MPEG2的 AAC(Advanced Audio Coding)解碼器,用于 Dream進(jìn)行音頻解碼。另外,DREAM容許的中頻范圍較前二者寬。
Diorama用 Matlab編寫,僅有一小部分算法實(shí)現(xiàn)使用 C語(yǔ)言編寫,以便優(yōu)化算法提高執(zhí)行速率,并最終達(dá)到實(shí)時(shí)接收。Diorama也支持 Windows和Linux兩個(gè)平臺(tái),運(yùn)行需要 Matlab release 10以上的環(huán)境支持。Windows環(huán)境下,還需要 Visual C++V6.0的 Service Pack 5以上版本以及 DirectX5.0以上版本的支持。Diorama一詞來(lái)源于“穿越(through)”和“看(look)”的希臘語(yǔ)“dia”和“horan”。軟件的首要開(kāi)發(fā)目的是為了教學(xué),讓用戶“看穿(look through)”DRM接收的每一步工作,了解運(yùn)行的細(xì)節(jié)。因此,軟件 Diorama利用 Matlab提供的高性能語(yǔ)言和交互式環(huán)境,以及高效執(zhí)行計(jì)算密集運(yùn)算的性能,代碼調(diào)試方便,具備在線計(jì)算和可視化的界面的功能。Diorama執(zhí)行逐塊的全局的循環(huán),每一塊對(duì)應(yīng)于 DRM 400ms的一幀。Diorama借助 Matlab的優(yōu)勢(shì),能夠生成最為豐富的圖形數(shù)據(jù),非常有利于對(duì)算法的研究和教學(xué)使用
DREAM軟件接收機(jī)的整體結(jié)構(gòu)如圖 2所示,各模塊完成的主要功能及實(shí)現(xiàn)方法如下:
圖2 DRM同步系統(tǒng)實(shí)現(xiàn)流程圖
首先,12kHz的中頻信號(hào)進(jìn)入聲卡 A/D模塊后進(jìn)行 48kHz取樣變?yōu)閿?shù)字信號(hào)。為了解決 A/D取樣頻率穩(wěn)定度不高帶來(lái)的影響,軟件接收機(jī)還需作取樣時(shí)鐘同步,對(duì)變換后的數(shù)字信號(hào)進(jìn)行取樣時(shí)鐘校正。
然后,完成 DRM即 OFDM系統(tǒng)的最重要的工作:同步。為了保證接收同步,DRM提供了頻率、時(shí)間以及增益導(dǎo)頻三種導(dǎo)頻信號(hào),用以實(shí)現(xiàn)模式識(shí)別、頻率/時(shí)間同步、幀同步和取樣時(shí)鐘同步等。同步過(guò)程分為兩個(gè)階段:捕獲和跟蹤。捕獲過(guò)程主要是完成粗同步,如頻率/時(shí)間粗同步,以及模式檢測(cè)和幀同步。捕獲的具體實(shí)現(xiàn)步驟為:先進(jìn)行頻偏捕獲,得到接收信號(hào)的整數(shù)倍頻偏,然后通過(guò)保護(hù)間隔的相關(guān)性實(shí)現(xiàn)時(shí)間粗同步和模式檢測(cè)。待確定信號(hào)的傳輸模式后,找到每個(gè)碼元的起始位置,開(kāi)窗去除保護(hù)間隔,然后用 FFT實(shí)現(xiàn) OFDM解調(diào),再利用 DRM系統(tǒng)中的時(shí)間導(dǎo)頻或增益導(dǎo)頻找到每個(gè)傳輸幀的開(kāi)始,實(shí)現(xiàn)幀同步。跟蹤過(guò)程是在捕獲成功以后,保持更加精細(xì)的同步,主要完成頻率/時(shí)間細(xì)同步以及取樣時(shí)鐘的同步。頻率細(xì)同步和取樣時(shí)鐘同步可以利用相鄰碼元的頻率導(dǎo)頻實(shí)現(xiàn);然后進(jìn)行時(shí)間軸和頻率軸上的信道均衡,并利用均衡完之后的信號(hào)實(shí)現(xiàn)碼元細(xì)同步。
接著,就可以對(duì) OFDM符號(hào)進(jìn)行解調(diào)。用 FFT直接對(duì)去除保護(hù)間隔的 DRM碼元信號(hào)從時(shí)域變換到頻域。由于 DRM系統(tǒng)中規(guī)定了 4種模式,不同模式的 FFT的點(diǎn)數(shù)不同,且不都是基 2的,因此 Dream采用了特殊的 FFT算法。
DRM接收機(jī)系統(tǒng)采用相干解調(diào)的方式,為了完成接收的自適應(yīng),必須要實(shí)現(xiàn)信道的均衡。信道估計(jì)利用在時(shí)域和頻域均勻分布的增益導(dǎo)頻通過(guò)不同的插值方法得到每個(gè)子載波上的信道沖激響應(yīng),然后利用沖激響應(yīng)完成信道均衡。信道均衡的好壞,很大程度上決定了 DRM接收機(jī)的性能。
隨后,就要實(shí)現(xiàn)信號(hào) QAM解調(diào)和信道解碼。DRM系統(tǒng)采用不同保護(hù)級(jí)別的多層編碼方式,同時(shí)調(diào)制方式對(duì)于不同的數(shù)據(jù)流(FAC、SDC、MSC)也不同,對(duì)于主要的 MSC數(shù)據(jù)流還可以采用不同的映射方法。在解碼端為了降低誤碼率,采用了軟判決的迭代維特比譯碼算法來(lái)實(shí)現(xiàn)信道解碼。
最后,完成音頻流和數(shù)據(jù)流的解碼。DRM信號(hào)中可以同時(shí)傳輸數(shù)據(jù)和聲音信號(hào),在解碼端可以分別進(jìn)行解碼。
Dream為了解決數(shù)據(jù)的傳遞和信息的交互,定義了 3個(gè)重要的基類 CBuffer、CModule和CParameter。CBuffer類是系統(tǒng)的數(shù)據(jù)緩沖類,各處理模塊的輸入和輸出的數(shù)據(jù)都存放在各自的緩沖區(qū)派生類中。CModule類是一個(gè)控制數(shù)據(jù)動(dòng)態(tài)傳遞的基類,各個(gè)模塊都繼承該類來(lái)完成它們的數(shù)據(jù)輸入和輸出的控制。CParameter類是一個(gè)全局類,存儲(chǔ)了和 DRM信號(hào)有關(guān)的所有參數(shù)。
另外需提及的是,Dream接收軟件在完成同步前輸入的信號(hào)數(shù)據(jù)不會(huì)被浪費(fèi)掉,在同步之后,經(jīng)過(guò)緩沖,仍然被成功的解碼輸出。
Diorama軟件接收機(jī)的整體結(jié)構(gòu)如圖 3所示,OFDM數(shù)字通信系統(tǒng)的關(guān)鍵技術(shù)有限,其接收過(guò)程同 DREAM軟件接收無(wú)本質(zhì)差異,其詳細(xì)過(guò)程不再介紹。
圖3 Diorama同步和均衡的處理流程
這里給出一些 Diorama采用的特殊處理。為了盡可能輸出解碼的音頻流,Diorama在解碼數(shù)據(jù)的一般跟蹤處理過(guò)程中,對(duì)捕獲的輸入采樣值進(jìn)行再生,這需要 CPU的性能足以勝任同等時(shí)間內(nèi)完成 2倍的工作。原則上,軟件開(kāi)始運(yùn)行后,每一完整的OFDM采樣符號(hào)都被用于數(shù)據(jù)的解碼,并且程序的延時(shí)僅由系統(tǒng)的參數(shù)限制,如,交織深度,邏輯幀的大小等。切換延時(shí)可以在信道解碼器中通過(guò)前向糾錯(cuò)編碼的能力進(jìn)一步減小。
為了做信道估計(jì)和均衡,Diorama實(shí)現(xiàn)了文獻(xiàn)[5]給出的實(shí)值二維維納濾波器。系數(shù)經(jīng)預(yù)先計(jì)算,在多相方式下使用矩陣乘法進(jìn)行濾波。也就是說(shuō),OFDM符號(hào)在時(shí)間上相關(guān)的分散導(dǎo)頻星座圖,對(duì)應(yīng)于獨(dú)立預(yù)先計(jì)算的維納濾波器矩陣。
Diorama的時(shí)間同步根據(jù)信道估計(jì)的脈沖響應(yīng),去除保護(hù)間隔和調(diào)整采樣率。由于不能控制 ADC和DAC的時(shí)鐘,就不僅要同步 OFDM輸入信號(hào),還要同步解碼后的數(shù)字音頻信號(hào)。在 DRM中,廣播音頻流同步于 OFDM符號(hào)定時(shí)。所以,為了避免音頻緩沖(其由 ADC/DAC硬件時(shí)鐘決定)的上溢或下溢,解碼音頻采樣值在模擬音頻產(chǎn)生之前通過(guò)一個(gè)重采樣階段。
另外,Diorama同 Dream一樣,采用了第三方的AAC解碼器 FAAD2接口。Diorama還采用了 zlib庫(kù)用于文本解壓,并且支持新聞服務(wù)日志的解碼,允許用戶以主題詞方式瀏覽文本新聞。
Diorama除了可以通過(guò) PC聲卡播放解碼的AAC音頻流,還可以在任何目錄下保存數(shù)據(jù)文件。這樣就可用網(wǎng)頁(yè)、幻燈片或新聞服務(wù)日志的方式瀏覽接收文件。由于采用 Matlab編寫,Diorama可以隨時(shí)暫停執(zhí)行過(guò)程查看解碼的運(yùn)行狀態(tài)。有實(shí)驗(yàn)表明,Diorama在臨界條件下接收 BBC 1296KHz的節(jié)目時(shí),收聽(tīng)效果比 Dream還要好一些[6]。DRM信號(hào)和接收狀態(tài)等最重要的參數(shù)都顯示在信號(hào)信息窗口。輸入頻譜、同步變量、信道估計(jì)、星座圖以及每一載波的 SNR業(yè)都可在線顯示。
DRM接收軟件為 DRM的接收實(shí)現(xiàn)引入了新的方式和優(yōu)勢(shì)。Dream和 Diorama作為開(kāi)源的 DRM接收軟件,都便于研究者進(jìn)行算法的研究和功能的改進(jìn)。Dream采用 C++結(jié)構(gòu),可編譯成獨(dú)立的可執(zhí)行文件,有利于進(jìn)行產(chǎn)品級(jí)的二次開(kāi)發(fā)。Diorama則基于 Matlab,能做到實(shí)時(shí)運(yùn)行,在系統(tǒng)負(fù)載方面堪比其它 DRM接收軟件,且獨(dú)具隨時(shí)暫停調(diào)試查看的功能,非常有利于教學(xué)。商業(yè)軟件,一般來(lái)說(shuō)性能更加良好,并且有質(zhì)量服務(wù)保證。但開(kāi)源的代碼無(wú)疑是研究者最好的選擇,代碼開(kāi)放易修改,功能可自主擴(kuò)展,便于算法的研究驗(yàn)證,有利于 DRM系統(tǒng)和數(shù)字通信系統(tǒng)的學(xué)習(xí)和教學(xué)使用。DRM開(kāi)源接收軟件系統(tǒng)的出現(xiàn),使開(kāi)發(fā)者、研究者以及用戶三方面得利,對(duì) DRM技術(shù)以及 OFDM數(shù)字通信系統(tǒng)的研究和發(fā)展都將起到重要的推動(dòng)作用。
[1] Torsten Schorr,Andreas Dittrich,Wolfgang Sauer-Greff,Ralph Urbansky.Diorama-An Open Source Digital Radio Mondiale(DRM)Receiver using MATLAB[EB/OL].http://fh-kl.de/~drm/berichte_vortraege/sonstige/IEEE_SP2005_Diorama.pdf.
[2] 強(qiáng)輝,董在望.DRM軟件接收機(jī)研究[J].廣播與電視技術(shù),2005,32(11):26-30.
[3] 馮錫增.如何準(zhǔn)備一臺(tái) DRM接收機(jī) [EB/OL].http://www.ratiog.org/FXZ.htm.
[4] European Telecommunication Standard Institute(ETSI),Sophia Antipolis Cedex,France,Digital Radio Mondiale(DRM);System Specification,ETSIES 201 980 V2.1.1[S].2004.
[5] H?her P,Kaiser S,Robertson P.Two-Dimensional Pilot-Symbol-Aided Channel Estimation By Wiener Filtering[C].in Proc.Int.Conf.Acoust.,Speech and Signal Processing,Munich,Germany,1997.1845—1848.
[6] Ties Bos.RXAMADRM-A linux program for digital sstv[EB/OL].http://www.pa0mbo.nl/ties/public_html/hamradio/rxamadrm/rxamadrm.pdf
[7] http://www.winradio.com[EB/OL].
[8] http://sourceforge.net/apps/mediawiki/drm/index.php?title=Main_Page[EB/OL].
[9] http://www.drm.org/[EB/OL].
[10] http://nt.eit.uni-kl.de/forschung/diorama/[EB/OL].
Open Source Source Digital Radio Mondiale(DRM)Software Receiver System
SHIDong-xin,LIZhao-hui
(Communication University of China,Beijing 100024,China)
DRM may realize the real-time p lay on PCwith sound card.In this paper,we introduce the PC-based DRM software receiver system,then present DRM software receivers are discussed,at last we mainly demonstrate the principle and feature of two DRM open source software--Dream and Diorama.
DRM;software receiver;dream;diorama
TN248.4
A
1673-4793(2010)01-0064-05
2009-10-22
石東新(1976-),男(漢族),新疆人 .中國(guó)傳媒大學(xué)講師.Email:sdx@cuc.edu.cn
(責(zé)任編輯
:王謙)
中國(guó)傳媒大學(xué)學(xué)報(bào)(自然科學(xué)版)2010年1期