




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于FPGA流水線分布式算法的FIR濾波器的實現 徐 鋒 禹衛東 唐 紅 時間:2008年08月22日 字 體: 大 中 小 關鍵詞: ? 摘?要:關鍵詞: FIR濾波器? FPGA? 窗函數? 分布式算法? 流水線? 隨
2、著數字技術日益廣泛的應用,以現場可編程門陣列(FPGA)為代表的ASIC器件得到了迅速普及和發展,器件集成度和速度都在高速增長。FPGA既具有門陣列的高邏輯密度和高可靠性,又具有可編程邏輯器件的用戶可編程特性,可以減少系統設計和維護的風險,降低產品成本,縮短設計周期。? 分布式算法是一種以實現乘加運算為目的的運算方法。它與傳統算法實現乘加運算的不同在于執行部分積運算的先后順序不同。簡單地說,分布式算法在完成乘加功能時是通過將各輸入數據每一對應位產生的部分積預先進行相加形成相應部分積,然后再對各部分積進行累加形成最終結果,而傳統算法是等到所有乘積產生之后再進行相加來完成乘加運算的。與傳統算法相比
3、,分布式算法可極大地減少硬件電路規模,很容易實現流水線處理,提高電路的執行速度。? FPGA有著規整的內部邏輯塊陣列和豐富的連線資源,特別適合細粒度和高并行度結構特點的數字信號處理任務,如FIR、FFT等。本文詳細討論利用FPGA實現FIR濾波器的設計過程,并且對設計中的關鍵技術分布式算法進行詳細描述。1 FIR和分布式算法1.1 FIR的基本概念? FIR濾波器的數學表達式為:? 式中,N是FIR濾波器的抽頭數;x(n)表示第n時刻的輸入樣本;h(i)是FIR濾波器的第i級抽頭系數。? 普通的直接型FIR濾波器結構如圖1所示。?1.2? FIR濾波器的優化? 在實際應用中,為了減少邏輯資源的
4、占有量和提高系統的運行速度,對FIR濾波器需要進行優化處理。本文采用的優化主要有兩種:一種是對表達式進行優化,另一種是在FPGA實現中利用特有的查找表進行優化。? 對于線性相位因果FIR濾波器,它的系數具有中心對稱特性,即h(i)=±h(N-1-i)。令s(i)=x(i)±x(N-1-i),對于偶對稱,代入式(1)可得:? ? 根據方程(4),線性相位FIR濾波器的直接型結構可以改為如圖2所示的結構,從而使N次乘法減少為N/2次,加法次數增加了N/2次(N為偶數),總的運算量減少。? 由于實現的是固定系數的FIR濾波器,所以可以利用簡化的乘法器(如查找表)減少設計所耗用的器
5、件資源。? 以一個8階FIR濾波器為例來說明在FPGA實現中優化的過程。假定濾波器的輸入為2bit的正整數,由式(4)可以得到輸出為:? y(n)=s(0)h(0)+s(1)h(1)+s(2)h(2)+s(3)h(3)? (5)? 這時的乘法和加法就可以并行地采用查找表實現,其結構示意圖如圖3所示。? 在圖3中,右面4個信號是輸入的低位bit,左邊是輸入信號的高位bit。低位和P1最多使用4bit,由于系數固定,查找表實現起來很方便;高位和P2可按同樣方法計算。在該結構中,部分積P1和P2可以利用Virtex-E的4輸入查找表實現,所有的計算都可并行完成。由于輸入為2bit,因此只用了一個加法
6、器;對于更多位數的輸入來說,將需要更多的加法器。這樣就實現了將乘法器轉化為加法器,減少了邏輯資源,優化了設計。1.3? 分布式算法? 分布式算法在20多年前被首次提出,但直到Xilinx發明FPGA的查找表結構以后,分布式算法才在20世紀90年代初重新受到重視,并被有效地應用在FIR濾波器的設計中。下面介紹分布式算法的原理。? 式(1)可以用下式表示:? ? 式中,hi即h(i),xi(n)即x(n-i),N為濾波器的抽頭數。?把數據源數據格式規定為2的補碼形式,則:? 式中,xib(n)為二進制數,取值為0或1;xi 0(n)為符號位,為1表示數據為負,為0表示數據為正。將(7)式代入(6)
7、式可得:? ? 由此可以看出,方括號中是輸入變量的一個數據位和所有濾波器抽頭系數h0hi的每一位進行“與”運算并求和。而指數部分則說明了求和結果的位權,整數乘以2b就是左移b位,對此可以通過硬件連線實現,不占用邏輯資源。這樣就可以通過建立查找表來實現方括號中的運算,查找表可用所有輸入變量的同一位進行尋址。2 系統設計與實現? 下面以一個16階的線性相位FIR低通濾波器為例說明設計的過程。2.1 設計指標及參數提取? ?采樣頻率:50MHz? 歸一化截止頻率:0.4MHz? ?類? 型:低通? 輸入數據寬度:8位? ?階? 數:16階? 輸出數據寬度:16位2.2 系統具體實現步驟? 我們知道,
8、如果濾波器抽頭數N過多,用單個查找表就不能夠執行全字(因為查找表位寬濾波器抽頭數的數量)。在這種情況下,可以將表的地址輸入位數(即濾波器抽頭數N)進行降低,即利用部分表并將結果相加。如果加上流水線寄存器,這一改進并沒有降低速度,但是卻可以極大地減少設計規模,因為查找表的規模是隨著地址空間,也就是濾波器抽頭數N的增加而呈指數增加。? 濾波器抽頭數是16個,考慮到線性FIR濾波器的偶對稱特性,只考慮8個獨立濾波器抽頭數,則需要一個28×8的表(其中指數8指的是8個濾波器抽頭數,后面的8指的是輸入數據的位寬)。但是Virtex-e FPGA只能提供4輸入的查找表,所以要對查找表的地址進行電
9、路分割。將8位地址線分為高4位和低4位,分別作為兩個24×8的查找表的地址輸入,從而指數倍地節省了硬件資源。? 查找表的具體內容如表1所示。? 假定輸入數據xn的值x0=110=000000012c,x1=-110=111111112c,x2=310=000000112c,x3=210=000000102c。(注:2c代表用二進制補碼表示,最高位為符號位。)? 查找表(1)的部分積如表2所示。? 數據校驗結果:h0x0+h1x1+h2x2+h3x32812。? 說明利用分布式查表算法的計算結果與直接計算結果相同,算法正確無誤。? 查找表(2)的查表計算結果依此類推。只是需要注意:查找
10、表(2)的數據輸入x是8位數據x4、x5、x6、x7,而不是x3、x2、x1、x0。根據系數偶對稱性質,x8、x9、x10、x11查查找表(2),x12、x13、x14、x15查查找表(1)。3 設計結果? 本系統的FPGA采用Xilinx公司的Virtex-E系列中的XCV100E FPGA,使用的軟件是Xilinx公司的ISE5.2i及Modelsim公司的Modelsim時序仿真工具,對FIR濾波器進行描述編程使用的是VHDL語言。? 實現FIR濾波器的最上層的原理圖如圖4所示,輸入16個8位數據data_in=1,-1,3,2,2,-1,1,-1,1,-1,3,2,2,-1,1,1。? 系統仿真的時序圖如圖5所示。所設計FIR濾波器的幅頻、相頻、單位脈沖沖激響應如圖68所示。? FIR濾
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園菜地日常管理制度
- 校園車輛進出管理制度
- 校外培訓十種管理制度
- 藥品安全自查自糾報告
- 工業革命區域差異-洞察及研究
- 酒店空間布局優化-洞察及研究
- 動物王國的秘密故事-童話創作(4篇)
- 古代漢語詞匯掌握:高一語文詞義學習教案
- 家政服務行業技能競賽試題
- 小學議論文:我喜歡讀書的原因(14篇)
- 陜西省安康市石泉縣2023-2024學年八年級下學期期末考試物理試題
- IT系統集成項目實施與售后方案
- 特種設備“日管控、周排查、月調度”表格
- 設計質量管理和保證措施及設計質量管理和質量保證措施
- 國家級社會體育指導員理論考試試題及答案
- 小學科學學法指導
- 充電樁建設項目可行性研究報告
- 第七屆全國急救技能大賽(醫生組)理論考試題庫大全-下部分
- 分級護理制度培訓
- 初中物理核心素養培養
- 安全應急管理培訓
評論
0/150
提交評論