基于DSP Builder的14階FIR濾波器的設(shè)計-設(shè)計應(yīng)用_第1頁
基于DSP Builder的14階FIR濾波器的設(shè)計-設(shè)計應(yīng)用_第2頁
基于DSP Builder的14階FIR濾波器的設(shè)計-設(shè)計應(yīng)用_第3頁
基于DSP Builder的14階FIR濾波器的設(shè)計-設(shè)計應(yīng)用_第4頁
基于DSP Builder的14階FIR濾波器的設(shè)計-設(shè)計應(yīng)用_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯基于DSPBuilder的14階FIR濾波器的設(shè)計-設(shè)計應(yīng)用數(shù)字濾波器在數(shù)字信號處理的各種應(yīng)用中發(fā)揮著十分重要的作用,他是通過對采樣數(shù)據(jù)信號進行數(shù)學(xué)運算處理來達到頻域濾波的目的。數(shù)字濾波器既可以是有限長單脈沖響應(yīng)(FIR)濾波器也可以是無限長單脈沖響應(yīng)(IIR)濾波器。在維納濾波器理論發(fā)明的早期,人們使用IIR濾波器,但現(xiàn)在更多是使用FIR濾波器。本文按照Matlab/Simulink/DSPBuilder/QuartusⅡ流程,設(shè)計一個FIR濾波器。AlteraDSPBuilder是連接Simulink和QuartusⅡ開發(fā)軟件的DSP開發(fā)工具。在DSPBuilder的無縫設(shè)計流程中,首先在Matlab軟件中進行算法設(shè)計,然后在Simulink軟件中進行系統(tǒng)集成,將設(shè)計輸出為硬件描述語言(HDL)文件,以便在QuartusⅡ軟件中使用。

1FIR濾波器介紹

1.1FIR濾波器原理

對于一個FIR濾波器系統(tǒng),他的沖激響應(yīng)總是有限長的,其系統(tǒng)函數(shù)可以記為:

其中:x(n)是輸入采樣序列;h(n)是濾波器系數(shù);L是濾波器的階數(shù);y(n)表示濾波器的輸出序列。也可以用卷積來表示輸出序列y(n)與x(n),h(n)的關(guān)系。

y(n)=x(n)*h(n)

典型的直接I型FIR濾波器如圖1所示,其輸出序列y(n)滿足下式:

1.2設(shè)計要求

數(shù)字濾波器實際上是一個采用有限精度算法實現(xiàn)的線性非時變離散系統(tǒng),他的設(shè)計步驟是先根據(jù)需要確定其性能指標,設(shè)計一個系統(tǒng)函數(shù)h(n)逼近所需要的性能指標,濾波器的系數(shù)的計算可以借助Matlab強大的計算能力和現(xiàn)成的濾波器設(shè)計工具來完成,采用有限的精度算法實現(xiàn)。本系統(tǒng)的設(shè)計指標為,設(shè)計一個14階的FIR濾波器。1MHz和16MHz的兩個正弦波的合成波形,經(jīng)過這個濾波器,濾除16MHz的成分。

2DSPBuilder設(shè)計流程

使用DSPBuilder完成設(shè)計時,首先在Matlab/Simulink軟件中建立模型文件(.mdl),DSPBuilderSignalCom-piler模塊讀取由DSPBuilder和MegaCore模塊構(gòu)建的Simulink建模文件(.mdl),生成VHDL文件和工具命令語言(Tcl)腳本,進行綜合、硬件實施和仿真。

3FIR數(shù)字濾波器的DSPBuilder設(shè)計

3.1Matlab/Simulink建模

根據(jù)FIR數(shù)字濾波器的算法,在Matlab的Simulink環(huán)境中建立一個MDL模型文件。用圖形方式調(diào)用Alter-aDSPBuilder和其他的Simulink庫中的圖形模塊。

3.2在Simulink中仿真并生成VHDL代碼

完成模型設(shè)計之后,可以先在Simulink中對模型進行仿真,可以通過Simulink中的示波器模塊查看各步驟的中間結(jié)果。輸入信號采用頻率為1MHz和16MHz的兩個正弦波的疊加。仿真結(jié)果如圖2所示。從仿真波形可以看出,經(jīng)過FIR濾波器之后,16MHz的高頻信號被很好地濾除了。

3.3使用Modelsim進行RTL仿真

在Simulink中進行的仿真是屬于系統(tǒng)驗證性質(zhì)的,是對mdl文件進行仿真,并沒有對生成的VHDL代碼進行過仿真。事實上,生成VHDL描述的是RTL級的,是針對具體的硬件結(jié)構(gòu)的,而在Matlab的Simulink中的模型仿真是算法級的,兩者之間有可能存在軟件理解上的差異。轉(zhuǎn)換后的VHDL代碼實現(xiàn)可能與mdl模型描述的情況不完全相符。這就需要針對生成的RTL級VHDL代碼進行功能仿真,如圖3所示。

仿真結(jié)果說明,本濾波器可以較好地起到濾波的效果,由于輸入正弦波經(jīng)過數(shù)字化過程之后在Modelsim中還原出的模擬波形出現(xiàn)失真現(xiàn)象。

3.4使用QuartusⅡ進行時序仿真和綜合編譯

Modelsim完成的RTL級仿真只是功能仿真,其仿真結(jié)果并不能地反映電路的全部硬件特性,進行門級的時序仿真仍然是十分重要的。時序仿真即針對具體硬件芯片,在仿真時加入芯片內(nèi)部的時間信息包括:建立時間,保持時間,關(guān)鍵路徑延時等。綜合編譯后,tsu=4.622ns,tco=6.925ns,th=0.415ns,時間分析符合實際情況。

4濾波器設(shè)計在FPGA上的實現(xiàn)

由于從Simulink建模仿真,到ModelsimRTL仿真和QuartusⅡ時序仿真,使用的輸入正弦波都是仿真信號,而不是實際的信號源。在硬件實際運行時,可以從外部信號源接入芯片內(nèi)部或者在芯片內(nèi)部存儲正弦波的數(shù)據(jù)。這里采用的是后者,即在頂層文件中引入LPM_ROM宏模塊,在其中存入正弦波數(shù)據(jù)的mif文件(存儲初始化文件),F(xiàn)IR濾波器模塊直接從ROM中讀取數(shù)據(jù),經(jīng)過濾波處理之后數(shù)據(jù)存入另一ROM中,可以通過In-systemmemorycontenteditor工具從中讀出數(shù)據(jù),再利用Matlab還原出波形,從而在實際硬件中驗證了濾波器的功能。

實現(xiàn)的頂層圖如圖4所示。

5結(jié)語

本文采用Matlab/Simulink/DSPBuilder/QuartusⅡ的設(shè)計流程,實現(xiàn)了14階FIR濾波器。通過系統(tǒng)仿真,RTL仿真,時序仿真和實際硬件測試(這里采用了一種不需要使用SignaltapⅡ軟件邏輯分析儀的方法)對濾波器的功能、性能等進行了分析,從而驗證了采用DSP,B

溫馨提示

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

評論

0/150

提交評論