FIR濾波器的結構主要是非遞歸結構,沒有輸出到輸入的反饋。并且FIR濾波器很容易獲得 嚴格的線性相位特性,避免被處理信號產生相位失真。而線性相位體現在時域中僅僅是h( n)在時間上的延遲,這個特點在圖像信號處理、數據傳輸等波形傳遞系統中是非常重要的。此外,他不會發生阻塞現象,能避免強信號淹沒弱信號,因此特別適合信號強弱相差懸殊的情況。其主要的不足之處是,其較好的性能是以較高的階數為代價換來的。因此,在保證相同性能的前提下,努力降低其階數是FIR數字濾波器設計的重要因素之一。 下面介紹應用Matlab和DSP芯片來實現FIR濾波器的通用模式。 1 FIR濾波器的設計方法 通常采用窗函數法設計FIR濾波器方法簡單,但是這些濾波器的設計還不是最優的。 首先 通帶和阻帶的波動基本上相等,雖然一般需要δ2<δ1,但是在窗函數法中不能分別控制 這些參數。另外對于大部分窗函數來說,通帶內或阻帶內的波動不是均勻的,通常離開過渡 帶時會減小。若允許波動在整個通帶內均勻分布,就會產生較小的峰值波動。 最優化設計是將所有的采樣值作為變量,在某一優化準則下,通過計算機進行迭代運算得 到的最優結果。其優化準則可以使用均方誤差準則。但實踐證明,應用最大誤差最小化準則 的等波紋迫近法是更為實用的方法,應用他設計時,階數、通帶和阻帶的邊緣以及誤差的加 權函數都可以自由選擇,十分靈活,設計得到的濾波器,其誤差在整個頻率范圍內均勻分布 ,因而可以以最低的階數迫近提出的指標要求。 設待設計濾波器的幅頻特性為HdA(ω),實際得到的濾波器的幅頻特性為HA(ω),目的是使HA(ω)最好地迫近HdA(ω)。等波紋最佳一致迫近是根據設計要求,導出一組條件,使整個迫近頻率區域上的迫近誤差絕對值為最小,定義一個加權函數W(ω),W(ω)在不同的頻帶下可以取不同的值,可用他自由決定各個頻 帶中誤差的權重。優化設計時,W(ω)為已知函數,這樣,加權誤差函數E(ω)可定義為: 由于Q(ω)是一個已知的三角函數,故除在點ω=0,π外,上式處處有效。令: 則可得到如下數學模型: 據此,可以把FIR濾波器的設計問題,歸納為如下的加權契比雪夫迫近問題:尋找?P( ω)的一組系數a(n)(或 使E(ω)的最大絕對值在整個頻帶上都達 到最小。即: 其中:B表示整個有意義的頻帶。 求解契比雪夫迫近問題的依據是交錯定理(這里不再介紹)。 2 用Matlab設計FIR數字濾波器 Matlab信號處理工具箱采用Remez算法實現線性相位FIR濾波器的等波紋最佳一致逼近設計 。與其他設計方法相比,其優點是:設計指標相同時,使濾波器階數最低;階數相同時,使 通帶最平坦,阻帶最小衰減最大;通帶和阻帶均為等波紋形式,適合設計片段常數型濾波器 。其調用格式如下: remezord函數用于估算FIR數字濾波器的等波紋最佳一致逼近設計的最低階數N,從而使 濾波器在滿足指標的前提下造價最低。基本調用格式如下: 其返回參數供remez函數使用。編制程序(略)FIR數字濾波器的濾波仿真程序: 設有一個正弦疊加信號:x=sin(2*pi*100*t)+sin(2*pi*200*t)+sin(2*pi*3 00*t);經過帶通濾波器后,濾除頻率為100 Hz和300 Hz的信號,如圖1所示。結果如圖2所示。 3 用DSP線性緩沖區和帶位移的雙操作數尋址方法來實現不同階數的FIR數字濾波器 實現的核心器件采用美國德州儀器公司生產的DSP芯片TMS320C5402。對于N級FIR濾波 器,在數據存儲器中開辟一個稱之為滑窗的?N個單元的緩沖區,存放最新的N個輸入樣本 。從最老的樣本開始,每讀一個樣本后,將此樣本向下移位。讀完最后一個樣本后,輸入最 新樣本至緩沖區的頂部(見圖3)。FIR濾波器的主程序(程序流程圖見圖4),其中包括3個子程序Variableinc,Bfunction.asm,Filter_coeff?inc。Variable?inc程序的主要作用是:將TMS320個寄存器定義為全局符號,這樣就可以直接引用寄存器(符號)。Bf unction.asm程序的主要作用是:初始化FEC和初始化C54。Filter_coeff.inc程序提供濾波器的系數,其系數用Q15格式表示。 4 結 語 實踐證明,該濾波器準確度高、穩定性好,易于移植使用,具有較強的實用性與靈活性。Mat lab可方便地設計出FIR數字濾波器,并且修改系數方便。由于DSP的可移植性好,所以能從不同方法得來的濾波器系數寫入filter_coeff.inc子程序中,從而得到不同的濾波效果。 |