基于FPGA的高階音頻均衡濾波器設(shè)計
2.4 乘累加模塊
乘累加模塊負(fù)責(zé)將輸入的數(shù)據(jù)和系數(shù)進行乘累加運算,每256個時鐘周期輸出一個濾波結(jié)果。其實現(xiàn)框圖如圖8所示。本文引用地址:http://m.butianyuan.cn/article/191298.htm
輸入序列緩存模塊輸出的數(shù)據(jù)y1~y4和濾波器系數(shù)存儲陣列輸出的相應(yīng)系數(shù)h1~h4在該模塊進行乘累加運算。每256個時鐘周期,計算完1個采樣點數(shù)據(jù)的4個部分y1’~y4’,由鎖存器鎖存,經(jīng)兩級流水線加法器后得到最終濾波結(jié)果y,然后將累加器清零,開始準(zhǔn)備下個采樣點數(shù)據(jù)的計算。其中,鎖存器的鎖存時鐘及乘累加器的清零信號都由輸入序列的寫使能wren經(jīng)過相應(yīng)的延時處理后得到。
3 仿真結(jié)果
對設(shè)計的均衡濾波器進行綜合編譯,編譯報告如圖9所示。
可見該1 024階FIR均衡濾波器在EP1C3系列FPGA內(nèi)得以實現(xiàn),僅占用其約70%的邏輯資源和約50%的存儲空間。為了驗證該設(shè)計功能,將濾波器系數(shù)利用存儲器初始化文件進行初始化,存儲的系數(shù)如圖10所示。
為了直觀驗證,輸入序列x取為δ序列,即x中只有1個數(shù)據(jù)為1,其它為0。根據(jù)濾波器及卷積的相關(guān)知識,輸出結(jié)果y=x*h=δ*h=h,即為濾波器系數(shù)。仿真結(jié)果如圖11所示。
輸入序列x只有1個采樣時鐘周期為數(shù)據(jù)1,其它全為0,fout為輸出的濾波結(jié)果??梢娊Y(jié)果為-1~-16的重復(fù)數(shù)據(jù),與圖10所示的濾波器系數(shù)一致,濾波器工作正常。
4 結(jié)束語
利用EP1C3約70%的邏輯單元及約50%的存儲空間,設(shè)計了1024階FIR數(shù)字濾波器,并通過重載系數(shù),可實現(xiàn)多種頻率響應(yīng)的均衡特性,實現(xiàn)了簡易數(shù)字均衡濾波器的功能,達到了設(shè)計目標(biāo)。
評論