IIR數(shù)字濾波器的Matlab和FPGA實(shí)現(xiàn)
摘要:提出一種通過兩個(gè)二階節(jié)級(jí)聯(lián)構(gòu)成四階IIR數(shù)字橢圓濾波器的設(shè)計(jì)方法,并利用Matlab仿真軟件設(shè)計(jì)了通帶內(nèi)波紋不大于0.1 dB,阻帶衰減不小于42 dB的IIR數(shù)字濾波器。論述了一種采用可編程邏輯器件,通過VHDL硬件描述語言實(shí)現(xiàn)該濾波器的方法。給出了在QuartusⅡ軟件下的仿真結(jié)果,并在FPGA器件上驗(yàn)證實(shí)現(xiàn)。實(shí)驗(yàn)證明,這種方法是切實(shí)可行的。
關(guān)鍵詞:無限長單位脈沖響應(yīng)濾波器;Matlab;FPGA;VHDL
0 引言
數(shù)字濾波器具有比模擬濾波器精度高、穩(wěn)定、體積小、重量輕、靈活、不要求阻抗匹配,以及能夠?qū)崿F(xiàn)模擬濾波器無法實(shí)現(xiàn)的特殊濾波功能等特點(diǎn),因此數(shù)字濾波器被廣泛應(yīng)用于圖像處理和識(shí)別、語音處理和識(shí)別、通信、雷達(dá)、人工智能、核技術(shù)等多個(gè)領(lǐng)域。
數(shù)字濾波器的實(shí)現(xiàn)方法很多,采用FPGA器件實(shí)現(xiàn)具有速度快、效率高、成本低、開發(fā)周期短等優(yōu)點(diǎn),而且還可以直接使用Altera公司提供的FIR/IIR IP core或采用LPM的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),使數(shù)字濾波器設(shè)計(jì)變得簡單、可靠。本系統(tǒng)通過一個(gè)實(shí)例說明如何通過Matlab設(shè)計(jì)并在FPGA器件上實(shí)現(xiàn)IIR橢圓函數(shù)濾波器。
1 IIR數(shù)字濾波器的Matlab設(shè)計(jì)
1.1 IIR數(shù)字濾波器設(shè)計(jì)要求
本系統(tǒng)的設(shè)計(jì)指標(biāo)如下:模擬信號(hào)采樣頻率為2 MHz,每周期最少采樣20點(diǎn),即模擬信號(hào)的通帶邊緣頻率為fp=100 kHz,阻帶邊緣頻率fs=200 kHz,通帶波動(dòng)Rp≤0.1 dB(通帶誤差不大于5%),阻帶衰減As≥42 dB。換算為數(shù)字域指標(biāo)為:Wp=0.1π,Ws=0.2π,Rp=0.1 dB,As=42 dB。
1.2 IIR數(shù)字濾波器設(shè)計(jì)方案
(1)根據(jù)設(shè)計(jì)要求確定濾波器數(shù)字域指標(biāo)
換算為數(shù)字域指標(biāo)為:Wp=0.1π,Ws=0.2π,Rp=0.1 dB,As=42 dB。
(2)采用Matlab軟件設(shè)計(jì)濾波器系統(tǒng)函數(shù)
IIR濾波器系統(tǒng)函數(shù)是采用計(jì)算機(jī)輔助工程CAE工具進(jìn)行設(shè)計(jì)的。系統(tǒng)函數(shù)H(z)的計(jì)算采用Matlab軟件設(shè)計(jì)比較方便,其中有兩個(gè)現(xiàn)成的函數(shù)可以使用:ellipord(Wp/pi,Ws/pi,Rp,As)函數(shù)用來計(jì)算數(shù)字橢圓濾波器的階次N和3 dB截止頻率Wn;ellip(N,Rp,As,Wn)函數(shù)可以求得直接型橢圓IIR濾波器的各個(gè)系數(shù)。
根據(jù)要求,設(shè)計(jì)采用Matlab軟件實(shí)現(xiàn)IIR濾波器的源程序如下:
利用Matlab軟件可以得到如下結(jié)果:
電源濾波器相關(guān)文章:電源濾波器原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評(píng)論