下面介紹應(yīng)用Matlab和DSP芯片來實現(xiàn)FIR濾波器的通用模式。
1 FIR濾波器的設(shè)計方法
通常采用窗函數(shù)法設(shè)計FIR濾波器方法簡單,但是這些濾波器的設(shè)計還不是最優(yōu)的。 首先 通帶和阻帶的波動基本上相等,雖然一般需要δ2<δ1,但是在窗函數(shù)法中不能分別控制 這些參數(shù)。另外對于大部分窗函數(shù)來說,通帶內(nèi)或阻帶內(nèi)的波動不是均勻的,通常離開過渡 帶時會減小。若允許波動在整個通帶內(nèi)均勻分布,就會產(chǎn)生較小的峰值波動。
最優(yōu)化設(shè)計是將所有的采樣值作為變量,在某一優(yōu)化準(zhǔn)則下,通過計算機進(jìn)行迭代運算得 到的最優(yōu)結(jié)果。其優(yōu)化準(zhǔn)則可以使用均方誤差準(zhǔn)則。但實踐證明,應(yīng)用最大誤差最小化準(zhǔn)則 的等波紋迫近法是更為實用的方法,應(yīng)用他設(shè)計時,階數(shù)、通帶和阻帶的邊緣以及誤差的加 權(quán)函數(shù)都可以自由選擇,十分靈活,設(shè)計得到的濾波器,其誤差在整個頻率范圍內(nèi)均勻分布 ,因而可以以最低的階數(shù)迫近提出的指標(biāo)要求。
設(shè)待設(shè)計濾波器的幅頻特性為HdA(ω),實際得到的濾波器的幅頻特性為HA(ω),目的是使HA(ω)最好地迫近HdA(ω)。等波紋最佳一致迫近是根據(jù)設(shè)計要求,導(dǎo)出一組條件,使整個迫近頻率區(qū)域上的迫近誤差絕對值為最小,定義一個加權(quán)函數(shù)W(ω),W(ω)在不同的頻帶下可以取不同的值,可用他自由決定各個頻 帶中誤差的權(quán)重。優(yōu)化設(shè)計時,W(ω)為已知函數(shù),這樣,加權(quán)誤差函數(shù)E(ω)可定義為:
由于Q(ω)是一個已知的三角函數(shù),故除在點ω=0,π外,上式處處有效。令:
則可得到如下數(shù)學(xué)模型:
據(jù)此,可以把FIR濾波器的設(shè)計問題,歸納為如下的加權(quán)契比雪夫迫近問題:尋找P( ω)的一組系數(shù)a(n)(或使E(ω)的最大絕對值在整個頻帶上都達(dá) 到最小。即:
其中:B表示整個有意義的頻帶。
求解契比雪夫迫近問題的依據(jù)是交錯定理(這里不再介紹)。
2 用Matlab設(shè)計FIR數(shù)字濾波器
Matlab信號處理工具箱采用Remez算法實現(xiàn)線性相位FIR濾波器的等波紋最佳一致逼近設(shè)計 。與其他設(shè)計方法相比,其優(yōu)點是:設(shè)計指標(biāo)相同時,使濾波器階數(shù)最低;階數(shù)相同時,使 通帶最平坦,阻帶最小衰減最大;通帶和阻帶均為等波紋形式,適合設(shè)計片段常數(shù)型濾波器 。其調(diào)用格式如下: