降采樣數字濾波器可廣泛應用于通信、聲音和圖像處理系統中。而當輸入信號的帶寬高于需處理的帶寬時(shí),對信號進(jìn)行降采樣處理可以大大減少數據量,提高數據率使實(shí)時(shí)處理容易實(shí)現。同時(shí),為了克服在頻域上的混疊,還需要先用低通濾波器過(guò)濾非處理帶寬的信號能量,然后再降采樣,以避免混疊。 本文以LTE無(wú)線(xiàn)通信系統為例,提出了一種完整的降采樣FIR濾波器的設計和硬件實(shí)現方案。該方案在利用FDAtool得到濾波器系數之后再進(jìn)行定點(diǎn)化,并將各系數拆分成2的冪次方相加減的形式,以便進(jìn)行移位相加。對于降采樣,該設計沒(méi)有使用傳統的先濾波后采樣的方案,而是在濾波過(guò)程中滲入了采樣操作。這樣就大大減少了硬件資源的消耗,并可將乘法器的使用數目降低到零。 1 降采樣濾波器的結構原理 降采樣濾波器的典型結構如圖1所示,包括抗混疊濾波器和降采樣器。其中D為降采樣率,k表示濾波器階數。從圖1可以看出,抗混疊濾波器的輸出y(n)是對輸入序列x(n)加權求和的結果,即: 降采樣后的輸出為: 直接降低采樣率往往會(huì )使信號在頻域上出現混疊,所以,一般需要預先通過(guò)一個(gè)低通濾波器抗混疊處理后再進(jìn)行降采樣,這個(gè)濾波器一般也稱(chēng)為抗混疊濾波器。圖2所示是預濾波器的原理示意圖?够殳B濾波就是在滿(mǎn)足一定分辨率和通信帶寬的前提下,盡可能降低數據量,從而節約計算資源、節省存儲空間,使實(shí)時(shí)處理容易實(shí)現。 2 降采樣濾波器的設計與硬件實(shí)現 2.1 降采樣濾波器的設計 利用matlab工具箱中自帶的FDAtool可以確定濾波器的系數。首先根據系統要求確定濾波器的性能參數,比如在LTE系統中,數據傳輸帶寬為10 MHz,其中用到一個(gè)降采樣濾波器,將采樣頻率為61.44 MHz的信號降采樣兩倍后為30.72 MHz。本設計方法選擇低通FIR等紋波濾波器。濾波器的階數可以自己指定,也可以通過(guò)設置通帶紋波擺幅和阻帶衰減自行得到,一般通帶紋波擺幅設為0.1dB,而阻帶衰減設為60 dB。在滿(mǎn)足這些性能指標的前提下,為了便于實(shí)現,濾波器的階數設計為30階,故有31個(gè)抽頭。其設計出的低通濾波器如圖3所示。 單擊工具欄中的[b,a]圖標,就可以得到濾波器的系數。 2.2 降采樣濾波器的硬件實(shí)現 根據上述方案得到濾波器系數之后,再利用FDAtool所提供的量化功能,并根據該降采樣濾波器前后模塊的精度需求,可以選擇量化精度為12,于是得到的濾波器定點(diǎn)化之后的系數如下: [b0, b1, …, b30] =[-21, -8l, -58,77,173,9,-29l,-250,284,641,33,-109l,-990,1454,4938,6599,4938,1454,-990, -1091, 33, 64l, 284, -250, -291,9,173,77,-58,-81,-21],可見(jiàn),該濾波器的系數是關(guān)于b15對稱(chēng)的,這一點(diǎn)也驗證了FIR濾波器系數對稱(chēng)的特點(diǎn)。圖4所示是本文初步設計的濾波器硬件架構。 為了進(jìn)一步降低硬件復雜度,可將定點(diǎn)化的系數拆分成2的冪次方相加減的形式。以圖3中設計出的系數為例: [b0,b1,…,b15] = [-21,-8l,-58,77,173,9,-29l,-250, 284, 641, 33, -109l, -990,1454,4938,6599] =[ -(16+4+1), -(64+16+1), -(64-8+2), (64+16-4+1), (256-64-16-4+1), (8+1), -(256+32+4-1), -(256-8+2), (256+32-4), (512+128+1), (32+1), -(1024+64+4-1), -(1024-32-2), (2048-512-64-16-2), (4096+1024-256+64+8+2), (8192-2048+512-64+8-1)]. (3) 結合濾波器的階數可知式(1)中的h(n)可以表示為: h(n)=-21×[δ(n)+δ(n-30)]-8l×[δ(n-1)+δ(n-29)]-58×[δ(n-2)+δ(n-29)]+…+6599×δ(n-15). (4) 于是,有:y(n)=-21×[x(n)+x(n-30)]-8l×[x(n-1)+x(n-29)]-58×[x(n-2)+x(n-29)]+…+6599×x(n-15). (5) 將以上各系數用(3)中的拆分結果替換,可將式(5)進(jìn)一步寫(xiě)為: y(n)=-(16+4+1) [x(n)+x(n-30)]-(64+16+1) [x(n-1)+x(n-29)]-(64-8+2) [x(n-2)+x(n-29)]+…+(8192-2048+512-64+8-1)·x(n-15).(6) 這樣,輸出y(n)可表示成輸入移位相加減的形式。至此,抗混疊FIR濾波器便告設計完成。 由圖2可知,抗混疊濾波器輸出信號必須經(jīng)過(guò)降采樣才能輸出。而對于本設計的濾波器,其降采樣率為2:l,理論上把式(6)取出一半即可滿(mǎn)足降采樣要求,但是,這樣就意味著(zhù)之前浪費了一部分硬件資源去計算這一半不用的數據;诖丝紤],在設計濾波器時(shí)可加上一個(gè)降采樣控制器,x(n)還是正常輸入,每一拍進(jìn)一個(gè)新的采樣點(diǎn),而濾波過(guò)程則用降采樣控制器控制,這樣可使計算每隔一拍進(jìn)行一次。 3 仿真結果分析 3.1 濾波器的幅頻響應 圖5所示是在matlab中利用定點(diǎn)化之后的濾波器系數畫(huà)出濾波器的幅頻響應特性曲線(xiàn)。 該曲線(xiàn)與2.1中設計的濾波器幅頻曲線(xiàn)基本一致,從而驗證了本設計的正確性。 3.2 硬件代碼的仿真波形 對于本文中設計的硬件架構,用Verilog語(yǔ)言寫(xiě)出相應的硬件實(shí)現代碼,再用modelsim軟件進(jìn)行波形仿真,其仿真結果如圖6所示。 由圖6所示的仿真結果可見(jiàn),在降采樣控制器的控制下,輸入濾波器的數據經(jīng)過(guò)濾波器之后,其輸出頻率降低一半。 3.3 綜合、布局和布線(xiàn)結果 上述設計可用QuartusⅡ9.O進(jìn)行綜合、布局和布線(xiàn),選用stratixⅢ的器件EP3SL340F151713,所得到的硬件資源占用情況如圖7所示。此時(shí),該濾波器最高可以run到170.07 MHz,可以符合系統要求。 實(shí)際上,用OuartusⅡ9.0也可以對傳統方法設計出的濾波器進(jìn)行綜合、布局布線(xiàn),并選擇同樣的器件。因為,傳統的設計只是利用了系數的對稱(chēng)特點(diǎn),而沒(méi)有對系數進(jìn)行分解。由于是直接和輸入相乘疊加,因此濾波器的硬件代碼最高只能跑到59.51MHz。其硬件資源占用情況如圖8所示。 比較圖7和圖8的報告結果可見(jiàn),本文提出的設計方法在LUT資源的占有和濾波器最高工作頻率方面都有明顯的改進(jìn)。從而解決了傳統設計需要專(zhuān)門(mén)對濾波器輸出信號進(jìn)行2倍降采樣而耗費硬件資源的問(wèn)題。 4 結束語(yǔ) 本文通過(guò)基于matlab自帶的工具來(lái)對降采樣FIR數字濾波器進(jìn)行原型設計,給出了硬件資源占用少且工作頻率高的降采樣濾波器的實(shí)現方案。該設計經(jīng)過(guò)modelsim軟件的功能仿真和QuartusⅡ軟件進(jìn)行綜合、布局布線(xiàn)驗證,其均可達到系統要求。 |