基于DSP Builder的14階FIR濾波器的設(shè)計(jì)
出處:將軍令 發(fā)布于:2007-12-22 09:52:10
數(shù)字濾波器在數(shù)字信號(hào)處理的各種應(yīng)用中發(fā)揮著十分重要的作用,他是通過對(duì)采樣數(shù)據(jù)信號(hào)進(jìn)行數(shù)學(xué)運(yùn)算處理來達(dá)到頻域?yàn)V波的目的。數(shù)字濾波器既可以是有限長(zhǎng)單脈沖響應(yīng)(FIR)濾波器也可以是無限長(zhǎng)單脈沖響應(yīng)(IIR)濾波器。在維納濾波器理論發(fā)明的早期,人們使用IIR濾波器,但現(xiàn)在更多是使用FIR濾波器。本文按照Matlab/Simulink/DSP Builder/QuartusⅡ流程,設(shè)計(jì)一個(gè)FIR濾波器。Altera DSP Builder是連接Simulink和QuartusⅡ開發(fā)軟件的DSP開發(fā)工具。在DSP Builder的無縫設(shè)計(jì)流程中,首先在Matlab軟件中進(jìn)行算法設(shè)計(jì),然后在Simulink軟件中進(jìn)行系統(tǒng)集成,將設(shè)計(jì)輸出為硬件描述語言(HDL)文件,以便在QuartusⅡ軟件中使用。
1 FIR濾波器介紹
1.1 FIR濾波器原理
對(duì)于一個(gè)FIR濾波器系統(tǒng),他的沖激響應(yīng)總是有限長(zhǎ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è)計(jì)要求
數(shù)字濾波器實(shí)際上是一個(gè)采用有限算法實(shí)現(xiàn)的線性非時(shí)變離散系統(tǒng),他的設(shè)計(jì)步驟是先根據(jù)需要確定其性能指標(biāo),設(shè)計(jì)一個(gè)系統(tǒng)函數(shù)h(n)逼近所需要的性能指標(biāo),濾波器的系數(shù)的計(jì)算可以借助Matlab強(qiáng)大的計(jì)算能力和現(xiàn)成的濾波器設(shè)計(jì)工具來完成,采用有限的算法實(shí)現(xiàn)。本系統(tǒng)的設(shè)計(jì)指標(biāo)為,設(shè)計(jì)一個(gè)14階的FIR濾波器。1 MHz和16 MHz的兩個(gè)正弦波的合成波形,經(jīng)過這個(gè)濾波器,濾除16 MHz的成分。
2 DSP Builder設(shè)計(jì)流程
使用DSP Builder完成設(shè)計(jì)時(shí),首先在Matlab/Simulink軟件中建立模型文件(.mdl),DSP Builder SignalCom-piler模塊讀取由DSP Builder和MegaCore模塊構(gòu)建的Simulink建模文件(.mdl),生成VHDL文件和工具命令語言(Tcl)腳本,進(jìn)行綜合、硬件實(shí)施和仿真。
3 FIR數(shù)字濾波器的DSP Builder設(shè)計(jì)
3.1 Matlab/Simulink建模
根據(jù)FIR數(shù)字濾波器的算法,在Matlab的Simulink環(huán)境中建立一個(gè)MDL模型文件。用圖形方式調(diào)用Alter-aDSPBuilder和其他的Simulink庫中的圖形模塊。
3.2 在Simulink中仿真并生成VHDL代碼
完成模型設(shè)計(jì)之后,可以先在Simulink中對(duì)模型進(jìn)行仿真,可以通過Simulink中的示波器模塊查看各步驟的中間結(jié)果。輸入信號(hào)采用頻率為1 MHz和16 MHz的兩個(gè)正弦波的疊加。仿真結(jié)果如圖2所示。從仿真波形可以看出,經(jīng)過FIR濾波器之后,16 MHz的高頻信號(hào)被很好地濾除了。

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

仿真結(jié)果說明,本濾波器可以較好地起到濾波的效果,由于輸入正弦波經(jīng)過數(shù)字化過程之后在Modelsim中還原出的模擬波形出現(xiàn)失真現(xiàn)象。
3.4 使用QuartusⅡ進(jìn)行時(shí)序仿真和綜合編譯
Modelsim完成的RTL級(jí)仿真只是功能仿真,其仿真結(jié)果并不能地反映電路的全部硬件特性,進(jìn)行門級(jí)的時(shí)序仿真仍然是十分重要的。時(shí)序仿真即針對(duì)具體硬件芯片,在仿真時(shí)加入芯片內(nèi)部的時(shí)間信息包括:建立時(shí)間,保持時(shí)間,關(guān)鍵路徑延時(shí)等。綜合編譯后,tsu=4.622 ns,tco=6.925 ns,th=0.415 ns,時(shí)間分析符合實(shí)際情況。
4 濾波器設(shè)計(jì)在FPGA上的實(shí)現(xiàn)
由于從Simulink建模仿真,到Modelsim RTL仿真和QuartusⅡ時(shí)序仿真,使用的輸入正弦波都是仿真信號(hào),而不是實(shí)際的信號(hào)源。在硬件實(shí)際運(yùn)行時(shí),可以從外部信號(hào)源接入芯片內(nèi)部或者在芯片內(nèi)部存儲(chǔ)正弦波的數(shù)據(jù)。這里采用的是后者,即在頂層文件中引入LPM_ROM宏模塊,在其中存入正弦波數(shù)據(jù)的mif文件(存儲(chǔ)初始化文件),F(xiàn)IR濾波器模塊直接從ROM中讀取數(shù)據(jù),經(jīng)過濾波處理之后數(shù)據(jù)存入另一ROM中,可以通過In-systemmemory content editor工具從中讀出數(shù)據(jù),再利用Matlab還原出波形,從而在實(shí)際硬件中驗(yàn)證了濾波器的功能。
實(shí)現(xiàn)的頂層圖如圖4所示。

5 結(jié) 語
本文采用Matlab/Simulink/DSP Builder/QuartusⅡ的設(shè)計(jì)流程,實(shí)現(xiàn)了14階FIR濾波器。通過系統(tǒng)仿真,RTL仿真,時(shí)序仿真和實(shí)際硬件測(cè)試(這里采用了一種不需要使用SignaltapⅡ軟件邏輯分析儀的方法)對(duì)濾波器的功能、性能等進(jìn)行了分析,從而驗(yàn)證了采用DSP,Builder實(shí)現(xiàn)濾波器設(shè)計(jì)的硬件化的獨(dú)特優(yōu)勢(shì)。
參考文獻(xiàn):
[1]. MDL datasheet http://www.hbjingang.com/datasheet/MDL_1721936.html.
[2]. mif datasheet http://www.hbjingang.com/datasheet/mif_2043409.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









