基于FPGA高階FIR濾波器的實現(xiàn)
摘要:從FIR數(shù)字濾波器的基本結(jié)構(gòu)模型出發(fā),分析了FIR濾波器的設(shè)計思路及具體實現(xiàn)方法,詳細介紹了FIR濾波器的分布式算法(DA)結(jié)構(gòu)。通過分析計算,得到普通DA結(jié)構(gòu)實現(xiàn)高階濾波器會消耗大量的查找表資源,這樣的資源消耗甚至令硬件資源不可接受。針對普通DA的不足,提出了改進型DA結(jié)構(gòu)。并利用FPGA仿真軟件分別時64階FIR帶通濾波器的兩種改進型DA結(jié)構(gòu)進行仿真,結(jié)果表明改進型DA結(jié)構(gòu)所消耗的資源大幅度降低。從而驗證了改進型DA結(jié)構(gòu)在降低運算資源和提高性能等方面的優(yōu)越性。
本文引用地址:http://m.butianyuan.cn/article/190354.htm關(guān)鍵詞:FIR數(shù)字濾波器;分布式算法結(jié)構(gòu);改進型分布式算法結(jié)構(gòu);FPGA
在航天航空系統(tǒng)、雷達系統(tǒng)、遙感遙測系統(tǒng)等領(lǐng)域都涉及到如何在較強的背景噪聲和干擾信號下提取真正的信號,并隨著系統(tǒng)對寬帶、高速、實時信號處理要求越來越高,對濾波器的處理速度、帶寬等性能要求也隨之提高。數(shù)字濾波器的硬件實現(xiàn)方法主要有:DSP、專用芯片和FPGA。用DSP實現(xiàn)濾波器,其程序順序執(zhí)行,因此運算速度隨濾波器階數(shù)的增加迅速下降;專用芯片實現(xiàn)的濾波器功能相對單一,靈活性?。欢鳩PGA具有靈活的可編程邏輯和并行處理等優(yōu)點,可很好地實現(xiàn)信號處理的實時性,同時,開發(fā)程序的可移植性好,可以縮短開發(fā)周期,因此FPGA實現(xiàn)數(shù)字濾波器的設(shè)計越來越受到重視和廣泛應(yīng)用,本文數(shù)字濾波器的設(shè)計就是基于FPGA硬件實現(xiàn)。
1 FIR濾波器的基本模型
數(shù)字濾波器分為無限沖激響應(yīng)濾波器(IIR)和有限沖激響應(yīng)濾波器(FIR),IIR濾波器與FIR濾波器相比,IIR濾波器容易取得較好的通帶和阻帶特性,F(xiàn)IR濾波器系統(tǒng)穩(wěn)定且容易實現(xiàn)線性相位。系統(tǒng)穩(wěn)定和線性相位對系統(tǒng)的設(shè)計至關(guān)重要,故對FIR濾波器的普通分布式(DA)算法結(jié)構(gòu)進行了分析探討與改進。FIR濾波器的網(wǎng)絡(luò)傳輸公式可由式(1)表示:
式中:x(k)為輸入函數(shù);y(n)為輸出函數(shù);h(n-k)為濾波器系數(shù);N為濾波器的階數(shù)。根據(jù)式(1),F(xiàn)IR濾波器的結(jié)構(gòu)如圖1所示。
2 FIR濾波器的設(shè)計及實現(xiàn)
2.1 FIR濾波器設(shè)計
FIR濾波器的設(shè)計方法有:窗函數(shù)法、頻率抽樣法和最佳一致逼近法。本文以窗函數(shù)法為例介紹一下濾波器設(shè)計。設(shè)窗函數(shù)為凱賽窗,通帶截至頻率fc、阻帶起始頻率fa、通帶紋波δp和阻帶紋波δa,則濾波器階數(shù)N的計算如式(2)所示:
式中fs為抽樣頻率。由式(2)可見,通帶和阻帶的紋波系數(shù)越小,濾波器的階數(shù)越高。因此在設(shè)計FIR濾波器時,需要在階數(shù),紋波系數(shù)和過渡帶之間進行權(quán)衡,選出合適的模型。
2.2 FIR濾波器具體買現(xiàn)
相比用DSP實現(xiàn)FIR數(shù)字濾波器,采用FPGA實現(xiàn)可以獲得更快的速度,同時還可采取各種算法降低運算資源,提高性能,分布式算法(DA)就是其中一種。隨著大規(guī)模集成電路的發(fā)展,特別是可編程邏輯器件的發(fā)展,DA算法在數(shù)字濾波器硬件設(shè)計中的研究進一步加強。
2.2.1 DA算法結(jié)構(gòu)
DA算法結(jié)構(gòu)是將乘法運算轉(zhuǎn)換成基于查找表的加法運算,其基本原理為通過比特串行運算產(chǎn)生兩組內(nèi)積結(jié)果代替乘法器結(jié)構(gòu),如式(3)所示:
式中:Ak為濾波器系數(shù);xk為濾波器輸入;N為濾波器階數(shù);y為濾波器輸出。對于無符號數(shù)和有符號數(shù)xk的二進制表示式分別為式(4)和式(5):
式中:xk,i為xk的每位二進制數(shù),值為0或1;B為xk的二進制位數(shù)。將式(4)和式(5)分別帶入式(3)中,可得式(6)和式(7):
在濾波器設(shè)計中,一般采用有符號數(shù),由式(6)和式(7)可知,有符號數(shù)的計算公式含有了無符號數(shù)的計算,因此本文以有符號數(shù)為例來介紹DA算法的具體實現(xiàn)。DA算法結(jié)構(gòu)的實現(xiàn)過程如圖2所示。
對于FIR濾波器來說,A0至AN-1為常數(shù),因此由式(8),式(9)和式(10)可看出,y的值僅與系數(shù)的各種組合有關(guān),這種結(jié)構(gòu)可以利用查找表來實現(xiàn)。設(shè)FIR濾波器階數(shù)為N,系數(shù)的量化位數(shù)為M為,則需要存儲器(ROM)深度和寬度的計算公式分別為式(11)和式(12)所示:
評論