基于FPGA的FIR濾波器設(shè)計(jì)與仿真
摘要:FIR數(shù)字濾波器以其良好的線性相位特性被廣泛使用,屬于數(shù)字信號(hào)處理的基本模塊之一。FPGA具有的靈活的可編程邏輯可以方便地實(shí)現(xiàn)高速數(shù)字信號(hào)處理。為了提高實(shí)時(shí)數(shù)字信號(hào)處理的速度,利用FPGA芯片內(nèi)部的ROM實(shí)現(xiàn)一種查找表結(jié)構(gòu)的FIR數(shù)字濾波器。并用MATAB對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行仿真和分析,證明了設(shè)計(jì)的可行性。
關(guān)鍵詞:有限沖擊響應(yīng)濾波器;硬件描述語言;查找表;現(xiàn)場(chǎng)可編程門陣列
0 引言
數(shù)字濾波器是數(shù)字信號(hào)處理的重要組成部分,其作用是從接收信號(hào)中提取出需要的信息同時(shí)抑制干擾,由于FIR濾波器的沖擊響應(yīng)是有限長的,因而有可能做成具有嚴(yán)格線性相位的。通常用以下兩種方法來實(shí)現(xiàn)數(shù)字濾波器:一是把濾波器所要完成的運(yùn)算編成程序并讓計(jì)算機(jī)執(zhí)行,也就是采用計(jì)算機(jī)軟件實(shí)現(xiàn);另一種是設(shè)計(jì)專用的數(shù)字硬件、專用的數(shù)字信號(hào)處理器或采用通用的數(shù)字信號(hào)處理器來實(shí)現(xiàn)。
常用的實(shí)時(shí)數(shù)字信號(hào)處理的器件有可編程的數(shù)字信號(hào)處理(DSP)芯片、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)等。在工程實(shí)踐中,往往要求對(duì)信號(hào)處理要有高速性、實(shí)時(shí)性和靈活性,而已有的一些軟件和硬件實(shí)現(xiàn)方式則難以同時(shí)達(dá)到這幾方面的要求。隨著電子信息技術(shù)的快速發(fā)展,很多信號(hào)處理器件開始用FPGA來取代傳統(tǒng)的實(shí)現(xiàn)方法。與傳統(tǒng)的實(shí)現(xiàn)方法相比,F(xiàn)PGA的顯著優(yōu)點(diǎn)是它的并行處理特性,可以顯著提高濾波器的數(shù)據(jù)吞吐率。
隨著可編程邏輯器件和EDA技術(shù)的發(fā)展,使用FPGA來實(shí)現(xiàn)數(shù)字信號(hào)處理,既具有實(shí)時(shí)性,又兼顧了一定的靈活性。FPGA具有的靈活的可編程邏輯可以方便地實(shí)現(xiàn)高速數(shù)字信號(hào)處理,突破了并行處理、流水級(jí)數(shù)的限制,有效地利用了片上資源,加上反復(fù)的可編程能力,越來越受到國內(nèi)外從事數(shù)字信號(hào)處理的研究者的青睞。
1 FIR濾波器的結(jié)構(gòu)特點(diǎn)
數(shù)字濾波器通常分為有限沖擊響應(yīng)(FIR)和無限沖擊響應(yīng)(IIR)兩大類。FIR濾波器由以下幾個(gè)特點(diǎn):
(1)系統(tǒng)的單位沖擊響應(yīng)h(n)在有限個(gè)n值處不為零;
(2)系統(tǒng)函數(shù)H(Z)在|Z|>0處收斂,在|Z|>0處只有零點(diǎn),有限z平面只有零點(diǎn),而全部極點(diǎn)都在z=0處(因果系統(tǒng));
(3)結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有輸出到輸入的反饋,但有些結(jié)構(gòu)(例如抽樣頻率結(jié)構(gòu))也包含有反饋的部分;
設(shè)FIR濾波器的單位沖擊響應(yīng)h(n)為一個(gè)N點(diǎn)序列,0≤n≤N-1,則濾波器的系統(tǒng)函數(shù)為:
就是說它有N-1階極點(diǎn)在z=0處,有個(gè)N-1零點(diǎn)位于有限z平面的任何位置。
FIR濾波器有以下幾種基本結(jié)構(gòu):橫截型(卷積型、直接型);級(jí)聯(lián)型;頻率抽樣型。這里,我們主要討論直接型FIR濾波器的實(shí)現(xiàn)。
式(1)的系統(tǒng)的差分方程表達(dá)式為:
很明顯,這就是線性移不變系統(tǒng)的卷積和公式,也是x(n)的延時(shí)鏈的橫向結(jié)構(gòu)。
2 FPGA概述及特點(diǎn)
FPGA即現(xiàn)場(chǎng)可編程門陣列,是20世紀(jì)90年代發(fā)展起來的。大部分FPGA采用基于SRAM的查找表(look up table,LUT)結(jié)構(gòu),也有一些軍品和宇航級(jí)FPGA采用FLASH或者反熔絲工藝的查找表結(jié)構(gòu)以提高可靠性。它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,具有更高的集成度,更強(qiáng)的邏輯實(shí)現(xiàn)能力和更好的設(shè)計(jì)靈活性。FPGA由許多獨(dú)立的可編程邏輯模塊組成,用戶可以通過編程將這些模塊連接起來實(shí)現(xiàn)不同的設(shè)計(jì)。FPGA器件的產(chǎn)生將半定制的門陣列電路的優(yōu)點(diǎn)和可編程邏輯器件的用戶可編程特性結(jié)合在一起。既解決了定制電路的不足,又克服了原有可編程邏輯器件門電路數(shù)量有限的缺點(diǎn)。
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(InputOutput Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA的基本特點(diǎn)如下。
(1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到可用的芯片;
(2)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳資源;
(3)FPGA可做其他全定制或半定制ASIC電路的中試樣片;
(4)FPGA是ASIC電路中設(shè)計(jì)周期最短,開發(fā)費(fèi)用最低,風(fēng)險(xiǎn)最小的器件之一。
(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高集成度、可靠性的最佳選擇之一。隨著集成度密度的不斷提高,F(xiàn)PGA器件幾乎可以實(shí)現(xiàn)所有的數(shù)字電路功能。目前,器件集成度已經(jīng)達(dá)到了數(shù)百萬門數(shù)量級(jí),工作頻率可達(dá)300MHz以上。一般可在幾個(gè)小時(shí)或幾天內(nèi)完成一個(gè)設(shè)計(jì),并可隨時(shí)修改。這加速了產(chǎn)品設(shè)計(jì)開發(fā)的進(jìn)程,免去了昂貴的ASIC(專用集成電路(器件半導(dǎo)體生產(chǎn)工藝費(fèi)用及投資風(fēng)險(xiǎn),因此,F(xiàn)PGA技術(shù)已經(jīng)成為電子工程師不可缺少的好幫手。
評(píng)論