版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計</b></p><p><b> (20 屆)</b></p><p> 基于DSP Builder的數(shù)字陷波器設(shè)計</p><p> 所在學(xué)院 </p><p> 專業(yè)班級
2、電子信息工程 </p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b&
3、gt;</p><p> 數(shù)字濾波器是指能濾除特定噪聲的設(shè)備。理想數(shù)字濾波器能在保證其他頻率的信號不損失的情況下有效的抑制輸入信號中某些頻率信息。目前的濾波器有很多種,數(shù)字陷波器是最常用的濾波器之一。數(shù)字陷波器主要實現(xiàn)濾除單一頻率信號噪聲的功能,是一種特殊的帶阻濾波器。</p><p> 數(shù)字陷波器可以采用IIR或者FIR結(jié)構(gòu)實現(xiàn)。經(jīng)過筆者的設(shè)計與計算,若采用FIR結(jié)構(gòu),則濾波器的階數(shù)
4、高達(dá)兩百多階。而采用IIR結(jié)構(gòu),階數(shù)大大降低,無論從硬件資源還是實時性要求來考慮,性價比較高。因此筆者最終選擇IIR結(jié)構(gòu)。</p><p> 文章闡述了本課題的應(yīng)用背景以及研究意義。概述了本次設(shè)計涉及的三個平臺,包括Matlab、DSP Builder和QuartusⅡ。同時介紹了基于DSP Builder的設(shè)計流程。根據(jù)IIR陷波器結(jié)構(gòu),實現(xiàn)了基于DSP Builder的陷波器建模,然后以這一模型為基礎(chǔ),實現(xiàn)
5、了濾除100 Hz 噪聲的要求。并對設(shè)計結(jié)果進(jìn)行功能驗證及仿真,最后利用signal compiler工具將模型進(jìn)行轉(zhuǎn)換、綜合和適配,生成QuartusⅡ下的工程。對該工程進(jìn)行最終的行為級仿真,經(jīng)驗證正確后,即可下載至FPGA板,驅(qū)動目標(biāo)程序。</p><p> 論文還記錄和整理了設(shè)計、調(diào)試和仿真過程中出現(xiàn)的問題,給出自己的分析,供讀者參考。</p><p> 關(guān)鍵詞:數(shù)字陷波器;II
6、R;DSP Builder;QuartusⅡ</p><p><b> Abstract</b></p><p> Digital filters are an instrument to filter certain noise. An ideal digital filter could effectively suppress some frequency
7、parts of the input signal without losing other frequency parts. Currently, there are a variety of filters. The FIR digital filter is one of the most common used filters and also a special type of band-stop digital filter
8、, which achieve the function that suppresses a single frequency part of signal. </p><p> Digital filters can be implemented by adopting IIR or FIR structure. From the author's design and calculation, th
9、e order of digital filter would be over two hundred, when the FIR structure is adopted. The digital filter is more cost-effective in terms of hardware resources and real-time requirements as the order of digital filter d
10、ecreases considerably when the IIR structure is adopted. Therefore IIR structure is chose by author to implement the digital filter. </p><p> This paper describes the application background of this issue an
11、d the research significance and outlines three application platforms the design involves, including Matlab, DSP Builder and Quartus Ⅱ.Meantime ,this paper illustrates the design flow based on DSP Builder. The model of FI
12、R digital filter based on DSP Builder has been implemented basing IIR digital filter structure. Then the requirement of filtering 100 Hz noise has been achieved, which is based on this model. After that,functional ve<
13、/p><p> This paper also records and organizes problems within the process of design, debugging and simulation and gives author’s own analysis for reference.</p><p> Key Words: Digital Filter, IIR
14、 ,DSP Builder, QuartusⅡ</p><p><b> 目 錄</b></p><p><b> 1引言1</b></p><p> 1.1課題的應(yīng)用背景和意義1</p><p> 1.2論文的內(nèi)容與組織結(jié)構(gòu)2</p><p> 2數(shù)字濾波
15、技術(shù)概述3</p><p> 2.1IIR數(shù)字濾波器原理及實現(xiàn)3</p><p> 2.2FIR數(shù)字濾波器原理及實現(xiàn)6</p><p><b> 3設(shè)計平臺概述7</b></p><p> 3.1Matlab集成環(huán)境介紹7</p><p> 3.1.1Matlab軟件概述7&
16、lt;/p><p> 3.1.2Simulink簡介8</p><p> 3.2 DSP Builder概述9</p><p> 3.2.1 DSP Builder平臺概述9</p><p> 3.2.2 DSP Builder平臺設(shè)計流程9</p><p> 3.3 Quartus II集成環(huán)境概述1
17、1</p><p> 4基于DSP Builder的IIR濾波器設(shè)計與實現(xiàn)13</p><p> 4.1利用FDA Tool工具設(shè)計濾波器13</p><p> 4.2基于DSP Builder的陷波器建模17</p><p> 4.3系統(tǒng)的頂層設(shè)計與轉(zhuǎn)換20</p><p><b> 5調(diào)
18、試與仿真23</b></p><p> 5.1Simulink中對模型進(jìn)行仿真23</p><p> 5.2Quartus II行為仿真23</p><p><b> 6總結(jié)25</b></p><p> 致 謝錯誤!未定義書簽。</p><p><b>
19、 參考文獻(xiàn)26</b></p><p><b> 1引言</b></p><p> 1.1課題的應(yīng)用背景和意義</p><p> 濾波是信號處理的重要環(huán)節(jié)之一。數(shù)字濾波器在圖像處理、語音識別、模式識別、高清電視等數(shù)字信號處理中都起著關(guān)鍵作用。數(shù)字濾波器可以滿足濾波器幅度和相位特性的嚴(yán)格要求,可以克服模擬濾波器所無法克服的電壓
20、漂移、溫度漂移和噪聲等問題[1]。而傳統(tǒng)的模擬濾波器在精度上無法與數(shù)字濾波器相比,尤其是在多阻帶多通帶濾波器設(shè)計方面,模擬濾波器更是無能為力,因此對數(shù)字濾波器的研究是十分必要且有廣泛應(yīng)用價值的。</p><p> 數(shù)字濾波器實際上是一個采用有限精度算法實現(xiàn)的線性非時變離散系統(tǒng), 理想帶阻數(shù)字濾波器,能在保證其他頻率的信號不損失的情況下,有效的抑制輸入信號中某一頻率信息[2]。目前陷波器硬件實現(xiàn)主要有模擬電路方式
21、與數(shù)字電路方式。根據(jù)數(shù)字濾波器沖激響應(yīng)函數(shù)的時域特性,可將數(shù)字濾波器分為無限長沖激響應(yīng)(IIR)濾波器和有限長沖激響應(yīng)(FIR)濾波器兩種。IIR數(shù)字濾波器與FIR數(shù)字濾波器相比, 它可以用較低的階數(shù)獲得較高的選擇性, 在實現(xiàn)時所用存儲單元少, 經(jīng)濟(jì)而且高效, 在相同門級規(guī)模和相同時鐘速度下可以提供更好的帶外衰減特性等突出優(yōu)點而在工程實際中獲得廣泛應(yīng)用[2]。因此本課題擬定采用IIR數(shù)字濾波器結(jié)構(gòu)。</p><p&g
22、t; 濾波器的硬件平臺主要有單片機、FPGA和DSP等。FPGA是目前電路系統(tǒng)設(shè)計的主要實現(xiàn)硬件之一,也是數(shù)字信號處理的主要實現(xiàn)平臺。FPGA具有功耗低,運算速度快,通用性強,能重復(fù)/在線編程的優(yōu)點,使用FPGA來進(jìn)行數(shù)字信號處理可以縮小硬件規(guī)模,提高系統(tǒng)的靈活性、可靠性和實時性[2],所以很多工程應(yīng)用可編程邏輯門陣列(FPGA)來完成數(shù)字信號處理。</p><p> 本次設(shè)計采用IIR數(shù)字濾波器結(jié)構(gòu),利用D
23、SP Builder建立陷波器的模型設(shè)計,并在DSP Builder平臺上完成仿真和編譯?;贒SP Builder的模塊化設(shè)計,可以直接利用DSP Builder中自帶的模塊進(jìn)行設(shè)計,仿真和編譯即可。編譯正確后,利用綜合、轉(zhuǎn)換工具將模塊化的設(shè)計轉(zhuǎn)換為VHDL語言,最后在Quartus II中進(jìn)行FPGA的實現(xiàn)。設(shè)計周期大大縮短,而且設(shè)計難度大大降低??杀苊夥爆嵉某绦虼a編寫,也可降低對設(shè)計人員的硬件設(shè)計能力要求。</p>
24、<p> 1.2論文的內(nèi)容與組織結(jié)構(gòu)</p><p> 圍繞課題,主要完成以下工作:</p><p> 熟悉Matlab軟件,熟悉MATLAB中利用FDA Tool工具設(shè)計濾波器的一般流程;</p><p> 了解和熟悉IIR陷波器的原理,查閱相關(guān)的陷波器資料,完成基于DSP Builder的數(shù)字陷波器建模;</p><p&g
25、t; 為了驗證IIR陷波器的性能,給已經(jīng)完成的數(shù)字陷波器模型加上顯示設(shè)備和信號源,信號源的輸出作為數(shù)字陷波器的輸入,在Matlab/Simulink進(jìn)行軟件仿真,設(shè)計實現(xiàn)達(dá)到性能指標(biāo)的數(shù)字陷波器,最后完成頂層文件設(shè)計,實現(xiàn)系統(tǒng)的編譯和仿真,并分析驗證其正確性;</p><p> 對設(shè)計與調(diào)試過程中出現(xiàn)的問題進(jìn)行整理和分析。</p><p> 本文一共有六章,第一章為引言,簡單介紹課題
26、的應(yīng)用背景與論文的組織結(jié)構(gòu);第二章介紹IIR和FIR數(shù)字濾波器技術(shù)的原理與實現(xiàn)方法;第三章就本論文涉及的DSP Builder平臺,Matlab軟件以及Quartus II集成環(huán)境進(jìn)行了概述;第四章為本論文的重點,詳細(xì)闡述了設(shè)計過程。在FDA Tool 濾波器設(shè)計軟件中輸入課題的相關(guān)參數(shù),計算得到IIR陷波器的階數(shù)、系數(shù)等相關(guān)參數(shù)。在Matlab/DSP Builder環(huán)境下建立IIR陷波器模型,實現(xiàn)系統(tǒng)功能;第五章為本次設(shè)計的仿真、調(diào)
27、試及驗證;第六章總結(jié)了本次設(shè)計中出現(xiàn)的困難以及如何解決的過程。</p><p><b> 2數(shù)字濾波技術(shù)概述</b></p><p> 2.1IIR數(shù)字濾波器原理及實現(xiàn)</p><p> IIR濾波器也稱為無限脈沖響應(yīng)濾波器,當(dāng)系統(tǒng)無嚴(yán)格相位要求時,對于相同的設(shè)計指標(biāo),F(xiàn)IR濾波器所要求的階數(shù)比IIR濾波器高5~10倍,而且信號的延遲也較
28、大。IIR濾波器相比FIR濾波器可以用較低的階數(shù)獲得較高的選擇性[3]。</p><p> 一個IIR濾波器的系統(tǒng)函數(shù)和表示這一系統(tǒng)輸入輸出關(guān)系的N階差分方程分別如式2-1和2-2所示。</p><p><b> (2-1)</b></p><p><b> (2-2)</b></p><p>
29、; 其中式2-2中等號右邊第二項表示將輸入加以延時,組成M節(jié)的延時網(wǎng)絡(luò),把每節(jié)延時抽頭后加權(quán)(加權(quán)系數(shù)是bk),然后把結(jié)果相加,這就是一個橫向結(jié)構(gòu)網(wǎng)絡(luò)[4]。式2-2中等號右邊第一項表示將輸入加以延時,組成N節(jié)的延時網(wǎng)絡(luò),然后將每節(jié)延時抽頭后加權(quán)(加權(quán)系數(shù)是ak),然后把結(jié)果相加,最后的輸出y(n)是兩個和式相加而構(gòu)成。由于包含了輸入的延時部分,故它是個有反饋的網(wǎng)絡(luò)[4]。式2-2中等號右邊第一項構(gòu)成了反饋網(wǎng)絡(luò),這種結(jié)構(gòu)稱為直接I型結(jié)
30、構(gòu)。其結(jié)構(gòu)流圖如圖2-1所示。由圖可看出,總的網(wǎng)絡(luò)是由上面討論的兩部分網(wǎng)絡(luò)級聯(lián)組成,第一個網(wǎng)絡(luò)實現(xiàn)零點,第二個網(wǎng)絡(luò)實現(xiàn)極點,從圖中又可看出,直接I型結(jié)構(gòu)需要(N + M)級延時單元[4]。</p><p> 圖2-1 直接I型二階網(wǎng)絡(luò)結(jié)構(gòu)</p><p> 從圖2-1可以看出兩行串行延時支路有相同的輸入,因而可以將其合并,則得到圖2-2的結(jié)構(gòu),稱為直接II型結(jié)構(gòu),或典范型結(jié)構(gòu)。<
31、;/p><p> 圖2-2 直接II型網(wǎng)絡(luò)結(jié)構(gòu)</p><p> 這種結(jié)構(gòu),對于N階差分方程只需N個延時單元(一般滿足N>=M),因而比直接I型的延時單元要少,這也是實現(xiàn)N階濾波器所需的最少延時單元,因而又稱典范型。它可以節(jié)省存儲單元(軟件實現(xiàn)),或節(jié)省寄存器(硬件實現(xiàn)),比直接I型為好。但是,他們都是直接型的實現(xiàn)方法,其共同的缺點是系數(shù)ak,bk 對濾波器的性能控制作用不明顯,這
32、是因為它們與系數(shù)函數(shù)的零、極點關(guān)系不明顯,因而調(diào)整困難;此外,這種結(jié)構(gòu)極點對系數(shù)的變化過于靈敏,從而使系統(tǒng)頻率響應(yīng)對系數(shù)的變化過于靈敏,也就是對有限精度(有限字長)運算過于靈敏,容易出現(xiàn)不穩(wěn)定或產(chǎn)生較大誤差[4]。</p><p> M=N=2時的系統(tǒng)函數(shù)如式2-3所示,由此可以得出圖2-3的直接II型二階網(wǎng)絡(luò)結(jié)構(gòu)。</p><p><b> (2-3)</b>&
33、lt;/p><p> 圖2-3 直接II型IIR二階網(wǎng)絡(luò)結(jié)構(gòu)</p><p> 級聯(lián)的節(jié)數(shù)視具體情況而定,當(dāng)M = N時,共有(N+1)/2節(jié)(N+1)/2表示N+1/2的整數(shù),如果有奇數(shù)個實零點,則有一個系數(shù)a2k等于零。每一個二階子系統(tǒng)Hk(z)被稱為二階基本節(jié),Hk(z)是用典范型結(jié)構(gòu)來實現(xiàn)的。一個六階節(jié)系統(tǒng)的級聯(lián)實現(xiàn)如圖2-4所示。</p><p> 圖
34、2-4 級聯(lián)型IIR六階網(wǎng)絡(luò)結(jié)構(gòu)</p><p> 級聯(lián)結(jié)構(gòu)的特點是調(diào)整系數(shù)B1k、B2k就能單獨調(diào)整濾波器第k對零點,而不影響其他零、極點[4],同樣,調(diào)整系數(shù)a1k,a2k就能單獨調(diào)整濾波器第k對極點,而不影響其他零、極點。所以這種結(jié)構(gòu),便于準(zhǔn)確實現(xiàn)濾波器零、極點,因而便于調(diào)整濾波器頻率響應(yīng)性能。</p><p> IIR濾波器的實現(xiàn)有多種結(jié)構(gòu),直接型、級聯(lián)型、并聯(lián)型及格型結(jié)構(gòu)等
35、。其中級聯(lián)型較為容易實現(xiàn)且易于實現(xiàn)高階濾波器,且任何高階IIR濾波器都能表示成一階和二階的級聯(lián)[5]。故本文以直接II型二階的級聯(lián)為例闡述基于FPGA的數(shù)字陷波器設(shè)計。</p><p> 2.2FIR數(shù)字濾波器原理及實現(xiàn)</p><p> FIR濾波器也稱為有限脈沖響應(yīng)濾波器。FIR網(wǎng)絡(luò)結(jié)構(gòu)特點是沒有反饋支路,即沒有環(huán)路,其單位脈沖響應(yīng)是有限長的,將卷積的數(shù)量降低到每個采樣時刻為有限個
36、[5]。FIR濾波器具有嚴(yán)格的線性相位又具有任意的幅度,同時FIR濾波器的單位抽樣響應(yīng)是有限長的,因而濾波器性能穩(wěn)定,而且FIR濾波器由于單位沖擊響應(yīng)是有限長的,因而可用快速傅里葉變換(FFT)算法來實現(xiàn)過濾信號,可大大提高運算效率。設(shè)單位脈沖響應(yīng)h(n)長度為N,其系統(tǒng)函數(shù)H(z)和差分方程分別如式2-4和2-5所示。</p><p><b> (2-4)</b></p>
37、<p><b> (2-5)</b></p><p> 按照系統(tǒng)函數(shù)H(z)可直接畫出結(jié)構(gòu)圖,如圖2-5所示。這種結(jié)構(gòu)稱為直接型網(wǎng)絡(luò)結(jié)構(gòu)或者稱為卷積型結(jié)構(gòu)。</p><p> 圖2-5 四階FIR濾波器網(wǎng)絡(luò)結(jié)構(gòu)</p><p><b> 3設(shè)計平臺概述</b></p><p>
38、 本章概述與課題實現(xiàn)相關(guān)的集成環(huán)境。首先簡述Matlab的主要功能、構(gòu)成以及Simulink相關(guān)內(nèi)容,其次詳細(xì)闡述DSP Builder的主要功能以及設(shè)計流程,最后介紹Quartus II的環(huán)境和功能。</p><p> 3.1Matlab集成環(huán)境介紹</p><p> 3.1.1Matlab軟件概述</p><p> Matlab是矩陣實驗室(Matrix
39、Laboratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。于20世紀(jì)80年代中期推出的一種高性能數(shù)值計算軟件,Matlab時至今日,經(jīng)過20余年的開發(fā)擴(kuò)充和不斷的完善,已經(jīng)發(fā)展成為了一款適合多科學(xué)應(yīng)用,功能強大的大型的系統(tǒng)軟件,它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進(jìn)行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決
40、方案[6]。在國外,MATLAB已經(jīng)經(jīng)受了多年考驗。在歐美等高校,MATLAB已經(jīng)成為線性代數(shù)、自動控制理論、數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等高級課程的基本教學(xué)工具;成為攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本技能。在設(shè)計研究單位和工業(yè)部門,MATLAB被廣泛用于科學(xué)研究和解決各種具體問題[7]。</p><p> Matlab具有其他高級語言(如C++、C、Fortran、Basic
41、和Pascal等)難以比擬的一些優(yōu)點,如編寫簡單、編程效率高、易學(xué)易懂等,用Matlab編寫程序,猶如在一張演算紙上排列公式和求解問題一樣高效率,因此被稱為“科學(xué)便箋式”的科學(xué)工程計算語言[8]。</p><p> Matlab是由主包和功能不一的工具箱組成,最基本的數(shù)據(jù)結(jié)構(gòu)是矩陣。Matlab系統(tǒng)主要由五個部分構(gòu)成:1. Matlab語言2.Matlab工作環(huán)境3. 制圖4. Matlab的數(shù)學(xué)的函數(shù)庫。5.
42、 Matlab應(yīng)用程序接口(API)。 Matlab的核心是一個基于矩陣運算的快速解釋程序,它提供給用戶一個開放式的集成環(huán)境,用戶可以自由運行系統(tǒng)提供的多項命令,包括圖形的繪制,數(shù)值的計算等。它以一種交互的方式接受用戶輸入的各種指令,最終輸出計算的結(jié)果[9]。</p><p> 3.1.2Simulink簡介</p><p> Simulink(Dynamic System Simul
43、ation)是作為Matlab 工具箱之一,是最重要的組件,提供一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。可以針對控制系統(tǒng)、信號處理及通信系統(tǒng)等進(jìn)行系統(tǒng)的建模、仿真和分析等工作[10]。在該環(huán)境中,無需大量書寫程序,而只需要通過簡單直觀的鼠標(biāo)操作,就可構(gòu)造出復(fù)雜的系統(tǒng)。被廣泛應(yīng)用于線性系統(tǒng)、非線性系統(tǒng)、數(shù)字控制及數(shù)字信號處理的建模和仿真中。</p><p> 為了創(chuàng)建動態(tài)系統(tǒng)模型,Simulink提供了一個建
44、立模型方塊圖的圖形用戶接口(GUI) ,模型由模塊組成的框圖來表示。這個創(chuàng)建過程只需單擊和拖動鼠標(biāo)操作就能完成,該平臺提供了一種更快捷、直接明了的方式,而且用戶可以立即看到系統(tǒng)的仿真結(jié)果。</p><p> Simulink包括:輸入方式(Sink)、輸入源(Source)、線性(Linear)、非線性元件(Nonlinear)、連接與接口(Connectors)和其他環(huán)節(jié)(Extra)子模型庫[11]。而且每
45、個子模塊庫中包含有相應(yīng)的功能模塊,用戶可以自定義屬于自己的模塊。Simulink的模塊庫如圖3-1所示。</p><p> 圖3-1 模塊庫瀏覽器</p><p> 在Matlab窗口的工具欄中單擊,或者在Command window中鍵入指令“simulink”,就可以啟動Simulink的模塊瀏覽器。從這個窗口中可以看到Simulink所提供的模塊庫和具體模塊。建立完模型后,就可
46、以利用Simulink的菜單或者在Matlab的命令窗口輸入命令來對模型進(jìn)行仿真。仿真后的結(jié)果可以用圖形的方式顯示在類似示波器的窗口內(nèi)。為便于觀察結(jié)果,也可以將輸出結(jié)果以變量的方式保存下來。</p><p> 3.2DSP Builder概述</p><p> 3.2.1DSP Builder平臺概述</p><p> DSP Builder是美國Altera
47、公司推出的一個面向DSP開發(fā)的系統(tǒng)級開發(fā)工具,Altera DSP Builder將The MathWorks MATLAB和Simulink系統(tǒng)級設(shè)計工具的算法開發(fā)、仿真和驗證功能與VHDL綜合、仿真和Altera開發(fā)工具整合在一起,實現(xiàn)了這些工具的集成[12]。DSP Builder在算法友好的開發(fā)環(huán)境中幫助設(shè)計人員生成DSP設(shè)計硬件表征?;贒SP Builder的模塊化設(shè)計,則可以避免繁瑣的程序代碼編寫,也可以降低對設(shè)計人員額度
48、硬件設(shè)計能力要求,從而縮短了DSP設(shè)計周期。設(shè)計人員可以使用DSP Builder模塊迅速生成Simulink系統(tǒng)建模硬件。DSP Builder包括比特和周期精度的Simulink模塊,涵蓋了算法和存儲功能等基本操作??梢允褂肈SP Builder模型中的MegaCore功能實現(xiàn)復(fù)雜功能的集成。利用DSP Builder中的模塊進(jìn)行設(shè)計,編譯與仿真。當(dāng)編譯正確后,可以利用綜合,轉(zhuǎn)化工具將模塊化的設(shè)計轉(zhuǎn)換為VHDL語言,最后在Quart
49、us II中進(jìn)行FPGA的實現(xiàn)。</p><p> 3.2.2 DSP Builder平臺設(shè)計流程</p><p> DSP Builder是一個系統(tǒng)級(或者說算法級)設(shè)計工具,它架構(gòu)在多個軟件工具之上,并連接系統(tǒng)級的算法仿真建模和RTL級的硬件實現(xiàn)兩個設(shè)計領(lǐng)域的設(shè)計工具,最大程度地發(fā)揮了這兩種工具的優(yōu)勢[13]。DSP Builder依賴于Math-Works公司的數(shù)學(xué)分析工具M(jìn)at
50、lab/Simulink,以Simulink的Blockset出現(xiàn),可在 simulink中進(jìn)行圖形化設(shè)計和仿真,同時又通過signal Compiler把Maltlab/Simulink/DSP Builder的設(shè)計文件轉(zhuǎn)成相應(yīng)的VHDL設(shè)計文件,以及用控制綜合與編譯的tcl腳本。而對后者的處理可以由FPGA/CPLD開發(fā)工具 QuartusⅡ完成[13]。設(shè)計者可以利用DSP Builder中的功能塊來為Simulink中的系統(tǒng)模型
51、創(chuàng)建硬件。DSP Builder包含了按周期設(shè)計和按位的Simulink功能塊,這些功能塊覆蓋了一些最基本的操作,比如說存儲和運算的功能。</p><p> DSP Builder的SignalComiler塊讀入Simulink的模型文件(.mdl),這個模型文件是用DSP Builder和MageCore塊生成的,接著生成VHDL文件和TCL腳本文件,用于綜合和硬件的實現(xiàn)與仿真。DSP Builder可以幫
52、助設(shè)計者完成基于FPGA的DSP或者其他的電子系統(tǒng)設(shè)計。DSP Builder可以自動完成大部分的設(shè)計仿真過程,替設(shè)計者省去了麻煩的設(shè)計過程。圖3-2顯示的是DSP Builder的設(shè)計流程。</p><p> 圖3-2 DSP Builder設(shè)計及步驟</p><p> 設(shè)計的具體步驟如下:</p><p><b> 1.自動流程:</b&
53、gt;</p><p> 第一步:在Matlab中的Simulink環(huán)境中建立一個(.mdl)模型文件,調(diào)用DSP Builder和Simulink庫中的圖形模塊,連接構(gòu)成一個系統(tǒng)級的設(shè)計框圖,這個就是Simulink的設(shè)計模型。</p><p> 第二步:在Simulink中進(jìn)行系統(tǒng)級仿真,分析這個設(shè)計模型的正確性。</p><p> 第三步:DSP Bui
54、lder完成VHDL轉(zhuǎn)換、綜合、適配、下載。</p><p> 第四步:嵌入式邏輯分析儀實時測試。</p><p><b> 2.手動流程:</b></p><p> 第一步:在Simulink環(huán)境中調(diào)用Altera DSP庫(非MATLAB自帶的DSP庫)中的塊,進(jìn)行數(shù)學(xué)模型設(shè)計[13]。</p><p> 第
55、二步:在MATLAB中進(jìn)行純數(shù)學(xué)上的仿真、驗證及修改。</p><p> 第三步:當(dāng)仿真符合設(shè)計要求后,再加入并運行Signal Compiler模塊,將.mdl文件自動轉(zhuǎn)成.vhd文件,進(jìn)行RTL級的功能仿真和邏輯綜合。</p><p> 第四步:在QuartusⅡ中進(jìn)行編譯設(shè)計并進(jìn)行時序仿真。</p><p><b> 第五步:引腳鎖定。<
56、/b></p><p> 第六步:下載/配置與嵌入式邏輯分析儀等實時測試。</p><p> 第七部:對配置器件編程,設(shè)計完成。</p><p> 3.3 Quartus II集成環(huán)境概述</p><p> Quartus II是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Al
57、tera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程[14]。</p><p> Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點[14]。</p>
58、<p> 此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺[14]。Quartus II的設(shè)計工具支持VHDL,Verilog的設(shè)計流程,因為Quartus II設(shè)計工具內(nèi)部擁有VHDL,Verilog邏輯綜合器。Qu
59、artus II同時也可以使用第三方的綜合工具,比如說Synplify Pro ,Leonardo Spectrum,F(xiàn)PGA Compiler II,并且能夠直接調(diào)用這些工具。同樣的,Quartus II也具備仿真的功能,并且也支持第三方的仿真工具,比如ModelSim。此外,Quartus II能與Matlab和DSP Builder結(jié)合,能夠進(jìn)行基于FPGA的DSP系統(tǒng)的開發(fā),是EDA工具中實現(xiàn)DSP硬件系統(tǒng)的一種關(guān)鍵工具。<
60、;/p><p> Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺[14]。該平臺支持一個工作組環(huán)境下的設(shè)計要求,其中包括支持基于Internet的協(xié)作設(shè)計。Quartus平臺與Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進(jìn)了軟件的LogicLock模塊設(shè)計功能,增添了FastFit編譯選項,推進(jìn)了網(wǎng)絡(luò)編
61、輯性能,而且提升了調(diào)試能力,支持MAX7000/MAX3000等乘積項器件[15]。</p><p> 此外,在QuartusII中還包含了許多十分有用的LPM(Library of Parameterized Modules)模塊,它們都是高級或者復(fù)雜系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計中被設(shè)計者大量使用。</p><p> 4基于DSP Builder的IIR濾波器設(shè)計與實現(xiàn)&l
62、t;/p><p> 4.1利用FDA Tool工具設(shè)計濾波器</p><p> Matlab中提供了功能強大的Simulink仿真軟件。Simulink環(huán)境下,可以對所設(shè)計的濾波器進(jìn)行仿真。FDA Tool(filter design analysis tool)是Matlab信號處理工具箱專用的濾波器設(shè)計分析工具,操作簡單,靈活。可以采用多種方法設(shè)計FIR和IIR濾波器。根據(jù)已經(jīng)給出的設(shè)
63、計指標(biāo):設(shè)計一個數(shù)字陷波器濾除100Hz噪聲,3db帶邊頻率為95,105 Hz,阻帶衰減不小于30db。根據(jù)采樣定理可得,采樣頻率為fs≥2fc,所以數(shù)字陷波器系統(tǒng)的采樣頻率可選擇為1000Hz。則FDA Tool參數(shù)輸入如圖4-1所示。</p><p> 圖4-1 FDA Tool參數(shù)設(shè)定</p><p> 因為陷波器是一種特殊的帶阻濾波器,所以Response Type 選擇B
64、andstop。根據(jù)任務(wù)要求,數(shù)字陷波器的設(shè)計可以選擇IIR或者FIR來實現(xiàn)。IIR濾波器也稱為無限脈沖響應(yīng)濾波器,當(dāng)系統(tǒng)無嚴(yán)格相位要求時,對于相同的設(shè)計指標(biāo),F(xiàn)IR濾波器所要求的階數(shù)比IIR濾波器高5~10倍,而且信號的延遲也較大。IIR濾波器相比FIR濾波器可以用較低的階數(shù)獲得較高的選擇性。所以選擇IIR來實現(xiàn)數(shù)字陷波器。</p><p> IIR有許多種設(shè)計方法,它的理論和設(shè)計方法已發(fā)展的相當(dāng)成熟,有多種
65、濾波器類型供選擇,如巴特沃斯(Butterworth)濾波器,切比雪夫(Chebyshev)濾波器,橢圓(Ellipse)濾波器,貝塞爾(Bessel)等。這些濾波器都有嚴(yán)格的設(shè)計公式,現(xiàn)成的曲線和圖表供設(shè)計人員使用[5]。這些濾波器有其各自的特點:巴特沃斯濾波器具有單調(diào)下降的幅頻特性;切比雪夫濾波器的幅頻特性在通帶或者阻帶有等波紋特性,可以提高選擇性;貝塞爾濾波器通帶內(nèi)有較好的線性相位特性;橢圓濾波器的選擇性相對前三種是最好的[5]。
66、</p><p> 因為橢圓濾波器可以用最少的階數(shù)實現(xiàn)最高的選擇性,實現(xiàn)更高的阻帶衰減。所以本次設(shè)計我采用橢圓濾波器來完成這次設(shè)計。FDA Tool參數(shù)設(shè)置如圖4-2所示。</p><p> 圖4-2 FDA Tool 參數(shù)設(shè)定</p><p> 如此FDA Tool中的參數(shù)設(shè)定就輸入完畢了,之后按Design Filter按鈕產(chǎn)生濾波器。得到濾波器的結(jié)構(gòu)信
67、息如圖4-3所示。由圖可看出陷波器采用四階直接II型結(jié)構(gòu)。</p><p> 圖4-3 濾波器結(jié)構(gòu)信息</p><p> 我們還可以從FDA Tool的Magnitude Response窗口看到陷波器的幅頻響應(yīng)曲線如圖4-4所示,可以看出設(shè)計的陷波器的性能指標(biāo)滿足了設(shè)計要求。</p><p> 圖4-4 幅頻響應(yīng)</p><p>
68、 之后將設(shè)計的陷波器輸出到Simulink,并加上示波器和信號源,如圖4-5。點擊運行按鈕,我們可以觀察到輸入波形和濾波后的波形,從而觀察到濾波器的效果。仿真波形如圖4-6和4-7所示。圖4-6為輸入波形,圖4-7為濾波后的波形。輸入波形為100Hz正弦信號。</p><p> 圖4-5 陷波器仿真</p><p> 圖4-6 陷波器輸入波形</p><p&g
69、t; 圖4-7 濾波后的波形</p><p> 從圖中我們可出,100Hz信號經(jīng)過濾波,幅度衰減很大,陷波器效果良好,滿足了設(shè)計要求。</p><p> 最后可在在File菜單中按Export輸出陷波器的系數(shù),如圖4-8所示。從而在DSP Builder中建立模型。輸出的系數(shù)如圖4-9所示。</p><p> 圖4-8 系數(shù)輸出界面
70、 圖4-9 濾波器系數(shù)</p><p> 4.2基于DSP Builder的陷波器建模</p><p> 一個IIR濾波器的系統(tǒng)函數(shù)和表示這一系統(tǒng)輸入輸出關(guān)系的N階差分方程分別如式4-1和4-2所示。</p><p><b> (4-1)</b></p><p><b> (4-2)
71、</b></p><p> 首先在Matlab/DSP Builder[16]平臺上,由式4-2的差分方程可以直接畫出所要設(shè)計的IIR直接型四階網(wǎng)絡(luò)圖,如圖4-10所示。按照圖4-10的直接型四階IIR濾波器結(jié)構(gòu)建立一個IIR陷波器的模型,將此模型命名為IIR,后綴名為.mdl,建立好的模型如圖4-11所示。</p><p> 圖4-10 IIR直接型四階結(jié)構(gòu)</p
72、><p> 圖4-11 IIR陷波器模型</p><p> 在圖4-11中可以看出,系統(tǒng)中共有1個輸入,輸入的為100Hz的離散正弦信號;有一個輸出Y:輸出濾波后的信號。Delay1,Delay2,Delay3,Delay4分別為四個延時器,增益模塊B0-B4組成了輸入回路,而增益模塊A1-A4組成了反饋回路。把FDA Tool中輸出的陷波器參數(shù)Numerator和Denominator
73、[17]分別輸入到B0-B4和A1-A4中。其中B0-B4的參數(shù)決定了零點,而A1-A4的參數(shù)決定了陷波器的極點。其中Gain value的值,整數(shù)取3位二進(jìn)制,小數(shù)點保留16位二進(jìn)制。這里僅以B0模塊作為例子,參數(shù)設(shè)置方式如下圖4-12所示。</p><p> 圖4-12 B0增益模塊的參數(shù)設(shè)置</p><p> Bus conversion與Block Parameters:x中
74、的“number of bit”參數(shù)設(shè)置分別如圖4-13和圖4-14所示。Block Parameters:y因為參數(shù)設(shè)置與x模塊相同,就不再贅述。 </p><p> 圖4-13 Bus conversion 參數(shù)設(shè)置</p><p> 圖4-14 Block Parameters:x參數(shù)設(shè)置</p><p> 4.3系統(tǒng)的頂層設(shè)計
75、與轉(zhuǎn)換</p><p> 系統(tǒng)的頂層模塊,如圖4-15所示。對頂層模塊進(jìn)行仿真、編譯,驗證其設(shè)計為正確后,即可進(jìn)行轉(zhuǎn)換,將該模型最終轉(zhuǎn)換為可以驅(qū)動目標(biāo)板的驅(qū)動程序。</p><p> 圖4-15 系統(tǒng)的頂層設(shè)計</p><p> 用Signal Compiler軟件將IIR數(shù)字陷波器的模型轉(zhuǎn)化成VHDL硬件語言。首先雙擊Signal Compiler圖標(biāo),在
76、彈出的對話框中點擊“Compiler”,DSP Builder將會調(diào)用Quartus II來進(jìn)行全程編譯,這一過程包括了創(chuàng)建Quartus II工程,綜合和適配。Signal Compiler將.mdl文件轉(zhuǎn)化成VHDL語言,然后在Quartus II中進(jìn)行進(jìn)一步的設(shè)置和完整的編譯。具體轉(zhuǎn)換設(shè)置如下圖4-16所示。</p><p> 圖4-16 轉(zhuǎn)換界面</p><p> 生成的Si
77、gnal Complier 報告如下圖4-17所示。</p><p> 圖4-17 Signal Complier 報告</p><p> 轉(zhuǎn)換生成后產(chǎn)生的資源信息界面如下圖4-18所示。</p><p> 圖4-18 轉(zhuǎn)換后產(chǎn)生的資源信息界面</p><p> 在得到資源信息之后,就可得到轉(zhuǎn)換之后的VHDL源代碼,因源代碼程序非
78、常龐大,這里只截取部分源代碼,如下圖4-19所示。</p><p> 圖4-19 生成的VHDL源代碼</p><p><b> 5調(diào)試與仿真</b></p><p> 5.1Simulink中對模型進(jìn)行仿真</p><p> 在Matlab/DSP Builder平臺上設(shè)計IIR陷波器的模型,然后設(shè)置總線帶寬
79、和各個增益器的參數(shù)。設(shè)置信號源輸入信號為100Hz正弦波,幅度為2V??傻萌鐖D5-1所示的波形。圖中上方的波形為輸出波形,下方的波形為輸入波形。經(jīng)簡單分析,可得輸出波形是正確的。</p><p><b> 圖5-1 仿真波形</b></p><p> 5.2Quartus II行為仿真</p><p> 將IIR陷波器的模型進(jìn)行適配、綜合
80、和轉(zhuǎn)換,具體步驟如4.3所示。之后在QUARTUS II中對轉(zhuǎn)換后產(chǎn)生的工程進(jìn)行最終的行為級仿真。步驟如下:首先打開后綴名為.vec的波形文件,修改引腳。因為自動生成的文件在所有的引腳名稱前面加了“i”,后面加了“s”,如果我們直接對該文件進(jìn)行仿真,程序出錯。所以將修改后的文件另存為后綴名為.vwf的同名文件,然后進(jìn)行時序和功能仿真。仿真前的信號如圖5-2所示。</p><p> 圖5-2 仿真前的界面<
81、;/p><p> 仿真后的結(jié)果如圖5-3所示。</p><p> 圖5-3 仿真結(jié)果</p><p><b> 6總結(jié)</b></p><p> 至此,本人基本完成了這次畢業(yè)設(shè)計任務(wù)。在設(shè)計之初,我對于Matlab/DSP Builder的知之甚少,不過通過不斷的學(xué)習(xí),和老師的輔導(dǎo),在Matlab/DSP Buil
82、der平臺上實現(xiàn)了畢業(yè)設(shè)計的內(nèi)容,熟悉了DSP Builder和FPGA的整個開發(fā)流程。本次的設(shè)計的內(nèi)容是設(shè)計一個數(shù)字陷波器。在設(shè)計過程中我遇到了很多問題,比如選用FIR或者IRR來設(shè)計陷波器,我一開始選用FIR來設(shè)計陷波器,因為FIR具有線性相位特性而且系統(tǒng)穩(wěn)定。但是經(jīng)過一段時間的摸索,發(fā)現(xiàn)用FIR來設(shè)計陷波器需要非常高的階數(shù),難度很大,而且會造成很大的延遲。IIR濾波器相比FIR濾波器可以用較低的階數(shù)獲得較高的選擇性。所以最終決定利
83、用IIR來設(shè)計陷波器。</p><p> 經(jīng)過本次設(shè)計,使我學(xué)到了很多,不管是論文的撰寫還是文獻(xiàn)的查閱和自學(xué)能力都得到了鍛煉。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]羅韓軍,劉明偉,王成.基于DSP Builder的FIR濾波器設(shè)計與實現(xiàn)[J].微計算機信息,2009,2,25(2):148~149,193.
84、</p><p> [2]劉海華,陳心浩.基于FPGA的數(shù)字陷波器的設(shè)計與實現(xiàn)[J].中南民族大學(xué)學(xué)報(自然科學(xué)版),2004,12,23(4):44~47.</p><p> [3]楊世華,王秀敏,陳豪威.基于DSP Builder和FPGA的IIR濾波器設(shè)計[J].通信技術(shù),2010,12,43(12):184~186.</p><p> [4]無限長單位
85、沖激響應(yīng)(IIR)濾波器的基本結(jié)構(gòu)[EB/OL],[2011-5-1]. http://wlsyzx.yzu.edu.cn/kcwz/szxhcl/kechenneirong/dierbufen/chapter7_2.htm.</p><p> [5]高西全,丁玉美.數(shù)字信號處理[M].第三版.西安:西安電子科技大學(xué)出版社,2009,6.</p><p> [6]MATLAB基本功能[
86、EB/OL],[2011-5-1].</p><p> http://baike.baidu.com/view/10598.htm.</p><p> [7]matlab在電力電子變流系統(tǒng)中的仿真與應(yīng)用[EB/OL],[2011-5-1].</p><p> http://wenku.baidu.com/view/58f038c46137ee06eef9180
87、4.html.</p><p> [8]MATLAB(6.0)與科學(xué)[EB/OL],[2011-5-1]. http://www.doc88.com/p-38273375559.html.</p><p> [9]基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)字識別技術(shù)[EB/OL],[2011-5-2].</p><p> http://www.smtpcb.com.cn/newsc
88、n/news_view.asp?newsid=1935.</p><p> [10]SIMULINK交互式仿真集成環(huán)境[EB/OL],[2011-5-2].</p><p> http://www.doc88.com/p-26219341681.html.</p><p> [11]Simulink[EB/OL],[2011-5-3].http://mech-
89、elec.niu.edu.tw/matlab/m5.htm.</p><p> [12]齊海兵,曹志亮,劉春錦.基DSP Builder的FIR濾波器的設(shè)計與實現(xiàn)[J].國外電子元器件,2006,(7):7~9.</p><p> [13]基于DSP Builder數(shù)字信號處理器的FPGA設(shè)計[EB/OL],[2011-5-4].</p><p> http:
90、//www.eefocus.com/article/11-02/567911297261036.html?sort=1111_1475_0_0.</p><p> [14]Quartus II[EB/OL],[2011-5-5].</p><p> http://baike.baidu.com/view/1616088.htm.</p><p> [15]Qu
91、artus[EB/OL],[2011-5-6].http://baike.baidu.com/view/1084118.html</p><p> [16]Altera.DSP Builder User Guide[EB/OL].[2009-04-20].http://www.a(chǎn)ltera.com/literature/ug/ug_dsp_builder.pdf.</p><p> [
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于dsp builder的數(shù)字陷波器設(shè)計【開題報告】
- 基于dsp builder的數(shù)字陷波器設(shè)計【任務(wù)書】
- 基于dsp builder的調(diào)制器設(shè)計【畢業(yè)論文】
- 基于dsp builder的數(shù)字移相信號發(fā)生器設(shè)計【畢業(yè)論文】
- 基于dsp builder的am信號發(fā)生器設(shè)計【畢業(yè)論文】
- 基于dsp builder的單邊帶調(diào)制解調(diào)系統(tǒng)設(shè)計【畢業(yè)論文】
- 基于dsp_builder數(shù)字濾波器的設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 基于dsp builder的數(shù)字移相信號發(fā)生器設(shè)計【開題報告】
- 基于dsp的數(shù)字濾波器畢業(yè)論文
- 基于dsp的數(shù)字濾波器畢業(yè)論文
- 設(shè)計一個簡單的陷波器 畢業(yè)論文
- 基于dsp builder的調(diào)制器設(shè)計[開題報告]
- 基于dsp builder的數(shù)字移相信號發(fā)生器設(shè)計【任務(wù)書】
- 畢業(yè)論文--基于dsp的數(shù)字濾波器設(shè)計(含外文翻譯)
- 基于dsp_builder數(shù)字信號處理課程設(shè)計
- 基于dsp的信號發(fā)生器的設(shè)計畢業(yè)論文
- 數(shù)字帶通濾波器的matlab設(shè)計及dsp實現(xiàn)【畢業(yè)論文】
- 基于dsp builder的調(diào)制器設(shè)計[任務(wù)書]
- 基于dsp builder的am信號發(fā)生器設(shè)計【開題報告】
- 基于dsp的dds信號發(fā)生器設(shè)計畢業(yè)論文
評論
0/150
提交評論