MATLAB環(huán)境下FIR濾波器的設(shè)計(jì)與仿真
MATLAB是一種面向科學(xué)和工程計(jì)算的語(yǔ)言,它集數(shù)值分析,矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,具有編程效率高、調(diào)試手段豐富、擴(kuò)充能力強(qiáng)等特點(diǎn),MATLAB的信號(hào)處理工具箱具有強(qiáng)大的函數(shù)功能,它不僅可以用來(lái)設(shè)計(jì)數(shù)字濾波器,還可以使設(shè)計(jì)達(dá)到最優(yōu)化,是數(shù)字濾波器設(shè)計(jì)的強(qiáng)有力工具。
1 FIR濾波器的設(shè)計(jì)
1.1 FIR濾波器簡(jiǎn)介[1]
根據(jù)沖激響應(yīng)的時(shí)域特性,數(shù)字濾波器可分為無(wú)限長(zhǎng)沖激響應(yīng)(IIR)和有限長(zhǎng)沖激響應(yīng)濾波器(FIR),F(xiàn)IR的突出優(yōu)點(diǎn)是:系統(tǒng)總是穩(wěn)定的、易于實(shí)現(xiàn)線性相位、允許設(shè)計(jì)多通帶(或多阻帶)濾波器,但與IIR相比,在滿足同樣阻帶衰減的情況下需要的階數(shù)較高,濾波器的階數(shù)越高,占用的運(yùn)算時(shí)間越多,因此在滿足指標(biāo)要求的情況下應(yīng)盡量減少濾波器的階數(shù)。
FIR濾波器的基本結(jié)構(gòu)可以理解為一個(gè)分節(jié)的延時(shí)線,把每一節(jié)的輸出加權(quán)累加,可得到濾波器的輸出,F(xiàn)IR濾波器的沖激響應(yīng)h(n)是有限長(zhǎng)的,數(shù)學(xué)上M階FIR濾波器可以表示為:
FIR濾波器的設(shè)計(jì)問(wèn)題實(shí)質(zhì)上是確定能滿足所要求的轉(zhuǎn)移序列或脈沖響應(yīng)的常數(shù)的問(wèn)題,設(shè)計(jì)方法主要有窗函數(shù),頻率采樣法和等波紋最佳逼近法等。
1.2 窗函數(shù)設(shè)計(jì)法的步驟[3][4]
窗函數(shù)設(shè)計(jì)法是一種通過(guò)截短和計(jì)權(quán)的方法使無(wú)限長(zhǎng)非因果序列成為有限長(zhǎng)脈沖應(yīng)響應(yīng)序列的設(shè)計(jì)方法,通常在設(shè)計(jì)濾波器之前,應(yīng)該先根據(jù)具體的工程應(yīng)用確定濾波器的技術(shù)指標(biāo),在大多數(shù)實(shí)際應(yīng)用中,數(shù)字濾波器常常被用來(lái)實(shí)現(xiàn)選頻操作,所以指標(biāo)的形式一般為在頻域中以分貝值給出的相對(duì)幅度響應(yīng)和相位響應(yīng)。
用窗函數(shù)法設(shè)計(jì)FIR濾波器的步驟如下:
(1)根據(jù)過(guò)渡帶寬及阻帶衰減要求,選擇窗函數(shù)的類型并估計(jì)窗口長(zhǎng)度N(或階數(shù)M=N-1),窗函數(shù)類型可根據(jù)最小阻帶衰減As獨(dú)立選擇,因?yàn)榇翱陂L(zhǎng)度N對(duì)最小阻帶衰減As沒(méi)有影響,在確定窗函數(shù)類型以后,可根據(jù)過(guò)渡帶寬小于給定指標(biāo)確定所擬用的窗函數(shù)的窗口長(zhǎng)度N,設(shè)待求濾波器的過(guò)渡帶寬為Δw,它與窗口長(zhǎng)度N近似成反比,窗函數(shù)類型確定后,其計(jì)算公式也確定了,不過(guò)這些公式是近似的,得出的窗口長(zhǎng)度還要在計(jì)算中逐步修正,原則是在保證阻帶衰減滿足要求的情況下,盡量選擇較小的N,在N和窗函數(shù)類型確定后,即可調(diào)用MATLAB中的窗函數(shù)求出窗函數(shù)wd(n)。
(2)根據(jù)待求濾波器的理想頻率響應(yīng)求出理想單位脈沖響應(yīng)hd(n),如果給出待求濾波器頻率應(yīng)為Hd(ejw),則理想的單位脈沖響應(yīng)可以用下面的傅里葉反變換式求出:
在一般情況下,hd(n)是不能用封閉公式表示的,需要采用數(shù)值方法表示;從w=0到w=2π采樣N點(diǎn),采用離散傅里葉反變換(IDFT)即可求出。
(3)計(jì)算濾波器的單位脈沖響應(yīng)h(n),它是理想單位脈沖響應(yīng)和窗函數(shù)的乘積,即h(n)=hd(n)
評(píng)論