EDA課程設(shè)計報告線性相位FIR濾波器的VHDL語言設(shè)計_第1頁
EDA課程設(shè)計報告線性相位FIR濾波器的VHDL語言設(shè)計_第2頁
EDA課程設(shè)計報告線性相位FIR濾波器的VHDL語言設(shè)計_第3頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、EDA課程設(shè)計報告-線性相位FIR濾波器(仃階)的VHDL語言設(shè)計濾波器設(shè)計參數(shù):根據(jù)要求,要設(shè)計一個輸入 8位,輸出8位的17階線性 相位FIR濾波器,所以采用圖2(a)的方式,其中輸入信號范圍為:土 99, 0,0, 0, ± 70,0,0,0, ± 99,0,0,0, ± 70,,此濾波器 Fs 為 44kHz,Fc 為 10.4kHz。(一)FIR數(shù)字濾波器理論簡述有限沖激響應(yīng)(FIR)數(shù)字濾波器和無限沖激響應(yīng)(IIR )數(shù)字濾波器廣泛應(yīng) 用于數(shù)字信號處理系統(tǒng)中。IIR數(shù)字濾波器方便簡單,但它相位的非線性,要求 采用全通網(wǎng)絡(luò)進行相位校正,且穩(wěn)定性難以保障。

2、FIR濾波器具有很好的線性相位特性,使得它越來越受到廣泛的重視。有限沖擊響應(yīng)(FIR)濾波器的特點:1既具有嚴(yán)格的線性相位,又具有任意的幅度;2 FIR濾波器的單位抽樣響應(yīng)是有限長的,因而濾波器性能穩(wěn)定;3只要經(jīng)過一定的延時,任何非因果有限長序列都能變成因果的有限長序 列,因而能用因果系統(tǒng)來實現(xiàn);4 FIR 濾波器由于單位沖擊響應(yīng)是有限長的,因而可用快速傅里葉變換 (FFT)算法來實現(xiàn)過濾信號,可大大提高運算效率。5 FIR也有利于對數(shù)字信號的處理,便于編程,用于計算的時延也小,這對 實時的信號處理很重要。6 FIR濾波器比較大的缺點就是階次相對于IIR濾波器來說要大很多。FIR數(shù)字濾波器是一

3、個線性時不變系統(tǒng)(LTI ),N階因果有限沖激響應(yīng)濾波 器可以用傳輸函數(shù)H (z)來描述,NH(z)二' h(k)z°(0.1)k=0在時域中,上述有限沖激響應(yīng)濾波器的輸入輸出關(guān)系如下:Nyn = xn hnxkhnk(0.2)k=0其中,x n和y n分別是輸入和輸出序列。N階有限沖激響應(yīng)濾波器要用 肝1個系數(shù)描述,通常要用N+1個乘法器和N 個兩輸入加法器來實現(xiàn)。乘法器的系數(shù)正好是傳遞函數(shù)的系數(shù),因此這種結(jié)構(gòu)稱 為直接型結(jié)構(gòu),可通過式(1.2 )來實現(xiàn),如圖1。h(0) “當(dāng)沖擊響應(yīng)滿足下列條件時, 器:圖1FIR濾波器具有對稱結(jié)構(gòu),為線性相位濾波(1.3)h(n) =h

4、(N -1 -n)這種對稱性,可使得乘法器數(shù)量減半:對 n價濾波器,當(dāng)n為偶數(shù)時,乘法器的 個數(shù)為n/2個;當(dāng)n為奇數(shù)時,乘法器的個數(shù)為(n+1)/2個。在電路實現(xiàn)中,乘 法器占用的邏輯單元數(shù)較多。乘法器的增加,意味著電路成本增加,另外對電路的工作速度也有影響。N階線性相位的因果FIR系統(tǒng)的單位沖激響應(yīng)濾波器可用對稱沖激響應(yīng)hn =hN -n hn =hN - n(0.3)或者反對稱沖激響應(yīng)hn = -hN -n hn = -h N - n(0.4)來描述。具有對稱沖激響應(yīng)的FIR傳輸函數(shù)的沖激響應(yīng)可寫成如下形式: 當(dāng)N為偶數(shù)時NH(z)八 hnz"n =eN12八 hn(z*n =

5、0(0.5)當(dāng)N為奇數(shù)時NH(z)八 hn茴n=0'h n (z(0.6)n=0則FIR線性相位系統(tǒng)的結(jié)構(gòu)可轉(zhuǎn)化成如圖2(a)和圖2 (b)所示tvZ'1* 2-1%)圖2(b) N為偶數(shù)(二)設(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í)行部分積運算的先后

6、順序不同。簡單地說,分布式算法在完成乘加功能時是通過將各輸入數(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等。利用FPGA實現(xiàn)FIR濾 波器的設(shè)計過程,并且對設(shè)計中的關(guān)鍵技術(shù)一一分布式算法進行詳細(xì)描述。一、FIR濾波器的結(jié)構(gòu)FIR濾波器的結(jié)構(gòu)主要是非遞歸結(jié)構(gòu), 沒有輸出

7、到輸入的反饋。并且FIR濾 波器很容易獲得嚴(yán)格的線性相位特性,避免被處理信號產(chǎn)生相位失真。而線性相 位體現(xiàn)在時域中僅僅是h( n)在時間上的延遲,這個特點在圖像信號處理、數(shù)據(jù)傳 輸?shù)炔ㄐ蝹鬟f系統(tǒng)中是非常重要的。 此外,他不會發(fā)生阻塞現(xiàn)象,能避免強信號 淹沒弱信號,因此特別適合信號強弱相差懸殊的情況。二、FIR數(shù)字濾波器的設(shè)計方案:通常采用窗函數(shù)設(shè)計FIR濾波器方法簡單,但是這些濾波器的設(shè)計還不是最 優(yōu)的。首先通帶和阻帶的波動基本上相等, 另外對于大部分窗函數(shù)來說,通帶內(nèi) 或阻帶內(nèi)的波動不是均勻的,通常離開過渡帶時會減小。若允許波動在整個通帶 內(nèi)均勻分布,就會產(chǎn)生較小的峰值波動。因此考慮通過某種

8、方法,對濾波器的結(jié)構(gòu)進行優(yōu)化對于線性相位因果FIR濾波器,它的系列具有中心對稱特性,即h(i)= ±N-1-i)。令 s(i)=x(i)x(N±1-i),對于偶對稱,代入式(1)可得:>V/2ly(n)=工丫r*=0£=0根據(jù)要求,要設(shè)計一個輸入8位,輸出8位的17階線性相位FIR濾波器, 所以采用圖2(a)的方式,其中輸入信號范圍為:土 99, 0,0,0, ± 70,0,0, 0, ± 99,0,0,0, ± 70,此濾波器 Fs 為 44kHz,Fc 為 10.4kHz。MATLAB 設(shè)計計算濾波器系數(shù)過程如下:FIR濾波

9、器參數(shù)設(shè)置,因為是17階,所以Specify order處填16, h(0)=0.” Responsa Type _® LowpassO HighfpKSO BandpassO EteMstgpO WffErenrtisrtcir .Design Mefriod 一Butterworth HR WSndowFitef Order<*) Specify order: |l 60 Minimum orderVMndow:Beta: Scale PassbandMagniude SpecilicBtiansFrequeficy Specificaiiori&The Nenut

10、iciri 曲 cutofffreoiuencies is lixed art6dB儲 11 the passband gain)FIR濾波器的幅頻響應(yīng)Currenl Filter infarmation iMfegnitude Response (dB)Slructure:Direct-Ferm FIROrder16SlfltllKYbsSoiree:DesignedStore Filter .Fter Manager .jFIR濾波器的相頻響應(yīng) Current Filter Inlormrtion'Stnuciure:Direct-Form FROrdter:16St stole:

11、YesSource:DsEignsdStore Filter .Frt&r Manager .1FreqyencY (kHz)0248 e 101214161820Frequency (kHz)000000-2-4=6 M*J6 電羔叟CL-SOOFIR濾波器的沖激響應(yīng)IOurrent Fit er kifometiori'Impulse ResponseTime (mseconds)Stare Filter.nFilter Manager .)Sinjcture:Dieci-Form AROrder:1BStable:VesSourceDesignedFIR濾波器系數(shù)-0b0

12、23832713892230S -00 0?£Z0533&4713430 0565459SS173748361 -0 0Z63 36210116276 707 -0 B101"? 44 51S5Z 90 33 4 60 0?7071 &30E747E£ 1 U 31£41994997411£30 47Z1Z7Z7Z7Z7Z727Z0 0Z70371G30£747Z51 -0.10174451S5Z9Q3346 -0 0 0S654595S1737483610 0?£Z 05 33&2 6 4713 3

13、4 3 -0 03Sei477ei£3S255SZ -0 ID S3 £7136 S9 30 5對FIR濾波器的系數(shù)進行調(diào)整,整數(shù)化>HumNum -Cclumixs I through T-0.0469-0.07030.05030. 1133-0.0503-0.2031C cl limns 9through140 63230.0453053280.0547-0.£031-0.0506CoIwmi 15thr>ugh170 0503-0.OT03-004G9» NW 0日)MIS -Cdumnz 1through13-12 -161329-1

14、3-5214162242162CdwMis 14thr >ughn曲13-18'120. 054T0. 113314-52-13可得 FIR 濾波器的參數(shù)為-12-18 13 29 -13 -5214162 242 14-52 -13 2913 -18 -12根據(jù)以上所說的該思路,可以將 FIR濾波器的原理圖設(shè)計如下:濾波器原理圖D匚Q I#Q LI8Y7Q下面對各加法器乘法器的輸出位數(shù)進行分析,對第一級加法器,輸入全為 8 位,輸出統(tǒng)一為9位。對各個乘法器進行分析,12=8+4, 8為2的3次方,向左 移了 3位,輸出為12位;18=16+2, 16為2的4次方,向左移了 4位

15、,輸出為 13位;以此類推,13乘法器輸出為12位,29輸出為13位,52輸出為14位,162 輸出為 16 位,242 輸出為 16 位。對剩余加法器進行分析,對輸入序列進行 分析,土 99, 0, 0,0,± 70, 0,0,0,± 99, 0,0, 0,± 70,周期為 8 , 經(jīng) 分析當(dāng) 總值最 大 時, 總 輸 出 應(yīng) 為99*18+70*29+50*70+99*162=1782+2030+3640+16038=23490, 2 的 15 次方為 32768,再加上一位符號位,所以輸出應(yīng)為 16 位,由此類推, 12、 18 乘法器輸 出之和為 13 位

16、, 13、19 乘法器輸出之和應(yīng)為 13 位,總輸出為 14 位。另一支路 上, 13、52乘法器輸出之和為 14位, 14、162 乘法器輸出之和為 16位,其總輸 出之和為 16 位,最后這兩路輸出之和為 16 位。將后 8 位舍去,加上由乘法器 242 輸出舍取得倒的 8位,總輸出為 8位。至此,所有器件的輸入輸出都可判定。 下面進入模塊設(shè)計階段。(三) 模塊電路設(shè)計設(shè)計的 FIR 濾波器由 19 個小 VHD 文件和一個總體 BDF 文件組成, VHD 文 件可以分為以下四種模塊:寄存器、加法器、減法器、乘法器。3 1 寄存器3.1.1 寄存器原理寄存器用于寄存一組二值代碼,對寄存器的

17、觸發(fā)器只要求它們具有置1、置0 的功能即可,因而本設(shè)計中用 D 觸發(fā)器組成寄存器,實現(xiàn)寄存功能。3.1.2 寄存器要求實現(xiàn)的功能在 CP 正跳沿前接受輸入信號, 正跳沿時觸發(fā)翻轉(zhuǎn), 正跳沿后輸入即被封鎖。寄存器的 VHDL 語言實現(xiàn)( 8 位)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff8 ISPORT( clk :IN STD_LOGIC;clear : IN STD_LOGIC;Din :IN STD_LOGIC_VECTOR(7 DOWNTO 0);Dout :OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

18、END dff8;ARCHITECTURE a OF dff8 ISBEGINPROCESS(clk,clear)BEGINIF clear='1' THENDout<="00000000"ELSIF clear='0' THENIF(clk'EVENT AND clk='1') THENDout <= Din;END IF;END IF;END PROCESS;END a;其中,clear為復(fù)位信號寄存器的模塊圖瞽具冷費打和打打"和皿費事打直冷龔打靜瞽具冷費打和打打"和皿費事打直冷龔打

19、靜3. 2加法器加法器的原理在將兩個多位二進制數(shù)相加時,除了最低位以外,每一位都應(yīng)該考慮來自低 位的進位,即將兩個對應(yīng)位的加數(shù)和來自低位的進位 3個數(shù)相加。這種運算稱為 全加,所用的電路稱為全加器。多位加法器的構(gòu)成有兩種方式:并行進位和串行進位。并行進位加法器設(shè)有 進位產(chǎn)生邏輯,預(yù)算速度較快;串行進位方式是將全加器級聯(lián)構(gòu)成多位加法器。 并行進位加法器通常比串行級聯(lián)加法器占用更多的資源。隨著為數(shù)的增加,相同位數(shù)的并行加法器與串行加法器的資源占用差距也越來越大,因此,在工程中使用加法器時,要在速度和容量之間尋找平衡點。本次設(shè)計采用的是并行加法器方式。加法器要求實現(xiàn)的功能實現(xiàn)兩個二進制數(shù)字的相加運算

20、。當(dāng)?shù)竭_時鐘上升沿時,將兩數(shù)輸入,運算, 輸出結(jié)果。加法器的VHDL語言實現(xiàn)(以下以12位數(shù)加16位數(shù)生成16位數(shù)的加法器為例)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_arith.ALL;ENTITY add121616 isPORT(clk : in STD_LOGIC;Din1 :in signed (11 downto 0);Din2 :in signed (15 downto 0);Dout:out signed (15 downto 0);END add121616;ARCHITECTURE a of a

21、dd121616 isSIGNAL s1: signed(15 downto 0);BEGINs1<=(Di n1(11)&Din 1(11)&Di n1(11)&Din 1(11)&Di n1);PROCESS(Di n1,Di n2,clk)BEGINif clk'event and clk='1' thenDout<=s1+Di n2;end if;end process;end a;324加法器的模塊圖-7 姦纟 FaddiiieiC-纟卑一elkin215.D 鄉(xiāng)E s .$ ; instDout15. 0)加法器的

22、波形仿真完全符合設(shè)計要求。3. 3減法器 減法器的原理減法器的原理與加法器類似,尤其是并行式的減法器也加法器的區(qū)別僅僅在于最 后的和數(shù)為兩數(shù)相減。如:Dout<=Di n2-s1;減法器要求實現(xiàn)的功能由上面簡化電路的需要,當(dāng)乘法器常系數(shù)為負(fù)數(shù)的,可以取該數(shù)的模來作為 乘法器的輸入,其輸出作為一個減法器的輸入即可。故減法器要實現(xiàn)兩個二進制 數(shù)相減的運算。當(dāng)?shù)竭_時鐘上升沿時,將兩數(shù)輸入,運算,輸出結(jié)果。減法器的VHDL語言實現(xiàn)(以下以16位數(shù)減去14位數(shù)輸出16位數(shù)的減法器為例)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOG

23、IC_arith.ALL;ENTITY sub141616 isPORT(clk : in STD_LOGIC;Din1 :in signed (13 downto 0);Din2 :in signed (15 downto 0);Dout :out signed(15 downto 0);END sub141616;ARCHITECTURE a of sub141616 isSIGNAL s1: signed(15 downto 0);BEGINs1<=(Di n1(13 )&Di n1(13 )&Di n1);PROCESS(Di n1,Di n2,clk)BEGIN

24、if clk'event and clk='1' thenDout<=Di n2-s1;end if;end process;end a;減法器的模塊圖減法器的波形仿真10 9-如Q nE3O-911540 950- 9 ns60+1 BiniS 25田 Bin2S -53elkS 12田 DoutS 23NameValu.15, B完全符合設(shè)計要求【T2 X 幺Xj( 0 n X -5X s)t iiiii oi i r1III(_2_匸23 漱-TBX 83曠15.&25 nsJ乘法器的原理從資源和速度考慮,常系數(shù)乘法運算可用移位相加來實現(xiàn)。將常系數(shù)分

25、解成 幾個2的幕的和形式。下例為乘18電路設(shè)計,算法:18=16+2乘法器要求實現(xiàn)的功能實現(xiàn)輸入帶符號數(shù)據(jù)與固定數(shù)據(jù)兩個二進制數(shù)的乘法運算。當(dāng)?shù)竭_時鐘上升 沿時,將兩數(shù)輸入,運算,輸出結(jié)果。乘法器的VHDL語言實現(xiàn)LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY mult18 isPORT(clk :IN STD_LOGIC;Din :IN SIGNED (8 DOWNTO 0);Dout :OUT SIGNED (12 DOWNTO 0);END mult18;ARCHITECTURE a

26、 OF mult18 ISSIGNAL s1 : SIGNED (12 DOWNTO 0);SIGNAL s2 : SIGNED (9 DOWNTO 0);SIGNAL s3 : SIGNED (12 DOWNTO 0);BEGINP1:process(Di n)BEGINs1(12 DOWNTO 4)<=D in;s1( 3 DOWNTO 0)<="0000"s2(9 DOWNTO 1)<=Di n;s2(0)v='0'if Din(8)=0 thens3<=('0'&s1(12 dow nto 1)+(&q

27、uot;0000"&s2(9 DOWNTO 1);elses3<=('1'&s1(12 dow nto 1)+("1111"&s2(9 DOWNTO 1);end if;end process;P2: PROCESS(clk) BEGINif clk'event and clk='1' thenDout<=s3; end if;END PROCESS;END a;乘法器的模塊圖纟 rmuitia ' ' " ' 纟Dout12 JD4 ! msti zy

28、s乘法器的波形仿真¥皿.15.0 .3 DinX-1:4Jt20J1XVC來 T12JL15XX030. Q mS 36嗎D 9IQ ¥ 皿ZD.I nx15.05 nsJ完全符合設(shè)計要求。(四)FIR濾波器整體電路FIR濾波器的整體電路基本與其原理圖類似。整體電路如下圖所示:(限于篇幅,將整體電路縮小如上,詳見電子版源程序框圖firl.bdf。)(五)FIR濾波器整體電路仿真結(jié)果1、設(shè)定輸入信號根據(jù)設(shè)計要求,輸入信號范圍是:± 99, 0, 0, 0,± 70, 0, 0, 0,± 99, 0, 0, 0, ± 70,我們?nèi)我庠O(shè)定輸

29、入信號為:X = 99, 0, 0, 0, 70, 0, 0, 0, 99, 0, 0, 0, 70, 0, 0, 0, 99, 0, 0, 0,70, 0, 0, 0, 99, 0, 0, 0, 70, 0, 0, 02、輸出信號理論值由FIR數(shù)字濾波器的公式/v-iy(n)=工 h(i)x(n-i)= £I乩郵1l£渤 14 hiiFiLKfVlJIE 3Hol040.0 u. SG.Q 代MlrTrLrLnTTjmrLnrL廠rLTLn_nmriII-aster Tut Bit:16.61 asPointer:630.83 diInternl613.9& di

30、Stirt:Vtln|WC>0W.pm劇.卩 u蝴»T2D.D uT16. a.0 Dlds wh 10 x00no0畑 Y0YtoYL汁戈£ YmY n t«K 0 :IP5 QI5 1hLn_n_n_n_n_n_n_n_n_rLn_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_r0 OnlL5 D母Dlddturdk(六)結(jié)論輸出結(jié)果yn理論值仿真結(jié)果MATLAB 卷積值 /5i2經(jīng)仿真器仿真-2.3203-3-3.4805-42.51372 5.60745-4.1543-5-12.516-134.4844435.2893542.6954120.734207.1348717.7011726.4182615.24158.9121824.69924y038.59837yi24.69924y28.91218y315.2415y424.77724y515.2415y68.91218y724.69924y838.59837y924.69924yi08.91218yii15.2415yi224.77724yi315.2415yi48.91218yi524.69924yi638.59837yi724.69924由上面仿真波形可以讀出結(jié)果

溫馨提示

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

評論

0/150

提交評論