一種基于FPGA的流水線FIR濾波器設(shè)計
摘要:有限沖擊響應(yīng)(FIR)濾波器是數(shù)字通信系統(tǒng)中常用的基本模塊。文章設(shè)計了一種流水結(jié)構(gòu)的FIR濾波器,通過FPGA對其進(jìn)行硬什加速控制。仿真結(jié)果驗證了所設(shè)計的FIR流水結(jié)構(gòu)濾波器功能的正確性。
本文引用地址:http://butianyuan.cn/article/256427.htm0 引言
隨著數(shù)字通信技術(shù)的快速發(fā)展,高質(zhì)量的信息處理對濾波器的性能和資源占有量提出了更高的要求。有限沖擊響應(yīng)(FIR)數(shù)字有限沖激響應(yīng)濾波器在語音、譜分析等數(shù)字信號處理領(lǐng)域有著廣泛的應(yīng)用,是信號處理系統(tǒng)中重要的組成部分,其性能往往對整個系統(tǒng)的性能和功耗產(chǎn)生至關(guān)重要的影響。因此,如何最大程度地優(yōu)化FIR濾波器的性能成了電路實現(xiàn)中需要特別關(guān)注的問題。
現(xiàn)代應(yīng)用程序的核心計算函數(shù)一般通過軟件編程在處理機(jī)上執(zhí)行,處理速度慢,當(dāng)核心函數(shù)較復(fù)雜時,需要較長處理時間,采用硬件處理,能夠減少處理器占用時間,提高處理器的利用率,從而提高系統(tǒng)的性能?,F(xiàn)代數(shù)字系統(tǒng)中廣泛使用現(xiàn)場可編程邏輯器件(FPGA)作為實現(xiàn)平臺,本文提出一種基于FPGA的FIR濾波器設(shè)計,充分利用硬件電路固有的快速特性,替代傳統(tǒng)的軟件算法,減少占用處理機(jī)的資源,提高了FIR濾波器的性能。
1 FIR濾波器流水結(jié)構(gòu)設(shè)計
FIR濾波器具有有限沖擊響應(yīng)系統(tǒng)穩(wěn)定收斂、線性相位的優(yōu)越特性,不會產(chǎn)生相位失真。FIR數(shù)字濾波器有直接型結(jié)構(gòu)和轉(zhuǎn)置型結(jié)構(gòu)(如圖1所示)等多種實現(xiàn)結(jié)構(gòu),為提高電路的執(zhí)行效率、簡化電路,本文采用分布式算法結(jié)構(gòu)或者轉(zhuǎn)置結(jié)構(gòu)的FIR濾波器加以實現(xiàn)。與基本結(jié)構(gòu)FIR濾波器不同,采樣數(shù)據(jù)同時進(jìn)入乘法器,先計算乘積和,再進(jìn)行延遲,通過流水線的加法器鏈將乘積結(jié)果流水相加,最終得到濾波輸出,優(yōu)化后其硬件邏輯基本單元結(jié)構(gòu)如圖2所示。
設(shè)FIR濾波器單位脈沖響應(yīng)h(n)長度為N,其輸入序列和輸出序列的差分方程為:
其中,ωp為歸一化通帶截止角頻率,ωs為歸一化阻帶截止角頻率,δp為峰值通帶紋波,δs為峰值阻帶紋波。由于FIR濾波器階數(shù)N必須為整數(shù),以N=8為例,可得到FIR濾波器的系數(shù)h(n)。如表1所示。
2 FPGA自動控制設(shè)計
FIR自動化控制過程見圖3所示。為了解決內(nèi)外時鐘不同速率問題,采用異步FIFO作為緩沖的存儲器。當(dāng)外部數(shù)據(jù)開始進(jìn)入時,數(shù)據(jù)依次進(jìn)入異步FIFO;當(dāng)異步FIFO狀態(tài)為滿時,則FPGA開始工作,控制異步FIFO中的數(shù)據(jù)依次進(jìn)入FIR流水結(jié)構(gòu)進(jìn)行運算,并將計算結(jié)果依次按順序輸出至后級同步FIFO中,等待CPU進(jìn)行讀取工作。整個數(shù)據(jù)處理過程主要由異步FIFO深度進(jìn)行控制,當(dāng)其狀態(tài)為空且前一幀數(shù)據(jù)處理完全結(jié)束后,整個系統(tǒng)將保持現(xiàn)有狀態(tài),進(jìn)入休眠過程,等待下一個數(shù)據(jù)的進(jìn)入才開始喚醒工作。
3 實驗結(jié)果及分析
利用Matlab進(jìn)行仿真,假定輸入序列采樣為
即50Hz、370HZ、430Hz信號的混合信號,其中n=1,2,3…100。設(shè)計N=8的低通FIR濾波器,截止頻率為100HZ。圖4為輸入序列,圖5為輸出濾波結(jié)果。
用Modelsim進(jìn)行邏輯仿真,F(xiàn)PGA控制信號時序如圖6所示。
FIR流水線結(jié)構(gòu)運算輸出及運算結(jié)果FIFO存儲過程仿真圖如圖7所示。
圖中為FIR流水結(jié)構(gòu)中各級寄存器狀態(tài)仿真圖,將其提取,并建立仿真表如表2所示。
將FIR輸出序列邏輯值與仿真結(jié)果通過表2比較可知,仿真運算結(jié)果一致。綜合上述一系列仿真圖與仿真表可知,F(xiàn)IR流水結(jié)構(gòu)功能正確,實現(xiàn)了FPGA控制的FIR濾波器設(shè)計。
4 結(jié)論
本文設(shè)計了一種基于FPGA的硬件加速器,實現(xiàn)了大量減少邏輯運算單元的流水線的運算方式,并通過Matlab與Modelsim的仿真,驗證了所設(shè)計的FIR流水結(jié)構(gòu)濾波器功能的正確性。
濾波器相關(guān)文章:濾波器原理
fpga相關(guān)文章:fpga是什么
濾波器相關(guān)文章:濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理 燃?xì)鈭缶飨嚓P(guān)文章:燃?xì)鈭缶髟?/a>
評論