文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.011
中文引用格式: 周云,馮全源. 數(shù)字下變頻中抽取濾波器的設(shè)計(jì)及FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(12):45-47,50.
英文引用格式: Zhou Yun,F(xiàn)eng Quanyuan. Design and FPGA implementation of decimation filter in DDC[J].Application of Electronic Technique,2015,41(12):45-47,50.
0 引言
數(shù)字下變頻是軟件無線電接收機(jī)的關(guān)鍵模塊,高速數(shù)字信號進(jìn)行變頻、降采樣、濾波,將高速中頻信號變?yōu)榈退倩鶐盘?sup>[1-2],便于后級處理。其中,降采樣和濾波是下變頻的關(guān)鍵模塊,由抽取濾波器來完成[3]。由于多級結(jié)構(gòu)可以大大降低濾波器的階數(shù)[4],允許每一級歸一化過渡帶寬比較寬[5],抽取濾波器一般采用多級結(jié)構(gòu)實(shí)現(xiàn),常用結(jié)構(gòu)如圖1所示,級聯(lián)積分梳狀(Cascaded integrator-com,CIC)濾波器通常作為第一級抽取濾波器[1-6]。
為縮短關(guān)鍵路徑,從而提高采樣速度,濾波器常采用并行處理及流水線技術(shù)[6]。CIC濾波器中有反饋回路,加入流水線寄存器則會導(dǎo)致反饋回路不同步,從而無法采用流水線技術(shù);FIR濾波器則可以采用并行處理及流水線技術(shù)。對于半帶濾波器(Half-band Filter, HBF)而言,采用分布式算法則可以很好地兼容并行處理與流水線技術(shù),且無需速率受限的乘法器資源。本設(shè)計(jì)對流水線式全并行分布式算法進(jìn)行改進(jìn)用以實(shí)現(xiàn)HBF,而并行處理提高采樣率是采用復(fù)制硬件的方法[7],全并行結(jié)構(gòu)的HBF則是復(fù)制使用LUT,在滿足處理速度的要求下,本文將HBF置于數(shù)據(jù)位寬最小的輸入級(如圖2)。
1 抽取濾波器整體設(shè)計(jì)及Simulink建模仿真
本文將64倍抽取的總抽取率分為3級實(shí)現(xiàn):2倍抽取的前置HBF、16倍抽取的CIC抽取濾波器以及2倍抽取的FIR補(bǔ)償濾波器,如圖2所示。各級指標(biāo)如表1所示。
Simulink是MATLAB中的一種可視化仿真工具,可以對動態(tài)系統(tǒng)進(jìn)行建模仿真及分析,支持多速率系統(tǒng),廣泛應(yīng)用于數(shù)字信號處理領(lǐng)域的建模仿真。本文的系統(tǒng)模型如圖3所示。
頂層系統(tǒng)使用3路信號選擇器作為輸入接口,輸入信號經(jīng)由矩形框內(nèi)所示子系統(tǒng)即抽取濾波器進(jìn)行降采樣及濾波。其中FIR補(bǔ)償濾波器的系數(shù)由本文2.3節(jié)得到。設(shè)置輸入控制信號為“1”,選擇采樣率為200 MHz的頻率分別為1 MHz、4 MHz、10 MHz的混合正弦信號作為抽取濾波器的輸入信號,各級輸出信號的頻譜如圖4所示。
2 抽取濾波器的FPGA實(shí)現(xiàn)
2.1 前置半帶濾波器
HBF是近一半的系數(shù)為0的FIR濾波器,在多速率系統(tǒng)中采用HBF可以大大縮小硬件規(guī)模。本文結(jié)合表分割技術(shù)與并行處理的優(yōu)勢進(jìn)行改進(jìn),以達(dá)到第一級高速處理的目的。考慮內(nèi)積公式:
考慮N=LP,L、P均為正整數(shù),則n=l·P+p,l=0,1,…,L-1,p=0,1,…,P-1,式(2)改寫為:
本文35階高速HBF系數(shù)對稱,且有近一半系數(shù)為零,選擇P=4,將整個(gè)LUT表分解為2個(gè)4輸入和1個(gè)2輸入的子表。改進(jìn)后的算法結(jié)構(gòu)如圖5所示,相比于文獻(xiàn)[8],查表后的流水線式加法樹比移位累加器的實(shí)時(shí)性更高;并行及流水線處理處理可以有效提高濾波器的處理速度,且表分割技術(shù)使得該并行結(jié)構(gòu)不必以過多的資源消耗為代價(jià)。
2.2 CIC抽取濾波器
CIC濾波器結(jié)構(gòu)簡單,是高速抽取或插值系統(tǒng)中非常有效的單元[9]。單級CIC濾波器第一旁瓣抑制為13.46 dB,阻帶衰減極不理想[10]。為達(dá)阻帶衰減的指標(biāo),本文采用多級CIC濾波器級聯(lián)的結(jié)構(gòu)實(shí)現(xiàn)。N級CIC濾波器歸一化傳遞函數(shù)如下[11]:
其中R是抽取因子,M是梳狀部分中延遲量,該設(shè)計(jì)取M為1。由式(4)知N級R倍抽取的CIC的幅頻響應(yīng):
可計(jì)算出,R=5時(shí)即可滿足阻帶衰減的需求。本文首先實(shí)現(xiàn)所有的積分器,然后是16倍抽取,最后實(shí)現(xiàn)梳狀部分。對于多級CIC濾波器而言,可以剪除一些較低有效位而不影響系統(tǒng)的完整性[7]。本文采用逐級剪除的方法,以減少位寬截?cái)嘁鸬牧炕肼暎⒐?jié)省資源占用。該設(shè)計(jì)中CIC濾波器輸入位寬19 bit,輸出為20 bit,內(nèi)部最大位寬為40 bit。逐級剪除后,CIC濾波器各級位寬如表2所示。CIC濾波器頻率響應(yīng)如圖6。可見,通帶衰減是CIC濾波器的主要弊端之一,故而需要補(bǔ)償濾波器進(jìn)行通帶補(bǔ)償。
2.3 CIC補(bǔ)償濾波器
補(bǔ)償濾波器通常處于較低速率的位置,以減小硬件復(fù)雜度。為避免頻譜混疊,本文的補(bǔ)償濾波器的通帶邊界頻率fc應(yīng)滿足:fc≤fs_cic/4R,fs_cic是CIC濾波器的輸入采樣頻率。
本文補(bǔ)償濾波器選取fc=1.56 MHz。因其頻率響應(yīng)是CIC濾波器頻響的倒數(shù)[12],即:
基于式(6),利用MATLAB中firceqrip函數(shù)計(jì)算出其浮點(diǎn)型系數(shù),再進(jìn)行量化。經(jīng)反復(fù)試驗(yàn),補(bǔ)償濾波器長度為33即可。此時(shí),補(bǔ)償后的濾波器通帶波紋小于0.01 dB,補(bǔ)償濾波器及補(bǔ)償后的濾波器頻響如圖6??梢?,補(bǔ)償濾波器設(shè)計(jì)較為合理。由于CIC濾波器輸出位寬20 bit,位寬較大,該濾波器不再使用圖3所示結(jié)構(gòu),選用IP核導(dǎo)入濾波器系數(shù),選擇脈動陣列乘累加結(jié)構(gòu)實(shí)現(xiàn)。
3 系統(tǒng)驗(yàn)證及分析
利用MATLAB生成采樣率為200 MHz,頻率分別為1 MHz、18 MHz的混合正弦信號數(shù)據(jù)寫入TXT文檔,之后將數(shù)據(jù)讀入到FPGA寄存器,在時(shí)鐘激勵(lì)下,模擬ADC的輸出,作為系統(tǒng)的輸入。Modelsim仿真結(jié)果如圖7所示。
由圖7(a)可知,每隔63個(gè)輸入數(shù)據(jù)有一個(gè)輸出,達(dá)到了64倍抽取的目的;且圖7(b)顯示波形較為平滑,位寬截?cái)嘁鸬恼`差基本可以忽略,表明本文中的逐級剪除的位寬階段方式是有效的。
4 結(jié)論
本文針對數(shù)字下變頻中降采樣率的要求,設(shè)計(jì)了一種的HBF前置的抽取濾波器結(jié)構(gòu)。利用Simulink對系統(tǒng)進(jìn)行了建模仿真,并詳細(xì)說明了FPGA實(shí)現(xiàn)各級濾波器的設(shè)計(jì)方法,對整個(gè)系統(tǒng)進(jìn)行了Modelsim仿真驗(yàn)證。結(jié)果表明,本文設(shè)計(jì)的抽取濾波器工作性能良好,完全達(dá)到了實(shí)際需求指標(biāo)。且本文的設(shè)計(jì)方案具有較強(qiáng)的工程應(yīng)用價(jià)值,目前已用到中頻200 MHz的數(shù)字下變頻系統(tǒng)中。
參考文獻(xiàn)
[1] XU P,XIA W,HE Z S.A design of VB-DDC using DA-based systolic FIR filter[J].Applied Mechanics and Materials,2012,130:3950-3953.
[2] 趙良羽.可變帶寬的多級濾波器數(shù)字下變頻設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014(3):32-34.
[3] 王亞磊,張浩,楊亞光,等.一種基于FPGA的抽取濾波器的實(shí)現(xiàn)與優(yōu)化[J].微電子學(xué)與計(jì)算機(jī),2013(9):30.
[4] 吳笑峰,劉紅俠,李迪,等.高精度Σ-?駐 ADC中的數(shù)字抽取濾波器設(shè)計(jì)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,41(3):1038.
[5] 徐以濤,王金龍.軟件無線電數(shù)字中頻處理的優(yōu)化設(shè)計(jì)[J].信號處理,2002(4):299-302.
[6] 張立立,楊華,黃錦元.基于FPGA技術(shù)的數(shù)字中頻系統(tǒng)的設(shè)計(jì)[J].電子器件,2015(1):126-129.
[7] PARHI K K.VLSI digital signal processing systems: design and implementation[M].John Wiley & Sons,2007:47-61.
[8] 朱效效,蔡俊,陸偉.基于優(yōu)化DA算法濾波器的設(shè)計(jì)及其FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015(2):59-60,64.
[9] Meyer-Baese U.Multirate Signal Processing[M].Digital Signal Processing with Field Programmable Gate Arrays. Springer Berlin Heidelberg,2014:305-416.
[10] 劉彬彬,林偉.基于Matlab和FPGA的CIC濾波器的設(shè)計(jì)[J].電子器件,2010(2):231-234.
[11] DOLECEK G J,LADDOMADA M.An improved class of multiplierless decimation filters: Analysis and design[J].Digital Signal Processing,2013,23(5):1773-1782.
[12] Altera Corporation,Understanding CIC compensation filters,Application Note 455,Ver.1.0,April 2007.