毛煒 崔俊杰
摘 要:控制系統(tǒng)的速度在相當(dāng)大的程度上取決于控制算法,設(shè)備的控制質(zhì)量取決于控制算法運(yùn)算量的大小。文章介紹了基于快速傅立葉正負(fù)變換設(shè)計(jì)FIR濾波器的新算法,在層層迭代中進(jìn)行快速傅立葉正變換和快速傅立葉反變換的交替轉(zhuǎn)換,從而滿足對(duì)信號(hào)分析所需的時(shí)域和頻域條件,利用FFT實(shí)現(xiàn)序列的卷積算法,使所設(shè)計(jì)的濾波器在頻域中逼近理想頻率響應(yīng)的結(jié)果。算法特性是被變換的抽取點(diǎn)數(shù)變多,因此,該設(shè)計(jì)極大地減少了運(yùn)算量。
關(guān)鍵詞:快速傅立葉變換;FIR濾波器;Matlab
1 ? ?FIR濾波器及快速傅立葉變換
1.1 ?FIR濾波器
有限脈沖響應(yīng)(Finite Impulse Response,F(xiàn)IR)濾波器廣泛應(yīng)用于數(shù)字信號(hào)處理中,主要用途是將不感興趣的信號(hào)過濾清除,留下有用信號(hào)。也就是說,能夠通過和阻止某一頻率信號(hào),在保證任意幅頻特性的同時(shí),具有嚴(yán)格的相位線性特性,其單位沖激響應(yīng)是有限的、全零點(diǎn)結(jié)構(gòu),系統(tǒng)永遠(yuǎn)穩(wěn)定[1]。因此,F(xiàn)IR濾波器在通信、圖像處理分析、模式識(shí)別等領(lǐng)域都有著廣泛應(yīng)用。通過對(duì)抽樣數(shù)據(jù)進(jìn)行數(shù)學(xué)處理來達(dá)到頻域?yàn)V波目的。FIR濾波器具有線性延時(shí)的特征和不存在系統(tǒng)極點(diǎn)的優(yōu)點(diǎn),在有效頻率范圍內(nèi)分析所有信號(hào),相位上不失真,對(duì)信號(hào)處理非常重要[2]。
1.2 ?快速傅立葉變換
快速傅立葉變換是離散傅立葉變換所需要的乘法次數(shù)大為減少的一種快速算法,可以將一個(gè)信號(hào)變換到頻域。有些信號(hào)在時(shí)域上很難看出具體特征,但是如果變換到頻域之后,就很容易看出特征。有限長(zhǎng)序列可以通過離散傅立葉變換將其頻域也離散化成有限長(zhǎng)序列,將產(chǎn)生的短序列進(jìn)行適當(dāng)組合,刪除重復(fù)計(jì)算,從而減少乘法運(yùn)算和簡(jiǎn)化結(jié)構(gòu)。本文所運(yùn)用的是按時(shí)間抽取的FFT算法,利用其對(duì)稱性和周期性,對(duì)設(shè)計(jì)對(duì)象的算法分若干步進(jìn)行,從而達(dá)到簡(jiǎn)化的目的[3]。
2 ? ?用快速傅立葉變換法設(shè)計(jì) FIR濾波器的算法
2.1 ?FIR數(shù)字濾波器的設(shè)計(jì)原理
截止頻率為ωs(rad/s)理想濾波器,其傳遞函數(shù)的表達(dá)式為:
(1)
取樣響應(yīng)為h(n),長(zhǎng)度為N,為了產(chǎn)生有限長(zhǎng)度的沖激響應(yīng)函數(shù),其系數(shù)函數(shù)為H(z):
(2)
用h(n)表示截取hd(n)后沖激響應(yīng),即:
h(n)=ω(n)hd(n) ? (3)
式中,ω(n)為窗函數(shù),長(zhǎng)度為N。當(dāng)τ=時(shí),截取的h(n)關(guān)于τ=(N-1)/2對(duì)稱,可使得所設(shè)計(jì)的濾波器相位線性。圖1為FIR濾波器設(shè)計(jì)流程。
2.2 ?用快速傅立葉變換法設(shè)計(jì)FIR濾波器的算法
給定下列技術(shù)指標(biāo):導(dǎo)通頻率ωp,截止頻率ωs,導(dǎo)通頻帶最大波動(dòng)系數(shù)δp和截止頻帶最大波動(dòng)系數(shù)δs。頻域的約束如式(4):
Hid(ejω)-Ed(ω)≤Hd(ejω)≤Hd(ejω)+Ed(ω) ? ? (4)
Hid(ejω)為理想濾波器的響應(yīng),而且得到:
(5)
快速傅立葉變換法設(shè)計(jì)FIR濾波器,是在層層迭代計(jì)算中進(jìn)行快速傅立葉正變換和快速傅立葉反變換的交替變換,從而滿足時(shí)域和頻域約束的條件。設(shè)計(jì)步驟如圖2所示。
(1)為了產(chǎn)生初始序列h0(n)。取理想頻域響應(yīng)的傅立葉反變換hid(n)=F-L﹣1[Hid(ejω)]為初始值:
(6)
其中,N要以原點(diǎn)對(duì)稱,才能得到零相位。
(2)在第k次循環(huán)中,用FFT法計(jì)算hk(n)的傅立葉反變換函數(shù),得到頻域函數(shù)Gk(ejω)。在頻域上施加以下約束:
(7)
(3)對(duì)Gk(ejω)進(jìn)行傅立葉反變換得到gk(n)。施加時(shí)域上的條件約束,gk(n)中在區(qū)域N以外取值為零。
(8)
(4)連續(xù)在層層迭代中不斷進(jìn)行時(shí)域約束和頻域約束條件,得到的頻率響應(yīng)趨近于理想的頻率響應(yīng)范圍,有限長(zhǎng)序列將收斂為濾波器理想的序列。濾波器的階數(shù)可以先取值N=2M+1,M由Kaiser窗函數(shù)設(shè)計(jì)階數(shù)公式估算。用此階數(shù)進(jìn)行循環(huán),如果達(dá)不到設(shè)計(jì)要求,依次對(duì)M增加1,直到滿足要求。在迭代法中,傅立葉變換是由離散傅立葉變換來實(shí)現(xiàn),也就是減少乘方次數(shù)的變化的效果。因此,F(xiàn)FT算法的階數(shù)應(yīng)取足夠大。對(duì)于2M+1階數(shù)的濾波器,F(xiàn)FT算法的階數(shù)通常取大于10倍M,來滿足設(shè)計(jì)要求,得到相應(yīng)的所需結(jié)果[4]。
3 ? ?基于快速傅立葉變換設(shè)計(jì)FIR濾波器的算法設(shè)計(jì)高通濾波器
截止頻率為ωs的線性相位理想高通濾波器的頻率響應(yīng)為:
(9)
即在 ωs≤ω≤π范圍內(nèi),Hd(ejω)的幅值是1,其幅頻響應(yīng)示意圖如圖3—4所示。
圖3 ?截止頻率為ω1的理想高通濾波器幅頻響應(yīng)
圖4 ?截止頻率為ω2的理想高通濾波器幅頻響應(yīng)
理想高通濾波器的單位沖擊響應(yīng)為:
(10)
其中,Hd(n)是中心點(diǎn)在τ的偶對(duì)稱無限長(zhǎng)非因果序列,要得到有限長(zhǎng)的h(n),需要對(duì)hd(n)做加窗處理,為了分析問題方便,選窗函數(shù)WN(n)為矩形窗RN(n),N是矩形窗長(zhǎng)度。由于要求FIR濾波器的相位是線性的,h(n)必須偶對(duì)稱(或奇對(duì)稱),即其對(duì)稱中心為窗長(zhǎng)的1/2,也就是τ=,故FIR高通濾波器有限長(zhǎng)沖擊響應(yīng)為:
h(n)=hd(n)RN(n)
=,(11)
0≤n≤N-1
此時(shí),一定滿足h(n)=h(N-1-n)這一線性相位條件,上述即為線性相位FIR濾波器的設(shè)計(jì)過程。
4 ? ?結(jié)語
用快速傅立葉變換的一次正變換和反變換設(shè)計(jì)FIR濾波器的算法,隨之帶來的交替頻域約束條件和時(shí)域條件,使所得濾波器的頻率響應(yīng)無限逼近理想頻率響應(yīng),也得到在時(shí)域中無限逼近單位沖激響應(yīng)序列。FFT的過程極大地簡(jiǎn)化了在計(jì)算機(jī)中進(jìn)行DFT的過程,減少了許多復(fù)雜且難以計(jì)算的運(yùn)算量。設(shè)計(jì)上千階數(shù)的濾波器在普通計(jì)算機(jī)上僅需要很短的時(shí)間,但是,算法設(shè)計(jì)的濾波器階數(shù)較高。由于FIR濾波器采用非遞歸結(jié)構(gòu),在實(shí)際計(jì)算時(shí)幾乎不考慮穩(wěn)定性問題,運(yùn)算誤差小。利用快速傅立葉變換,在相同的階數(shù)下,運(yùn)算速度更快,更加體現(xiàn)優(yōu)越性,也正因?yàn)樵O(shè)計(jì)方法的直觀性和簡(jiǎn)單性,才普遍將其應(yīng)用來研究相關(guān)信號(hào)問題。
[參考文獻(xiàn)]
[1]VINAY K.數(shù)字信號(hào)處理[M].劉樹棠,譯.西安:西安交通大學(xué)出版社,2001.
[2]雷學(xué)堂,徐烯.FIR數(shù)字高通濾波的時(shí)域和頻域物理分析[J].吉首大學(xué)學(xué)報(bào),2010(5):66-68.
[3]黃翔東,王兆華.基于全相位幅頻特性補(bǔ)償?shù)腇IR濾波器設(shè)計(jì)[J].電路與系統(tǒng)學(xué)報(bào),2012(2):1-5.
[4]張學(xué)敏,呂曉麗,鐘菲.基于高通濾波器的FIR帶通濾波器的設(shè)計(jì)與仿真[J].長(zhǎng)春工程學(xué)院學(xué)報(bào),2014(3):34-37.