基于fpga的iir數字低通濾波器的設計_第1頁
基于fpga的iir數字低通濾波器的設計_第2頁
基于fpga的iir數字低通濾波器的設計_第3頁
基于fpga的iir數字低通濾波器的設計_第4頁
基于fpga的iir數字低通濾波器的設計_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、題 目基于fpga的iir數字低通濾波器設計學生姓名學 號院 系物理與電子信息丁程系專 業電子信息工程指導教師二o 一 年六月一日基于fpga的iir數字低通濾波器的設計與實現xxx赤峰學院物理與電子信息工程系,赤峰024000摘要:本文介紹了基于fpga的iir數字低通濾波器的設計與實現,首先介紹了 iir數字低通濾波器的原 理和分類。接著介紹了 iir數字低通濾波器的設計方法,有用脈沖響應不變法和雙線性變換法。又介紹了 用vhdl語言在qmirtusii軟件上生成iir數字濾波器的各模塊(時序控制模塊、延時模塊、頂層模塊、 乘法累加模塊),并用各個模塊構建一個iir的二階節。最后通過實例闡

2、明了基于fpga的四階iir數字低 通濾波器的設計,在quartusll軟件上仿從,并得到仿tt圖。關鍵詞:fpga; matlab; quartusii: iir數字低通濾波器;設計;實現1引言在當今數字技術發展的時代,數字濾波器被廣泛應川于頻譜分析,模式識別,語言與圖像處 理等領域,數字濾波器奮著精度尚、實吋性商、處理速度快等特點。數字濾波器根據單位脈 沖響應的不同,可以分為有限長脈沖響應(f1r)濾波器和無限長脈沖響應(iir)濾波器。 fir具冇良好的相位特性,而iir濾波器具冇很好的幅頻特性。iir濾波器所要求的階數不 僅比fir濾波器低,而目.可以利用模擬濾波器的設計成果,設計t作

3、景相對較小,采用fpga實 現的1ir濾波器同樣具有多種優越性。再苕按信號通過數字濾波器的特性(主要是幅頻特性) 來分類:奮低通數字濾波器、商通數字濾波器、帶通數字濾波器和帶阻數字濾波器。為了更 好的了解數字濾波器,我們用field programmable gate array(現場可編程門陳列)即fpga 來實現。fpga以k優越的實時性和設計的乂活性,成z控制系統中重要的一部分,并直接 采用vhdl編程簡化設計步驟。可以在quartusn、max+plusii等軟件上作仿真。從而使得 fpga在當今通信、自動控制以及信號處理等方面得到很廣泛的應用。在本文設計中提出了 基于現場討編程門陣列

4、器件(fpga)實現1ir數字低通濾波器。并在quartusii上做仿真。2 iir數字濾波器的基本結構及類型.2.1直接型iir數字濾波器的結構iir數字濾波器傳輸兩數的標準表達式:h(z)=k=nm其對應的差分方程為:y(n) = jaky(n 一)+1 akx、n-k)k=lk=0xb0y圖2-1直接i型x(n)boy(n)圖2-2直接ii型2.2級聯型iir數字濾波器的結構將系統函數h (z)因式分解為較低的二階型的乘積,每個雙二階川一個直接型實現,整個 系統用雙二階的級聯實現,每一個二階型傳遞函數為:z-1x(n)1 +w.,2z-2 1 +1 + 4.2z2b0y(n)ao-o_a

5、u_a24z1z-1,26-bi,20-<)圖2-3級聯型2.3并聯型iir數字濾波器的結構將系統函數h (z)因式分解為雙二階之和,毎個雙二階用一個直接型實現,整個系統函數 作為二階節的并聯網絡實現2。每一個二階型傳遞函數為:k=l,".k久o + hz1+4.iz_1 + 4,2z_2罔2-4并聯型2.4 1ir數字濾波器的類型iir濾波器主要科巴特沃斯濾波器、切比雪夫濾波器和橢圓濾波器幾種。給出了以上三種濾 波器實現同樣性能指標所需的階數和阻帶袞減的比較,如表1所示 表1三種濾波器性能比較原型階數阻帶衰減/db巴特沃斯615切比雪夫i型425橢圓闌數3273 iir數字低

6、通濾波器的設計低通濾波器讓某一頻率以下的信兮分a通過,而對該頻率以上的信兮分雖大大抑制的電容、 電感與電阻等器件的組合裝h。所以低通濾波足一種可以通過低頻信號而且衰減和抑制商頻 信號的方式,所以其頻率響應函數|w)|h(w)|07r>a>o)c山此可以希出低通濾波器的同頻帶位于2;r的整數倍。用fpga實現濾波器的基木思想就是nm蕪于 y(n) = akyn -)+ akxn-k)來實現的人,=1k=03.1川脈沖響應不變法設計iir數字低通濾波器設模擬濾波器的系統閘數為h人s),相應的單位沖激響應是久,ha(s) = ltha(t).zjt代表拉氏變換,對久進行等間隔采樣,采樣間

7、隔為t,得到久(r),將/7(71)=久(zld作為數寧濾波器的單位脈沖響應,那么數寧濾波器的系統蚋數/(z)便是h的z變換。因此脈沖響應不變法是一種時域遙近法,它使/z(a2)在采樣點上等于么(/)。但是,模擬濾波器的設計結果是/,所以下面基于脈沖響應不變法的思路,退出直接從到/(z)的轉換公式。設模擬濾波器h(人s)只有單階極點,且分母多項式的階次高于分子多項式的階次,將ha(5) 川部分分式表示n a式1/=1式1中,為70)的羊階極點。將進行逆拉氏變換,得到nw,)式2/=1式2中,zz(z)足單位階躍函數。對進行等間隔采樣,采樣間隔為t,得到nh(n) = h(1 (nt) =af

8、;7w("z) 3/=1對式3進行z變換,得到數字濾波器的系統函數h(z),即na)-1式4對比式1和式4,h/5)的極點映射到z平面的極點系數 不變。如果原w)的頻譜不是限于±2及/尸之間,則會在奇數tt/t附近產生頻譜混疊,對應數字 頻率在c0 = ±7c附近產生頻譜混s。為了避免這一現象,令/2(n)二77(nr)那么7aesit z式5稱為實用公式,此時=ee<7r3.2用雙線性變換法設計iir數字低通濾波器脈沖不變法的小:要缺點足會產生頻諾混疊現象,使數字濾波器的頻響偏離模擬濾波器的頻響 特向。產生的原因足模擬低通濾波器不足帶限于折疊頻率疋/7在離

9、散化(采樣)后產生 了頻譜混疊,在通過映射關系2 = 使數字濾波器在附近形成頻譜混疊。為了使這 一缺點消除,我們使用非線性頻率壓縮方法,將整個模擬頻率軸ik縮到±兀/7之間,再用 z = est轉換到z平血上。設w/5), 5 = ./q,經過非線性頻率壓縮后用/» , s p表示,這川.用ji:切變換頻率ik縮:式6平,t為采樣間隔。當q從-兀!t經過0變化到;r/r時,q則由-oo經過0變化到+oo, 實現了 s平面上整個虛軸完全壓縮到&平而上虛軸的土;r/t之間的轉換。由式6得_e-溝"2+ e_ 則22 ejt/22 1-e-師71 + e-卻&#

10、39;代入x =s'=jq,,得到:2 1 - p 1ir數字低通濾波器各模塊的沒計 iir數字濾波器括以卜兒個模塊:時序控制模塊、延時模塊、頂層模塊、乘法累加模塊。 時序控制模塊主要產生兩個信號,一個是時延信號加到延時模塊,實現時延功能;w個是 計算處理信號,加到乘法累加模塊,實現先加p乘的功能。延時模塊主要作用是對數據進行 時延,使前一個數據賦給后一個數據,然后將數據輸入到乘法累加模塊。乘法累加模塊主要5 =r 1+f7在通過z = 從&平面轉換z平而上,得到:2 1-z'1 ri + zzl2z=式在時鐘的作用下實現加法和乘法的功能,最后輸出濾波器數據。s式7和式

11、8成為雙線性變換。從x平而到平而的非線性頻率壓縮,使/()帶限于jt-rad is ,因此再川脈沖不變法從&平面轉換到z平面不可能產生頻譜混疊現象。這就足雙線性變換法的優點,w外,從平側轉換到z平側仍然采用轉換關系z =, 5,平側的土;r/r之間水平帶的左半部分映射到z平而單位圓內部,虛軸映射為單位圓,這樣 因果穩定,轉換的也足因果穩定的。雙線性變換法設計的iir數字低通濾波器的缺點是勿和q之間成非線性關系,使得數字濾波器頻響曲線不能保真地模仿模擬濾波器的頻響 曲線形狀。4.1時序控制模塊的設計時序控制模塊主要用來產生對其它模塊的時序控制信號。首先對系統進行初始化處理,當 res信號

12、為”1”時,對整個系統進行清零|nl。當res信號為“0”吋,時序控制模塊在吋鐘 clk上升沿的作用卜產生兩個信號clk_reg及clk_ regbt。其巾,clk_reg信號用 來作為延時模塊、乘法累加模塊的輸入時鐘,clk_regbt每隔6個時鐘產生一個高電平作 為這三個模塊的復位信號。time control:elkelkresclk_reg elk 一regbtsiiwotinstlelkregelk一regbt圖4-2時序控制模塊時序仿真圖karievalue a 16 65 ips 20.0 ns 40.0 ns 60.0 ns 80.0 ns 100.0 ns 120.0 ns

13、140.0 ns16.65 nsdoresdk.reg.gbtaoa1aoaoi6a,°as卜200,° m如卜測.卜hi圖4-3吋序控制模塊功能仿真圖吋序抄:制模塊仿真如圖4-2和閣4-3所不,在elk的上升延到來吋,counter以6個吋鐘力周 期開始進行計數,clk_regbt每隔6個吋鐘輸出一個低電t, clk_reg則每隔6個吋鐘后輸出 一個高電。輸出的兩個吋鐘信號正好控制延吋梭塊、乘法累加模塊的運行,符合沒計要求。程序編寫說明:官先在實體中定義輸入信號res,clk,輸出信號reg,regbt,在結構體中定義信號 參s counter,clk_en,en;然后確

14、定輸岀信號與輸入信號的欠系,編寫算法clk_regbt<=not elk and clk_en and en和clk_reg<=not elk and not clk_en and en產生輸出信兮;最后以counter 為0到5為一個周期循環計算以上輸出信號。程序見附圖。4.2延吋模塊的設計k主要作用是在時鐘作用下將差分方程的各x、y值依次逐位延遲一個時鐘,實現延時運算, 即當輸入為x(n)和y時,經過一次延時后其輸出分別為x(n-l)和y(n-l)。resxn11.oyout11.0elkxo11.ovi n 1 mresx 111 jxn11"0x211.oyout

15、11.0y111.o】y2ii.o參參番參鑲參參參timejjelay)utput)utput)utput)utputxo11.okl11.ok211.oinst3圖4-5延吋模塊吋序仿真圖mastei time bar. 16.65 ns porte:295.26 m intwva 278.61 w startehj:a s <s< 典 t g°°:以1665 re"|ponler93.39 nsirterval:7s.74nsstart:endv:)ps40.卜0卜 120.0 ns 160 0 ns200.卜240 0 ns 280.0 ns 3

16、20 0 ns mo ns tffl 0 nsmaster iim5 bararesdkqyoutqxnqxo0xlqx2e)ylq1tln_nnlnmmru:01x2x3)(4 y s k0:01(2 x 3 x 4 x 5 7:0: :!:!:!:!::01xu 3joj 5 i:h 0 h h : h : h013 x u 5 r00x 1 u)! 3 xo 5 x0:01zxi7 3001 x23 x u s y015o>£sry41zal67圖4-6延吋模塊時序功能仿真圖延時模塊仿真圖如上圖4-5和圖4-6所示,由圖可以看出當輸入的xn>yout都為0,l,2,

17、3,4,5時,在時鐘信號上升沿的作用下產生延時,經第一個時鐘fxo、xl、x2、y()、yl的值分別 為1,0,0,丨,0。經第二個吋鐘后x0、xl、x2、y0、yl的值分別為1,1, 0,1,1。經第三個時鐘后x0、xl、x2、y0、yl的值分別為2,1, 1, 2, 1。經第叫個時鐘后由此可見該模塊仿真值正確。租序編寫說明:苜先在實體中定義輸入信號吻,(:11001,70譏輸出信號0、*1、*2、71、72, 在實體中定義延遲信號reg_x0,reg_xl,reg_x2,reg_yl,reg_y2;然后把依次定義好的延遲信號送 給x0、xl、x2、yl、y2;疑后在時鐘clk上刀沿到來時,

18、用算法rcg_x2<=rcg_x 1; reg_xl<=reg_xo; reg_x0<=xn;reg_y2<=reg_y 1; reg_yl<=yout 實現延吋。程序見附錄。4.3乘法累加模塊的設計乘法累加模塊川來實現輸入數據與系數ai、bi分別相乘后再相加的運算。即實現x, = bqxn +/21xzl_1 + b2xn_2 + axyn_ +a2yn_2的算法。飛法累加模塊輸出的信號送入累加器 后,與寄存于累加器中的中問結果相加。mult add1 clkregbt reg匕豐j卜o11.o ii糊t “|x111.o|i糊t “卜211.o|i糊t “|y

19、in.oi/ 聊丁 !|y211.o i> 嫩t “elk 一regbt elk 一reg resxo11.ok111.ok211.oy111.oy2ii.oyout11.0s'utut> yout11.d圖4-7乘法累加模塊圖i)ps160.0 ns320.0 ns480.0 ns640.0 ns800.0 ns960.0 nsiiiiii6.6j5 its10res1clk-reg抄2dkjegbt逆30 x0逆160 xi:2 :;: i i i i i : i : i i i : i :;逆290 x2::3 : i : i i i i i : : : : : i

20、: i i i : i :;逆420 yi逆550 y2:h h :5 : i n : i i i i i i : h :;©680 yout:0 : -x : i : 3: i : i :;<1e>master time bar:16.65ns466.89 ns interval:|_0.24 ns start:er4圖4-9第一級乘法累加模塊功能仿真圖乘法累加模塊仿真圖如上圖4-8和圖4-9所示,clk_regbt及clk_reg力輸入吋鐘,由吋序校 制模塊提供。xo、xl、x2、yl、y2為輸入信號,yout為輸出信號,圖4-8和圖4-9中yout 的值3為xo、x

21、l、x2、yl、y2的值1、2、3、4、5和系數、卽相乘p再相加的結果, 完成了乘法累加的功能。程序編寫說明:首先在實體中定義輸入信號clk_regbt、clk_reg、res、xo、xl、x2、yl、y2, 輸出信號yout,在結構體巾定義信號參量cnt、tmpa、tmpb、ytmp、p,將matlab中設計 出來的1ir數字濾波器系數a,b寫入濾波器程序屮;然后川cnt<=cnt+l命令使cnt依次增加, 用 tmpa<=b0,bl,b2,a(),al,tmpb<=x(),xl,x2,yl,y2,p<=tmpa * tmpb,ytmp<=ytmp+p 命令實現

22、 乘法累加運算。同理可得到第二級乘法累加仿真圖:& mastalirnebar. 16.65 n$ pointer 224.11 tw interval:207.46 start:end:ns65fi- j說.st為柏=et t 暌剋=r_門iin門hnunni umrmnmnmmrnnnnnrnnjinmmmnnnm£1n i!: !2:3 :4hi!:! 5; 0s:7160.0 ns 320.0 ns 480.0 ns 640.0 ns 800.0 ns 960.0 nsiiiiii圖4-10第二級乘法累加模塊吋序仿真圖mader time bar |16.65 rej

23、 .| pointer 404.07 ns interval:do-i!61012g3逆16 g29 逆42 逆55 ©68resclkjegdkjegbt0x00x10x20 yl0 y2 0 yout> ps160.0 ns320.0 nsiio.卜64°?ns 80°-.°ns腳.pus16.65nsj1n !1 1 1 1 勹!j:1l::2 :r乂、: 3 :r:4:5 :voyh;::2387.42 re start:end:|冬i 4-11第二級乘法累加模塊功能仿真閣4.4頂層模塊的設計頂層模塊設計采川了原理圖輸入方法,原現圖輸入方式

24、非常直觀,便于信號觀察和電路的調 節。圖4-12頂層模塊圖maeftrrebcr20.725ns"porteriwusirtcwal:102 ibslat:end10!tlt>29elkres 0 x s yelk-regclkjet940.0 ns 1.1( ns1.26 us1.42 us1.58 ns1.74 ns1.9 ns2.kus224 y 225226227228229230nmnn_inmnn_njwrn_nannn_rmrw_rrwln_n0<11master t me ber:20.725 n$ j®5.48n$irtervel:964.76

25、 n?slat:endvtmo. 0 ns1.1,1s1.26 us1.42 ust1.58 us1.74 us1.9 nsiini«ae2沙0elk沙1res淨20 x224 x225z3 2267_227x228x225j230圖4-13頂u模塊時序仿真罔tyl5f>28t>29dk-regclkjegbt14:tlk圖4-14頂層模塊功能仿真圖4.5 11r數字低通濾波器的系統仿真結果分析。系統先開始處于初始狀態,當res信號為“1”時,對整個系統進行清零。在res為“0” 的前提,時序控制模塊在時鐘elk上升沿的作用 k產生兩個信號clk_reg及clk_regb

26、t, -k中clk_reg信號用來作為延時模塊、補碼乘加模塊和累加模塊的輸入時鐘,clk_regbt 每隔6個吋鐘產生一個高電平作為這三個模塊的復位信號。延吋模塊在接收到clk.reg高 電t信號吋淸零輸出端,接收到低電t吋,在clk_regbt上升沿的作川不對輸入信號進 行延吋,以實現-次延吋運算,而后將延吋信號輸出,送給乘法累加梭塊。乘法累加模塊在 接收延時信號的同時也接收輸入的系數信號,在clk_regbt上升沿的作用卜實現系數和 延吋信號的乘法累加運算,而此步驟需要6個吋鐘來完成,正好與吋序控制模塊的輸出信號 clk_regbtln致。乘法累加模塊的輸岀一部分送入延時模塊以實現信號的反

27、饋,另一部 分則送入到累加模塊,在累加模塊中進行結果累加p輸出,得到敁終結果。4.6高階iir數字低通濾波器的fpga實現要實現一個高階iir數字低通濾波器,如果采用直接型結構實現,需要的乘法器和延遲單 元相對較多,而且分子和分付的系數相差很大,因此需要較多的二進制位數冰能實現相應 的精度耍求。而采用二階節級聯實現,一方而各基本節的零極點討以很方便地單獨進行調整, 另一方而可以降低對二進制位數的要求,因此選用級聯結構。下而以四階iir數字低通濾 波器為例來說明高階濾波器的實現。5 iir數字低通濾波器的ffga實現5.1原理分析由表1 4見,橢閥濾波器給出的設計階數比前兩種低,且頻率特性較好,

28、過渡帶較窄,所以耗費 的硬件資源少。木系統選用橢圓函數濾波器進行設計。數字濾波器實際上足一個采用冇限精度算法實現的線性非時變離散系統,它的設計步驟為:首 先根據實際需要確定其性能指標,再求得系統函數h(z),最后采用有限精度算法實現。根裾實際需,要設計一低通濾波器,木系統以設計一個4階低通濾波器為例,通頻帶袞減 不得低于3db,阻頻帶衰減最少低于50db,上限阻帶頻率為300hz,采樣頻率為1000hz。 系統蚋數h的計算采用matlab軟件比較方便,在matlab巾調用ellip()鬧數計算,b,a = cllip (4, 3, 50, 300 / 500),可以求得直接型橢岡iir濾波器的

29、各個系數,如圖5-141atlabfile edit yiew web window helpd 運豳 is n o | 1? current directory: c:vv» b, a=ellip(l 3, 50, 300/500)b =0.11160.36740.52010.36740.1116a =1.0000-0.02621.0095-0.25490.3596閣5-1 matlab汁算結果 冇圖5-1可知h (z)為:n人.=()'-az-k又=0_ 0.1116 + 0.3674z-1 + 0.5201z-2 + 0.3674z-3 + 0.1116廣_ 1 一0.

30、0262廠1 +1.0095z2 -0.2549z_3 + 0.3596z4由上試可知,這是一個四階iir系統。利用matlab頻率響俺函數freqz(b,a河得出出該系統 的幅頻特性和相頻特怦如圖5-2所示,可見滿足設計要求。(gp) 3pnl!u6ez-20-40-60-80(ssjbap'rseqd100hq100-200-30000.10.20.3| 0.40.50.60.70.80.91normalized frequency (xn rad/sample)00.10.20.30.4:0.50.60.70.81 0.91normalized frequency (xti ra

31、d/sample)圖5-2系統的幅頻特性和相頻特性這是一個叫階的iir數字低通濾波器,要想實現最好采用二階節級聯實現,本例為四階,需 要二個二階節,所以我把h(z)的直接型結構轉換為級聯型結構。利川matlab把直接型結 構轉化為級聯型結構。結果如下:/(z) = /,(z)x/2(z)0.1116 + 0.2086z_1 +0.1116z-2 1.0 + 1.4039z1 +1.0z2 1-0.5361 廠1 + 0.4138z-21-0.5099z-1 + 0.869z2x(n)-0. 1116y(n)0.5361 4z0.2086 ->-0.4138z0. 111670.5099人

32、1.4039k-0.869 jff 2_1 .1k由上式可以看出,每個二階節的分子、分母系數差異減少了。并且可看出要實現這一性能,需要 四階橢岡濾波器,用二個菽本二階節級聯來實現,其具體級聯形式如圖5-3所示。圖5-3二個二節階級聯的流程閣本例的數字低通濾波器采用二節級聯實現,一方面各基本竹的零點、極點可以很方便地單 獨進行調整,w方刖吋以降低對二進制數位數的要求,所耑的存儲單元較少,迕硬件實現 時甚繭還町以川一個二階節進行時分復川,進一步降低對fpga硬件資源的耍求。將/jz)的二階節系統函數進行逆z變換,得到艽差分方程為:y, (/?) = rzox(h) aax(n 一 1) + a2x

33、(n) + byn-1) 一 什)(/? 2)= 0.1116x(n) + 0.2086x( n -1) + 0.1116x(/?) - 0.536 ly(n -1) - 0.4138 yn - 2)為丫使得設計簡便及資源的充分利用,我們應該對系數進一步fi化,把這些系數轉化為整數,這里,將二階m絡的的系數擴大210倍,然后再將輸出網絡的系數縮小210倍,這樣的話, 會大大減少fpga硬件資源的利用率,經過擴大后的式子如下: y, (n) = 114x(n) + 214x(n -1) + 114x(n) - 549y(n -1) - 424y(n - 2)可以看出,一個基木的二階節的實現需要五

34、次乘法運算和叫次加法運算(采用二進制補碼將 減法運兌變為加法運算)。兩個二階節共需要十次乘法運算。雖然現在己有上千萬門的fpga 產品hr共選川,似是一般應川時全部采川硬件陳列乘法器畢競不太合適,而如果采川串行乘法 器進行分時復用,k工作速度也不太理想。木文采用一個折屮的方法實現,即乘加單元(mac) 的乘法器采用陣列乘法器,而不使用中行乘法器,以提高運算速度。5.2頂s iir模塊elkresxn11r濾波器要正常工作,就必須要有對外接u,其中乜括時鐘,復位,輸入輸出數據等, 本設計的頂層模塊主耍由二個iir二階節子模塊和輸入輸岀寄存器構成,輸入口包括s位輸 入、時鐘、使能和輸入數據信號,輸

35、出為經過iir濾波器p的輸出數裾信號。頂層模塊原 理框圖如圖5-4所示ynclk_regclk_regbt圖5-4頂層模塊原理圖5.3 iir數字濾波器的仿真方法介紹首先新建工程文件,然后新建vhdl程序保存在新建的工程中,接著將要仿真的iir數字 濾波器的vhdl程序設為頂層模塊,進行全編譯,看看冇沒錯誤,直到仿真到沒冇錯誤為 .ik;然新逑波形文件,定義輸入信號波形,設置仿真周期,時鐘周期;最后在settings屮 設置為吋序或功能仿真,加入波形文件,注意的是在功能仿真時要加入功能網表然后在仿真, 否則或出現錯誤。6仿真結果利用quartusii編譯仿真,經過編譯綜合完之后,加入沖激激勵信

36、號,仿真后的結果如圖6-1 所示,從圖分析可得知,經過5個單位的時鐘周期后出現的仿真結果與之前在matlab 軟件中仿真得出的沖激響應圖相符合。圖6-1仿真結果在上述設計中只需要加入a/ d、d/ a轉換器及相應的信號輸入輸出接口電路,就可以完成 一個完整iir數字低通濾波器的設計。7結朿語本文介紹了 iir數字低通濾波器的原理、沒計以及在fpga上實現的方法。在實際使川屮, 可以根裾不同精度要求,方便地對該iir數字低通濾波器參數等進行修改以滿足不同的指稱 要求,靈活地組成任意階不同類型的濾波器。使川乘加塊實現數學運算,可進一步節彷硬件 資源和縮短運行周期。iir數字濾波器好的幅頻特性使其廣

37、泛應用干實吋、高速場合, 設計出穩定町靠的高速ur濾波器冇著顯而易見的意義。木文以fpga為載體、以四階11r 數字低通濾波器的沒計為例提出一種快捷沒計高速iir數字低通濾波器的方法,并在理論上 對所設計的濾波器穩定性進行了分析。首先利用matlab得到濾波器的傳輸函數,然后采用 取整的方法,對傳輸函數系數s化處理,以充分發揮fpga的高速性能,敁f使用vhdl 硬件描述語言編程實現iir數字低通濾波器。仿真表明,該設計法快捷、高效,能在一個吋 鐘周期內完成濾波處理,設計的濾波器能應用于高速場合。根據該方法,經過測試,性能滿 足要求。8參考文獻lu 丁玉美,高西全.數字信號處理(第二版)lmj

38、.四安:西安電子科技大學出版社,2002.21陳亞勇matlab信號處理詳解ml.北京:人民郵電出版社,200131曾繁氣陳美金vhdl程序設汁ml.北泉:清平人學出版社,20044王誠,薛小剛,鐘信潮fpga/cpld設計工具xilinxtse使川詳解m.北京:人民郵電出版社,200515j ws嚴舒楊白基于fpga的iir數字濾波器的設計與仿真。20086j李良鈺。fpga網階1ir數字濾波器實現。2008.71個登峰基于fpga和dsp的數字濾波器設計d1南京理工人學2004.68梁二虎劉文怡張文棟葙于fpga的iir數字濾波器硬件模塊的設計j微計算機信息 2008.0219j朱幼蓮陶為

39、戈iir數字濾波器的fpga實現jj電氣電子教學學報2007.0210羅軍益成彬彬陳澩根令磊明川matlab沒計及fpga實現11r濾波器的方法內江科技j內江科技2006.0611楊曉慧楊貨健難于fpga的eda/sopc技術與vhdlm國防工業出版社2007.07l12j王開軍姜宇柏面向cpld/fpga的vhdl設計lmj機械工、ik出版社2006.10 13j羅朝霞高書莉cpld/fpga沒計及應川m人k郵電出版社2007.07 14王平李冇軍劉建存matlab電了仿真及應用教程m國防工業出版社2007.04l15j童位理基于fpga的11r濾波器的快捷設計ijj電子元器件應用2007.

40、0516趙亞梅杜紅棉張志杰基于matlab 一種iir數字帶通濾波器的設計與仿真j1 微計算機信息2007.0517孫福玉matlab程序設計教程mm呼和浩特遠方出版社.2006.5: 117-129fpga-based hr digital low pass filter design and implementation xxxchifeng college of physics and electronic information engineering, chifeng 024000abstract: this paper describes the fpga-based iir di

41、gital filter design and implementation, first introduced the digital filter, low pass digital filter and iir digital filter classification. then introduced the low-pass iir digital filter design methods, useful for the same impulse response method and bilinear transformation method in two ways. fina

42、lly, to clarify the iir digital low pass filter fpga implementationkeywords: fpga; matlab ; quartusii; iir digital low-pass filter; design; to achieve致謝在即將畢業的最后一段h子里,我非常感謝我的指導老師張立萍對我畢業設計的幫助,沒有 她的幫助,我真不知道我的論文能不能順利的完成。張老師人真的很好,我知道她工作很忙, 但她還是抽出很多時間輔導我的畢業設計。冇時候,我丄作很忙,她就主動幫我找相關的材 料;我程序編完之后,她很仔細的看了乂看,給我提了

43、很多寶貴的意見。她是一個很善良乂 熱心的人。同時我要感謝孫福玉老師對我畢業設計上的幫助;-路走來,父母始終無私的付 出著對我的愛,是我強大的精神支柱,不用言語,我會用行動證明我也愛他們。附錄個模塊的vhdl程序1時序控制模塊程序library ieee;use iccc.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; entity time_control is port( clk,res:in std一logic;clk_rcg,clk_rcgbt:out stdjogic );

44、 end time_control;architecture bhv of time_control issignal counter:integer;signal clk_en:stdogic;signal cn: stdjogic;beginclk_regbt<=not elk and clk_en and en; clk_reg<=not elk and not clk_en and en; process(clk,res)beginif(res=t)thencounter<=0;clk_en<=*0'en<=,0,;elsif(clkevent a

45、nd cik=t)then if( counter<6)then clk_en<=t;en<=t;countcr<=countcr+l;else counter<=0;clk_en<='0;en<=t;end if;end if;end process;end bhv;2延時模塊稈序 library iccc;use ieee.std_logic_1164.all;use ieee.stdjogic_unsigned.all;use ieee.stdjogic_arith.all;entity time_delay isport (clk:in

46、 stdlogic; res:in std_logic;xn:in std_logic_vector(l i downto 0); yout:in std_logic_vector( 11 downto 0); x(),xl,x2:out std_logic_vector( 11 downto 0); yl,y2:out std_logic_vector( 11 downto 0);end time_delay;architecture bhv of time_delay issignal reg_x0,reg_xl,reg_x2:stdjogic_vector(l l downto 0);

47、signal reg_y 1 ,reg_y2:std_logic_vector( 11 downto 0); beginxo<=reg_xo;xl <=reg_x 1;x2<=reg_x2;yl<=reg_yl;y2<=rcg_y2process(res,clk)beginif (res=t) thenreg_xo<=,'()()()()()()(x)()()(x)u;rcg_xl <=-'000000000000u;reg_x2<=h000000000000u;reg_yl<=n000000000000u;reg_y2&l

48、t;=n000000000000n;elsif (elkevent and clk=t) thenrcg_x2<=rcg_x 1;reg_xl<=reg_xo;reg_xo<=xn;reg_y2<=reg_y 1; rcg_yl<=yout; end if;end process;end bhv;3一階乘法累加模塊程序library iccc;use ieee.std_logic_1164.all;use ieee.stdjogic_arith.all;use ieee.std一logic_unsigned.all;use ieee.stdjogic_signed

49、.all;entity mult_addl isport(clk_regbt,clk_reg,res: in std_logic;x0,xl,x2,yl,y2: in std_logic_vector( 11 downto 0); yout: out std_logic_vector( 11 downto 0);end mult_addl;architecture bchav of mult_addl issignal ent: integer range 0 to 5;signal tmpa,tmpb: std_logic_vector( 11 downto 0); signal ytmp,

50、p:std_logic_vector(23 downto 0);constant bo: std_logic_vector( 11 constant bl: std_logic_vector(11 constant b2: std_logic_vector(l 1 constant al: std_logic_vector( 11 constant a2: stdogic_vector( 11 begindownto ():=u()()()0()(x)() 101 ln; downto 0):=,000000010111h; downto 0):="000000001011"

51、; downto 0):=h011100100001h; downto 0):=n110011000101n;tmpa<=b0 when cnt=0 elseblb2ala2when cnt=l when cnt=2 when cnt=3 when cnt=4elseelseelseelse (others=()tmpb<=x0 when cnt=0 elsex 1 when x2 when y 1 when y2 when p<=tmpacnt=l elsecnt=2 elsecnt=3 elsecnt=4 else (others=() * tmpb;process (clk_reg,clk_regbt,res);beginif res-i1 thencnt<=();ytmp&

溫馨提示

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

評論

0/150

提交評論