本页使用了标题或全文手工转换

有限冲激响应

维基百科,自由的百科全书
跳到导航 跳到搜索

有限冲激响应(英語:Finite impulse response,縮寫FIR)滤波器是其冲激响应為有限長度的滤波器,脉冲输入信号的响应會在有限時間內變為零,此特性和无限冲激响应(IIR)滤波器相反,无限冲激响应滤波器存在反馈回路,其冲激响应可能是無限長度的(不過一般會衰減)。

N階離散時間的FIR滤波器,其冲激响应(對應克罗内克δ函数輸入的輸出)在變為零之前,最多只持續個取樣點(從第一個非零取樣點,到最後一個非零取樣點)。

FIR滤波器可以是連續時間的,也可能是離散時間的,可以是數位的,也可能是類比的。

定義[编辑]

直接型的N階離散FIR濾波器。最上層是N階的延迟线(delay line)和N + 1個抽頭,每一個單元延遲是Z轉換下的 z−1運算子
格子型的N階離散FIR濾波器。每一個單元延遲是Z轉換下的 z−1運算子

針對因果英语causal filter離散時間的N階濾波器,輸出序列的每一個值都是最近輸入的加權和:

其中

  • 是輸入信號
  • 是輸出信號
  • 是濾波器階數。th階濾波器表示在右邊有
  • 階FIR濾波器在第i時間()的脈波響應。若濾波器是直接型的FIR濾波器,則也就是濾波器的係數。

計算也稱為離散卷积

上述項中的常稱為tap(抽頭),依數位延遲線英语Digital delay line的結構而定,在許多實現或方塊圖中,會將延遲輸入進行乘法運算。

濾波器的衝激響應定義為有限區間內的非零值。包括零值在內,衝激響應是無限數列:

若FIR濾波器是非因果的,其脈衝響應上的非零值範圍可能從前就開始。

特性[编辑]

FIR濾波器相較於IIR濾波器,有以下的優點:

  • 不需要回授,因此捨去誤差不會因為連續的加總而累計。每一次的計算其相對誤差都是一樣的,因此在實現上比較簡單。
  • 在本質上穩定,因為其輸出是有限個輸入值乘以有限倍數的和,因此不會大於乘以輸入的最大值。
  • 若讓係數對稱,可以設計成線性相位英语linear phase,這在一些相位很重要的應用(例如資料通訊、地震学分音器)中是很好的特性。

FIR濾波器的主要缺點是若要求要求低頻(相對於取樣率)截止頻率,在相同的銳利程度或是選擇性英语selectivity (electronic)情形下,在通用處理器上的運算量要比IIR濾波器要大。不過目前有許多數位信號處理器提供特別的硬體來使FIR濾波器有類似IIR濾波器一樣有效率。

頻率響應[编辑]

數列的濾波效果可以用卷积定理,在頻域上描述:

    and    

其中運算子表示離散時間傅立葉變換(DTFT)和其倒數。因此,複數值的乘性函數是濾波器的频率响应,可以用以下的傅里叶级数定義:

其中加上下標表示2π週期性。此處的正規單位英语Normalized frequency (digital signal processing)(radians/sample)下的頻率。在許多濾波器設計的程式中都較常用的定義,將頻率單位改為cycles/sample,其週期為1[A]。當x[n]序數是已知的取樣率 samples/second的取代會將頻率單位變為cycles/second赫兹),週期性是的值會對應 Hz cycles/sample的頻率,也就是奈奎斯特频率

也可以用濾波器衝激響應的离散时间傅里叶变换表示:

濾波器設計[编辑]

在設計有限脈衝響應濾波器時,要找到符合特定規格的係數以及階數,規格可能是時域的(匹配濾波器),也可能是頻域的(較常見的情形)。匹配濾波器是將輸入信號和已知形狀的脈波進行互相關(cross-correlation)。FIR摺積(FIR convolution)是脈波響應的逆時間複本(time-reversed copy)和輸入信號進行互相關。因此匹配濾波器的脈波是用針對已知脈波進行取樣,再將取樣信號倒序,做為滤波器的係數[1]

若希望有特定的頻率響應,以下是一些常見的濾波器設計方式:

  1. 窗函數設計法
  2. 頻率取樣法
  3. 最小MSE(均方差)法
  4. 帕克斯-麥克萊倫演算法(也稱為是等漣波法、最佳法或minimax法)常會用雷米茲演算法來找最佳等漣波的係數。使用者會標示想要的頻率響應,此響應下誤差的加權函數,以及濾波器階數N。演算法會找到可以將最大偏移量降到最低的個係數。直覺上,這可以找到在只用下,最符合期望頻率響應的濾波器。此方式特別容易實作,因為至少有一本教科書[2]有包括可以用理想濾波器以及階數N,得到最佳係數的程式。
  5. 等漣波FIR濾波器也可以用DFT演算法設計[3]。此方式在本質上是迭代的,初始濾波器計設計的DFT可以用FFT演算法計算(若沒有初始估計值,可以用h[n]=delta[n])。在傅立葉域下,可以依要想的規格調整頻率響應,接著計算反DFT。在時域下,只保留前N個係數(其他係數設為0),之後再重覆上述的流程:再計算DFT,在頻率下調整,再轉回時域。

目前已有許多軟體可以進行濾波器設計,例如MATLABGNU OctaveScilabSciPy等。

移動平均濾波器的例子[编辑]

簡單FIR濾波器的方塊器(此例中是二階三抽頭的濾波器,是移動平均濾波器)
簡單FIR濾波器的方塊器(此例中是二階三抽頭的濾波器,是移動平均濾波器)
Pole–zero diagram
此例中二階FIR濾波器的極零點圖英语Pole–zero diagram
二階FIR濾波器的振幅(絕對值)和相位響應
二階FIR濾波器的振幅(絕對值)和相位響應
二階FIR濾波器的振幅(允許負值)和相位響應
二階FIR濾波器的振幅(允許負值)和相位響應

移動平均濾波器是簡單的FIR濾波器,有時會稱為Boxcar 函数濾波器(特別在之後有降采样的情形下)。濾波器的係數可以用以下公式求得:

以下是更具體的例子,選擇濾波器的階數:

其沖激響應如下:

右邊的方塊圖是以下要討論的二階移動平均濾波器。其遞移函數為:

下一個圖是濾波器的極零點圖英语Pole–zero diagram。零頻率(直流)對應(1, 0),正頻率會繞原點逆時針旋轉,直到(−1, 0)的奈奎斯特頻率。在原點有二個極點,二個零點在

若以正規化頻率英语Normalized frequency (digital signal processing)ω表示,頻率響應為:

圖上有其振幅和相位的響應,不過此圖也可以用冲激响应的离散傅里叶变换得到

因為其對稱性,濾波器設計或是顯示軟體多半只會顯示 [0, π]區域。可以看出移動平均濾波器的低頻增益接近1,但會衰減高頻的信號,因此是簡單的低通滤波器。相位圖是線性的,但在增益降到零時出現不連續,不連續的大小是π,意思是有變號的情形。最後一張圖的振幅允許正負,此時的相位就都是線性的。

參考文獻[编辑]

  1. ^ Oppenheim, Alan V., Willsky, Alan S., and Young, Ian T.,1983: Signals and Systems, p. 256 (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) ISBN 0-13-809731-3
  2. ^ Rabiner, Lawrence R., and Gold, Bernard, 1975: Theory and Application of Digital Signal Processing (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) ISBN 0-13-914101-4
  3. ^ A. E. Cetin, O.N. Gerek, Y. Yardimci, "Equiripple FIR filter design by the FFT algorithm," IEEE Signal Processing Magazine, pp. 60–64, March 1997.

註解[编辑]

  1. ^ An exception is MATLAB, which prefers units of half-cycles/sample = cycles/2-samples, because the Nyquist frequency in those units is 1, a convenient choice for plotting software that displays the interval from 0 to the Nyquist frequency.

相關條目[编辑]