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