《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于FPGA的改進(jìn)型FIR濾波器的實(shí)現(xiàn)

基于FPGA的改進(jìn)型FIR濾波器的實(shí)現(xiàn)

2009-07-02
作者:黃曉紅,蔡江利

??? 摘? 要: 利用分布式算法對FIR濾波器的硬件實(shí)現(xiàn)進(jìn)行了探討,在數(shù)乘累加的理論上,對分布式算法的串行、并行和拆分查找表法的FPGA硬件實(shí)現(xiàn)方法進(jìn)行了研究。結(jié)合FPGA查找表結(jié)構(gòu),兼顧資源及運(yùn)行速度的要求,用拆分查找表的方法設(shè)計(jì)了16階8位常系數(shù)FIR濾波器,并在Quartus II 5.0下進(jìn)行仿真,仿真結(jié)果驗(yàn)證了該算法的有效性和實(shí)時(shí)性。?

??? 關(guān)鍵詞: FPGA;分布式算法;拆分查找表;FIR濾波器

?

??? FIR數(shù)字濾波器在數(shù)字信號處理的過程中有很好的線性相位和穩(wěn)定性,被廣泛應(yīng)用于音頻處理、語音處理、信息系統(tǒng)等各種系統(tǒng)中。隨著現(xiàn)代電子技術(shù)及EDA技術(shù)的發(fā)展,特別是可編程邏輯電路的發(fā)展,F(xiàn)IR數(shù)字濾波器的實(shí)現(xiàn)將變得更具有靈活性和實(shí)時(shí)性。FIR濾波器的實(shí)現(xiàn)有多種方法,其中基于分布式算法FIR濾波器的FPGA實(shí)現(xiàn)采用硬件結(jié)構(gòu),此算法的特點(diǎn)是運(yùn)行速度快,能較好地實(shí)現(xiàn)實(shí)時(shí)處理,特別適合于高速實(shí)時(shí)的信號處理。本文提出了一種基于分布式算法改進(jìn)型FIR濾波器的FPGA實(shí)現(xiàn),并設(shè)計(jì)和實(shí)現(xiàn)了改進(jìn)型FIR濾波器。?

1 FIR數(shù)字濾波器的直接型結(jié)構(gòu)?

??? FIR數(shù)字濾波器的輸入與輸出可以用下式表示:?

???   ?

式中:N為濾波器的階數(shù)(或抽頭數(shù));x(k)為第k時(shí)刻的輸入樣本值;h(k)為第k級抽頭系數(shù)。FIR因?yàn)槠鋯挝幻}沖響應(yīng)h(n)是有限長而得名,即h(n)是一個(gè)有限長序列,對h(n)做Z變換就得到FIR數(shù)字濾波器的系統(tǒng)函數(shù)H(z):?

?????

??? 由此可以得到FIR數(shù)字濾波器直接型的結(jié)構(gòu)圖如圖1所示。?

?

?

2 改進(jìn)型FIR數(shù)字濾波器算法?

2.1 分布式算法的原理?

??? 分布式算法是一種重要的FPGA技術(shù),廣泛應(yīng)用在計(jì)算乘積和之中。除了卷積之外,相關(guān)、DFT計(jì)算和RNS反演映射等都可以轉(zhuǎn)化為乘積和(sum of products)的形式。?

??? (1)無符號分布式算法?

??? 假設(shè)N項(xiàng)的乘積和表示為:?

  ?

??? 又設(shè)系數(shù)h(n)是已知的常系數(shù),x(n)是變量,設(shè)x(n)的表達(dá)式如下:?

?????

其中xb(n)表示x(n)的第b位,x(n)是x的第n次采樣,則y又可以表示為:?

?????

??? (2)有符號分布式算法?

??? 對于有符號數(shù)補(bǔ)碼數(shù)采用補(bǔ)碼的表示方法。需要注意的是,在補(bǔ)碼中,最高有效位是用來區(qū)別正數(shù)和負(fù)數(shù)的。將采用(B+1)位表達(dá)式:?

?????

??? 要實(shí)現(xiàn)有符號分布式系統(tǒng),通常采用“帶有加/減控制器的累加器”實(shí)現(xiàn)此系統(tǒng),當(dāng)xb(n)為0時(shí)進(jìn)行加法運(yùn)算,為1時(shí)進(jìn)行減法運(yùn)算。?

2.2 串行分布式算法?

??? 串行分布式算法結(jié)構(gòu)如圖2所示。利用一個(gè)LUT實(shí)現(xiàn)映射,即2N字寬,預(yù)先編寫好程序的xb=[xb(0),xb(1),…,xb(N-1)]的映射,經(jīng)查找表查找后輸出,N次查詢循環(huán)后就完成了計(jì)算結(jié)果。?

?

?

??? 以三階四位有符號的數(shù)字濾波器為例,令濾波器的系數(shù)為{-2,1,3},LUT可采用基于FPGA的邏輯查找表或利用FPGA自帶的ROM實(shí)現(xiàn)。用case表實(shí)現(xiàn)的核心代碼如下:?

??? Process (table_ in)?

??? Begin?

??? ? Case table_ in is?

??????? when “000”=>?? table_ out<=0;?

??????? when “001”=>?? table_ out<=-2;?

??????? when “010”=>?? table_ out<=3;?

??????? when “011”=>?? table_ out<=1;?

??????? when “100”=>?? table_ out<=1;?

??????? when “101”=>?? table_ out<=-1;?

??????? when “110”=>?? table_ out<=4;?

??????? when “111”=>?? table_ out<=2;?

??????? when? others=>?? table_ out<=0;?

??? ? end? case;?

??? end? process;?

2.3 并行分布式算法?

??? 并行分布式算法結(jié)構(gòu)如圖3所示,圖中虛線代表流水線寄存器,輸入采用逐次采樣(每次一個(gè)字)、位并行的形式。將每個(gè)數(shù)據(jù)的相同位遞給LUT,對于輸入的每一位都需要配置相應(yīng)單獨(dú)的表,且表的規(guī)模不固定(輸入位寬等于濾波器抽頭的數(shù)量),但表的內(nèi)容相同。且不同的位對應(yīng)不同的值,然后將從LUT中讀取的數(shù)據(jù)經(jīng)過處理后送入加法器中,每級的加法運(yùn)算都是并行的。?

?

?

2.4 拆分查找表?

??? 并行分布式算法雖然能夠有效提高系統(tǒng)運(yùn)算的速度,但是占用的資源太大。串行分布式算法占用的資源小,但系統(tǒng)的運(yùn)算速度慢。而且當(dāng)N很大時(shí),即在FIR濾波器中如果階數(shù)很高時(shí),作為查找表的ROM將很大,例如:假定N=16,輸入LUT的位寬為16,則ROM的大小為16×216 bit,即1 Gbit。N每增加一位,ROM容量就增加一倍,這種以2的冪次遞增的資源占用是硬件資源不可接受的。?

??? 當(dāng)系統(tǒng)對速度要求不太高、而濾波器的階數(shù)很高時(shí),可以采用拆分表減少ROM容量并將結(jié)果累加。如果再加上流水線寄存器,這個(gè)改進(jìn)并沒有降低速度,卻可以極大減少LUT的設(shè)計(jì)規(guī)模。?

??? 假設(shè)長度為LN的內(nèi)積:?

  ?

可以用一個(gè)DA結(jié)構(gòu)實(shí)現(xiàn)。將和分配到L個(gè)獨(dú)立的N階并行DA的LUT之中,結(jié)果如下:?

  ?

??? 例如:實(shí)現(xiàn)一個(gè)4N的DA設(shè)計(jì)需要3個(gè)次輔助加法器。而表格的規(guī)模從一個(gè)4N×2B的LUT降低到4個(gè)N×2B表。圖4是拆分查找表的硬件結(jié)構(gòu)圖。?

?

?

3 基于FPGA實(shí)現(xiàn)的改進(jìn)型FIR濾波器結(jié)構(gòu)性能?

3.1 16階8位FIR濾波器的實(shí)現(xiàn)及仿真?

??? 本設(shè)計(jì)采用Altera公司的Cyclone II EP2C35F672C8器件,在Quartus II 5.0下仿真,F(xiàn)IR濾波器為16階,輸入數(shù)據(jù)為8位(最高位代表符號位)。如果采用單個(gè)查找表的面積為28×16 bit,面積太大。采用拆分查找表的結(jié)構(gòu)能減少面積,在Altera公司的一系列FPGA中LUT查找表采用四輸入查找表,因此單個(gè)表可以拆分為2個(gè)四輸入的查找表。因?yàn)樵O(shè)計(jì)的是線性相位濾波器,這樣單個(gè)表的面積就得到了最優(yōu)化。同時(shí)單個(gè)查找表的連線是LUT查找表的內(nèi)部連線,減少了互聯(lián)的資源和連線的延遲。查找表計(jì)算方法如表1所示。?

?

?

??? 設(shè)輸入序列為{99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0},濾波器的系數(shù)為{-12 -18 13 29 -13 -52 14 162 242 14 -52 -13 29 13 -18}。仿真結(jié)果如圖5所示。?

?

?

???本設(shè)計(jì)的時(shí)鐘主頻可達(dá)73.49 MHz,占用了236個(gè)邏輯單元,占整個(gè)LC(Logic cell)的2%。可見拆分查找表的方式實(shí)現(xiàn)FIR濾波器速度較快,占用的資源少。?

????若要實(shí)現(xiàn)更高階的濾波器,拆分查找表法的優(yōu)勢將更加明顯。另外,如果是線性相位的濾波器,表的個(gè)數(shù)將能縮小一倍。本設(shè)計(jì)即為線性相位濾波器。?

3.2 改進(jìn)型FIR濾波器在FPGA中實(shí)現(xiàn)的特點(diǎn)分析?

??? 為了分析改進(jìn)型FIR濾波器在FPGA中實(shí)現(xiàn)的特點(diǎn),利用VHDL語言程序分別設(shè)計(jì)了16階的串行、并行及直接型FIR濾波器,并與相應(yīng)的拆分查找表法FIR濾波器進(jìn)行比較,其各自的運(yùn)行速度及占用FPGA資源的情況如表2所示。

?

?

??? 從表2可以看出,改進(jìn)型濾波器與直接型相比存在兩大明顯的優(yōu)勢。一方面,在濾波器階數(shù)相同時(shí),改進(jìn)型FIR濾波器在FPGA資源占用上比直接型更少;另一方面,系統(tǒng)運(yùn)行的速度比直接型更快。而且,隨著濾波器階數(shù)的增加,這種優(yōu)勢更加明顯。串行濾波器完成一次運(yùn)算需要8個(gè)時(shí)鐘周期,為了把數(shù)據(jù)分為8個(gè)時(shí)鐘周期進(jìn)行計(jì)算,采用了移位寄存器,這樣單個(gè)表的面積相當(dāng)大,從而占用了大量資源,工作速度也受到了限制。并行分布式濾波器在1個(gè)時(shí)鐘周期完成了累加,提高了工作速度,但所用面積較大。拆分查找表法濾波器大大減少了面積,而且速度并沒有降低。?

??? 本設(shè)計(jì)采用了拆分查找表方法,影響系統(tǒng)速度的是加法器組,可以對濾波器進(jìn)一步改進(jìn),如對加法器組利用流水線、編碼等技術(shù)可以提高工作速度。?

??? 通過以上的理論分析和仿真結(jié)果表明,基于FPGA器件的拆分查找表FIR算法,占用資源少、運(yùn)算速度快,在資源允許的條件下可根據(jù)實(shí)際應(yīng)用任意確定濾波器的長度和階數(shù),是一種比較實(shí)用可靠的高效設(shè)計(jì)方法。?

參考文獻(xiàn)?

[1] PARHI K K.VLSI digital signal processing systems:Design?and implementation[S].John Wiley&Sons,1999.?

[2] ASHENDEN P J.The designer′s guide to VHDL(SecondEdition)[S].Elsevier Science(USA),2002.?

[3] 程偑清.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2001.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
最近中文字幕日韩精品| 亚洲第一天堂无码专区| 国产酒店精品激情| 欧美精品色网| 欧美成人免费一级人片100| 久久国产天堂福利天堂| 亚洲资源av| 中文一区字幕| 一区二区三区四区国产精品| 亚洲精品偷拍| 亚洲国产一区视频| 亚洲电影免费在线| 久久精品国产第一区二区三区| 亚洲欧美日韩一区二区在线| 亚洲一区二区三区久久| 一区二区三区四区五区精品视频| 亚洲精品亚洲人成人网| 最新国产乱人伦偷精品免费网站| 在线观看欧美精品| 极品日韩久久| 樱花yy私人影院亚洲| 狠狠狠色丁香婷婷综合激情| 国产亚洲成av人片在线观看桃| 国产精品一区二区你懂的| 国产精品日韩欧美一区二区| 国产精品一区二区三区四区| 国产麻豆精品视频| 国产欧美不卡| 国产日韩欧美中文| 国产一区视频观看| 激情一区二区三区| 亚洲福利视频网站| 亚洲日本一区二区三区| 夜夜狂射影院欧美极品| 日韩视频中文| 亚洲网站在线观看| 亚洲免费视频观看| 欧美中文字幕视频| 亚洲国产精品成人| 日韩一区二区免费高清| 中文日韩在线| 午夜精品久久久久久久男人的天堂 | 久久精品视频免费| 亚洲精品日日夜夜| 一区二区三区蜜桃网| 亚洲欧美成人一区二区三区| 欧美在线91| 美国十次了思思久久精品导航| 欧美精品一区二区三区蜜桃 | 国内精品久久久久影院色 | 久久精品99国产精品日本| 最新成人在线| 亚洲特黄一级片| 欧美专区一区二区三区| 毛片一区二区| 欧美午夜一区二区| 国产偷久久久精品专区| 尤妮丝一区二区裸体视频| 亚洲欧洲日韩综合二区| 国产精品99久久久久久久vr| 欧美亚洲一级片| 亚洲品质自拍| 久久国产精品久久久| 亚洲日本一区二区三区| 亚洲影视在线| 久久人人97超碰人人澡爱香蕉| 欧美另类一区| 国产亚洲精品资源在线26u| 亚洲人成免费| 亚洲欧美日韩直播| 日韩亚洲欧美综合| 久久国产主播精品| 欧美激情一区二区三区高清视频 | 亚洲第一区在线观看| 亚洲精品婷婷| 欧美在线国产精品| 一区二区三区视频免费在线观看| 久久精品免费电影| 欧美日韩在线免费| 红杏aⅴ成人免费视频| 999在线观看精品免费不卡网站| 欧美一进一出视频| 亚洲天堂免费在线观看视频| 久久夜色精品国产欧美乱| 国产精品国产自产拍高清av| 伊人激情综合| 亚洲在线1234| 在线视频中文亚洲| 久热精品视频| 国产日韩在线视频| 一本久久a久久精品亚洲| 亚洲第一页自拍| 午夜一级在线看亚洲| 欧美激情国产日韩精品一区18| 国产欧美一区视频| 日韩写真视频在线观看| 欧美1区2区3区| 亚洲私人黄色宅男| 亚洲一区久久久| 日韩午夜在线观看视频| 欧美一区二区三区视频| 欧美精品亚洲精品| 精品不卡视频| 亚洲欧美在线磁力| 亚洲社区在线观看| 欧美成人dvd在线视频| 国产字幕视频一区二区| 一区二区av在线| 99精品欧美一区二区三区| 久久只有精品| 国产一区二区三区奇米久涩 | 久久国内精品自在自线400部| 午夜精品久久久| 欧美日韩精品中文字幕| 亚洲国产精品一区二区第一页| 欧美在线综合视频| 久久成人18免费观看| 国产精品理论片| av成人黄色| 99热免费精品| 欧美精品在线观看91| 亚洲电影激情视频网站| 亚洲国产精品嫩草影院| 亚洲一区二区三区在线播放| 欧美日韩精选| 亚洲精品视频在线看| 亚洲美女在线观看| 欧美刺激性大交免费视频| 依依成人综合视频| 亚洲电影免费在线| 免费欧美日韩国产三级电影| 在线播放亚洲一区| 亚洲高清色综合| 老司机免费视频久久| 激情综合色综合久久| 亚洲高清av| 免费亚洲一区二区| 亚洲大黄网站| 亚洲精品色图| 欧美日韩一级黄| 一二三区精品福利视频| 亚洲尤物精选| 国产精品日本欧美一区二区三区| 亚洲一级片在线观看| 欧美一区二区三区视频| 国产日韩欧美精品一区| 亚洲美洲欧洲综合国产一区| 一区二区三区欧美成人| 国产精品a级| 亚洲一级特黄| 久久久久久久综合日本| 在线欧美三区| 亚洲私人影院| 国产模特精品视频久久久久| 久久激情中文| 欧美日韩不卡| 亚洲午夜精品一区二区三区他趣| 欧美一区综合| 在线观看国产欧美| 亚洲午夜精品久久| 国产亚洲成人一区| 日韩视频免费| 国产精品香蕉在线观看| 亚洲国产精品一区| 欧美日韩另类一区| 午夜精品一区二区三区在线视| 免费av成人在线| 一个色综合导航| 久久婷婷综合激情| 亚洲美女av网站| 久久精品视频网| 亚洲伦理在线| 久久se精品一区精品二区| 一区二区三区在线视频观看 | 欧美综合激情网| 亚洲国产精品久久91精品| 亚洲欧美视频一区| 一区二区亚洲精品| 一级日韩一区在线观看| 国产精品女同互慰在线看| 亚洲成人在线网站| 欧美xart系列高清| 亚洲图片欧美一区| 欧美成人黄色小视频| 一本到高清视频免费精品| 欧美亚洲在线播放| 亚洲国产视频一区| 亚洲欧美福利一区二区| 含羞草久久爱69一区| 一二三区精品| 影音先锋久久久| 亚洲视频在线观看免费| 国产欧美高清| 亚洲麻豆一区| 久久婷婷影院| 日韩亚洲精品在线| 久久久999精品免费| 亚洲国产精品精华液网站| 亚洲综合欧美日韩| 韩国一区电影|