可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證_第1頁
可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證_第2頁
可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證_第3頁
可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證_第4頁
可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、    可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證【摘要】提出了一種基于分布式算法的,采用基于RAM之移位寄存器來設(shè)計可級聯(lián)FIR濾波器的設(shè)計方法。關(guān)鍵詞:FPGA,可級聯(lián),F(xiàn)IR濾波器,分布式算法1引言現(xiàn)場可編程邏輯器件(FPGA)由于兼具可編程邏輯器件現(xiàn)場可編程的靈活性,以及門陣列器件集成度高的優(yōu)點,在數(shù)字系統(tǒng)設(shè)計中被廣泛使用。FPGA有著規(guī)整的內(nèi)部邏輯塊陣列和豐富的連線資源,特別適合于細粒度和高并行度結(jié)構(gòu)特點的數(shù)字信號處理任務(wù),如FIR,F(xiàn)FT等。本文詳細討論了利用FP【摘要】提出了一種基于分布式算法的,采用基于RAM之移位寄存器來設(shè)計可級聯(lián)FIR

2、濾波器的設(shè)計方法。    關(guān)鍵詞:FPGA,可級聯(lián),F(xiàn)IR濾波器,分布式算法1引言現(xiàn)場可編程邏輯器件(FPGA)由于兼具可編程邏輯器件現(xiàn)場可編程的靈活性,以及門陣列器件集成度高的優(yōu)點,在數(shù)字系統(tǒng)設(shè)計中被廣泛使用。FPGA有著規(guī)整的內(nèi)部邏輯塊陣列和豐富的連線資源,特別適合于細粒度和高并行度結(jié)構(gòu)特點的數(shù)字信號處理任務(wù),如FIR,F(xiàn)FT等。本文詳細討論了利用FPGA實現(xiàn)FIR濾波器的設(shè)計過程,并且對設(shè)計中的關(guān)鍵技術(shù)分布式算法和基于RAM的移位寄存器都進行了詳細的描述。本設(shè)計已經(jīng)通過了FPGA驗證,和其它同類設(shè)計相比,本文所設(shè)計的電路不僅速度快而且占用的面積小。2FIR和

3、分布式算法21FIR的基本概念    FIR濾波器數(shù)學表達式為:由此看出,F(xiàn)IR濾波器的基本結(jié)構(gòu)如一個分節(jié)的延時線,把每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出。對于FIR濾波器,在幅度上只需滿足下列兩個條件之一,就能構(gòu)成線性相位FIR濾波器。    式(2)稱為第一類線性相位的幅度條件,式(3)稱為第二類線性相位的幅度條件。由此可寫出線性相位FIR濾波器的數(shù)學表達式:由于在數(shù)據(jù)通信、語音信號處理、圖像處理以及自適應(yīng)處理等領(lǐng)域的傳輸過程中不能有明顯的相位失真,而FIR濾波器在滿足一定對稱條件下可以實現(xiàn)IIR濾波器難以實現(xiàn)的線性相位,因而獲

4、得廣泛的應(yīng)用。22分布式算法FIR濾波器的主要組成模塊是乘加單元,若按照直觀結(jié)構(gòu)構(gòu)造乘法器和系數(shù)寄存器來實現(xiàn)會占用大量的邏輯資源。而分布式算法利用查找表(LUT)將固定系數(shù)的乘加運算轉(zhuǎn)化為查表操作,并且其運算速度不隨系數(shù)和輸入數(shù)據(jù)精度的增加而降低,相對直接實現(xiàn)乘法器和系數(shù)寄存器在邏輯資源占用上得到極大的改善。分布式算法原理如下:    式(1)可以用下式表示:其中,hk即h(k),xk(n)即x(nk),K為濾波器的長度。為了使得乘法之后的數(shù)據(jù)寬度不至于展寬,先把數(shù)據(jù)源數(shù)據(jù)格式規(guī)定為浮點數(shù)2的補碼形式。則其中,xkb(n)為二進制數(shù),取值為0或1;xk0(n)為符

5、號位,xk0(n)為1表示數(shù)據(jù)為負,為0表示數(shù)據(jù)為正。將(7)式代入(6)式可得由此看出,方括號中進行的是輸入變量的一個數(shù)據(jù)位和所有濾波器抽頭系數(shù)h0hk的每一位進行與運算并求和。而指數(shù)部分則說明了求和結(jié)果的位權(quán),整數(shù)乘以2b就是右移b位,對此可以通過硬連線實現(xiàn),不占用邏輯資源。這樣可以通過建立查找表來實現(xiàn)方括號中的操作,查找表用所有輸入變量的同一位進行尋址。這樣,式(6)所表示的方程就可以由加法、減法和二進制除法來實現(xiàn)了。3系統(tǒng)設(shè)計與實現(xiàn)31系統(tǒng)整體設(shè)計下面以一個10階的線性相位FIR濾波器(輸入數(shù)據(jù)和抽頭系數(shù)的位寬均為16比特)為例說明電路的設(shè)計過程。根據(jù)(全串行)分布式算法的原理,線性相

6、位FIR濾波器可分為并串變換單元、移位寄存器組、查找表地址產(chǎn)生單元、查找表、累加器以及控制單元。其結(jié)構(gòu)框圖如圖1所示。系統(tǒng)工作過程如下:并行輸入的數(shù)據(jù)首先經(jīng)過并串變換,并擴展一位,輸出比特流送到移位寄存器組中,在移位寄存器組中,每級移位寄存器的輸出端口都要按照一定的方式,每兩個端口進行相加或相減,以此產(chǎn)生出查找表的地址,并從查找表中讀出相應(yīng)的數(shù)據(jù),送到累加器中進行自身移位相加,累加到一定次數(shù)輸出正確結(jié)果。若數(shù)據(jù)是從級聯(lián)輸入端口進入,那么輸入數(shù)據(jù)無需再經(jīng)過并串變換,可直接進行移位寄存,后面的工作過程和上述一致。32并串變換單元并串變換單元的主要功能就是將并行輸入的數(shù)據(jù)按照一定的順序依次輸出。由式

7、(4)和(5)可以看出,輸入數(shù)據(jù)x(k)和x(nk)要進行預相加或預相減,為了防止溢出,在這里對輸入數(shù)據(jù)要進行擴展:若輸入數(shù)據(jù)為有符號數(shù),則在最高位前擴展一位符號位;若輸入數(shù)據(jù)為無符號數(shù),則在最高位前擴展一位0。33移位寄存器組移位寄存器組的功能是對數(shù)據(jù)進行移位寄存。在實現(xiàn)時,利用XC4000系列芯片中內(nèi)含RAM的特點,采用基于RAM的移位寄存器,有效地減小面積?;赗AM的移位寄存器就是把數(shù)據(jù)存儲在RAM中,通過對讀和寫進行適當?shù)牟僮鳎箤戇M去的數(shù)據(jù)經(jīng)過一定的時鐘周期才能輸出,從而實現(xiàn)移位寄存的功能。芯片中內(nèi)含RAM,可以使其一個CLB中存儲高達64比特的數(shù)據(jù),否則,在一個CLB的觸發(fā)器中只

8、能存儲2比特的數(shù)據(jù),這樣,就大大減少了數(shù)據(jù)存儲所占用的資源。經(jīng)測試,在XC4000系列芯片中,一個16位的移位寄存器需要占用7個CLB,而基于RAM(16×1)的移位寄存器只需占用1個CLB。采用基于RAM的移位寄存器,就要產(chǎn)生用于控制RAM的讀地址及讀寫操作信號,這些都由控制單元產(chǎn)生。對于一個長度為N的基于RAM的移位寄存器,可以使它的寫數(shù)據(jù)操作比讀數(shù)據(jù)操作延時一個時鐘周期,這樣寫進的數(shù)據(jù),經(jīng)過N個時鐘周期才能輸出,從而完成移位寄存的功能。為了實現(xiàn)濾波器級聯(lián)的功能,需要加入一個輸入端口級聯(lián)輸入端口,并要引出一個輸出端口級聯(lián)輸出端口,這樣,兩個濾波器才能夠級聯(lián)。這十級移位寄存器既能對

9、從輸入數(shù)據(jù)端口輸入的數(shù)據(jù)進行移位寄存,又能對從級聯(lián)輸入端口輸入的數(shù)據(jù)進行移位寄存。具體實現(xiàn)時,在這十級移位寄存器中,第一級只需對級聯(lián)輸入端口的數(shù)據(jù)進行移位寄存,這是因為并串變換單元已經(jīng)相當于一級移位寄存了,在第二級的輸入端就需要對并串變換單元輸出端口的數(shù)據(jù)和第一級移位寄存器的輸出端口的數(shù)據(jù)作出選擇,究竟是對哪個端口的數(shù)據(jù)移位寄存。最后一級移位寄存器的輸出端引出作為級聯(lián)輸出端口。34查找表地址產(chǎn)生單元查找表地址產(chǎn)生單元是產(chǎn)生查找表的地址,它是由五個帶進位的加法器組或減法器組構(gòu)成的。若濾波器的系數(shù)是正對稱的,使用加法器;若濾波器的系數(shù)是負對稱的,使用減法器。35查找表查找表的功能就是存儲抽頭系數(shù)的

10、組合,并且給出地址能讀出相應(yīng)的數(shù)據(jù)。查找表的深度是由濾波器的階數(shù)來決定的,假如N代表濾波器的階數(shù),對于線性相位濾波器,其系數(shù)是對稱的,那么其獨立系數(shù)的個數(shù)為N2個,則查找表的深度就等于2(N2);對于非對稱濾波器,其獨立系數(shù)的個數(shù)為N個,則查找表的深度就等于2N。在設(shè)計階數(shù)較長的FIR濾波器時,我們可以將大的查找表劃分為幾塊小的查找表來減少所占用的FPGA資源。XILINX公司的XC4000系列FPGA的一個CLB可以實現(xiàn)32×1大小的RAM,例如,對于一個16階的非對稱FIR濾波器(系數(shù)寬度為8比特),若不進行劃分,查找表的深度就為216,需要占用16384個CLB;若將其劃分為兩

11、塊尋址位數(shù)均為8的查找表,每一塊查找表的深度就為28,那么兩塊查找表需要占用128個CLB;若將其劃分為四塊尋址位數(shù)均為4的查找表,每一塊查找表的深度就為24,那么四塊查找表需要占用16個CLB。由此看出,查找表的劃分也是減小面積的一個關(guān)鍵技術(shù)。查找表可以由ROM來實現(xiàn)。對于10階的線性相位FIR濾波器來說,獨立系數(shù)為5個,則ROM的深度就為32。表1示出了這5個獨立系數(shù)的組合在ROM中的位置。36累加器累加器的功能就是通過中間數(shù)據(jù)的移位相加實現(xiàn)兩個數(shù)相乘,在該單元中也要進行防溢出處理。由于該累加器實現(xiàn)的相當于乘法器的移位相加,所以每次都要將相加結(jié)果右移一位,再和下一次的輸入數(shù)據(jù)相加。如果輸入

12、數(shù)據(jù)是無符號數(shù)并且抽頭系數(shù)是正對稱,則直至加到17次;如果輸入數(shù)據(jù)為有符號數(shù)(抽頭系數(shù)為正對稱也可為負對稱),或者輸入數(shù)據(jù)為無符號數(shù)且抽頭系數(shù)是負對稱,則相加進行16次,最后一次進行的是相減運算。移位相加減由控制單元計數(shù)器信號來控制。37控制單元控制單元的主要功能是:對并串變換單元進行控制;產(chǎn)生移位寄存器組單元中的RAM的讀地址以及讀寫操作控制;產(chǎn)生查找表地址產(chǎn)生單元中加法器或減法器的清零信號;并對累加單元進行控制。這些功能主要由計數(shù)器來實現(xiàn)。4FPGA驗證本系統(tǒng)的FPGA采用XILINX公司的XC4000系列芯片,各個模塊用VHDL語言描述,用開發(fā)軟件Synplify Pro 624編譯及綜

13、合,用開發(fā)軟件Xilinx Foundation Series ISE31i做前仿和后仿以及布局布線。本文設(shè)計的10階可級聯(lián)線性相位FIR濾波器,其輸入輸出管腳情況如表2所示。利用XC4000EPG1201芯片進行布局布線,測試報告表明,該濾波器處理數(shù)據(jù)的時鐘頻率是648MHz,采樣速率是405MHz。其硬件資源占用情況如表3所示。檢測所設(shè)計的電路是否能正確而連續(xù)地工作,可以采用最簡單的測試方法:輸入一個脈沖,若輸出是按順序輸出抽頭系數(shù)的值,可以說電路是正常工作的。經(jīng)過布局布線后,其時序仿真如圖2所示。5FIR的級聯(lián)本文所設(shè)計的濾波器可以級聯(lián)成更長的濾波器,用n個10階的FIR濾波器和加法器可以組成一個n×10階的濾波器。通過查找表內(nèi)容的設(shè)定,級聯(lián)后的濾波器可以是對稱的也可以是非對稱的。如圖3所示,用兩個10階的FIR濾波器和一個加法器可以級聯(lián)成一個20階的濾波器。采用分布式算法,級聯(lián)后的濾波器不會因為長度的增加而性能明顯下降,利用XC4005EPC841芯片實現(xiàn)兩級級聯(lián)的濾波器時,處理數(shù)據(jù)的時鐘

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論