基于DSP Builder的14階FIR濾波器的設計

發(fā)布時(shí)間:2010-8-16 00:20    發(fā)布者:conniede
關(guān)鍵詞: 14階 , Builder , dsp , FIR濾波器
數字濾波器在數字信號處理的各種應用中發(fā)揮著(zhù)十分重要的作用,他是通過(guò)對采樣數據信號進(jìn)行數學(xué)運算處理來(lái)達到頻域濾波的目的。數字濾波器既可以是有限長(cháng)單脈沖響應(FIR)濾波器也可以是無(wú)限長(cháng)單脈沖響應(IIR)濾波器。在維納濾波器理論發(fā)明的早期,人們使用IIR濾波器,但現在更多是使用FIR濾波器。本文按照Matlab/Simulink/DSP Builder/QuartusⅡ流程,設計一個(gè)FIR濾波器。Altera DSP Builder是連接Simulink和QuartusⅡ開(kāi)發(fā)軟件的DSP開(kāi)發(fā)工具。在DSP Builder的無(wú)縫設計流程中,首先在Matlab軟件中進(jìn)行算法設計,然后在Simulink軟件中進(jìn)行系統集成,最后將設計輸出為硬件描述語(yǔ)言(HDL)文件,以便在QuartusⅡ軟件中使用。

1 FIR濾波器介紹

1.1 FIR濾波器原理

對于一個(gè)FIR濾波器系統,他的沖激響應總是有限長(cháng)的,其系統函數可以記為:



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

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

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


1.2 設計要求

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

2 DSP Builder設計流程

使用DSP Builder完成設計時(shí),首先在Matlab/Simulink軟件中建立模型文件(.mdl),DSP Builder SignalCom-piler模塊讀取由DSP Builder和MegaCore模塊構建的Simulink建模文件(.mdl),生成VHDL文件和工具命令語(yǔ)言(Tcl)腳本,進(jìn)行綜合、硬件實(shí)施和仿真。

3 FIR數字濾波器的DSP Builder設計

3.1 Matlab/Simulink建模

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

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

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


3.3 使用Modelsim進(jìn)行RTL仿真

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


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

3.4 使用QuartusⅡ進(jìn)行時(shí)序仿真和綜合編譯

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

4 濾波器設計在FPGA上的實(shí)現

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

實(shí)現的頂層圖如圖4所示。


5 結 語(yǔ)

本文采用Matlab/Simulink/DSP Builder/QuartusⅡ的設計流程,實(shí)現了14階FIR濾波器。通過(guò)系統仿真,RTL仿真,時(shí)序仿真和實(shí)際硬件測試(這里采用了一種不需要使用SignaltapⅡ軟件邏輯分析儀的方法)對濾波器的功能、性能等進(jìn)行了分析,從而驗證了采用DSP,Builder實(shí)現濾波器設計的硬件化的獨特優(yōu)勢。
本文地址:http://selenalain.com/thread-21452-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页