2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩60頁(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、<p><b>  學(xué)士論文</b></p><p>  基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  隨著公元的第二十一個(gè)世紀(jì)的到來(lái),今天我們進(jìn)入了一個(gè)科技日新月異的時(shí)代。在現(xiàn)代電子數(shù)字系統(tǒng)中,濾波器都以一個(gè)不可缺少的身份出現(xiàn)。其中,F(xiàn)IR數(shù)字濾波器又以其

2、良好的線性特性被廣泛和有針對(duì)性的大量使用。眾所周知,靈活性和實(shí)時(shí)性是工程實(shí)踐中對(duì)數(shù)字信號(hào)處理的基本要求。在以往使用的各種濾波器技術(shù)中,不難發(fā)現(xiàn)有許許多多的問(wèn)題。但是,隨著現(xiàn)代計(jì)算機(jī)技術(shù)在濾波問(wèn)題上的飛躍,派生出一個(gè)全新的分支——數(shù)字濾波器。利用可編程邏輯器件和EDA技術(shù),使用FPGA來(lái)實(shí)現(xiàn)FIR濾波器,可以同時(shí)兼顧實(shí)時(shí)性和靈活性。基于FPGA的FIR數(shù)字濾波器的研究勢(shì)在必行。</p><p>  本論文討論基于F

3、PGA的FIR數(shù)字濾波器設(shè)計(jì),針對(duì)該畢業(yè)設(shè)計(jì)要做的基本工作有如下幾點(diǎn):</p><p> ?。ㄒ唬┱莆沼邢逈_擊響應(yīng)FIR(Finite Impulse Response, FIR)的基本結(jié)構(gòu),研究現(xiàn)有的實(shí)現(xiàn)方法。對(duì)各種方案和步驟進(jìn)行比較和論證分析,然后針對(duì)目前FIR數(shù)字濾波器需要的特點(diǎn),速度快和硬件規(guī)模小,作為指導(dǎo)思想進(jìn)行設(shè)計(jì)計(jì)算。</p><p>  (二)基于硬件FPGA的特點(diǎn),利用M

4、atlab軟件以及窗函數(shù)法設(shè)計(jì)濾波器。對(duì)整個(gè)FPGA元件,計(jì)劃采用模塊化、層次化設(shè)計(jì)思想,從而對(duì)各個(gè)部分功能進(jìn)行更為詳細(xì)的理解和分工設(shè)計(jì)。最終FIR數(shù)字濾波器的設(shè)計(jì)語(yǔ)言選擇VHDL硬件編程語(yǔ)言。</p><p> ?。ㄈ┰O(shè)計(jì)中的軟件仿真使用Altera公司的綜合性PLD開(kāi)發(fā)軟件Quartus II,并且利用Matlab工具進(jìn)行對(duì)比仿真,在仿真的過(guò)程中,對(duì)比證明,本論文設(shè)計(jì)的濾波器的技術(shù)指標(biāo)已經(jīng)全部達(dá)標(biāo)。<

5、/p><p>  關(guān)鍵詞:數(shù)字濾波器 Matlab 可編程邏輯元件 模塊化算法 </p><p>  Based On FPGA Design Of FIR Digital Filters</p><p>  Major:Electronic And Information Engineering Department( Information Engin

6、eering)</p><p><b>  Abstract</b></p><p>  As we have entered the twenty first century, our technology is changing continuously with the times. In the modern electronic digital system

7、s, filters are indispensable. Among them, the FIR digital filters are widely used with the excellent linear characteristic. As is well-known to us all, flexibility and real-time quality are the basic requirements in digi

8、tal signal processing of engineering practice. Since we have used a variety of filter technology in the past, it is not difficult for us to </p><p>  (1)To understand and master the basic structure of the li

9、mited shock Response FIR (Finite Impulse Response, FIR), research existing realization method,to use various solutions to compare and analyze the steps and demonstrations; then, to do the self design and correction conce

10、rning the characteristics of the present FIR digital filters, that is, fast in speed and small scale in hardware. (2) To design FIR filter based on the characteristics of FPGA hardware. In the design process, ready t

11、o u</p><p>  (3) To adopt the comprehensive PLD development software Quartus II of the Altera company in the design of the software simulation. And we will use of the Matlab tools for the simulation 。In the

12、simulation process, contrast our filter technology index whether you have all the standards, and filtering whether the result is ideal.</p><p>  Keywords: digital filter, Matlab, programmable logic devices,

13、Modular Algorithm</p><p><b>  目 錄 </b></p><p><b>  1緒 論1</b></p><p>  1.1本課題研究意義1</p><p>  1.2國(guó)內(nèi)外研究現(xiàn)狀分析1</p><p><b>  1.3研

14、究思路1</b></p><p>  1.4相關(guān)概念說(shuō)明1</p><p>  2 FIR數(shù)字濾波器的設(shè)計(jì)方法4</p><p><b>  2.1理論部分4</b></p><p><b>  2.1.1引言4</b></p><p>  2.1.2

15、FIR數(shù)字濾波器的基礎(chǔ)4</p><p>  2.1.3數(shù)字濾波器的設(shè)計(jì)原理6</p><p>  2.1.4 FIR數(shù)字濾波器的理論計(jì)算方式與參數(shù)轉(zhuǎn)換思想:7</p><p>  2.1.5 Matlab直接FDAtool設(shè)計(jì)方式解析13</p><p>  2.1.6 FDAtool設(shè)計(jì)模板及設(shè)計(jì)結(jié)果圖16</p>

16、<p>  2.2程序分析部分16</p><p>  2.2.1FPGA 可編程邏輯元件介紹16</p><p>  2.2.2 QuartusⅡ及Verilog HDL介紹18</p><p>  2.2.3實(shí)際濾波器程序設(shè)計(jì)(11階FIR數(shù)字濾波器)19</p><p>  2.2.4.VerilogHDL的實(shí)現(xiàn)

17、20</p><p>  3 濾波器仿真濾波28</p><p>  3.1設(shè)置混合信號(hào)28</p><p>  3.2設(shè)置仿真參數(shù)31</p><p>  3.3 仿真總結(jié)33</p><p>  4 總結(jié)與展望33</p><p>  4.1 設(shè)計(jì)成果總結(jié)33</p>

18、<p>  4.2 設(shè)計(jì)心得33</p><p><b>  參考文獻(xiàn)35</b></p><p><b>  致謝36</b></p><p><b>  1緒 論</b></p><p>  1.1本課題研究意義</p><p>

19、  在現(xiàn)代通信信號(hào)處理領(lǐng)域中,隨著各種精密計(jì)算和快速計(jì)算的發(fā)展對(duì)信號(hào)處理的實(shí)時(shí)性、快速性的要求越來(lái)越高。以往的模擬濾波器無(wú)法克服電壓漂移、溫度漂移和噪聲等問(wèn)題,從而帶來(lái)了許多誤差和不穩(wěn)定因素。而數(shù)字濾波器具有穩(wěn)定性高、精度高、設(shè)計(jì)靈活、實(shí)現(xiàn)方便等突出優(yōu)點(diǎn)。</p><p>  FPGA元器件在高速并行處理和數(shù)據(jù)傳輸中有獨(dú)特優(yōu)勢(shì),F(xiàn)PGA正在前端信號(hào)處理中越來(lái)越多地代替ASIC和DSP。我們需要的就是這種設(shè)計(jì)周期短

20、,功能密度高,重組時(shí)間短的元器件。</p><p>  本文在FPGA元器件的基礎(chǔ)上,實(shí)現(xiàn)現(xiàn)代FIR數(shù)字濾波器功能。并且研究多種快速的FIR數(shù)字濾波器的理論設(shè)計(jì)思想和程序設(shè)計(jì)方法。</p><p>  1.2國(guó)內(nèi)外研究現(xiàn)狀分析</p><p>  1985年XilinX公司生產(chǎn)出了第一塊FPGA元器件,由于它有著集成度高、方便易用、開(kāi)發(fā)和上市周期短的絕對(duì)優(yōu)勢(shì),使得F

21、PGA器件在數(shù)字設(shè)計(jì)和電子生產(chǎn)中得到迅速普及和應(yīng)用,發(fā)展?jié)摿κ志薮蟆,F(xiàn)在FPGA已經(jīng)發(fā)展到可以利用硬件乘加器、片內(nèi)儲(chǔ)存器、邏輯單元、流水處理技術(shù)等特有的硬件結(jié)構(gòu),高速完成FFT 、FIR 、復(fù)數(shù)乘加、卷積、三角函數(shù)以及矩陣運(yùn)算等數(shù)字信號(hào)處理。這樣可以完成信號(hào)處理的主要技術(shù),如中頻采樣、參數(shù)估計(jì)、自適應(yīng)濾波、脈沖壓縮、自適應(yīng)波束形成和旁瓣對(duì)消等。</p><p><b>  1.3研究思路</b&

22、gt;</p><p>  通過(guò)對(duì)目前數(shù)字濾波器的幾種實(shí)現(xiàn)方法的簡(jiǎn)單分析,本文認(rèn)為基于FPGA的數(shù)字濾波器具有許多優(yōu)點(diǎn),本文考慮到信息技術(shù)的發(fā)展對(duì)于數(shù)字濾波器的要求越來(lái)越高,而目前FIR數(shù)字濾波器的性能還不完善,于是選擇了基于FPGA的數(shù)字濾波器作為主要研究?jī)?nèi)容,通常濾波器在進(jìn)行數(shù)據(jù)處理時(shí)用到了卷積運(yùn)算,在設(shè)計(jì)中的解決這些乘法運(yùn)算的思路是將它們轉(zhuǎn)換成加減法,這是目前解決乘法運(yùn)算的主流思想。設(shè)計(jì)初期在Matlab下

23、對(duì)濾波器原理進(jìn)行證明包括(零極點(diǎn)圖、時(shí)域和頻域分析圖等),分析FIR數(shù)字濾波器的多種理論設(shè)計(jì)思想和窗函數(shù)選擇方法,在設(shè)計(jì)后期對(duì)FIR數(shù)字濾波器的小數(shù)乘法問(wèn)題進(jìn)行單獨(dú)論證。然后對(duì)分析出來(lái)的問(wèn)題進(jìn)行論證和解決,最后在QUARTUSⅡ中進(jìn)行仿真驗(yàn)證。</p><p><b>  1.4相關(guān)概念說(shuō)明</b></p><p>  數(shù)字濾波器(Digital filter)是由數(shù)

24、字乘法器、加法器和延時(shí)單元組成的一種裝置。其功能是對(duì)輸入離散信號(hào)的數(shù)字代碼進(jìn)行運(yùn)算處理,以達(dá)到改變信號(hào)頻譜的目的??烧J(rèn)為是一個(gè)離散時(shí)間系統(tǒng)按預(yù)定的算法,將輸入離散時(shí)間信號(hào)轉(zhuǎn)換為所要求的輸出離散時(shí)間信號(hào)的特定功能裝置FIR(Finite Impulse Response )由線性系統(tǒng)理論可知,在某種適度條件下,輸入到線性系統(tǒng)的一個(gè)沖擊完全可以表征系統(tǒng)。當(dāng)我們處理有限的離散數(shù)據(jù)時(shí),線形系統(tǒng)的響應(yīng)(包括對(duì)沖擊的響應(yīng))也是有限的。若線性系統(tǒng)僅是

25、一個(gè)空間濾波器,則通過(guò)簡(jiǎn)單地觀察它對(duì)沖擊的響應(yīng),我們就可以完全確定該濾波器。通過(guò)這種方式確定的濾波器稱為有限沖擊響應(yīng)(FIR)濾波器。</p><p>  圖1-1總體設(shè)計(jì)流程圖</p><p>  2 FIR數(shù)字濾波器的設(shè)計(jì)方法</p><p><b>  2.1理論部分</b></p><p><b>  

26、2.1.1引言</b></p><p>  數(shù)字濾波器的功能一般是用來(lái)變換時(shí)域或者頻域中某些要求信號(hào)的屬性,濾除信號(hào)中某一部分頻率分量。經(jīng)過(guò)數(shù)字濾波器的信號(hào)是讓其頻譜與數(shù)字濾波器的頻率響應(yīng)相乘從而得出新的結(jié)果。經(jīng)過(guò)一個(gè)線性卷積過(guò)程,從時(shí)域上輸入信號(hào)與濾波器的單位沖擊響應(yīng)作一個(gè)卷積和。下面是卷積定義式:</p><p><b> ?。?)</b></p

27、><p>  LTI數(shù)字濾波器在一般情況下分為有限脈沖響應(yīng)(Finite impulse response)和無(wú)限脈沖響應(yīng)(Infinite impulse response),F(xiàn)IR數(shù)字濾波器的設(shè)計(jì)方法和IIR濾波器的設(shè)計(jì)方法有很大的差別。因?yàn)槠湓O(shè)計(jì)方向是選擇有限長(zhǎng)度的h(n),使頻率響應(yīng)函數(shù)H(e)滿足指標(biāo)。數(shù)字濾波器正在用直接的電子計(jì)算機(jī)規(guī)范和算法進(jìn)行分析的方式來(lái)逐漸代替?zhèn)鹘y(tǒng)的模擬濾波器的RLC元器件和放大電路

28、。</p><p>  2.1.2 FIR數(shù)字濾波器的基礎(chǔ)</p><p>  首先介紹FIR數(shù)字濾波器基本原理,在如下表格中對(duì)FIR和IIR數(shù)字濾波器進(jìn)行了全面的比較:</p><p>  表2-1兩種濾波器特點(diǎn)比較分析</p><p>  通常情況下一般數(shù)字濾波器的N階FIR數(shù)字濾波器基于輸入信號(hào)x(n)的表達(dá)式為:</p>

29、<p><b> ?。?)</b></p><p>  這個(gè)公式給我們了一個(gè)非常明了的直接型網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)表現(xiàn)出N個(gè)乘法器,每次采樣y(n)的內(nèi)容是n次乘法和n-1次加法,然后做乘累加之和。如圖2-1所示:</p><p>  圖2-1 FIR濾波器直接型網(wǎng)絡(luò)結(jié)構(gòu)</p><p>  從DSP的介紹中,第一類線性相位對(duì)h(n)的約

30、束條件:</p><p><b>  (3)</b></p><p><b>  (4)</b></p><p>  由公式(3),(4)我們可以推出:</p><p><b> ?。?)</b></p><p>  移相并利用三角公式化簡(jiǎn)得到:<

31、/p><p><b>  (6)</b></p><p>  從數(shù)字信號(hào)處理學(xué)科中知道函數(shù)關(guān)于求和區(qū)間的中心(N-1)/2奇對(duì)稱,于是我們要求和h(n)滿足如下條件:</p><p>  其中對(duì)應(yīng)的有 (7)</p><p>  圖2-2 線性相位FIR濾波器結(jié)構(gòu)</p><p>  若h(n)呈

32、現(xiàn)對(duì)稱特性,即此具有線性相位的濾波器是FIR數(shù)字濾波器。濾波器的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)可以相互進(jìn)行轉(zhuǎn)換。</p><p>  在前面本文已經(jīng)討論過(guò), FPGA的實(shí)現(xiàn)中將對(duì)各種方法進(jìn)行比較,找出最優(yōu)設(shè)計(jì)方式。從而達(dá)到減少資源占有和提高系統(tǒng)作業(yè)速度的目的,更好的體現(xiàn)實(shí)時(shí)性的數(shù)字濾波器優(yōu)勢(shì)。</p><p>  2.1.3數(shù)字濾波器的設(shè)計(jì)原理</p><p>  在數(shù)字信號(hào)處理技術(shù)

33、的研究中,一般是使用的三種設(shè)計(jì)方法:窗函數(shù)法,F(xiàn)DATool直接設(shè)計(jì)法,程序編譯法。本文首先使用窗函數(shù)和Matlab軟件共同進(jìn)行設(shè)計(jì)。</p><p>  隨著軟件技術(shù)的不斷發(fā)展,Matlab軟件能給設(shè)計(jì)者帶來(lái)的數(shù)字信號(hào)處理工作已經(jīng)非常的完善和多樣了,設(shè)計(jì)者可以利用Matlab軟件進(jìn)行數(shù)字濾波器的設(shè)計(jì)和仿真,而且還可以用這款軟件進(jìn)行設(shè)計(jì)的優(yōu)化。數(shù)字濾波器的一般設(shè)計(jì)步驟如下:</p><p>

34、;<b>  1.指標(biāo)的確定</b></p><p>  做任何工程或者設(shè)計(jì),設(shè)計(jì)者都必須要有一個(gè)期望的指標(biāo)用來(lái)限制設(shè)計(jì)范圍。在很多的實(shí)際應(yīng)用中,設(shè)計(jì)者常常都是使用數(shù)字濾波器做選頻的工作。因此,指標(biāo)的形式一半在頻域中給出相位響應(yīng)和幅度。相位響應(yīng)的指標(biāo)形式,一半是指系統(tǒng)在通頻帶中藥有線性相位。幅度指標(biāo):絕對(duì)指標(biāo),它給出對(duì)幅度響應(yīng)函數(shù)的要求,一般用于FIR濾波器的設(shè)計(jì)。相對(duì)指標(biāo),以分貝值的形式給

35、出具體限制。</p><p><b>  2.逼近目標(biāo)</b></p><p>  設(shè)計(jì)者做高頻的時(shí)候大概都有一個(gè)模式,就是首先得到技術(shù)指標(biāo),然后利用我們的技術(shù)和工具讓我們的產(chǎn)品去逼近這個(gè)指標(biāo)。同理我們首先建立以個(gè)目標(biāo)的數(shù)字濾波器模型。一般情況下都是采用理想的數(shù)字濾波器模型,然后去逼近我們想要的目標(biāo)數(shù)字濾波器參數(shù)。</p><p>  3.計(jì)算

36、機(jī)仿真和性能優(yōu)化分析</p><p>  在工作中我們發(fā)現(xiàn)通過(guò)(1)、(2)之后本文會(huì)得到以差分、系統(tǒng)函數(shù)或者沖擊響應(yīng)這三種方式描述的濾波器。這個(gè)時(shí)候設(shè)計(jì)者可以利用計(jì)算進(jìn)行仿真,在系統(tǒng)中分析技術(shù)指標(biāo)和濾波結(jié)果是否是希望得到的結(jié)果。</p><p>  圖2-3各種理想數(shù)字濾波器的幅度頻率響應(yīng)</p><p>  2.1.4 FIR數(shù)字濾波器的理論計(jì)算方式與參數(shù)轉(zhuǎn)換思

37、想</p><p>  在理論上掌握了FIR數(shù)字濾波器的基本原理之后,本文需要對(duì)設(shè)計(jì)思想進(jìn)行一個(gè)多方位的論證和嘗試。首先設(shè)計(jì)者設(shè)計(jì)濾波器要有一個(gè)硬性的指標(biāo),這個(gè)指標(biāo)可以是直接給出最基本的數(shù)據(jù),也有多重表現(xiàn)形式。于是我例舉兩種特殊的指標(biāo)形式然后加以解決設(shè)計(jì)。然后我們分別用2種方式來(lái)設(shè)計(jì)不同指標(biāo)的濾波器。接下來(lái)我首先用程序的方式來(lái)實(shí)現(xiàn)濾波器:</p><p>  1.逼近法轉(zhuǎn)換與思想</

38、p><p>  使用remez函數(shù)設(shè)計(jì)FIR低通濾波器</p><p>  設(shè)計(jì)濾波器,使逼近低通濾波特性||。</p><p><b>  ||=</b></p><p>  要求通帶波紋,阻帶衰減,并用最小階數(shù)實(shí)現(xiàn)。</p><p>  繪出設(shè)計(jì)的FIR數(shù)字濾波幅頻特性曲線,檢驗(yàn)設(shè)計(jì)指標(biāo)。<

39、/p><p>  這個(gè)指標(biāo)我們可以以如下計(jì)算方法來(lái)得出詳細(xì)指標(biāo):</p><p>  從給出的低通濾波特性||。我們可以看出設(shè)計(jì)參數(shù)f=[1/4,5/16],m=[1,0];</p><p>  dev的計(jì)算根據(jù)公式:Rp=-20>0</p><p><b>  于是有Rp=20,</b></p><

40、;p>  所以dev(1),dev(2)可以被表示出來(lái)。</p><p>  2.逼近法程序描述與思想</p><p>  有了這幾個(gè)參數(shù)我們現(xiàn)在就可以根據(jù)已經(jīng)設(shè)定好的格式來(lái)調(diào)用函數(shù)remezord和remez函數(shù)了,于是可得如下程序。</p><p>  clear;close all</p><p>  fc=1/4;fs=5/16

41、; %輸入給定指標(biāo)</p><p>  Rp=3;As=60;Fs=2;</p><p>  f=[fc,fs];m=[1,0]; %計(jì)算remezord函數(shù)所需參數(shù)f,m,dev</p><p>  dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];</p>

42、<p>  [N,fo,mo,W]=remezord(f,m,dev,F(xiàn)s); %確定remez函數(shù)所需參數(shù)</p><p>  hn=remez(N,fo,mo,W); %調(diào)用remez函數(shù)進(jìn)行設(shè)計(jì)</p><p>  hw=fft(hn,512); %求設(shè)計(jì)出的濾波器頻率特性</p>&l

43、t;p>  w=[0:511] *2/512;</p><p>  plot(w,20*log10(abs(hw)));grid; %畫(huà)對(duì)數(shù)幅頻特性圖</p><p>  axis([0,max(w)/2,-90,5]); </p><p>  xlabel('w/pi');ylabel('Magnitude(dB)

44、9;)</p><p>  line([0,0.4],[-3,-3]); %畫(huà)線檢驗(yàn)設(shè)計(jì)結(jié)果</p><p>  line([1/4,1/4],[-90,5]);line([5/16,5/16],[-90,5]);</p><p><b>  程序結(jié)束。</b></p><p><

45、;b>  3.仿真圖像與結(jié)果</b></p><p>  用以上的程序我們可以得到在Matlab中的許多參數(shù)和圖像,從而進(jìn)一步分析我們的設(shè)計(jì)。首先引入程序輸出的幅頻特性圖:(如圖2-4)</p><p>  圖2-4在Matlab中的程序</p><p>  圖2-5程序輸出的幅頻特性</p><p>  圖2-6 Impu

46、lse Response</p><p>  圖2-7 Magnitude and Phase Responses</p><p>  圖2-8 Phase Delay</p><p>  圖2-9 Pole,Zero plot</p><p>  結(jié)論:從上面程序運(yùn)行情況分析,觀察程序輸出的幅頻特性圖中橫線為-3dB,兩條豎線分別位于頻率π

47、/4和5π/16。顯然,通帶指標(biāo)有富裕,零極點(diǎn)圖反應(yīng)出大部分零極點(diǎn)在圓內(nèi),過(guò)渡帶寬度和阻帶最小衰減剛好滿足指標(biāo)要求。</p><p>  4.窗函數(shù)選擇法與規(guī)劃思想</p><p>  表2-2窗函數(shù)選擇指標(biāo)</p><p>  在設(shè)計(jì)指標(biāo)中沒(méi)有直接給出窗函數(shù)的,可以利用下面這個(gè)表格進(jìn)行篩選,具體方法如下:</p><p>  這個(gè)表格給出了

48、近似過(guò)渡帶寬、精確過(guò)渡帶寬和最小阻帶衰減,我們可以根據(jù)自己濾波器的參數(shù)來(lái)選擇我們的窗函數(shù),因?yàn)檫x擇不同的窗函數(shù)設(shè)計(jì)出來(lái)的濾波器生成的過(guò)渡帶寬度和阻帶最小衰減是不同的。在這里我以一個(gè)例子來(lái)說(shuō)明函數(shù)的選擇方式:</p><p>  用窗函數(shù)法設(shè)計(jì)FIR帶通濾波器。指標(biāo)如下:</p><p>  高端通帶截止頻率 </p><p>  高端阻帶截止頻率 </p&

49、gt;<p>  低端阻帶截止頻率 </p><p>  低端通帶截止頻率 </p><p>  通帶最大衰減 Rp=1dB</p><p>  阻帶最小衰減 Rs=60dB</p><p>  在這樣一個(gè)例子中,可以看到它明確的給出了Rs=60dB來(lái)設(shè)置窗函數(shù)類型和階次。表格中給出的blackman窗其濾波器阻帶最小衰

50、減是74dB,再利用給出的其他參數(shù)計(jì)算濾波器階數(shù)。表中顯示窗口長(zhǎng)度M由過(guò)渡帶寬度B=0.8π-0.65π=0.15π決定,而B(niǎo)lackman窗設(shè)計(jì)的濾波器過(guò)渡帶寬度為12π/M,則M=12/0.15=80。又因M=N+1,所以濾波器階數(shù)N=79。 </p><p>  在了解了怎么選擇窗函數(shù)和計(jì)算濾波器階數(shù)之后,本論文將針對(duì)實(shí)際FIR數(shù)字濾波器進(jìn)行研究。已經(jīng)給出了設(shè)計(jì)參數(shù),下面開(kāi)始利用MATLAB程序來(lái)設(shè)計(jì)這個(gè)濾

51、波器。</p><p>  5.窗函數(shù)法程序描述與思想</p><p><b>  程序和對(duì)應(yīng)的解釋:</b></p><p>  %用窗函數(shù)法設(shè)計(jì)FIR帶通濾波器</p><p>  clear;close all;</p><p>  wls=0.2*pi;wlp=0.35*pi;whp=0.

52、65*pi;</p><p>  B=wlp-wls; %這里是在計(jì)算過(guò)渡帶寬</p><p>  N=ceil(12/0.15); %計(jì)算窗口長(zhǎng)度</p><p>  wc=[wlp/pi-6/N,whp/pi+6/N]; %設(shè)置理想帶通截止頻率</p><p>  hn=fir1(N-1,wc,B

53、lackman(N)); %設(shè)計(jì)濾波器參數(shù)</p><p>  6.理論計(jì)算方法總結(jié)</p><p>  仿真完成之后,掌握如何去利用已有的指標(biāo)去設(shè)計(jì)一個(gè)濾波器,總的來(lái)說(shuō)就是四項(xiàng):</p><p>  通過(guò)傅里葉逆變換獲得理想濾波器的單位脈沖響應(yīng)hd(n)。</p><p>  分析給定參數(shù),計(jì)算出濾波器的階數(shù),頻率等等相關(guān)指標(biāo)。</p

54、><p>  把已經(jīng)有的參數(shù)用程序函數(shù)表達(dá)出來(lái),利用已經(jīng)有的各種內(nèi)置函數(shù)架設(shè)起濾波器。</p><p>  參看Matlab的輸出圖形和參數(shù)是否滿足要求。</p><p>  2.1.5 Matlab直接FDAtool設(shè)計(jì)方式解析</p><p>  FDATool(Filter Design & Analysis Tool)是MATLA

55、B信號(hào)處理工具箱里專用的濾波器設(shè)計(jì)分析工具,MATLAB6.0以上的版本還專門(mén)增加了濾波器設(shè)計(jì)工具箱(Filter Design Toolbox)。FDATool可以設(shè)計(jì)幾乎所有的基本的常規(guī)濾波器,包括FIR和IIR的各種設(shè)計(jì)方法。它操作簡(jiǎn)單,方便靈活。</p><p>  FDATool界面總共分兩大部分,一部分是Design Filter,在界面的下半部,用來(lái)設(shè)置濾波器的設(shè)計(jì)參數(shù),另一部分則是特性區(qū),在界面的

56、上半部分,用來(lái)顯示濾波器的各種特性。Design Filter部分主要分為:</p><p>  Filter Type(濾波器類型)選項(xiàng),包括Lowpass(低通)、Highpass(高通)、Bandpass(帶通)、Bandstop(帶阻)和特殊的FIR濾波器。</p><p>  Design Method(設(shè)計(jì)方法)選項(xiàng),包括IIR濾波器的Butterworth(巴特沃思)法、Ch

57、ebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(橢圓濾波器)法和FIR濾波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函數(shù))法。</p><p>  Filter Order(濾波器階數(shù))選項(xiàng),定義濾波器的階數(shù),包括Specify Order(指定階數(shù))和Minimum Order(最小階數(shù))。

58、在Specify Order中填入所要設(shè)計(jì)的濾波器的階數(shù)(N階濾波器,Specify Order=N-1),如果選擇Minimum Order則MATLAB根據(jù)所選擇的濾波器類型自動(dòng)使用最小階數(shù)。</p><p>  Frenquency Specifications選項(xiàng),可以詳細(xì)定義頻帶的各參數(shù),包括采樣頻率Fs和頻帶的截止頻率。它的具體選項(xiàng)由Filter Type選項(xiàng)和Design Method選項(xiàng)決定,例如

59、Bandpass(帶通)濾波器需要定義Fstop1(下阻帶截止頻率)、Fpass1(通帶下限截止頻率)、Fpass2(通帶上限截止頻率)、Fstop2(上阻帶截止頻率),而Lowpass(低通)濾波器只需要定義Fstop1、Fpass1。采用窗函數(shù)設(shè)計(jì)濾波器時(shí),由于過(guò)渡帶是由窗函數(shù)的類型和階數(shù)所決定的,所以只需要定義通帶截止頻率,而不必定義阻帶參數(shù)。</p><p>  Magnitude Specificati

60、ons選項(xiàng),可以定義幅值衰減的情況。例如設(shè)計(jì)帶通濾波器時(shí),可以定義Wstop1(頻率Fstop1處的幅值衰減)、Wpass(通帶范圍內(nèi)的幅值衰減)、Wstop2(頻率Fstop2處的幅值衰減)。當(dāng)采用窗函數(shù)設(shè)計(jì)時(shí),通帶截止頻率處的幅值衰減固定為6db,所以不必定義。</p><p>  參數(shù)要求:采樣頻率fs=100Hz,通帶下限截止頻率fc1=10 Hz,通帶上限截止頻率fc2=20 Hz,過(guò)渡帶寬6 Hz,通

61、阻帶波動(dòng)0.01,采用凱塞窗設(shè)計(jì)。</p><p>  針對(duì)一個(gè)含有5Hz、15Hz和30Hz的混和正弦波信號(hào)已知濾波器的階數(shù)n=38,beta=3.4。本例中,首先在Filter Type中選擇Bandpass;在Design Method選項(xiàng)中選擇FIR Window,接著在Window選項(xiàng)中選取Kaiser,Beta值為3.4;指定Filter Order項(xiàng)中的Specify order為38;采樣頻率Fs

62、=100Hz,截止頻率Fc1=10Hz,F(xiàn)c2=20Hz。設(shè)置完以后點(diǎn)擊窗口下方的Design Filter,在窗口上方就會(huì)看到所設(shè)計(jì)濾波器的幅頻響應(yīng),通過(guò)菜單選項(xiàng)Analysis還可以看到濾波器的相頻響應(yīng)、組延遲、脈沖響應(yīng)、階躍響應(yīng)、零極點(diǎn)配置等。設(shè)計(jì)完成后將結(jié)果保存為kaiser15.fda文件。我們可以根據(jù)FDAtool工具得到我們的濾波器相關(guān)增益。</p><p>  系數(shù)轉(zhuǎn)換成二進(jìn)制碼:</p&g

63、t;<p>  若采用乘法器,用1位整數(shù)位,1位符號(hào)位,共22位定點(diǎn)二進(jìn)制數(shù)進(jìn)行運(yùn)算,負(fù)數(shù)用補(bǔ)碼表示,由此將減法運(yùn)算變成累加求和運(yùn)算。各系數(shù)可用matlab編程轉(zhuǎn)成二進(jìn)制補(bǔ)碼: </p><p><b>  /*</b></p><p>  * Filter Coefficients (C Source) generated by the Filter

64、Design and Analysis Tool</p><p><b>  *</b></p><p>  * Generated by MATLAB(R) 7.0 and the </p><p><b>  *</b></p><p>  * Generated on: 22-Mar-2011

65、 20:09:12</p><p><b>  *</b></p><p><b>  */</b></p><p><b>  /*</b></p><p>  * Discrete-Time FIR Filter (real)</p><p>  *

66、 -------------------------------</p><p>  * Filter Structure : Direct-Form FIR</p><p>  * Filter Order : 38</p><p>  * Stable : Yes</p><p>  * Linear P

67、hase : Yes (Type 1)</p><p><b>  */</b></p><p>  /* General type conversion for MATLAB generated C-code */</p><p>  #include "tmwtypes.h"</p><p

68、><b>  /* </b></p><p>  * Expected path to tmwtypes.h </p><p>  * D:\MATLAB7\extern\include\tmwtypes.h </p><p><b>  */</b></p><p>  const int

69、BL = 39;</p><p>  const real64_T B[39] = {</p><p>  -0.0008969942906957,0.001248746631882,0.007070735236406,0.009180571739749,-8.354434235897e-018,-0.01457672567709,-0.01798701306701,-0.00518993

70、6475222,0.006300913248271,-5.136773213647e-018,-0.009200436084654,0.01113207796169,0.05739543087552,0.07065284310647,-2.116878167777e-017,-0.1149210109554,-0.1575671556317,-0.05691148173912,0.1151784185022,0.2,0.11517841

71、85022,-0.05691148173912,-0.1575671556317,-0.1149210109554,-2.116878167777e-017,0.07065284310647,0.05739543087552,0.01113207796169,-0.00920</p><p><b>  };</b></p><p>  這是一個(gè)非常典型的例子,可以清

72、晰的看到利用Matlab提供的FDAtool設(shè)計(jì)濾波器的方便與快捷。比較以上幾種類型的濾波器參數(shù),在給定的參數(shù)要求下,采用橢圓濾波器可以獲得最佳的幅頻響應(yīng)特性,具有階數(shù)低,過(guò)渡帶窄等優(yōu)點(diǎn)。雖然橢圓濾波器在通帶也會(huì)產(chǎn)生波動(dòng),但考慮到波動(dòng)處在可接受的范圍內(nèi),仍然符合設(shè)計(jì)要求。</p><p>  但由直接型傳輸函數(shù)表達(dá)式來(lái)實(shí)現(xiàn)并不實(shí)用。因此如前所說(shuō),將其分解為多個(gè)二階傳輸函數(shù)的級(jí)聯(lián)形式。借助Matlab 信號(hào)處理工具

73、箱中函tf2sos(Transfer function to second- order- section)將傳遞函數(shù)轉(zhuǎn)換為二階級(jí)聯(lián)形式。</p><p>  對(duì)于是數(shù)字信號(hào),需要對(duì)先前分析計(jì)算中分解獲得的二階子系統(tǒng)的濾波器系數(shù)進(jìn)行量化,即用一個(gè)固定的字長(zhǎng)加以表示。量化過(guò)程中由于存在不同程度的量化誤差,由此會(huì)導(dǎo)致濾波器的頻率響應(yīng)出現(xiàn)偏差,嚴(yán)重時(shí)會(huì)使濾波器的極點(diǎn)移到單位圓之外,使系統(tǒng)不穩(wěn)定。為了獲得最優(yōu)的濾波器系數(shù)

74、,量化的精度也相當(dāng)重要。</p><p>  2.1.6 FDAtool設(shè)計(jì)模板及設(shè)計(jì)結(jié)果圖</p><p>  這里把上面的濾波器設(shè)計(jì)參數(shù)的總體圖給出,如圖2-10</p><p>  圖2-10 FIR帶通濾波器總體設(shè)計(jì)參數(shù)</p><p><b>  2.2程序分析部分</b></p><p&g

75、t;  根據(jù)上述FIR低通數(shù)字濾波器的原理與濾波特性,我們?cè)谏厦娴能浖?shí)踐中已經(jīng)掌握了設(shè)計(jì)數(shù)字濾波器的方法并且成功的使用Matlab/Simulink進(jìn)行了設(shè)計(jì)和仿真。通過(guò)以上的過(guò)程我們可以導(dǎo)出一定性能的FIR濾波器頻率響應(yīng)與抽頭系數(shù),然后用Verilog HDL語(yǔ)言設(shè)計(jì)和QUARTUSⅡ仿真FIR低通數(shù)字濾波器,實(shí)現(xiàn)用軟件描述硬件的動(dòng)作及功能,應(yīng)用軟件來(lái)實(shí)現(xiàn)數(shù)字濾波器的功能和時(shí)序仿真。</p><p>  FP

76、GA 可編程邏輯元件介紹</p><p>  EDA是Electronic Design Automation的縮寫(xiě),意為電子設(shè)計(jì)自動(dòng)化,即利用計(jì)算機(jī)自動(dòng)完成電子系統(tǒng)的設(shè)計(jì)。EDA技術(shù)是以計(jì)算機(jī)和微電子技術(shù)為先導(dǎo),匯集了計(jì)算機(jī)圖形學(xué)、拓?fù)?、邏輯學(xué)、微電子工藝與結(jié)構(gòu)學(xué)和計(jì)算數(shù)學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù)。</p><p>  它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計(jì)算機(jī)領(lǐng)

77、域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作工具,在EDA軟件平臺(tái)土,根據(jù)硬件描述語(yǔ)言HDL完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合及優(yōu)化、布線、仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。</p><p>  可編程邏輯器PLD(Programmable Logic Devices)是ASIC(Application Specific Integrated Circuits的

78、一個(gè)重要分支。ASIC按制造方法又可分為全定制(Full Custom)產(chǎn)品、半定制(semi-custom)產(chǎn)品和可編程邏輯器件(PLD)。前兩種ASIC的設(shè)計(jì)和制造都離不開(kāi)器件生產(chǎn)廠家,用戶主動(dòng)性較差。隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路芯片,并盡可能縮短設(shè)計(jì)周期,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,在使用中也能比較方便的對(duì)設(shè)計(jì)進(jìn)行修改??删幊踢壿嬈骷褪菫闈M足用戶的這一需求應(yīng)

79、運(yùn)而生的。</p><p>  使用FPGA器件設(shè)計(jì)數(shù)字電路,不僅可以簡(jiǎn)化設(shè)計(jì)過(guò)程,而且可以降低整個(gè)系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無(wú)需花費(fèi)傳統(tǒng)意義下制造集成電路所需大量時(shí)間和精力,避免了投資風(fēng)險(xiǎn),成為電子器件行業(yè)中發(fā)展最快的一族。使用FPGA器件設(shè)計(jì)數(shù)字系統(tǒng)電路的主要優(yōu)點(diǎn)如下:</p><p><b>  1.設(shè)計(jì)靈活</b></p><

80、p>  使用FPGA器件,可不受標(biāo)準(zhǔn)系列器件在邏輯功能上的限制。而且修改邏輯可在系統(tǒng)設(shè)計(jì)和使用過(guò)程的任一階段中進(jìn)行,并且只須通過(guò)對(duì)所用的FPGA器件進(jìn)行重新編程即可完成,給系統(tǒng)設(shè)計(jì)提供了很大的靈活性。</p><p><b>  2.增大功能密集度</b></p><p>  功能密集度是指在給定的空間能集成的邏輯功能數(shù)量。可編程邏輯芯片內(nèi)的組件門(mén)數(shù)高,一片F(xiàn)P

81、GA可代替幾片、幾十片乃至幾百片中小規(guī)模的數(shù)字集成電路芯片。用FPGA器件實(shí)現(xiàn)數(shù)字系統(tǒng)時(shí)用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導(dǎo)致系統(tǒng)規(guī)模的全面縮減。</p><p><b>  3.提高可靠性</b></p><p>  減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)的可靠性。具有較高集成度的系統(tǒng)比用許多

82、低集成度的標(biāo)準(zhǔn)組件設(shè)計(jì)的相同系統(tǒng)具有高得多的可靠性。使用FPGA器件減少了實(shí)現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊點(diǎn)數(shù)量也隨之減少,所以系統(tǒng)的可靠性得以提高。</p><p><b>  4.縮短設(shè)計(jì)周期</b></p><p>  基于FPGA器件的可編程性和靈活性,用它來(lái)設(shè)計(jì)一個(gè)系統(tǒng)所需時(shí)間比傳統(tǒng)方法大為縮短。FPGA器件集成度高,使用時(shí)印刷線路板電路

83、布局布線簡(jiǎn)單。同時(shí),在樣機(jī)設(shè)計(jì)成功后,由于開(kāi)發(fā)工具先進(jìn),自動(dòng)化程度高,對(duì)其進(jìn)行邏輯修改也十分簡(jiǎn)便迅速。因此,使用FPGA器件可大大縮短系統(tǒng)的設(shè)計(jì)周期,加快產(chǎn)品投放市場(chǎng)的速度,提高產(chǎn)品的競(jìng)爭(zhēng)能力。</p><p><b>  5.工作速度快</b></p><p>  FPGA/CPLD器件的工作速度快,一般可以達(dá)到幾百兆赫茲,遠(yuǎn)遠(yuǎn)大于DPS器件。同時(shí),使用FPGA器件

84、后實(shí)現(xiàn)系統(tǒng)所需要的電路級(jí)數(shù)又少,因而整個(gè)系統(tǒng)的工作速度會(huì)得到提高。</p><p>  6.增加系統(tǒng)的保密性能</p><p>  很多FPGA器件都具有加密功能,在系統(tǒng)中廣泛的使用FPGA器件可以有效防止產(chǎn)品被他人非法仿制。</p><p><b>  7.降低成本</b></p><p>  使用FPGA器件實(shí)現(xiàn)數(shù)字

85、系統(tǒng)設(shè)計(jì)時(shí),如果僅從器件本身的價(jià)格考慮,有時(shí)還看不出來(lái)它的優(yōu)勢(shì),但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用FPGA的成本優(yōu)越性是很明顯的。首先,使用FPGA器件修改設(shè)計(jì)方便,設(shè)計(jì)周期縮短,使系統(tǒng)的研制開(kāi)發(fā)費(fèi)用降低;其次,F(xiàn)PGA器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費(fèi)用降低;再次,使用FPGA器件能使系統(tǒng)的可靠性提高,維修工作量減少,進(jìn)而使系統(tǒng)的維修服務(wù)費(fèi)用降低??傊褂肍PGA器件進(jìn)行系統(tǒng)設(shè)計(jì)能節(jié)約成本。&l

86、t;/p><p>  2.2.2 QuartusⅡ及Verilog HDL介紹</p><p>  Quartus II 屬于Altera公司的綜合性PLD開(kāi)發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。

87、</p><p>  Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 </p><p>  Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速

88、度。對(duì)第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDA工具。 </p><p>  此外,Quartus II 通過(guò)和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開(kāi)發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開(kāi)發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開(kāi)發(fā)平臺(tái)。 </p><p&g

89、t;  Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對(duì)Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Max

90、plus II 友好的圖形界面及簡(jiǎn)便的使用方法。 </p><p>  Altera Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。</p><p>  Verilog HDL是目前應(yīng)用最為廣泛的硬件描述語(yǔ)言。Verilog HDL可以用來(lái)進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等

91、。該語(yǔ)言適合算法級(jí),寄存器級(jí),邏輯級(jí),門(mén)級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述。Verilog HDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性。這使得我們?cè)诠δ茉O(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門(mén)級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。VerilogHDL是一種硬件描述語(yǔ)言(hardware description language),為了制作數(shù)字電路而用來(lái)描述ASIC和FPGA的設(shè)計(jì)之用。Verilog

92、HDL 的設(shè)計(jì)者想要以 C 編程語(yǔ)言為基礎(chǔ)設(shè)計(jì)一種語(yǔ)言,可以使工程師比較容易學(xué)習(xí)。</p><p>  2.2.3實(shí)際濾波器程序設(shè)計(jì)(11階FIR數(shù)字濾波器)</p><p>  FPGA實(shí)現(xiàn)FIR濾波器,首先進(jìn)行指標(biāo)選定和Matlab軟件參數(shù)仿真,然后執(zhí)行基于Verilog方法的硬件實(shí)現(xiàn)中用移位方法代替了乘法運(yùn)算。</p><p>  表2-3設(shè)計(jì)指標(biāo)要求<

93、/p><p>  根據(jù)以上指標(biāo),利用MATLAB中的FIR濾波器系數(shù)設(shè)計(jì)命令fir1(10,0.85)所設(shè)計(jì)濾波器的系數(shù)。</p><p>  表2-4 Matlab中導(dǎo)出的濾波器系數(shù)</p><p>  MATLAB軟件仿真的濾波器的抽頭系數(shù)及其幅度頻響特性如下圖2-11所示。</p><p>  圖2-11 11階FIR濾波器的抽頭系數(shù)和幅頻

94、特性曲線</p><p>  可見(jiàn)抽頭系數(shù)是奇對(duì)稱的,即:</p><p>  , 。FIR濾波器采用對(duì)稱結(jié)構(gòu),每個(gè)抽頭的輸出分別乘以相應(yīng)加權(quán)的二進(jìn)制值,再將結(jié)果相加。同時(shí),利用濾波器系數(shù)的及對(duì)稱的特性,對(duì)輸入信號(hào) 進(jìn)行如下等效: , 。</p><p>  2.2.4.VerilogHDL的實(shí)現(xiàn)</p><p>  這個(gè)方法的實(shí)現(xiàn)中,使用了

95、移位代替乘法運(yùn)算來(lái)實(shí)現(xiàn)濾波器乘加的方法。由于濾波器系數(shù)都是小數(shù),所以我們先左移7位(即放大128倍),再用相應(yīng)的移位來(lái)近似這些系數(shù),最后經(jīng)過(guò)乘加運(yùn)算得到結(jié)果,對(duì)這個(gè)結(jié)果再右移7位(即縮小128倍)即可得出正確的結(jié)果。 各個(gè)系數(shù)的移位情況如下:其中2表示左移1位,1表示不移位,0.5表示右移1位,其他依次類推:</p><p>  128×h(0)=128×0.036=0.4608=0.

96、5-0.03125</p><p>  128×h(1)=128×0.0127=1.6256=1+0.5+0.125</p><p>  128×h(2)=128×0.0417=5.3376=4+1+0.25+0.625+0.03125</p><p>  128×h(3)=128×0.0878=11.23

97、84=8+4-1+0.25</p><p>  128×h(4)=128×0.1318=16.8704=16+1-0.125</p><p>  128×h(5)=128×0.8500=108.800=128-16-4+0.25+0.0625</p><p>  這樣,我們就可以把這個(gè)11階FIR數(shù)字濾波器的輸出用一下的算式得

98、到</p><p>  表2-5 Verilog方法設(shè)計(jì)FIR的實(shí)驗(yàn)數(shù)據(jù)</p><p>  圖 2-12系數(shù)放大后求SUM</p><p>  計(jì)算得到結(jié)果后再將sum右移7位,即可得到正確結(jié)果。程序的功能仿真結(jié)果如下圖2-12所示。</p><p><b>  圖2-13功能仿真</b></p><

99、;p>  由上圖2-12可以看出,tap0到tap10是輸入x的依次延時(shí)1個(gè)時(shí)鐘周期,結(jié)果sum輸出相對(duì)于輸入x延遲了2個(gè)時(shí)鐘周期,y輸出相對(duì)于sum輸出延遲了1個(gè)時(shí)鐘周期,這和程序設(shè)計(jì)相符合。同時(shí),對(duì)比程序運(yùn)行結(jié)果和MATLAB的計(jì)算結(jié)果(如章節(jié)開(kāi)頭表格所示),可知,二者結(jié)果是一致的,其中個(gè)別數(shù)據(jù)的小誤差是由于移位取代小數(shù)乘法運(yùn)算帶來(lái)的誤差。因此,程序設(shè)計(jì)是正確的。</p><p>  于是,根據(jù)以上所有

100、思想我們可以得出以下11階FIR數(shù)字濾波器的Verilog程序如下:</p><p>  ///////////////////////////////////////////////////////////////////////////////</p><p>  // Company: </p><p>  // Engineer:</p>&l

101、t;p>  // Create Date: 17:01:38 11/03/06</p><p>  // Design Name: </p><p>  // Module Name: ycj</p><p>  // Project Name: </p><p>  // Target Device: <

102、/p><p>  // Tool versions: </p><p>  // Description:用Verilog編寫(xiě)的fir濾波器程序</p><p>  // Dependencies:</p><p>  // Revision:</p><p>  // Revision 0.01 - File Crea

103、ted</p><p>  // Additional Comments:</p><p>  ////////////////////////////////////////////////////////////////</p><p>  module firv2(clk, x, y);</p><p>  input clk;<

104、/p><p>  input [7:0] x;</p><p>  output [25:0] y;</p><p>  reg [26:0] y;</p><p>  reg[7:0] x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16;</p><p> 

105、 wire[21:0] acc1,acc2,acc3,acc4,acc5,acc6,acc7,acc8,acc9,acc10,acc11,acc12,acc13,acc14,acc15,acc16,acc17;</p><p>  reg [8:0]sxin[0:32];</p><p>  reg [5:0]i,k;</p><p>  reg [8:0]xx[1

106、6:0];</p><p>  parameter c0=-21,</p><p><b>  c1=-8,</b></p><p><b>  c2= 22,</b></p><p><b>  c3=34,</b></p><p><b>

107、  c4=6,</b></p><p><b>  c5=-34,</b></p><p><b>  c6=-31,</b></p><p><b>  c7=32,</b></p><p><b>  c8=87,</b></p>

108、;<p><b>  c9=32,</b></p><p><b>  c10=-154,</b></p><p><b>  c11=-321,</b></p><p><b>  c12=-217,</b></p><p><b&g

109、t;  c13=321,</b></p><p><b>  c14=1185,</b></p><p><b>  c15=1996,</b></p><p>  c16=2328; </p><p>  always @ (posedge clk)</p><p

110、><b>  begin </b></p><p>  xx[16]<=sxin[16] ;</p><p>  for(i=0;i<16;i=i+1)</p><p>  xx[i]<=sxin[i]+sxin[32-i] ;</p><p>  for(k=32;k>0;k=k-1)&l

111、t;/p><p>  sxin[k]<=sxin[k-1]; </p><p>  sxin[0]<={x[7],x};</p><p><b>  end</b></p><p>  mult13_8 uut0(clk,c0,xx[0],acc1); </p><p>  mult13_

112、8 uut1(clk,c1,xx[1],acc2);</p><p>  mult13_8 uut2(clk,c2,xx[2],acc3);</p><p>  mult13_8 uut3(clk,c3,xx[3],acc4);</p><p>  mult13_8 uut4(clk,c4,xx[4],acc5); </p><p>  mu

113、lt13_8 uut5(clk,c5,xx[5],acc6);</p><p>  mult13_8 uut6(clk,c6,xx[6],acc7);</p><p>  mult13_8 uut7(clk,c7,xx[7],acc8);</p><p>  mult13_8 uut8(clk,c8,xx[8],acc9); </p><p>

114、;  mult13_8 uut9(clk,c9,xx[9],acc10);</p><p>  mult13_8 uut10(clk,c10,xx[10],acc11);</p><p>  mult13_8 uut11(clk,c11,xx[11],acc12);</p><p>  mult13_8 uut12(clk,c12,xx[12],acc13); &l

溫馨提示

  • 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ù)僅提供信息存儲(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)論