《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA流水線分布式算法的FIR濾波器的實現(xiàn)

基于FPGA流水線分布式算法的FIR濾波器的實現(xiàn)

2008-08-22
作者:徐 鋒 禹衛(wèi)東 唐 紅

??? 摘?要: 提出了一種采用現(xiàn)場可編程門陣列器件(FPGA)并利用窗函數(shù)法實現(xiàn)線性FIR數(shù)字濾波器的設(shè)計方案,并以一個十六階低通" title="低通">低通FIR數(shù)字濾波器電路的實現(xiàn)為例說明了利用Xilinx公司的Virtex-E系列芯片的設(shè)計過程。對于在FPGA中實現(xiàn)FIR濾波器的關(guān)鍵——乘加運算,給出了將乘加運算轉(zhuǎn)化為查找表" title="查找表">查找表的分布式算法" title="分布式算法">分布式算法。設(shè)計的電路通過軟件進行了驗證并進行了硬件仿真,結(jié)果表明:電路工作正確可靠,能滿足設(shè)計要求。
??? 關(guān)鍵詞: FIR濾波器? FPGA? 窗函數(shù)? 分布式算法? 流水線

?

??? 隨著數(shù)字技術(shù)日益廣泛的應(yīng)用,以現(xiàn)場可編程門陣列(FPGA)為代表的ASIC器件得到了迅速普及和發(fā)展,器件集成度和速度都在高速增長。FPGA既具有門陣列的高邏輯密度和高可靠性,又具有可編程邏輯器件的用戶可編程特性,可以減少系統(tǒng)設(shè)計和維護的風(fēng)險,降低產(chǎn)品成本,縮短設(shè)計周期。
??? 分布式算法是一種以實現(xiàn)乘加運算為目的的運算方法。它與傳統(tǒng)算法實現(xiàn)乘加運算的不同在于執(zhí)行部分積運算的先后順序不同。簡單地說,分布式算法在完成乘加功能時是通過將各輸入數(shù)據(jù)每一對應(yīng)位產(chǎn)生的部分積預(yù)先進行相加形成相應(yīng)部分積,然后再對各部分積進行累加形成最終結(jié)果,而傳統(tǒng)算法是等到所有乘積產(chǎn)生之后再進行相加來完成乘加運算的。與傳統(tǒng)算法相比,分布式算法可極大地減少硬件電路規(guī)模,很容易實現(xiàn)流水線處理,提高電路的執(zhí)行速度。
??? FPGA有著規(guī)整的內(nèi)部邏輯塊陣列和豐富的連線資源,特別適合細(xì)粒度和高并行度結(jié)構(gòu)特點的數(shù)字信號處理任務(wù),如FIR、FFT等。本文詳細(xì)討論利用FPGA實現(xiàn)FIR濾波器的設(shè)計過程,并且對設(shè)計中的關(guān)鍵技術(shù)——分布式算法進行詳細(xì)描述。
1 FIR和分布式算法
1.1 FIR的基本概念

??? FIR濾波器的數(shù)學(xué)表達式為:
???

式中,N是FIR濾波器的抽頭數(shù);x(n)表示第n時刻的輸入樣本;h(i)是FIR濾波器的第i級抽頭系數(shù)。
??? 普通的直接型FIR濾波器結(jié)構(gòu)如圖1所示。

?


??? FIR濾波器實質(zhì)上是一個分節(jié)的延遲線,把每一節(jié)的輸出加權(quán)累加,便得到濾波器的輸出。對于FIR濾波器,幅度上只需滿足以下兩個條件之一,就能構(gòu)成線性相位" title="線性相位">線性相位FIR濾波器。?
??? h(n)=h(N-1-n)???????????????????????????????????? ??? ??(2)
??? h(n)=-h(N-1-n)??????????????????????????????????????????(3)
??? 式(2)稱為第一類線性相位的幅度條件(偶對稱),式(3)稱為第二類線性相位的幅度條件(奇對稱)。
1.2? FIR濾波器的優(yōu)化
??? 在實際應(yīng)用中,為了減少邏輯資源的占有量和提高系統(tǒng)的運行速度,對FIR濾波器需要進行優(yōu)化處理。本文采用的優(yōu)化主要有兩種:一種是對表達式進行優(yōu)化,另一種是在FPGA實現(xiàn)中利用特有的查找表進行優(yōu)化。

1.2.1 表達式的直接優(yōu)化

??? 對于線性相位因果FIR濾波器,它的系數(shù)具有中心對稱特性,即h(i)=±h(N-1-i)。令s(i)=x(i)±x(N-1-i),對于偶對稱,代入式(1)可得:
???

??? 根據(jù)方程(4),線性相位FIR濾波器的直接型結(jié)構(gòu)可以改為如圖2所示的結(jié)構(gòu),從而使N次乘法減少為[N/2]次,加法次數(shù)增加了[N/2]次(N為偶數(shù)),總的運算量減少。

?


1.2.2 利用查找表進行設(shè)計優(yōu)化
??? 由于實現(xiàn)的是固定系數(shù)的FIR濾波器,所以可以利用簡化的乘法器(如查找表)減少設(shè)計所耗用的器件資源。
??? 以一個8階FIR濾波器為例來說明在FPGA實現(xiàn)中優(yōu)化的過程。假定濾波器的輸入為2bit的正整數(shù),由式(4)可以得到輸出為:
??? y(n)=s(0)h(0)+s(1)h(1)+s(2)h(2)+s(3)h(3)?????????????? (5)
??? 這時的乘法和加法就可以并行地采用查找表實現(xiàn),其結(jié)構(gòu)示意圖如圖3所示。

?


??? 在圖3中,右面4個信號是輸入的低位bit,左邊是輸入信號的高位bit。低位和P1最多使用4bit,由于系數(shù)固定,查找表實現(xiàn)起來很方便;高位和P2可按同樣方法計算。在該結(jié)構(gòu)中,部分積P1和P2可以利用Virtex-E的4輸入查找表實現(xiàn),所有的計算都可并行完成。由于輸入為2bit,因此只用了一個加法器;對于更多位數(shù)的輸入來說,將需要更多的加法器。這樣就實現(xiàn)了將乘法器轉(zhuǎn)化為加法器,減少了邏輯資源,優(yōu)化了設(shè)計。
1.3? 分布式算法
??? 分布式算法在20多年前被首次提出,但直到Xilinx發(fā)明FPGA的查找表結(jié)構(gòu)以后,分布式算法才在20世紀(jì)90年代初重新受到重視,并被有效地應(yīng)用在FIR濾波器的設(shè)計中。下面介紹分布式算法的原理。
??? 式(1)可以用下式表示:
???

??? 式中,hi即h(i),xi(n)即x(n-i),N為濾波器的抽頭數(shù)。
????把數(shù)據(jù)源數(shù)據(jù)格式規(guī)定為2的補碼形式,則:
???

式中,xib(n)為二進制數(shù),取值為0或1;xi 0(n)為符號位,為1表示數(shù)據(jù)為負(fù),為0表示數(shù)據(jù)為正。將(7)式代入(6)式可得:
???

??? 由此可以看出,方括號中是輸入變量的一個數(shù)據(jù)位和所有濾波器抽頭系數(shù)h0~hi的每一位進行“與”運算并求和。而指數(shù)部分則說明了求和結(jié)果的位權(quán),整數(shù)乘以2b就是左移b位,對此可以通過硬件連線實現(xiàn),不占用邏輯資源。這樣就可以通過建立查找表來實現(xiàn)方括號中的運算,查找表可用所有輸入變量的同一位進行尋址。
2 系統(tǒng)設(shè)計與實現(xiàn)
??? 下面以一個16階的線性相位FIR低通濾波器為例說明設(shè)計的過程。
2.1 設(shè)計指標(biāo)及參數(shù)提取
2.1.1 濾波器的設(shè)計指標(biāo)

?? ?采樣頻率:≥50MHz??????? 歸一化截止頻率:0.4MHz
?? ?類????? 型:低通?????? 輸入數(shù)據(jù)寬度:8位
?? ?階????? 數(shù):16階????? 輸出數(shù)據(jù)寬度:16位
2.1.2 參數(shù)提取
??? 采用漢寧窗函數(shù)(Hanning)設(shè)計16階線性相位FIR數(shù)字濾波器,并提取其特性參數(shù)。
??? 這里需要注意的是:下載到FPGA的程序是按照FIR濾波器的差分方程式編寫的。由于從MATLAB中算出的系數(shù)h(n)的值是一組浮點數(shù),而FPGA器件只進行定點值的計算,所以要進行浮點值到定點值的轉(zhuǎn)換。假定“1”對應(yīng)10000000000000000(17位,相當(dāng)于乘上65536)。
??? 用漢寧窗(Hanning)進行設(shè)計,此16階FIR數(shù)字低通濾波器特性參數(shù)經(jīng)過換算如下:
??? h[0]=h[15]=0000? h[1]=h[14]=0065? h[2]=h[13]=018F? h[3]=h[12]=035A h[4]=h[11]=0579? h[5]=h[10]=078E? h[6]=h[9]=0935?? h[7]=h[8]=0A1F
2.2 系統(tǒng)具體實現(xiàn)步驟
2.2.1 查找表的建立
??? 我們知道,如果濾波器抽頭數(shù)N過多,用單個查找表就不能夠執(zhí)行全字(因為查找表位寬=濾波器抽頭數(shù)的數(shù)量)。在這種情況下,可以將表的地址輸入位數(shù)(即濾波器抽頭數(shù)N)進行降低,即利用部分表并將結(jié)果相加。如果加上流水線寄存器,這一改進并沒有降低速度,但是卻可以極大地減少設(shè)計規(guī)模,因為查找表的規(guī)模是隨著地址空間,也就是濾波器抽頭數(shù)N的增加而呈指數(shù)增加。
??? 濾波器抽頭數(shù)是16個,考慮到線性FIR濾波器的偶對稱特性,只考慮8個獨立濾波器抽頭數(shù),則需要一個28×8的表(其中指數(shù)8指的是8個濾波器抽頭數(shù),后面的8指的是輸入數(shù)據(jù)的位寬)。但是Virtex-e FPGA只能提供4輸入的查找表,所以要對查找表的地址進行電路分割。將8位地址線分為高4位和低4位,分別作為兩個24×8的查找表的地址輸入,從而指數(shù)倍地節(jié)省了硬件資源。
??? 查找表的具體內(nèi)容如表1所示。

?


2.2.2 查表" title="查表">查表計算部分積累加和的過程
??? 假定輸入數(shù)據(jù)x[n]的值x[0]=110=000000012c,x[1]=-110=111111112c,x[2]=310=000000112c,x[3]=210=000000102c。(注:2c代表用二進制補碼表示,最高位為符號位。)
??? 查找表(1)的部分積如表2所示。

?


??? 數(shù)據(jù)校驗結(jié)果:h[0]x[0]+h[1]x[1]+h[2]x[2]+h[3]x[3]=2812。
??? 說明利用分布式查表算法的計算結(jié)果與直接計算結(jié)果相同,算法正確無誤。
??? 查找表(2)的查表計算結(jié)果依此類推。只是需要注意:查找表(2)的數(shù)據(jù)輸入x是8位數(shù)據(jù)x[4]、x[5]、x[6]、x[7],而不是x[3]、x[2]、x[1]、x[0]。根據(jù)系數(shù)偶對稱性質(zhì),x[8]、x[9]、x[10]、x[11]查查找表(2),x[12]、x[13]、x[14]、x[15]查查找表(1)。
3 設(shè)計結(jié)果
??? 本系統(tǒng)的FPGA采用Xilinx公司的Virtex-E系列中的XCV100E FPGA,使用的軟件是Xilinx公司的ISE5.2i及Modelsim公司的Modelsim時序仿真工具,對FIR濾波器進行描述編程使用的是VHDL語言。
??? 實現(xiàn)FIR濾波器的最上層的原理圖如圖4所示,輸入16個8位數(shù)據(jù)data_in={1,-1,3,2,2,-1,1,-1,1,-1,3,2,2,-1,1,1}。

?


??? 系統(tǒng)仿真的時序圖如圖5所示。所設(shè)計FIR濾波器的幅頻、相頻、單位脈沖沖激響應(yīng)如圖6~8所示。

?

?

?

?

?

?

?


??? FIR濾波器是DSP的基本運算形式之一。本文介紹的基于FPGA的分布式算法提高了系統(tǒng)運行的速度并且節(jié)省了大量的FPGA資源。通過階數(shù)以及查找表中抽頭系數(shù)的設(shè)定,還可以靈活地實現(xiàn)除低通外的高通、帶阻和帶通濾波器。
??? 設(shè)計的電路已通過FPGA驗證,說明工作正常,符合設(shè)計指標(biāo)。
參考文獻
1 劉 凌,胡永生[譯].數(shù)字信號處理的FPGA實現(xiàn).北京:清華大學(xué)出版社,2003
2 程佩青.數(shù)字信號處理教程.北京:清華大學(xué)出版社,1995
3 朱艷云,文愛軍.可級聯(lián)FIR濾波器的IP設(shè)計及FPGA驗證.電子工程師,2002;28(5)
4? Xilinx Databook. Xiinx, 2003

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美吻胸吃奶大尺度电影| 国内成人精品视频| 久久免费精品视频| 亚洲性视频网站| 99在线热播精品免费99热| 最新国产成人在线观看| 久久精品91| 欧美亚洲在线播放| 亚洲欧美日韩专区| 亚洲综合色婷婷| 亚洲在线中文字幕| 亚洲自拍偷拍福利| 亚洲欧美日韩区| 午夜在线精品偷拍| 午夜激情久久久| 亚洲欧美国产高清| 午夜久久黄色| 欧美一区二区在线| 久久国产精品一区二区| 亚洲第一天堂av| 亚洲激情在线观看视频免费| 亚洲福利av| 亚洲日本va午夜在线电影| 亚洲人精品午夜在线观看| 亚洲精品久久视频| 日韩特黄影片| 亚洲视频一区在线| 亚洲一区在线看| 性欧美暴力猛交69hd| 欧美尤物一区| 久久尤物电影视频在线观看| 免费在线观看成人av| 欧美激情一区在线观看| 欧美日韩亚洲一区| 国产精品女主播| 国产一区二区三区在线观看精品| 国产一区二区日韩| 在线日韩精品视频| 亚洲精品资源| 亚洲午夜精品网| 欧美在线视频播放| 亚洲精品国产精品国产自| 夜夜爽99久久国产综合精品女不卡| 亚洲小少妇裸体bbw| 午夜免费日韩视频| 久久久久久精| 欧美国产高清| 国产精品久久久久天堂| 国产综合色在线视频区| 亚洲欧洲日本在线| 亚洲综合视频1区| 亚洲国产精品欧美一二99| 一区二区三区日韩欧美精品| 欧美一区国产在线| 免费中文日韩| 国产精品久久久久久久免费软件 | 欧美视频一区| 国产视频欧美视频| 亚洲人成绝费网站色www| 亚洲专区在线| 亚洲人成网站777色婷婷| 亚洲中无吗在线| 久久免费99精品久久久久久| 欧美日韩国产首页| 国产揄拍国内精品对白| 日韩特黄影片| 亚洲大片av| 亚洲欧美中文日韩v在线观看| 免费日韩成人| 国产精品试看| 91久久精品美女| 欧美一区二区三区四区高清 | 在线观看日韩av电影| 亚洲午夜国产成人av电影男同| 亚洲电影专区| 欧美一级久久久久久久大片| 欧美精品一区二区三| 国产色产综合产在线视频| 亚洲精品一级| 亚洲国产91色在线| 羞羞视频在线观看欧美| 欧美精品www在线观看| 国产一区二区三区最好精华液| 99国产精品私拍| 最新国产成人av网站网址麻豆| 欧美伊人久久久久久久久影院| 欧美久色视频| 一区二区三区在线免费观看| 亚洲欧美日韩精品久久久久| 中文av一区特黄| 欧美99在线视频观看| 国产日韩精品一区| 在线亚洲一区| 一区二区三区四区五区精品| 美女视频黄 久久| 国产视频亚洲| 亚洲欧美精品suv| 亚洲午夜激情免费视频| 欧美黑人多人双交| 一色屋精品视频在线观看网站| 午夜精品亚洲一区二区三区嫩草| 中日韩午夜理伦电影免费| 欧美激情视频一区二区三区在线播放| 国际精品欧美精品| 午夜精品福利电影| 亚洲欧美日韩综合aⅴ视频| 欧美日韩在线观看一区二区三区| 亚洲欧洲一区二区天堂久久| 亚洲激情不卡| 美女免费视频一区| 黄色一区二区三区四区| 久久成人18免费观看| 久久精品免费电影| 国产日韩精品一区| 欧美亚洲免费在线| 久久av最新网址| 国产欧美一区二区在线观看| 亚洲免费视频中文字幕| 欧美一区二区三区在线观看视频| 国产精品毛片va一区二区三区 | 亚洲专区欧美专区| 午夜一级久久| 国产精品资源| 亚洲欧美日韩精品在线| 欧美一区视频| 国产一区91| 久久精品一二三区| 每日更新成人在线视频| 在线不卡中文字幕| 亚洲精品午夜精品| 欧美精品1区2区| 亚洲精品麻豆| 亚洲午夜精品视频| 国产精品一二三四区| 香蕉av777xxx色综合一区| 欧美一区二区三区精品| 国产日韩亚洲| 久久精品国产精品亚洲综合| 免费美女久久99| 亚洲激情综合| 亚洲视频在线观看| 国产精品私拍pans大尺度在线| 先锋影音国产精品| 免费成人毛片| 亚洲精品中文字幕女同| 亚洲欧美国产精品va在线观看| 国产精品一区二区三区免费观看| 午夜天堂精品久久久久| 久热精品视频在线免费观看 | 亚洲三级影片| 欧美日韩在线播放三区| 亚洲在线第一页| 久久天天躁狠狠躁夜夜爽蜜月| 在线观看视频欧美| 一二三四社区欧美黄| 国产精品欧美激情| 久久精品一区二区三区不卡| 欧美激情综合五月色丁香小说| 一区二区国产在线观看| 久久精品国产亚洲5555| 亚洲国产精品久久久久婷婷884 | 国产日韩在线一区| 亚洲日本电影| 欧美日韩一区二区免费视频| 亚洲自拍偷拍视频| 噜噜噜91成人网| 一区二区三区久久| 久久精品国产清高在天天线| 最新热久久免费视频| 午夜精品一区二区三区电影天堂| 激情av一区二区| 一区二区三区你懂的| 国产婷婷97碰碰久久人人蜜臀| 亚洲精品在线观看视频| 国产精品视频| 亚洲日本中文字幕免费在线不卡| 国产精品久久久久91| 亚洲国产成人精品久久久国产成人一区| 欧美日韩爆操| 欧美一区午夜精品| 欧美日韩三级| 久久成人av少妇免费| 欧美日精品一区视频| 欧美一区二区三区在线观看视频| 欧美久久久久中文字幕| 欧美在线1区| 欧美视频一区二区三区…| 亚洲第一精品电影| 国产精品va在线播放我和闺蜜| 亚洲第一中文字幕在线观看| 欧美四级在线观看| 亚洲国产一区二区三区高清| 国产精品一区二区三区久久久| 日韩亚洲在线| 激情久久五月天| 性欧美xxxx视频在线观看| 亚洲激情视频在线播放| 久久精品视频导航| 一个人看的www久久| 另类人畜视频在线|