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