數(shù)字FIR濾波器設(shè)計(jì)_第1頁(yè)
數(shù)字FIR濾波器設(shè)計(jì)_第2頁(yè)
數(shù)字FIR濾波器設(shè)計(jì)_第3頁(yè)
數(shù)字FIR濾波器設(shè)計(jì)_第4頁(yè)
數(shù)字FIR濾波器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄1 概述22 課程設(shè)計(jì)要求33 設(shè)計(jì)內(nèi)容43.1課程設(shè)計(jì)題目及要求43.1.1 設(shè)計(jì)題目43.1.2 設(shè)計(jì)要求4 3.2數(shù)字濾波器簡(jiǎn)介及結(jié)構(gòu)43.3設(shè)計(jì)方案的確定63.3.1濾波器的設(shè)計(jì)方法63.3.2 濾波器設(shè)計(jì)實(shí)現(xiàn)方法63.3.3 方案確定63.4設(shè)計(jì)方案的實(shí)現(xiàn)73.4.1利用fdatool工具設(shè)計(jì)fir數(shù)字濾波器73.4.2 fir數(shù)字濾波器的fpga實(shí)現(xiàn)103.5 仿真測(cè)試與分析244 參考文獻(xiàn)301 概述我們學(xué)生通過(guò)這次的課設(shè)深入理解和消化了基本理論、進(jìn)一步提高綜合應(yīng)用能力并且鍛煉獨(dú)立解決問(wèn)題的能力,我們將數(shù)字信號(hào)處理、集成電路原理與應(yīng)用和fpga系統(tǒng)設(shè)計(jì)與應(yīng)用幾門課程融合在一

2、起綜合應(yīng)用設(shè)計(jì)一個(gè)實(shí)用的數(shù)字fir濾波器。本報(bào)告中首先講解了這次設(shè)計(jì)的具體內(nèi)容,以及所要求的數(shù)字fir濾波器的技術(shù)指標(biāo)。然后,數(shù)字濾波器的一些設(shè)計(jì)方法,并具體確定我這次設(shè)計(jì)所用的設(shè)計(jì)方案。濾波器在matlab中的設(shè)計(jì)方法應(yīng)用。通過(guò)matlab得到所需濾波器的具體參數(shù)h(n),然后用這些所設(shè)計(jì)的參數(shù),通過(guò)quartus ii工具編程具體實(shí)現(xiàn)濾波器功能。這次濾波器實(shí)現(xiàn)過(guò)程中,用到以下小模塊:延時(shí)器,加法器,乘法器,減法器。2 課程設(shè)計(jì)要求及注意事項(xiàng)1 設(shè)計(jì)過(guò)程以小組為單位,各組設(shè)一個(gè)組長(zhǎng),負(fù)責(zé)組織和協(xié)調(diào)本小組的討論、任務(wù)分工等;2 設(shè)計(jì)過(guò)程必須在本組內(nèi)獨(dú)立完成,不得跨組參考或抄襲,避免方案出現(xiàn)雷同

3、;3 設(shè)計(jì)書一律采用專用報(bào)告紙,用統(tǒng)一封面裝訂;4 課程設(shè)計(jì)原則上在3周內(nèi)做完;5 最后一周周五進(jìn)行優(yōu)秀設(shè)計(jì)方案評(píng)選,在各組推選代表進(jìn)行方案介紹的基礎(chǔ)上,推選出2-3個(gè)優(yōu)秀設(shè)計(jì)方案。6 學(xué)有余力的學(xué)生在完成必做設(shè)計(jì)內(nèi)容的基礎(chǔ)上,可對(duì)內(nèi)容進(jìn)一步展開設(shè)計(jì),以提高綜合應(yīng)用能力,鍛煉獨(dú)立解決問(wèn)題的能力。3 課程設(shè)計(jì)內(nèi)容3.1 課程設(shè)計(jì)題目及要求3.1.1 設(shè)計(jì)題目:基于fpga的fir濾波器設(shè)計(jì)3.1.2 設(shè)計(jì)要求利用所學(xué)知識(shí),采用matlab和fpga相結(jié)合完成fir濾波器的設(shè)計(jì)仿真。采用直接法或分布式算法實(shí)現(xiàn)fir數(shù)字濾波器,了解兩種算法的優(yōu)缺點(diǎn),選擇其中一種算法,得出用它來(lái)實(shí)現(xiàn)fir濾波器的硬件

4、結(jié)構(gòu),對(duì)其實(shí)現(xiàn)方式進(jìn)行研究,分別采用合適的方法來(lái)設(shè)計(jì),最后利用fpga器件實(shí)現(xiàn)fir數(shù)字濾波器的硬件電路,并用matlab對(duì)實(shí)現(xiàn)的結(jié)果進(jìn)行仿真分析。設(shè)計(jì)指標(biāo):1)類型:fir低通2)系統(tǒng)采樣頻率:fs=10khz;3)輸入序列位寬為8位的有符號(hào)數(shù)(最高位為符號(hào)位);4)輸出結(jié)果保留8位5)窗口類型為kaiser窗,=0.5;6)濾波器長(zhǎng)度為n=16;3.2數(shù)字濾波器簡(jiǎn)介及結(jié)構(gòu) 3.2.1 簡(jiǎn)介濾波器是用來(lái)進(jìn)行頻率選擇或頻率分辨操作的線性時(shí)不變系統(tǒng)的通稱。數(shù)字濾波器通常都是應(yīng)用于修正或改變時(shí)域或頻域中信號(hào)的屬性。最為普通的數(shù)字濾波器就是線性時(shí)間不變量(1inear timeinvariant,l

5、ti)濾波器。一個(gè)簡(jiǎn)單的數(shù)字濾波系統(tǒng)如圖1-1所示。圖中,x(t)為模擬信號(hào),經(jīng)過(guò)a/d轉(zhuǎn)換器后變?yōu)橐粋€(gè)有著先后順序的數(shù)字序列x(n)。然后x(n)通過(guò)數(shù)字濾波系統(tǒng)h(z),即得到數(shù)字濾波器的輸出y(n)。h(z)為該數(shù)字濾波系統(tǒng)的單位脈沖響應(yīng)h(n)的z變換 (3-1)若h(n)為無(wú)限長(zhǎng)序列,則得到的數(shù)字濾波器為iir數(shù)字濾波器,又稱遞歸濾波器;反之,若h(n)為有限長(zhǎng)序列,則得到的數(shù)字濾波器為fir濾波器,也稱非遞歸濾波器。一個(gè)線形時(shí)不變因果濾波器可表示為: (3-2)其中n為h(n)的長(zhǎng)度,即濾波器的長(zhǎng)度。濾波器的階數(shù)為n-1。iir濾波器主要是基于對(duì)模擬濾波器如巴特沃斯濾波器、橢圓濾波

6、器等的幅頻響應(yīng)進(jìn)行逼近,而其相頻響應(yīng)是非線性的。與iir濾波器不同,fir濾波器可以把相位特性設(shè)計(jì)成線性。這使得fir數(shù)字濾波器在信號(hào)無(wú)失真?zhèn)鬏?、?shù)據(jù)通信、圖像傳輸與處理、語(yǔ)音信號(hào)處理等有線性相位要求的領(lǐng)域應(yīng)用廣泛。fir濾波器的優(yōu)點(diǎn)是軟硬件實(shí)現(xiàn)結(jié)構(gòu)簡(jiǎn)單,不用考慮系統(tǒng)的穩(wěn)定性問(wèn)題;缺點(diǎn)是實(shí)現(xiàn)較高性能的頻率響應(yīng)需要較高的濾波器階數(shù)。3.2.2結(jié)構(gòu)fir濾波器的單位抽樣響應(yīng)為有限長(zhǎng)度,一般采用非遞歸形式實(shí)現(xiàn)。通常的fir數(shù)字濾波器有橫截性和級(jí)聯(lián)型兩種。fir濾波器實(shí)現(xiàn)的基本結(jié)構(gòu)有:(1)fir濾波器的橫截型結(jié)構(gòu)表示系統(tǒng)輸入輸出關(guān)系的差分方程可寫作: (3-3) 直接由差分方程得出的實(shí)現(xiàn)結(jié)構(gòu)如圖2-

7、2所示:圖3-1 橫截型(直接型卷積型)若h(n)呈現(xiàn)對(duì)稱特性,即此fir濾波器具有線性相位,則可以簡(jiǎn)化加橫截型結(jié)構(gòu),下面分情況討論:圖3-2 圖3-3圖3-2 n為奇數(shù)時(shí)線性相位結(jié)構(gòu)圖 圖3-3 n為偶數(shù)時(shí)線性相位結(jié)構(gòu)圖(2)fir濾波器的級(jí)聯(lián)型結(jié)構(gòu)將h(z)分解成實(shí)系數(shù)二階因子的乘積形式: (3-4) 這時(shí)fir濾波器可用二階節(jié)的級(jí)聯(lián)結(jié)構(gòu)來(lái)實(shí)現(xiàn),每個(gè)二階節(jié)用橫截型結(jié)構(gòu)實(shí)現(xiàn)。如圖所示:圖3-4 fir濾波器的級(jí)聯(lián)結(jié)構(gòu)這種結(jié)構(gòu)的每一節(jié)控制一對(duì)零點(diǎn),因而在需要控制傳輸零點(diǎn)時(shí)可以采用這種結(jié)構(gòu)。3.3設(shè)計(jì)方案的確定3.3.1 濾波器設(shè)計(jì)實(shí)現(xiàn)方法一般有線性相位fir直接型結(jié)構(gòu)和分布式算法的設(shè)計(jì)。3.3

8、.2方案確定經(jīng)過(guò)多種方案的比較,本次設(shè)計(jì)最終的方案是:窗函數(shù)法的分布式結(jié)構(gòu)fir數(shù)字濾波器。利用matlab提供的fdatool濾波器設(shè)計(jì)工具,采用窗函數(shù)法和分布式結(jié)構(gòu),編寫vhdl語(yǔ)言,從而實(shí)現(xiàn)fir數(shù)字濾波器的設(shè)計(jì)。3.4 方案實(shí)現(xiàn)3.4.1 利用fdatool工具設(shè)計(jì)fir數(shù)字濾波器fdatool(filter design & analysis tool)是matlab信號(hào)處理工具箱里專用的濾波器設(shè)計(jì)分析工具,matlab6.0以上的版本還專門增加了濾波器設(shè)計(jì)工具箱(filter design toolbox)。fdatool可以設(shè)計(jì)幾乎所有的基本的常規(guī)濾波器,包括fir和iir的各種

9、設(shè)計(jì)方法。它操作簡(jiǎn)單,方便靈活。fdatool界面總共分兩大部分,一部分是design filter,在界面的下半部,用來(lái)設(shè)置濾波器的設(shè)計(jì)參數(shù),另一部分則是特性區(qū),在界面的上半部分,用來(lái)顯示濾波器的各種特性。design filter部分主要分為:filter type(濾波器類型)選項(xiàng),包括lowpass(低通)、highpass(高通)、bandpass(帶通)、bandstop(帶阻)和特殊的fir濾波器。design method(設(shè)計(jì)方法)選項(xiàng),包括iir濾波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、 chebyshev type

10、ii(切比雪夫ii型) 法、elliptic(橢圓濾波器)法和fir濾波器的equiripple法、least-squares(最小乘方)法、window(窗函數(shù))法。filter order(濾波器階數(shù))選項(xiàng),定義濾波器的階數(shù),包括specify order(指定階數(shù))和minimum order(最小階數(shù))。在specify order中填入所要設(shè)計(jì)的濾波器的階數(shù)(n階濾波器,specify ordern-1),如果選擇minimum order則matlab根據(jù)所選擇的濾波器類型自動(dòng)使用最小階數(shù)。frenquency specifications選項(xiàng),可以詳細(xì)定義頻帶的各參數(shù),包括采樣頻

11、率fs和頻帶的截止頻率。它的具體選項(xiàng)由filter type選項(xiàng)和design method選項(xiàng)決定,例如bandpass(帶通)濾波器需要定義fstop1(下阻帶截止頻率)、fpass1(通帶下限截止頻率)、fpass2(通帶上限截止頻率)、fstop2(上阻帶截止頻率),而lowpass(低通)濾波器只需要定義fstop1、fpass1。采用窗函數(shù)設(shè)計(jì)濾波器時(shí),由于過(guò)渡帶是由窗函數(shù)的類型和階數(shù)所決定的,所以只需要定義通帶截止頻率,而不必定義阻帶參數(shù)。magnitude specifications選項(xiàng),可以定義幅值衰減的情況。例如設(shè)計(jì)帶通濾波器時(shí),可以定義wstop1(頻率fstop1處的

12、幅值衰減)、wpass(通帶范圍內(nèi)的幅值衰減)、wstop2(頻率fstop2處的幅值衰減)。當(dāng)采用窗函數(shù)設(shè)計(jì)時(shí),通帶截止頻率處的幅值衰減固定為6db,所以不必定義。本次設(shè)計(jì)濾波器的系數(shù)就是采用fdatool工具設(shè)計(jì)的濾波器。在matlab命令窗口中,執(zhí)行“fdatool”命令,就會(huì)啟動(dòng)fdatool濾波器設(shè)計(jì)與分析工具,其圖形界面如圖3-8所示。 圖3-5 fdatool界面選擇窗函數(shù)法設(shè)計(jì)濾波器:直接使用fdatool工具進(jìn)行濾波器設(shè)計(jì)。例如首先濾波器response type選擇低通,選中fir類型,首先根據(jù)濾波器技術(shù)指標(biāo),選擇窗函數(shù)的類型、長(zhǎng)度、采樣頻率和截止頻率。點(diǎn)擊design f

13、ilter按鍵,即可得到設(shè)計(jì)的fir濾波器的頻率響應(yīng)和濾波器的系數(shù)。保存并關(guān)閉濾波器設(shè)計(jì)分析工具回到matlab主窗口,在命令編輯區(qū)輸入num可得到工具的計(jì)算結(jié)果。對(duì)fir濾波器的系數(shù)進(jìn)行調(diào)整,做整數(shù)化操作,可得到濾波器整數(shù)化的系數(shù)。fir濾波器設(shè)計(jì)系數(shù)的確定窗函數(shù)法低通濾波器:階數(shù):15 采樣頻率:10k 截止頻率:1k 濾波器類型:窗函數(shù)法fir濾波器幅頻響應(yīng)濾波器相頻響應(yīng)濾波器系數(shù)導(dǎo)出后的系數(shù)num*(26),round(ans)求整3.4.2 fir數(shù)字濾波器的fpga實(shí)現(xiàn)采用分布式算法設(shè)計(jì)fir濾波器1)分布式算法基礎(chǔ) 分布式算法(distributed arithmetic,da)

14、是一項(xiàng)重要的fpga技術(shù),廣泛地應(yīng)用于計(jì)算乘積和: (3-1)這種算法可用于濾波器、卷積、相關(guān)、dft等凡是有乘累加運(yùn)算的地方。 一個(gè)線性時(shí)不變網(wǎng)絡(luò)的輸出可用式(3-1)表示。假設(shè)為常量,為變量。對(duì)于有符號(hào)da系統(tǒng),可表示為: (3-2)將式(3-2)代入式(3-1),得 (3-3)其中x(n)為(b+1)位,稱為位乘積,其中b=0,b+1。函數(shù)的實(shí)現(xiàn)方法是利用一個(gè)lut實(shí)現(xiàn)映射,預(yù)先設(shè)定程序的lut接收一個(gè)n位的輸入向量,輸出為,各個(gè)映射都由相應(yīng)的二次冪加權(quán)累加,最后得到一次濾波的結(jié)果。 由上分析可知,分布式算法是將乘法運(yùn)算轉(zhuǎn)換成基于查找表結(jié)構(gòu)的移位相加算法,從而實(shí)現(xiàn)多個(gè)乘法運(yùn)算操作。在被乘

15、數(shù)位數(shù)較少的情況下,相比直接的乘法器結(jié)構(gòu),這種算法有明顯的速度和算法優(yōu)勢(shì)。這種算法尤其是在乘法器資源很少的fpga器件中有很大的應(yīng)用前景。2) 并行的分布式算法 分布式算法有串行實(shí)現(xiàn)方式和并行實(shí)現(xiàn)方式。并行方式的算法結(jié)構(gòu)如圖3-10所示。圖中rom的輸出和求和結(jié)果的輸出都加上了虛線框,這些虛線框?yàn)榱魉€寄存器。上下級(jí)流水線寄存器之間的數(shù)字電路按照時(shí)鐘頻率工作而不用考慮它們本身的延遲,這使得整個(gè)系統(tǒng)的工作頻率增加,從而加快了運(yùn)算速度。但是這種并行結(jié)構(gòu)增加了額外的lut、寄存器和加法器。當(dāng)輸入數(shù)據(jù)位寬較少時(shí),比如4到8位,這種實(shí)現(xiàn)方式會(huì)有令人滿意的結(jié)果。圖3-6 并行da結(jié)構(gòu)3)本文采用并行分布式

16、算法的實(shí)現(xiàn)方案 圖3-7 并行分布式算法實(shí)現(xiàn)框圖如圖所示,各個(gè)模塊的實(shí)現(xiàn)步驟如下:(1)輸入數(shù)據(jù)預(yù)處理模塊 該模塊用于將a/d轉(zhuǎn)換器輸出的8位有符號(hào)數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制補(bǔ)碼形式,并進(jìn)行鎖存。由于在計(jì)算機(jī)中采用的數(shù)據(jù)形式是二進(jìn)制補(bǔ)碼,為了仿真方便,在仿真時(shí)可以去掉這個(gè)模塊。(2)并行延時(shí)模塊 輸入數(shù)據(jù)輸送到并行延時(shí)模塊,在每個(gè)時(shí)鐘周期,把一組數(shù)據(jù)順序時(shí)延,每經(jīng)過(guò)15個(gè)時(shí)鐘周期,就會(huì)有一個(gè)數(shù)據(jù)移出并行延時(shí)模塊。這些并行時(shí)延模塊是有15組d觸發(fā)器串聯(lián)而成,并且共用一個(gè)時(shí)鐘。(3)預(yù)相加模塊 由于線性相位fir濾波器的系數(shù)具有對(duì)稱性,因此可以通過(guò)將對(duì)稱的x(n)進(jìn)行相加,這樣可以節(jié)?。╪-1)/2個(gè)乘法器

17、,從而降低了硬件的規(guī)模。(4)查找表模塊該模塊用于對(duì)位乘積的尋址。一個(gè)8位的地址,可以產(chǎn)生個(gè)數(shù)據(jù)。為了節(jié)約fpga資源,可以采用lut分割技術(shù),將一個(gè)8位地址的lut分割成兩個(gè)4位地址的lut。這樣可以節(jié)省224個(gè)數(shù)據(jù)空間。因此,采用lut分割技術(shù),可以節(jié)省大量硬件資源,避免了大容量rom的使用。 根據(jù)分布式算法,查找表存儲(chǔ)的是濾波器系數(shù)的各種組合相加的結(jié)果,由于濾波器系數(shù)通常為浮點(diǎn)數(shù),我們需要將其化為定點(diǎn)整數(shù)。(5)加法器模塊 該模塊用于將高4位lut選中的數(shù)據(jù)和低4位lut選中的數(shù)據(jù)進(jìn)行相加,然后送入移位累加器模塊。為了保證結(jié)果正確性,在相加前,需要對(duì)相加的兩個(gè)有符號(hào)數(shù)進(jìn)行符號(hào)位擴(kuò)展。(6

18、)移位累加器模塊 各個(gè)位產(chǎn)生的位乘積在這個(gè)模塊中乘以各自的權(quán)重,也即左移相應(yīng)的位數(shù),然后相加得到最終結(jié)果。(7)輸出處理模塊由于移位累加器輸出的是24位二進(jìn)制數(shù),為了得到16位字長(zhǎng)的數(shù)據(jù),需要對(duì)輸出數(shù)據(jù)進(jìn)行截去低8位,同時(shí)進(jìn)行鎖存輸出。如果有必要,還需將輸出的二進(jìn)制補(bǔ)碼轉(zhuǎn)換為二進(jìn)制原碼。分布式結(jié)構(gòu)的fpga實(shí)現(xiàn)。頂層原理圖如下:1 寄存器(延時(shí)器) 原理圖上標(biāo)有yanshi的器件。輸入8位數(shù)據(jù),通過(guò)yanshi的d觸發(fā)寄存器,達(dá)到延時(shí)的作用。2 預(yù)相加 數(shù)據(jù)通過(guò)add889,就是8位數(shù)字輸入,9位數(shù)字輸出加法器,完成第一級(jí)相加運(yùn)算,因?yàn)楸驹O(shè)計(jì)是16階fir數(shù)字濾波器,它的濾波系數(shù)有對(duì)稱的關(guān)系,

19、所以采用上面的第一級(jí)加法器,達(dá)到簡(jiǎn)化運(yùn)算的效果。3 查找表 該步驟分為地址生成表和系數(shù)查找表,地址生成表是用來(lái)為查找系數(shù)做準(zhǔn)備,以便盡快找到系數(shù)。4 移位根據(jù)fir濾波器的結(jié)構(gòu)式分布圖,要實(shí)現(xiàn)系數(shù)乘以20到28,在vhdl中想乘就是向左移位。5 累加第四步驟得到移位后的結(jié)果,兩兩相加,利用相加器模塊,得到相加結(jié)果。6 輸出處理 結(jié)果輸出要求8位輸出,但是fpga的結(jié)果是24位,因此要對(duì)結(jié)果進(jìn)行處理,以便達(dá)到設(shè)計(jì)要求,因?yàn)橹耙恢笔沁M(jìn)行符號(hào)位擴(kuò)展,只要截取符號(hào)位就能達(dá)到要求,用了一個(gè)d觸發(fā)器和截取8位的原件圖。d觸發(fā)器是用來(lái)暫存24輸出結(jié)果的,以防造成延時(shí),達(dá)到輸出結(jié)果錯(cuò)亂。二,詳細(xì)說(shuō)明 1 寄

20、存器(延時(shí)器)設(shè)計(jì)中用一系列d觸發(fā)器組成延時(shí)器,實(shí)現(xiàn)延時(shí)功能。實(shí)現(xiàn)功能:在clk正跳沿前接受輸入信號(hào),正跳沿時(shí)觸發(fā)翻轉(zhuǎn),正跳沿后輸入即被封鎖。源文件:library ieee;use ieee.std_logic_1164.all;entity yanshi is port( clk : in std_logic; d : in std_logic_vector(7 downto 0); q : out std_logic_vector(7 downto 0) ); end yanshi; architecture hav of yanshi is begin process(clk) beg

21、in if(clkevent and clk=1) then q = d; end if; end process; end hav;2 預(yù)相加實(shí)現(xiàn)兩個(gè)二進(jìn)制數(shù)字的相加運(yùn)算。當(dāng)?shù)竭_(dá)時(shí)鐘上升沿時(shí),將兩數(shù)輸入,運(yùn)算,輸出結(jié)果。源文件:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity add889 isport(clk : in std_logic; din1,din2 :in signed (7 downto 0); dout:out signed(8 downto 0);end add889;

22、architecture a of add889 issignal s1: signed(8 downto 0);signal s2: signed(8 downto 0);begin s1=(din1(7)&din1); s2=(din2(7)&din2);process(din1,din2,clk)beginif clkevent and clk= 1 thendout=s1+s2;end if;end process;end a;3 查找表1) 地址生成模塊 生成系數(shù)地址,以便找到系數(shù)源文件:library ieee;use ieee.std_logic_1164.all;entity

23、address is port( clk : in std_logic; din0,din1,din2,din3 : in std_logic_vector(8 downto 0); s0,s1,s2,s3,s4,s5,s6,s7,s8 :out std_logic_vector(3 downto 0) ); end address; architecture a of address is begin process(clk ) begin if(clkevent and clk=1) then s0=(din3(0)&din2(0)&din1(0)&din0(0); s1=(din3(1)

24、&din2(1)&din1(1)&din0(1); s2=(din3(2)&din2(2)&din1(2)&din0(2); s3=(din3(3)&din2(3)&din1(3)&din0(3); s4=(din3(4)&din2(4)&din1(4)&din0(4); s5=(din3(5)&din2(5)&din1(5)&din0(5); s6=(din3(6)&din2(6)&din1(6)&din0(6); s7=(din3(7)&din2(7)&din1(7)&din0(7); s8=(din3(8)&din2(8)&din1(8)&din0(8); end if; end pro

25、cess;end a;2) 系數(shù)查找模塊 mif文件的生成lpm_rom(0) lpm_rom(1)4 移位 以shift4為例源碼如下:library ieee;use ieee.std_logic_1164.all;entity shift4 is port( clk : in std_logic; hn : in std_logic_vector(7 downto 0); dout : out std_logic_vector(15 downto 0) ); end shift4; architecture a of shift4 is signal aa: std_logic_vect

26、or(11 downto 0); begin process(clk ) begin if(clkevent and clk=1) then aa=hn&0000;end if;dout=aa(11)&aa(11)&aa(11)&aa(11)&aa(11 downto 0);end process;end a;5累加15位相加模塊源library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity add16 isport(clk : in std_logic; din1,din2 :in signed (1

27、5 downto 0); dout:out signed(16 downto 0);end add16;architecture a of add16 issignal s1: signed(16 downto 0);signal s2: signed(16 downto 0);begin s1=(din1(15)&din1); s2=(din2(15)&din2);process(din1,din2,clk)beginif (clkevent and clk=1) thendout=s1+s2;end if;end process;end a;16位相加模塊源程序library ieee;u

28、se ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity add17 isport(clk : in std_logic; din1,din2 :in signed (16 downto 0); dout:out signed(17 downto 0);end add17;architecture a of add17 issignal s1: signed(17 downto 0);signal s2: signed(17 downto 0);begin s1=(din1(16)&din1); s2=(din2(16)&di

29、n2);process(din1,din2,clk)beginif (clkevent and clk=1) thendout=s1+s2;end if;end process;end a;17位相加模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity add18 isport(clk : in std_logic; din1,din2 :in signed (17 downto 0); dout:out signed(18 downto 0);end add18;architectu

30、re a of add18 issignal s1: signed(18 downto 0);signal s2: signed(18 downto 0);begin s1=(din1(17)&din1); s2=(din2(17)&din2);process(din1,din2,clk)beginif (clkevent and clk=1) thendout=s1+s2;end if;end process;end a;18位相加模塊源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity

31、 add19 isport(clk : in std_logic; din1,din2 :in signed (18 downto 0); dout:out signed(19 downto 0);end add19;architecture a of add19 issignal s1: signed(19 downto 0);signal s2: signed(19 downto 0);begin s1=(din1(18)&din1); s2=(din2(18)&din2);process(din1,din2,clk)beginif (clkevent and clk=1) thendou

32、t=s1-s2;end if;end process;end a;3.4 仿真測(cè)試與分析為了測(cè)試15階等波紋fir低通濾波器的濾波性能,本設(shè)計(jì)加入了輸入 的信號(hào),其中是疊加在上的噪聲。如圖4-4所示,假設(shè)抽樣頻率為1000,則經(jīng)過(guò)抽樣的輸入序列為: ,取n=0,139,由于為浮點(diǎn)數(shù),本設(shè)計(jì)將擴(kuò)大24倍,得到,然后再取整。具體如表3-7所示:表3-7 輸入序列的處理n取整n取整n取整n取整016.00161032.00322016.001630001-13.49-1311-0.19021-18.50-1931-31.80-32220.94211231.21312211.0511320.7813-

33、8.73-913-1.74-223-23.26-2333-30.25-30425.40251428.9429246.597343.0535-4.68-415-4.6-525-27.31-2735-27.31-27628.94291625.4025263.053366.577-1.74-217-8.7-927-30.25-3037-23.26-23831.21311820.9421280.7813811.05119-0.19019-13.49-1329-31.80-3239-18.50-19抽樣,放大取整后的40個(gè)輸入數(shù)據(jù)如下:din=16,-13,21 ,-9, 25,-4,29, -2, 31,0,32, 0, 31, -2,29, -5,25, -9, 21,-13,16,-19, 11,-23,7,-27,3,-30, 1, -32,0, -32,1,-30, 3,-27,7,-23,11,-19濾波系數(shù):h=-3,-2,-1,1,5,8,11,13,13,11,8,5,1,-1,-2,-3quartusii仿真結(jié)果如下如仿真圖輸出為:dout=-1,0,-1,0,0,1,0,2,3,4,6,8,10,12,13,16,16,19,15,16,12,13,6,9,3,4,-2

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論