基于FPGA的FIR濾波器的設(shè)計(畢業(yè)設(shè)計)可用_第1頁
基于FPGA的FIR濾波器的設(shè)計(畢業(yè)設(shè)計)可用_第2頁
基于FPGA的FIR濾波器的設(shè)計(畢業(yè)設(shè)計)可用_第3頁
基于FPGA的FIR濾波器的設(shè)計(畢業(yè)設(shè)計)可用_第4頁
基于FPGA的FIR濾波器的設(shè)計(畢業(yè)設(shè)計)可用_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目目 錄錄摘要 .1英文摘要 .11 引言 .21.1 國內(nèi)外研究現(xiàn)狀.21.2 本論文的研究內(nèi)容及主要工作.42 FIR 數(shù)字濾波器設(shè)計.42.1 數(shù)字濾波器基礎(chǔ).42.1.1 數(shù)字濾波器簡介.42.1.2 FIR 數(shù)字濾波器的結(jié)構(gòu) .52.2 FIR 數(shù)字濾波器設(shè)計方法 .62.2.1 窗函數(shù)法.72.2.2 頻率采樣法.82.2.3 等波紋最佳逼近法.92.2.4 三種設(shè)計方法的比較.103 FPGA 設(shè)計優(yōu)點以及分布式算法 .103.1 使用 FPGA 器件進行開發(fā)的優(yōu)點.103.2 分布式算法.123.2.1 分布式算法基礎(chǔ).123.2.2 有符號的 DA 系統(tǒng).134 基于 FPG

2、A 的 FIR 濾波器設(shè)計 .134.1 基于 MATLAB的 FIR 數(shù)字低通濾波器抽頭系數(shù)的提取 .134.1.1 濾波器的設(shè)計指標.134.1.2 濾波器的具體設(shè)計方法.144.1.3 參數(shù)提取與量化.154.2 FIR 濾波器的 FPGA 實現(xiàn) .164.2.1 模塊劃分.164.2.2 FIR 濾波器各模塊的實現(xiàn) .164.2.3 FIR 濾波器的頂層設(shè)計 .264.3 FIR 濾波器的系統(tǒng)仿真驗證 .274.4 系統(tǒng)硬件.324.4.1 系統(tǒng)框圖.324.4.2 部分芯片簡介.324.4.3 AD、DA 電路原理圖 .354.5 測試波形及現(xiàn)場照片.354.6 數(shù)據(jù)誤差分析.36結(jié)

3、 論 .37參考文獻 .37附 件 .38基于基于 FPGAFPGA 的的 FIRFIR 濾波器的設(shè)計濾波器的設(shè)計基于 FPGA 的 FIR 濾波器的設(shè)計第 1 頁 共 45 頁摘要摘要:本文設(shè)計了一個基于FPGA的16階FIR低通濾波器,使用分布式算法作為濾波器的硬件實現(xiàn)算法,并對其進行了詳細的討論。針對分布式算法中LUT規(guī)模過大的缺點,采用多塊查找表的方式減小硬件規(guī)模。在設(shè)計中采用了自頂向下的層次化、模塊化的設(shè)計思想,將整個濾波器劃分為多個模塊,利用VHDL語言的描述方法進行了各個功能模塊的設(shè)計,最終完成了FIR數(shù)字濾波器的系統(tǒng)設(shè)計。文章采用CycloneII系列器件實現(xiàn)一個16階的FIR

4、低通濾波器的設(shè)計實例,用QuartusII軟件進行了仿真,并用Matlab對仿真結(jié)果進行了分析,證明所設(shè)計的FIR濾波器功能正確。仿真結(jié)果表明,本論文所設(shè)計的FIR濾波器硬件模較小,采樣率達到了10MHz。同時只要將查找表進行相應(yīng)的改動,就能分別實現(xiàn)低通、高通、帶通FIR濾波器,體現(xiàn)了設(shè)計的靈活性。關(guān)鍵詞:關(guān)鍵詞:FIR濾波器;FPGA器件;VHDL語言;分布式算法;查找表Design of FIR Filters Based on FPGAAbstract: In this paper, a sixteen tapped low pass FIR filter is designed bas

5、ed on FPGA, a scheme of hardware implementation is worked out using distributed arithmetic algorithm, and is discussed in detail. As the scale of the LUT in the distributed arithmetic algorithm is so large, the thesis reduces it with the using of multiple coefficient memory banks. From the clew of i

6、mplementing a top-down stratified modular design, the thesis describes the hardware designed of all functional modules and the FIR system with the VHDL and schematic diagram designed methods.In this thesis, A sixteen tapped low-pass FIR filter implemented using CycloneII taken as an example, and the

7、 simulation designed carried out using QuartusII. The result of the simulation is analyzed with the use of Matlab, and it proved that the functional of the design if correct.The result of the simulation indicates that the scale of the design is small,and the sample rate of the FIR filter can search

8、10MHz. Modifying the LUT can realize the low-pass, high-pass and band-pass FIR filters and respectively and incarnates the flexibility of the design.Key Words:FIR Filter;FPGA;VHDL;Distribute Darithmatic;LUT1 1 引言引言濾波技術(shù)是信號分析、信號處理技術(shù)中的重要分支。無論是信號的獲取、傳輸,還是信號的處理、轉(zhuǎn)換都離不開濾波技術(shù)。濾波技術(shù)對信號安全可靠和有效靈活的傳遞至關(guān)重要1?;?FPGA

9、 的 FIR 濾波器的設(shè)計第 2 頁 共 45 頁在電子系統(tǒng)中,由于濾波器的好壞直接影響系統(tǒng)的性能,所以濾波技術(shù)己成為備受關(guān)注而熱門的課題,濾波器的研制己受到各國研究者越來越多的重視。我國在上世紀 50 年代后期開始廣泛使用濾波器,主要應(yīng)用在報路和話路濾波。經(jīng)過半個多世紀的發(fā)展,我國濾波器在研制、生產(chǎn)、應(yīng)用等方面己進入國際發(fā)展軌道,但由于缺少專門研制機構(gòu),加之集成工藝和材料工業(yè)發(fā)展步伐的緩慢,使得我國在許多新型濾波器的研制和應(yīng)用方面與國外仍有較大的差距。數(shù)字濾波器是對離散時間信號進行濾波處理以得到期望的響應(yīng)特性的離散時間系統(tǒng)。數(shù)字濾波器一般由寄存器、延時器、加法器和乘法器等基本數(shù)字電路來實現(xiàn)。

10、數(shù)字濾波器能滿足濾波器對幅度和相位特性的嚴格要求,避免模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題。隨著集成電路技術(shù)的發(fā)展,數(shù)字濾波器性能不斷提高而成本卻不斷降低。數(shù)字濾波器在語音信號處理、圖像信號處理、醫(yī)學(xué)生物信號處理以及其他應(yīng)用領(lǐng)域都得到了廣泛應(yīng)用。隨著電子計算機和大規(guī)模集成電路技術(shù)的發(fā)展,數(shù)字濾波器可用計算機軟件實現(xiàn),也可用大規(guī)模集成數(shù)字硬件實時實現(xiàn),數(shù)字濾波器已具備了高精度、高可靠性、可程控改變性或復(fù)用、便于集成等眾多優(yōu)點。按照數(shù)字濾波器(DF)的特性,可分為線性與非線性、因果與非因果、無限長沖激響應(yīng)(IIR)與有限長沖激響應(yīng)(FIR)等類型。在這些濾波器中,線性時不變的數(shù)字濾

11、波器是最基本的類型。由于數(shù)字系統(tǒng)可以對延時器加以利用,因此若在數(shù)字濾波器中引入一定程序的非因果性,就可獲得比傳統(tǒng)的因果濾波器更靈活強大的特性。相對于 IIR 濾波器,F(xiàn)IR 濾波器具有易于實現(xiàn)和系統(tǒng)絕對穩(wěn)定的優(yōu)勢,因此得到廣泛的應(yīng)用2。1.11.1 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀在國內(nèi)外的研究中,設(shè)計 FIR 濾波器所涉及的乘法運算方式有:并行乘法、位串行乘法和采用分布式算法的乘法。并行乘法雖然速度快,同時占用的硬件資源極大。如果濾波器的長度增加,乘法器位數(shù)也將變大,硬件規(guī)模將變得十分龐大。位串行乘法器的實現(xiàn)方法主要是通過對乘法運算進行分解,用加法器來完成乘法的功能,也即無乘法操作的乘法器。但由

12、于一個 8*8 位的乘法器輸出為 16 位,為了得到正確的 16 位結(jié)果,串行輸入的二進制補碼數(shù)要進行符號位擴展,即將串行輸入的 8 位二進制補碼前補 8 個 0(對正數(shù))或 8 個 1(對負數(shù))后才輸入乘法器。如果每一位的運算需要一個時鐘周期的話,這個乘法器需要 16 個時鐘周期才能計算出正確結(jié)果,這就意味著此類乘法器要完全計算出結(jié)果的延遲必將會很大。所以位串行乘法器雖然使得乘法器的硬件規(guī)模達到了最省,但是由于是串行運算,使得它的運算周期過長,速度與規(guī)模折衷考慮時不是最優(yōu)的?;?FPGA 的 FIR 濾波器的設(shè)計第 3 頁 共 45 頁分布式算法(distributed arithmeti

13、c,AD)的主要特點是巧妙的利用 ROM 查找表將固定系數(shù)的乘累加(Multiply-accumulator,MAC)運算轉(zhuǎn)化為查表操作,它與傳統(tǒng)算法實現(xiàn)乘累加運算的不同在于執(zhí)行部分積運算的先后順序不同。分布式算法在完成乘累加功能時是通過將各輸入數(shù)據(jù)每一對應(yīng)位產(chǎn)生的部分積預(yù)先進行相加形成相應(yīng)的部分積,然后再對各個部分積累加產(chǎn)生最終結(jié)果,而傳統(tǒng)算法是等到所有乘積已經(jīng)產(chǎn)生之后再來相加來完成乘累加運算的。就小位寬來說,AD 算法設(shè)計的 FIR 濾波器的速度可以顯著的超過基于 MAC 的設(shè)計。相對于前兩種方法,DA 算法既可以全并行實現(xiàn),又可以全串行實現(xiàn),還可以串并行結(jié)合實現(xiàn),可以在硬件規(guī)模和濾波器速

14、度之間作適當(dāng)?shù)恼壑校乾F(xiàn)在被研究的主要方法。FIR 數(shù)字濾波器的實現(xiàn),大體可以分為軟件實現(xiàn)和硬件實現(xiàn)方法兩種。軟件實現(xiàn)方法即是在通用的微型計算機上用軟件實現(xiàn)。利用計算機的存儲器、運算器和控制器把濾波所要完成的運算編成程序通過計算機來執(zhí)行,軟件可由使用者自己編寫,也可以使用現(xiàn)成的。國內(nèi)外的研究機構(gòu)、公司已經(jīng)推出了不同語一言的信號濾波處理軟件包。但是這種方法速度慢,難以對信號進行實時處理,雖然可以用快速傅立葉變換算法來加快計算速度,但要達到實時處理要付出很高的代價,因而多用于教學(xué)與科研。硬件實現(xiàn)即是設(shè)計專門的數(shù)字濾波硬件,采用硬件實現(xiàn)的方法一般都比采用軟件實現(xiàn)方法要困難得多,目前主要采用的方法有以

15、下幾種3:(1)采用 DSP(Digital Signal Processing)處理器實現(xiàn)DSP 處理器是專為數(shù)字信號處理而設(shè)計的,如 TI 公司的 TMS32OCX 系列,AD公司的 ADSPZXI,ADSP210X 系列等。它主要數(shù)字運算單元是一個乘累加器(Multiply-accumulator MAC),能夠在一個機器周期內(nèi)完成一次乘累加運算,配有適合于信號處理的指令,具備獨特的循環(huán)尋址和倒序?qū)ぶ纺芰?。這些特點都非常適合數(shù)字信號處理中的濾波器設(shè)計的有效實現(xiàn),并且它速度快,成本低,在過去的 20 多年的時間里,軟件可編程的 DPS 器件幾乎統(tǒng)治了商用數(shù)字信號處理硬件的市場。(2)采用固

16、定功能的專用信號處理器來實現(xiàn),適用于過程固定而又追求高速的信號處理任務(wù),是以指定的算法來確定它的結(jié)構(gòu),使用各種隨機邏輯器件組成的信號處理器。它們體積小、保密性好,具有極高的性能,然而靈活性差。二者相比,固定功能的 DSP 專用器件可以提供很好的實時性能,但其靈活性差,研發(fā)周期長,難度也比較大;DSP 處理器的成本低且速度較快,靈活性好,但由于軟件算法在執(zhí)行時的順序性,限制了它在高速和實時系統(tǒng)中的應(yīng)用。在一些高速應(yīng)用中,系統(tǒng)性能的要求不斷增長,而 DSP 性能的提高卻落后于需求的增長?;?FPGA 的 FIR 濾波器的設(shè)計第 4 頁 共 45 頁現(xiàn)在,大規(guī)??删幊踢壿嬈骷閿?shù)字信號處理提供了一

17、種新的實現(xiàn)方案。分布式算法可以很好地在 FPGA(Field Programmable Gate Array)中實現(xiàn),然而卻不能有效的在 DSP 處理器中實現(xiàn),所以采用 FPGA 使用分布式算法實現(xiàn) FIR 數(shù)字濾波器有著很好的發(fā)展前景。采用現(xiàn)場可編程門陣列 FPGA 來實現(xiàn) FIR 數(shù)字濾波器,既兼顧 ASIC 器件(固定功能 DSP 專用芯片)的實時性、又具有 DSP 處理器的靈活性。FPGA 和 DSP 技術(shù)的結(jié)合能夠更進一步提高集成度、加快速度和擴展系統(tǒng)功能。用 FPGA 設(shè)計的產(chǎn)品還具有體積小、速度快、重量輕、功耗低、可靠性高、仿制困難、上批量成本低等優(yōu)點。但是,DA 算法中的查找表

18、的規(guī)模隨著 FIR 數(shù)字濾波器長度的增加呈指數(shù)增長,而且隨著濾波器系數(shù)的位數(shù)的增加,查找表的規(guī)模也會增加,這將極大的增加設(shè)計的硬件規(guī)模。所以如何減小查找表的規(guī)模成為尚待解決的問題。1.21.2 本論文的研究內(nèi)容及主要工作本論文的研究內(nèi)容及主要工作本論文重點研究的是 FIR 低通數(shù)字濾波器的研究與設(shè)計,具體內(nèi)容分為五節(jié):第一節(jié)引言主要介紹了本課題的來源及研究意義、國內(nèi)外現(xiàn)狀。第二節(jié)主要介紹了 FIR 數(shù)字濾波器的原理以及線性相位 FIR 濾波器的結(jié)構(gòu)和設(shè)計方法。第三節(jié)介紹了 FPGA 設(shè)計優(yōu)點及 DA 算法優(yōu)化研究,重點是分布式算法的原理以及 DA 算法優(yōu)化的研究與設(shè)計,并對具體的分組優(yōu)化方法做

19、了詳細的討論。第四節(jié)首先利用 Matlab 制定設(shè)計指標,提取 16 階 FIR 低通數(shù)字濾波器的抽頭數(shù)并進行量化。然后基于 FPGA 分模塊對其進行研究設(shè)計,并進行綜合系統(tǒng)仿真和驗證。最后介紹了 A/D、D/A 模塊的具體設(shè)計方法,給出了電路原理圖。文章最后給出了現(xiàn)場測試的一些照片。2 2 FIRFIR 數(shù)字濾波器設(shè)計數(shù)字濾波器設(shè)計2.12.1 數(shù)字濾波器數(shù)字濾波器基礎(chǔ)基礎(chǔ)數(shù)字濾波器在數(shù)字信號處理中屬于預(yù)處理的部分,因而起著基礎(chǔ)性的作用,數(shù)字濾波器包括 IIR 和 FIR 數(shù)字濾波器。數(shù)字濾波器具有精度高、穩(wěn)定性好、靈活性強、不要求阻抗匹配,易于修改等特點。下面將首先介紹一下數(shù)字濾波器,然后

20、重點討論 FIR 數(shù)字濾波器的設(shè)計原理和結(jié)構(gòu)4。.1 數(shù)字濾波器簡介數(shù)字濾波器簡介一個簡單的數(shù)字濾波系統(tǒng)如圖 2-1 所示。圖中,x(t)為模擬信號,經(jīng)過 A/D轉(zhuǎn)換器后變?yōu)橐粋€有著先后順序的數(shù)字序列 x(n)。然后 x(n)通過數(shù)字濾波系統(tǒng)H(z),即得到數(shù)字濾波器的輸出 y(n)。H(z)為該數(shù)字濾波系統(tǒng)的單位脈沖響應(yīng)基于 FPGA 的 FIR 濾波器的設(shè)計第 5 頁 共 45 頁h(n)的 Z 變換,即: (2-1nnznhzH)()()若 h(n)為無限長序列,則得到的數(shù)字濾波器為 IIR 數(shù)字濾波器,又稱遞歸濾波器;反之,若 h(n)為有限長序列,則得到的數(shù)字濾波器為

21、 FIR 濾波器,也稱非遞歸濾波器。一個線形時不變因果濾波器可表示為: (2-2)10)()(NnnznhzH其中 N 為 h(n)的長度,即濾波器的長度。y y( (n n) )x x( (t t) )x x( (n n) )A A/ /D DH H( (Z Z) )圖 2-1 數(shù)字濾波系統(tǒng)IIR 濾波器主要是基于對模擬濾波器如巴特沃斯濾波器、橢圓濾波器等的幅頻響應(yīng)進行逼近,而其相頻響應(yīng)是非線性的。與 IIR 濾波器不同,F(xiàn)IR 濾波器可以把相位特性設(shè)計成線性。這使得 FIR 數(shù)字濾波器在信號無失真?zhèn)鬏?、?shù)據(jù)通信、圖像傳輸與處理、語音信號處理等有線性相位要求的領(lǐng)域應(yīng)用廣泛。FIR 濾波器的優(yōu)

22、點是軟硬件實現(xiàn)結(jié)構(gòu)簡單,不用考慮系統(tǒng)的穩(wěn)定性問題;缺點是實現(xiàn)較高性能的頻率響應(yīng)需要較高的濾波器階數(shù)。.2 FIRFIR 數(shù)字濾波器的結(jié)構(gòu)數(shù)字濾波器的結(jié)構(gòu)由于 FIR 數(shù)字濾波器實現(xiàn)算法的不同,我們可以把 FIR 濾波器的結(jié)構(gòu)劃分為直接型、級聯(lián)型、頻率采樣型和快速卷積型四種基本形式。本文主要討論前兩種結(jié)構(gòu)。(1)直接型結(jié)構(gòu)由式 2-2 可直接畫出 FIR 數(shù)字濾波器的直接型結(jié)構(gòu),如圖 2-2 所示。對于直接型結(jié)構(gòu)來說,一個長度為 N 的 FIR 濾波器,每產(chǎn)生一個輸出數(shù)據(jù),要經(jīng)過 N 次乘法,N-1 次加法。對于使用 FPGA 開發(fā) FIR 數(shù)字濾波器,這樣的結(jié)果顯然不令人滿意。

23、基于 FPGA 的 FIR 濾波器的設(shè)計第 6 頁 共 45 頁h(0)h(1)h(2)h(N-2)h(N-1)1z1z1zy(n)圖 2-2 直接型結(jié)構(gòu)于是本文做了一下改進,這種改進是基于線性相位的 FIR 數(shù)字濾波器的。以嚴格線性相位,N 為偶數(shù)的 FIR 濾波器為例,如圖 2-3 所示。x(n)1z1z1z1z1zh(1)h(2)h(N/2)y(n)圖 2-3 直接型的改進由于關(guān)于對稱,我們可以將經(jīng)過延時環(huán)節(jié)的位置關(guān)于)(nh2/ ) 1( Nn對稱的數(shù)據(jù)預(yù)先相加,然后可以再乘以相應(yīng)的濾波器系數(shù)進行累加得到2/ ) 1(N最終的輸出結(jié)果。這樣,每產(chǎn)生一個輸出,經(jīng)過次乘法,次加法,比原2/

24、N1N來減少次乘法。2/N(2)級聯(lián)型結(jié)構(gòu)對式(2-2)進行因式分解,并將零點共軛的因式放在一起,這樣產(chǎn)生了若干個一階子式和二階子式,將一階子式看作二階子式的一個特例,則系統(tǒng)函數(shù)可以表示為:)(zH (2-LlzazahzH1212111)1 ()0()(3)FIR 數(shù)字濾波器的級聯(lián)型結(jié)構(gòu)如圖 2-4 所示。x(n)1z1z1z1z1z1z112112221L2Lh(0)y(n)圖 2-4 級聯(lián)型結(jié)構(gòu)基于 FPGA 的 FIR 濾波器的設(shè)計第 7 頁 共 45 頁從圖中可以看出,級聯(lián)型結(jié)構(gòu)每產(chǎn)生一個輸出,需要次乘法,次加1N1N法。級聯(lián)型的最大特點是可以分別獨立調(diào)整每個子系統(tǒng)的零點之值,當(dāng)需要

25、精確控制濾波器的零點位置時,往往采用這種結(jié)構(gòu)5。2.22.2 FIRFIR 數(shù)字濾波器設(shè)計方法數(shù)字濾波器設(shè)計方法FIR 數(shù)字濾波器的設(shè)計方法主要有三種:時窗函數(shù)法、頻率采樣法和等波紋設(shè)計法6。下面將分別討論一下這三種方法的設(shè)計原理,然后給出設(shè)計步驟,最后在比較一下這三種方法的優(yōu)缺點。.1 窗函數(shù)法窗函數(shù)法一個理想低通濾波器的幅頻特性如圖 2-5 所示。的表達式為)(jwdeH (2-4)wwwweHccjwd, 0, 1)(w)(jwdeHcwcw圖 2-5 理想低通濾波器頻譜圖對進行離散時間傅里葉逆變換,得)(jwdeH dweeHnhjwnjwdd)(21)( (2-5)c

26、cwwcjwnnnwdwe)sin(21是一個關(guān)于對稱的無限長序列,是系統(tǒng)的單位脈沖響應(yīng),這說明系統(tǒng))(nhd)0(dh是非因果的,在物理上不可實現(xiàn)。為了能夠得到一個可實現(xiàn)的系統(tǒng),可以將截取一部分,并順序右移,使之成為一個因果的有限長序列。這種方法就好)(nhd比在時域打開一個窗口一樣,因而稱為窗函數(shù)法??梢灶A(yù)見,使用這種方法截取的序列越長,對理想的幅頻特性逼近的越好。常見的時窗函數(shù)有矩形窗、漢寧窗、漢明窗、布萊克曼窗、凱塞窗等。矩形窗的表達式為:,為整數(shù)。當(dāng)用矩形窗設(shè)計 FIR 濾波器時,其它,, 0101)(NnwnRn所產(chǎn)生的頻率響應(yīng),與理想濾波器的頻率特性相比,在理想特性不連續(xù)點處附近

27、形成了過渡帶,并在過渡帶兩側(cè)形成持續(xù)時間很長,逐漸衰減的波cww 基于 FPGA 的 FIR 濾波器的設(shè)計第 8 頁 共 45 頁紋,即通帶內(nèi)產(chǎn)生了波動,而阻帶內(nèi)產(chǎn)生了余振,這種現(xiàn)象稱之為吉布斯(Gibbs)效應(yīng)。吉布斯效應(yīng)直接影響到濾波器的性能,因為通帶內(nèi)的波動會影響到濾波器的平穩(wěn)性,阻帶內(nèi)的波動則影響阻帶最小衰減。窗函數(shù)的選擇原則是:(1)具有較低的旁瓣幅度,尤其是第一旁瓣幅度。(2)旁瓣幅度下降速度要快,以利增加阻帶衰減。(3)主瓣的寬度要窄,以獲得較陡的過渡帶。但是這幾個標準之間彼此是有矛盾的,即主瓣寬度越大,旁瓣水平才可能越低。因此實際上。因此,實際選用的窗函數(shù)往往是它們的折中。在保

28、證主瓣寬度達到一定要求的條件下,適當(dāng)犧牲主瓣寬度來換取旁瓣波動的減少。六種窗函數(shù)的主要參數(shù)如表2-2所示。應(yīng)當(dāng)說明的是,用時窗函數(shù)法設(shè)計的 FIR 濾波器通帶波紋幅度近似等于阻帶波紋幅度。一般阻帶最小衰減達到 40dB 以上,則通帶最大衰減就小于 0.1dB。最后,總結(jié)一下利用窗函數(shù)設(shè)計 FIR 數(shù)字濾波器的步驟:(1)給定所要求的頻率響應(yīng)函數(shù);)(jwdeH(2)求;)()(jwddeHIDTFTnh(3)有過濾帶寬及阻帶最小衰減的要求,利用下表選定窗的形狀及 N 的大小,一)(nw般 N 要通過幾次試探而最后確定。(4)求的所設(shè)計的 FTR 的單位抽樣響應(yīng) )()()(nwnhnhd1,.

29、,1 , 0Nn (5)求,檢驗是否滿足設(shè)計要求,如不滿足,則需重新設(shè)計。)()(nhDTFTeHjw表 2-2 六種窗函數(shù)參數(shù)表的比較窗譜性能指標加窗后濾波器性能指標窗函數(shù)旁瓣峰值/db主瓣寬度/()N/2過濾寬度w/)/2(N阻帶最小衰減/db矩形窗-1320.9-21巴特列特-2542.1-25漢寧窗-3143.1-44海明窗-4143.3-53布拉克曼窗-5765.5-74凱澤窗-575-80.2 頻率采樣法頻率采樣法頻率采樣法是一種基于頻率域抽樣來逼近所要設(shè)計的 FIR 濾波器的頻率特性的一種方法。頻率設(shè)計法的基本設(shè)計流程如圖 2-6 所示?;?FPGA 的 FIR

30、 濾波器的設(shè)計第 9 頁 共 45 頁)(jwdeH確定2 /()( )jNddHeHk( )( )dh nIDFT Hn( )( ( )H zZT h n抽樣N點離散傅里葉逆變換圖 2-6 頻率設(shè)計法流程為了保證具有線性相位條件,其單位采樣響應(yīng)是實序列,且滿足條)(zH)(nh件。對于偶對稱的情況來說,線性相位條件如下:) 1()(nNhnh)(nh (2-6)()()(wjgjwdewHeH) (2-7wNw) 1(21)()令代入式(2-6) 、 (2-7) ,得到Nkw/2 (2-8)()()(kjgdekHkH)式中, NkwggwHkH/2| )()( Nkwwk/2| )()(

31、,N 為奇數(shù))()(kNHkHgg ,N 為偶數(shù)。)()(kNHkHgg頻率響應(yīng)函數(shù)在各采樣點上等于,而采樣點之間的值是)(jweH)(kHd)(jweH由各采樣值之間的內(nèi)插函數(shù)疊加形成,因而有一定的逼近誤差,誤差的大小取決于理想頻率響應(yīng)的曲線形狀。采樣點之間的理想頻率特性變化越陡,則內(nèi)插值與理想值之間的誤差就越大,因而在理想頻率響應(yīng)特性的不連續(xù)點附近,就會產(chǎn)生肩峰和波紋;反之,理想頻率響應(yīng)特性變化越平緩,則內(nèi)插值越接近理想值,逼近誤差小。因此,可以在理想頻率下響應(yīng)特性的通帶與阻帶之間設(shè)置過渡帶,從而減小逼近誤差。過渡帶的采樣點個數(shù) m 與所設(shè)計的濾波器的阻帶最小衰減有關(guān),具體如表s2-3 所

32、示。此外過渡帶的帶寬與采樣點數(shù) m 之間的關(guān)系為: (2-9)NmB/ ) 1(2基于 FPGA 的 FIR 濾波器的設(shè)計第 10 頁 共 45 頁表 2-3 過渡帶采樣點數(shù)與阻帶最小衰減的關(guān)系m1234dBs/2044-5465-7585-95綜上,頻率采樣法的設(shè)計步驟為:A. 根據(jù)阻帶最小衰減,確定過渡帶的樣點數(shù) m。sB. 根據(jù)過渡帶寬度的要求,估算濾波器的長度。BC. 構(gòu)造希望逼近的頻率響應(yīng)函數(shù),一般為具有理想頻率特性,)(jwdeH)(jwdeH并滿足線性相位的要求。D. 對進行頻域等間隔 N 點采樣,得到。)(jwdeH)(kHdE. 對進行 N 點 IDFT,得到。)(kHd)(

33、nh.3 等波紋最佳逼近法等波紋最佳逼近法等波紋最佳逼近法是基于最大誤差最小化的設(shè)計原則。最大誤差最小化能使幅度誤差在整個逼近頻段上均勻分布,即所設(shè)計的 FIR 數(shù)字濾波器的幅度特性在通帶和阻帶范圍內(nèi)是等波紋的,且可以分別獨立控制通帶和阻帶的波紋幅度,并且在濾波器長度給定的情況下,加權(quán)的幅度波紋誤差最小。定義加權(quán)幅度誤差函數(shù)為 (2-10)()()()(wHwHwWwed,式中為幅度誤差加權(quán)函數(shù),用來控制不同頻帶的幅度逼近誤差。一般地,)(wW在要求逼近精度高的頻帶,取值大,而要求逼近誤差精度低的頻帶,)(wW取值小。設(shè)計過程中是由設(shè)計者根據(jù)通帶最大衰減和阻帶最小衰減)(wW)

34、(wWp的指標要求取定的已知函數(shù)。對于 FIR 數(shù)字低通濾波器,常取:s (2-11)wwkwwkwWpp,0 ,/)(12式中,和分別為濾波器設(shè)計指標中通帶和阻帶的振蕩波紋幅度,k 為正的系12數(shù)。濾波器的通帶最大衰減和阻帶最小衰減與通帶和阻帶的振蕩波紋幅度ps和的換算關(guān)系為:12 (2-12)11011020/20/1pp (2-13)20/210s等波紋最佳逼近法的設(shè)計,在于找到濾波器的系數(shù)向量,使得在通帶)(nh和阻帶頻帶內(nèi)的最大絕對值幅度誤差為最小。, 0pw,sw)(we帕克斯-麥克萊倫采用基于交替定理的雷米茲交替算法,通過逐次迭代逼近的基于 FPGA 的 FIR 濾波器的設(shè)計第

35、11 頁 共 45 頁運算求得濾波器的系數(shù)向量,從而實現(xiàn)等波紋最佳逼近法。 一般情況下,估)(nh計濾波器長度 N 的凱塞經(jīng)驗公式為: (2-14)1)2/(6 .1413lg(2021pswwN綜上,用等波紋最佳逼近法設(shè)計 FIR 數(shù)字濾波器的步驟為:(1)根據(jù)濾波器的設(shè)計指標要求:邊界頻率、通帶最大衰減、阻帶最小衰p減等,估計濾波器的長度,并確定幅度誤差加權(quán)函數(shù)。s(2)采用雷米茲交替算法,獲得所設(shè)計的濾波器的單位脈沖響應(yīng)。)(nh2.2.4 三種設(shè)計方法的比較 綜述可得,窗函數(shù)法設(shè)計的基本思想是把給定的頻率響應(yīng)通過離散時間傅里葉逆變換IDTFT(Inverse Discrete Time

36、 Fourier Transform) ,求得脈沖響應(yīng),然后利用加窗函數(shù)對它進行截斷和平滑,以實現(xiàn)一個物理可實現(xiàn)且具有線性相位的 FIR 數(shù)字濾波器的設(shè)計目的。其核心是從給定的頻率特性,通過加窗確定有限長單位取樣響應(yīng) h(n);頻率采樣法設(shè)計的基本思想是把給出的理想頻率響應(yīng)進行取樣,通過 IDFT 從頻譜樣點直接求得有限脈沖響應(yīng);等波紋切比雪夫逼近法則是利用 MATLAB 提供的 remez 函數(shù)實現(xiàn) Remez 算法,設(shè)計濾波器逼近理想頻率響應(yīng)。 比較以上三種濾波器的設(shè)計方法,在同樣的階數(shù)下,等波紋切比雪夫逼近法可以獲得最佳的頻率特性和衰耗特性,具有通帶和阻帶平坦,過渡帶窄等優(yōu)點。頻率采樣設(shè)

37、計法可以設(shè)計某些特殊濾波器,且其設(shè)計過程簡單,但阻帶衰減明顯,若適當(dāng)選取過渡帶樣點值,會取得較窗函數(shù)設(shè)計法略好的衰耗特性。窗函數(shù)設(shè)計法在階數(shù)較低時,阻帶特性基本滿足設(shè)計要求,當(dāng)濾波器階數(shù)較高時,使用漢寧窗、海明窗、布萊克曼窗和凱澤窗即可以達到阻帶衰耗要求3 3 FPGAFPGA 設(shè)計優(yōu)點以及分布式算法設(shè)計優(yōu)點以及分布式算法3.13.1 使用使用 FPGAFPGA 器件進行開發(fā)的優(yōu)點器件進行開發(fā)的優(yōu)點使用 FPGA 器件設(shè)計數(shù)字電路,不僅可以簡化設(shè)計過程,而且可以降低整個系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無需花費傳統(tǒng)意義下制造集成電路所需大量時間和精力,避免了投資風(fēng)險,成為電子器件行業(yè)中發(fā)

38、展最快的一個系列。使用 FPGA 器件設(shè)計數(shù)字系統(tǒng)電路的主要優(yōu)點如下:(1)設(shè)計靈活使用 FPGA 器件,可以不受標準系列器件在邏輯功能上的限制。而且修改邏輯可在系統(tǒng)設(shè)計和使用過程的任一階段中進行,并且只須通過對所用的 FPGA 器件進行重新編程即可完成,給系統(tǒng)設(shè)計提供了很大的靈活性。(2)增大功能密集度功能密集度是指在給定的空間能集成的邏輯功能數(shù)量??删幊踢壿嬓酒瑑?nèi)的組件門數(shù)高,一片 FPGA 可代替幾片、幾十片乃至上百片中小規(guī)模的數(shù)字集成電路芯片。用 FPGA 器件實現(xiàn)數(shù)字系統(tǒng)時用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導(dǎo)致系統(tǒng)規(guī)模的全面縮減。(3)提

39、高可靠性減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)基于 FPGA 的 FIR 濾波器的設(shè)計第 12 頁 共 45 頁的可靠性。具有較高集成度的系統(tǒng)比用許多低集成度的標準組件設(shè)計的相同系統(tǒng)具有高得多的可靠性。使用 FPGA 器件減少了實現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊點數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。(4)縮短設(shè)計周期出于 FPGA 器件的可編程性和靈活性,用它來設(shè)計一個系統(tǒng)所需時間比傳統(tǒng)方法大為縮短。FPGA 器件集成度高,使用時印刷線路板電路布局布線簡單。同時,在樣機設(shè)計成功后,由于開發(fā)工具先進,自動化程度高,對其進行邏輯修改也十分簡便迅速

40、。因此,使用 FPGA 器件可大大縮短系統(tǒng)的設(shè)計周期,加快產(chǎn)品投放市場的速度,提高產(chǎn)品的競爭能力。(5)工作速度快FPGA/CPLD 器件的工作速度快,一般可以達到幾百兆赫茲,遠遠大于 DPS 器件。同時,使用 FPGA 器件后實現(xiàn)系統(tǒng)所需要的電路級數(shù)又少,因而整個系統(tǒng)的工作速度會得到提高。(6)增加系統(tǒng)的保密性能很多 FPGA 器件都具有加密功能,在系統(tǒng)中廣泛的使用 FPGA 器件可以有效防止產(chǎn)品被他人非法仿制。(7)降低成本使用 FPGA 器件實現(xiàn)數(shù)字系統(tǒng)設(shè)計時,如果僅從器件本身的價格考慮,有時還看不出來它的優(yōu)勢,但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用 FPGA的成本優(yōu)越性是很明

41、顯的。首先,使用 FPGA 器件修改設(shè)計方便,設(shè)計周 FPGA 器件進行系統(tǒng)設(shè)計能節(jié)約成本。期縮短,使系統(tǒng)的研制開發(fā)費用降低;其次,F(xiàn)PGA器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費用降低;再次,使用 FPGA 器件能使系統(tǒng)的可靠性提高,維修工作量減少,進而使系統(tǒng)的維修服務(wù)費用降低??傊?,使用 FPGA 器件進行系統(tǒng)設(shè)計能節(jié)約成本7。3.23.2 分布式算法分布式算法.1 分布式算法基礎(chǔ)分布式算法基礎(chǔ)分布式算法(Distributed Arithmetic,DA)是一項重要的 FPGA 技術(shù),它廣泛地應(yīng)用在計算積之和之中。10)(*)(,Nnnxncxcy= (

42、3-0 01 11 1cxcxc Nx N+-1)進一步假設(shè)系數(shù)是已知常數(shù),是變量。無符號 DA 系統(tǒng)假設(shè)變量ncnx的表示方式如下:nx基于 FPGA 的 FIR 濾波器的設(shè)計第 13 頁 共 45 頁 , (3-102Bbbbnxnx 1 , 0bx2)其中表示的第位,而也就是的第次采樣,而內(nèi)積可以表nxb x nb x nxny示方式為: (3-10102NnBbbbkxncy3)重新分配求和的順序(也就是“分布式算法名稱的由來” )其結(jié)果如下: (3-120120120120120120111120(020202 )1(121212 )1(121212 )( 001111)2( 001

43、BBBBBBBBBBBBBBBBBycxxxcxxxc NxNxNx Ncxcxc NxNcxc-=+ + -+-+- =+- +2220000111)2( 0 01 11 1)2BBBxc NxNcxcxc Nx N-+- +-4)或者可以寫成更為簡潔的如下形式: (3-) ,(2210101010 BbNnNbNNbbbbnxncfnxncy5)函數(shù)的實現(xiàn)需要特別注意。首選方法是利用一個 LUT 實現(xiàn)映射),(nxncfb。也就是說預(yù)先編程個字的一個 LUT,以接受一個 N 位輸入向量),(nxncfbN2,輸出為。各個映射都由相1,1 ,0Nxxxxbbbb),(nxncfb),(nxn

44、cfb應(yīng)的二次冪加權(quán)并累加。利用如圖 3-2 所示的移位加法器就能夠有效地實現(xiàn)累加。在 N 次查詢循環(huán)后就能完成了對內(nèi)積 y 的計算8?;?FPGA 的 FIR 濾波器的設(shè)計第 14 頁 共 45 頁00 x01x0Bx 1 0 x 1 1x 1 Bx 10Nx 11Nx 1 NxBTUL+/-寄存器算法表累加器Y12BBt0t加減移位寄存器圖 3-2 移位加法器 DA 體系結(jié)構(gòu).2 有符號的有符號的 DADA 系統(tǒng)系統(tǒng)下面我們要討論的是如何修復(fù)式(3-1)使之能夠處理有符號補碼。在補碼中,最高位有效位用來區(qū)別正數(shù)和負數(shù)。例如變-3 的編碼是。所1023104101以我們將采

45、用下面的(B+1)位表示方法: (3-1022BbbbBBnxnxnx6)與式(3-3)聯(lián)立得到輸出 y 的定義如下: (3-7) 1010),(2),(2BbNnBbBBnxncfnxncfy要實現(xiàn)有符號 DA 系統(tǒng),可以通過兩種選擇來修改無符號 DA 系統(tǒng)。這就是:(1)帶有加/減控制的累加器(2)采用具有一個額外輸入的 ROM本文使用最常見的可轉(zhuǎn)換累加器,因為 LUT 表中額外的輸入位還需一個兩倍字長的 LUT 表9。4 4 基于基于 FPGAFPGA 的的 FIRFIR 濾波器設(shè)計濾波器設(shè)計本章為全文的核心內(nèi)容,首先確定基于 Matlab 的 FIR 數(shù)字低通濾波器的指標系數(shù),再利用分

46、布式算法結(jié)構(gòu), VHDL 硬件語言完成設(shè)計與仿真,最后實現(xiàn)硬件系統(tǒng)以及硬件測試。4.14.1 基于基于 MatlabMatlab 的的 FIRFIR 數(shù)字低通濾波器抽頭系數(shù)的提取數(shù)字低通濾波器抽頭系數(shù)的提取 4.1.1 濾波器的設(shè)計指標采樣頻率:10MHz截止頻率:100KHz類型:低通階數(shù):Kaiser 窗函數(shù) 16 階系數(shù) Beta=0.5基于 FPGA 的 FIR 濾波器的設(shè)計第 15 頁 共 45 頁.2 濾波器的具體設(shè)計方法濾波器的具體設(shè)計方法啟動 Matlab 設(shè)計軟件后,依次打開 startToolboxesFilter DesignFilter Design &

47、 Analysis Tool(FDATOOL)就可以看到如圖 4-1 的FDATOOL 界面。選擇所需要的參數(shù)指標,就會生成 FIR 低通數(shù)字濾波器的特性曲線以及重要的幅度相位波形圖,如圖 4-2、圖 4-3 所示,驗證了其技術(shù)指標。圖 4-1 FDATOOL 界面圖 4-2 幅度特性曲線基于 FPGA 的 FIR 濾波器的設(shè)計第 16 頁 共 45 頁圖 4-3 相位特性曲線沖激響應(yīng)曲線.3 參數(shù)提取與量化參數(shù)提取與量化利用 Matlab 軟件的 FDATOOL 圖形用戶界面工具,輸入設(shè)計指標后便會自動生成所設(shè)計的 FIR 低通數(shù)字濾波器的系數(shù)即抽頭數(shù),一般線性相位的 FIR

48、 低通數(shù)字濾波器的單位沖激響應(yīng)都為實數(shù),滿足奇或偶對稱的條件。所得單位沖激響應(yīng)系數(shù)如表 4-1 所示:表 4-1 FIR 低通數(shù)字濾波器系數(shù)序數(shù)序列FIR 濾波器的參數(shù)序數(shù)序列h(0)-0.039907834316445h(15)h(1)-0.037834962847191h(14)h(2)-0.017305968856170h(13)h(3)0.021384069718987h(12)h(4)0.072608454823592h(11)h(5)0.126467760141519h(10)h(6)0.171262675451901h(9)基于 FPGA 的 FIR 濾波器的設(shè)計第 17 頁 共

49、 45 頁h(7)0.196673325528212h(8)計算的結(jié)果可通過 File 下的菜單中的 Export 命令取出,點擊 Export 打開對話框,如圖所示,點擊 OK 可將濾波器系數(shù)數(shù)據(jù)存放到當(dāng)前工作空間,并且以 Num命名。沖激系數(shù)輸出對話框保存并關(guān)閉當(dāng)前窗口回到工作空間,在命令區(qū)輸入 Num 回車,出現(xiàn)以下圖如上圖所示,根據(jù)設(shè)計所求出的 16 階 FIR 低通數(shù)字濾波器的系數(shù)是實數(shù),而在FPGA 硬件仿真中要求輸入的數(shù)據(jù)為整數(shù),因此在這里,要對系數(shù)做歸一化處理,即將 h(n)擴大=2048 倍,再分別進行四舍五入處理,最后轉(zhuǎn)化為 12 位二進制補112碼(有效位為 11 位,最

50、高位為符號位)結(jié)果如下所示:h(0)=h(15)=-82h(1)=h(14)=-77h(2)=h(13)=-35h(3)=h(12)=44h(4)=h(11)=149基于 FPGA 的 FIR 濾波器的設(shè)計第 18 頁 共 45 頁h(5)=h(10)=259h(6)=h(9)=351h(7)=h(8)=4034.24.2 FIRFIR 濾波器的濾波器的 FPGAFPGA 實現(xiàn)實現(xiàn).1 模塊劃分模塊劃分自頂向下的實現(xiàn)方法,F(xiàn)IR 濾波器的模塊劃分:輸入模塊(包括移位寄存器模塊,加法與地址碼形成模塊) 、查找表模塊樹狀移位加法器模塊、控制模塊和包含參數(shù)的程序包。整個設(shè)計的層次結(jié)構(gòu)

51、如圖 4-4 所示:基于 FPGA 的 FIR 濾波器的設(shè)計第 19 頁 共 45 頁圖 4-4 FIR 濾波器的結(jié)構(gòu)框圖各模塊實現(xiàn)的功能:各模塊實現(xiàn)的功能:(1)輸入模塊,輸入模塊是完成對輸入信號的處理,為后續(xù)電路做準備。它主要由移位寄存器和加法器與地址碼形成模塊組成。 (2)查找表模塊,查找表模塊的功能是對輸入模塊產(chǎn)生的地址碼對應(yīng)成輸出值。查找表模塊由 4 個 LUT 和加法模塊組成。(3)樹樁移位加法器模塊,將 LUT 的輸出值做樹狀移位加法運算。(4)控制模塊,控制模塊產(chǎn)生其他模塊的控制信號,實現(xiàn)對輸入模塊、移位寄存器模塊、查找表模塊,鎖存模塊的控制,使各模塊按照一定的時序依次執(zhí)行各自

52、的功能,從而完成濾波。它主要由控制器單元和計數(shù)器單元組成。.2 FIRFIR 濾波器各模塊的實現(xiàn)濾波器各模塊的實現(xiàn)(1)板載頻率分頻本設(shè)計所用到的系統(tǒng)板上的晶振頻率是 50MHz,而設(shè)計用到的是 10MHz,這樣就要進行分頻。CycloneII 系列 FPGA 提供兩個嵌入式鎖相環(huán)。在圖形編輯模式下輸入 ALTPLL 就可以看到如圖 4-5(a)所示的界面,設(shè)置設(shè)計所需的參數(shù)就可以實現(xiàn)分頻。本設(shè)計產(chǎn)生的分頻模塊圖標如圖 4-5(b)所示。圖 4-5(a) ALTPLL 界面基于 FPGA 的 FIR 濾波器的設(shè)計第 20 頁 共 45 頁PLL1AutoParameter Va

53、lueTypeCyclone IIinclk0 frequency: 50.000 MHzOperation Mode: NormalClk Ratio Ph (dg) DC (%)c01/50.0050.00inclk0c0lockedaltpll0inst5圖 4-5(b) 分頻模塊(2)數(shù)據(jù)預(yù)處理-輸入信號轉(zhuǎn)換進程,對輸入的二進制原碼轉(zhuǎn)換為二進制補碼輸出-加此進程的目的是方便仿真,硬件實現(xiàn)時不用library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity signed_buma isport

54、 ( X_in:in std_logic_vector(7 downto 0);-輸入 clk:in std_logic;-輸入信號 50MHz buma:out std_logic_vector(7 downto 0)-補碼輸出 );end signed_buma;architecture arc of signed_buma issignal temp:std_logic_vector(7 downto 0);-中間信號signal b:std_logic;-中間信號beginb=X_in(7);a:process(clk)beginif clkevent and clk=1 thenif

55、 b=1 thentemp=(X_in(7)&(not X_in(6)&(not X_in(5)&(not X_in(4)&(not X_in(3)&(not X_in(2)&(not X_in(1)&(not X_in(0)+1;基于 FPGA 的 FIR 濾波器的設(shè)計第 21 頁 共 45 頁else temp=X_in;end if ;end if;end process;buma=temp;end arc;(3)輸入模塊輸入模塊由移位寄存器和加法器與地址碼形成模塊組成。移位寄存器模塊實現(xiàn)對并行輸入信號的延遲輸出,其寄存器的個數(shù)由 FIR 濾波器的階數(shù)決定。加法與地址碼形成模塊首先實現(xiàn)

56、B(i)=X(i)+X(N-i)的運算,即考慮了濾波器系數(shù)的對稱性,把與相同兩個濾波系數(shù)相乘的兩個采樣值預(yù)先相加,以減少硬件規(guī)模10。移位寄存器模塊的 VHDL 代碼如下所示:library ieee;use ieee.std_logic_1164.all;-延時entity delay isport( X_in: instd_logic_vector(7 downto 0);-濾波器輸入 clk: instd_logic;-輸入時鐘 a0,a1,a2,a3,a4,a5,a6,a7: buffer std_logic_vector(7 downto 0); -寄存器 a8,a9,a10,a11

57、,a12,a13,a14,a15:buffer std_logic_vector(7 downto 0)-寄存器);end delay;architecture one of delay isbeginprocess(clk)beginif clkevent and clk=1 then a15=a14;a14=a13;基于 FPGA 的 FIR 濾波器的設(shè)計第 22 頁 共 45 頁a13=a12;a12=a11;a11=a10;a10=a9;a9=a8;a8=a7;a7=a6;a6=a5;a5=a4;a4=a3;a3=a2;a2=a1;a1=a0;a0=X_in;end if;end pr

58、ocess;end one;圖 4-6 移位寄存器仿真圖圖 4-6 是延時進程的仿真圖,由圖可以看出每來一個脈沖,輸入信號就會向后移位一次。加法與地址碼形成模塊具體程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;基于 FPGA 的 FIR 濾波器的設(shè)計第 23 頁 共 45 頁use ieee.std_logic_arith.all;-輸入預(yù)加和地址碼產(chǎn)生entity Address is port(a0,a1,a2,a3,a4,a5,a6,a7:in std_logic_vector(7

59、downto 0);-輸入寄存器a8,a9,a10,a11,a12,a13,a14,a15: in std_logic_vector(7 downto 0);-輸入寄存器clk:in std_logic;-輸入時鐘y0,y1,y2,y3,y4,y5,y6,y7,y8:out std_logic_vector(7 downto 0);-地址輸出end Address;architecture arc of Address issignal b0,b1,b2,b3,b4,b5,b6,b7:std_logic_vector(8 downto 0);begin b0=(a0(0)&a0)+(a8(0)

60、&a8);b1=(a1(0)&a1)+(a9(0)&a9);b2=(a2(0)&a2)+(a10(0)&a10);b3=(a3(0)&a3)+(a11(0)&a11);b4=(a4(0)&a4)+(a12(0)&a12);b5=(a5(0)&a5)+(a13(0)&a13);b6=(a6(0)&a6)+(a14(0)&a14);b7=(a7(0)&a7)+(a15(0)&a15);process(clk)beginif clkevent and clk=1then-下面產(chǎn)生的 8 位位矢量將作為 LUT 的地址y0=b7(0)&b6(0)&b5(0)&b4(0)&b3(0)&b2(0)&b1(

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論