摘 要: 針對軟件無線電接收機數(shù)字下變頻中高速數(shù)字信號的降采樣需求,利用半帶濾波器及級聯(lián)積分梳狀濾波器,設(shè)計了一種半帶濾波器前置的多級抽取濾波器架構(gòu)。通過Simulink搭建系統(tǒng)模型驗證之后,利用Xilinx ISE 12.3在Xilinx xc5vsx95t-2ff1136 FPGA上實現(xiàn)了一種下采樣率為64的抽取濾波器。Modelsim仿真結(jié)果表明,該抽取濾波器設(shè)計是有效的,達到了設(shè)計指標。
0 引言
數(shù)字下變頻是軟件無線電接收機的關(guān)鍵模塊,高速數(shù)字信號進行變頻、降采樣、濾波,將高速中頻信號變?yōu)榈退倩鶐盘朳1-2],便于后級處理。其中,降采樣和濾波是下變頻的關(guān)鍵模塊,由抽取濾波器來完成[3]。由于多級結(jié)構(gòu)可以大大降低濾波器的階數(shù)[4],允許每一級歸一化過渡帶寬比較寬[5],抽取濾波器一般采用多級結(jié)構(gòu)實現(xiàn),常用結(jié)構(gòu)如圖1所示,wdz4-t1.gif級聯(lián)積分梳狀(Cascaded integrator-com,CIC)濾波器通常作為第一級抽取濾波器[1-6]。
為縮短關(guān)鍵路徑,從而提高采樣速度,濾波器常采用并行處理及流水線技術(shù)[6]。CIC濾波器中有反饋回路,加入流水線寄存器則會導(dǎo)致反饋回路不同步,從而無法采用流水線技術(shù);FIR濾波器則可以采用并行處理及流水線技術(shù)。對于半帶濾波器(Half-band Filter, HBF)而言,采用分布式算法則可以很好地兼容并行處理與流水線技術(shù),且無需速率受限的乘法器資源。本設(shè)計對流水線式全并行分布式算法進行改進用以實現(xiàn)HBF,而并行處理提高采樣率是采用復(fù)制硬件的方法[7],wdz4-t2.gif全并行結(jié)構(gòu)的HBF則是復(fù)制使用LUT,在滿足處理速度的要求下,本文將HBF置于數(shù)據(jù)位寬最小的輸入級(如圖2)。
1 抽取濾波器整體設(shè)計及Simulink建模仿真
本文將64倍抽取的總抽取率分為3級實現(xiàn):2倍抽取的前置HBF、16倍抽取的CIC抽取濾波器以及2倍抽取的FIR補償濾波器,如圖2所示。各級指標如表1所示。
?
Simulink是MATLAB中的一種可視化仿真工具,可以對動態(tài)系統(tǒng)進行建模仿真及分析,支持多速率系統(tǒng),廣泛應(yīng)用于數(shù)字信號處理領(lǐng)域的建模仿真。本文的系統(tǒng)模型如圖3所示。
?
頂層系統(tǒng)使用3路信號選擇器作為輸入接口,輸入信號經(jīng)由矩形框內(nèi)所示子系統(tǒng)即抽取濾波器進行降采樣及濾波。其中FIR補償濾波器的系數(shù)由本文2.3節(jié)得到。設(shè)置輸入控制信號為“1”,選擇采樣率為200 MHz的頻率分別為1 MHz、4 MHz、10 MHz的混合正弦信號作為抽取濾波器的輸入信號,各級輸出信號的頻譜如圖4所示。
?
2 抽取濾波器的FPGA實現(xiàn)
2.1 前置半帶濾波器
HBF是近一半的系數(shù)為0的FIR濾波器,在多速率系統(tǒng)中采用HBF可以大大縮小硬件規(guī)模。本文結(jié)合表分割技術(shù)與并行處理的優(yōu)勢進行改進,以達到第一級高速處理的目的。考慮內(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,將整個LUT表分解為2個4輸入和1個2輸入的子表。改進后的算法結(jié)構(gòu)如圖5所示,相比于文獻[8],查表后的流水線式加法樹比移位累加器的實時性更高;并行及流水線處理處理可以有效提高濾波器的處理速度,且表分割技術(shù)使得該并行結(jié)構(gòu)不必以過多的資源消耗為代價。
?
2.2 CIC抽取濾波器
CIC濾波器結(jié)構(gòu)簡單,是高速抽取或插值系統(tǒng)中非常有效的單元[9]。單級CIC濾波器第一旁瓣抑制為13.46 dB,阻帶衰減極不理想[10]。為達阻帶衰減的指標,本文采用多級CIC濾波器級聯(lián)的結(jié)構(gòu)實現(xiàn)。N級CIC濾波器歸一化傳遞函數(shù)如下[11]:
其中R是抽取因子,M是梳狀部分中延遲量,該設(shè)計取M為1。由式(4)知N級R倍抽取的CIC的幅頻響應(yīng):
可計算出,R=5時即可滿足阻帶衰減的需求。本文首先實現(xiàn)所有的積分器,然后是16倍抽取,最后實現(xiàn)梳狀部分。對于多級CIC濾波器而言,可以剪除一些較低有效位而不影響系統(tǒng)的完整性[7]。本文采用逐級剪除的方法,以減少位寬截斷引起的量化噪聲,并節(jié)省資源占用。該設(shè)計中CIC濾波器輸入位寬19 bit,輸出為20 bit,內(nèi)部最大位寬為40 bit。逐級剪除后,CIC濾波器各級位寬如表2所示。CIC濾波器頻率響應(yīng)如圖6。可見,通帶衰減是CIC濾波器的主要弊端之一,故而需要補償濾波器進行通帶補償。
?
?
2.3 CIC補償濾波器
補償濾波器通常處于較低速率的位置,以減小硬件復(fù)雜度。為避免頻譜混疊,本文的補償濾波器的通帶邊界頻率fc應(yīng)滿足:fc≤fs_cic/4R,fs_cic是CIC濾波器的輸入采樣頻率。
本文補償濾波器選取fc=1.56 MHz。因其頻率響應(yīng)是CIC濾波器頻響的倒數(shù)[12],即:
基于式(6),利用MATLAB中firceqrip函數(shù)計算出其浮點型系數(shù),再進行量化。經(jīng)反復(fù)試驗,補償濾波器長度為33即可。此時,補償后的濾波器通帶波紋小于0.01 dB,補償濾波器及補償后的濾波器頻響如圖6??梢?,補償濾波器設(shè)計較為合理。由于CIC濾波器輸出位寬20 bit,位寬較大,該濾波器不再使用圖3所示結(jié)構(gòu),選用IP核導(dǎo)入濾波器系數(shù),選擇脈動陣列乘累加結(jié)構(gòu)實現(xiàn)。
3 系統(tǒng)驗證及分析
利用MATLAB生成采樣率為200 MHz,頻率分別為1 MHz、18 MHz的混合正弦信號數(shù)據(jù)寫入TXT文檔,之后將數(shù)據(jù)讀入到FPGA寄存器,在時鐘激勵下,模擬ADC的輸出,作為系統(tǒng)的輸入。Modelsim仿真結(jié)果如圖7所示。
?
由圖7(a)可知,每隔63個輸入數(shù)據(jù)有一個輸出,達到了64倍抽取的目的;且圖7(b)顯示波形較為平滑,位寬截斷引起的誤差基本可以忽略,表明本文中的逐級剪除的位寬階段方式是有效的。
4 結(jié)論
本文針對數(shù)字下變頻中降采樣率的要求,設(shè)計了一種的HBF前置的抽取濾波器結(jié)構(gòu)。利用Simulink對系統(tǒng)進行了建模仿真,并詳細說明了FPGA實現(xiàn)各級濾波器的設(shè)計方法,對整個系統(tǒng)進行了Modelsim仿真驗證。結(jié)果表明,本文設(shè)計的抽取濾波器工作性能良好,完全達到了實際需求指標。且本文的設(shè)計方案具有較強的工程應(yīng)用價值,目前已用到中頻200 MHz的數(shù)字下變頻系統(tǒng)中。
評論
查看更多