有限脈的衝響應
有限脈的衝響應(英語:Finite impulse response,縮寫 FIR)濾波器是其脈衝響應為有限長度的濾波器,脈波輸入訊號的響應會佇有限時間內變做零,此特性佮無限脈的衝響應(IIR)濾波器相反,無限脈衝響應濾波器存在反饋迴路,其脈衝響應可能是無限長度的(猶毋過一般會衰減)。
N 階離散時間的 FIR 濾波器,其脈衝響應(對應克羅內克 δ 函數輸入的輸出)咧變做零進前,上濟干焦一直 $ N + 一 $ 略仔提樣點(對第一个非零取樣點,到尾仔一个非零取樣點)。
FIR 濾波器是會當連紲時間的,嘛可能是離散時間的,會當是數位的,嘛可能是類比的。
定義
針對因果離散時間的 N 階濾波器,輸出序列的每一个值攏是最近輸入的加權佮:
- $ { \ begin { aligned } y [n] &=b _ { 零 } x [n] + b _ { 一 } x [n 影一] + \ cdots + b _ { N } x [n-N] \ \ &=\ sum _ { i=零 } ^ { N } b _ { i } \ cdot x [n-i] , \ end { aligned } } $
其中
- $ x [n] $ 是輸入訊號
- $ y [n] $ 是輸出訊號
- $ N $ 是濾波器的階數。$ N $ th 階濾波器表示佇正爿有 $ N + 一 $ 項
- $ b _ { i } $ 是 $ N ^ { \ text { th } } $ 階 FIR 濾波器佇咧第 i 時間($ 零 \ leq i \ leq N $)的脈波響應。若濾波器是直接型的 FIR 濾波器,著 $ b _ { i } $ 也就是濾波器的係數。
計算也叫做離散摺簿仔。
欲講項中的 $ x [n-i] $ 常稱為 tap(東筊), 依數位延遲線的結構定著,佇真濟實現抑是方塊圖內底,會欲延遲輸入去行乘法運算。
濾波器的衝激響應定義為有限區間內的非零值。包括零值在內,衝激響應該是無限數列:
- $ h [n]=\ sum _ { i=零 } ^ { N } b _ { i } \ cdot \ delta [n-i]={ \ begin { cases } b _ { n } & 零 \ leq n \ leq N \ \ 零 & { \ text { otherwise } } . \ end { cases } } $
若是 FIR 濾波器是非因果的,其脈衝響應該是非零值的範圍可能對 $ n=零 $ 前就開始。
特性
FIR 濾波器比較起來 IIR 濾波器,有以下的優點:
- 無需要回授,因為按呢會毋甘去精差袂因為連紲的加總累計。每一改的計算其相對差攏是仝款的,所以佇咧實現較簡單。
- 佇本質上穩定,因為其輸出是有限個輸入值乘以有限倍數的和,因此袂大於著 $ \ sum | b _ { i } | $ 乘以輸入的上大值。
- 若予係數對稱,會當設計成線性相位,這佇一寡相足重要的應用(譬如講資料通訊、地動學抑是分音器)中是真好的特性。
FIR 濾波器的主要欠點是若是要求要求低頻(佮取樣率相對取樣)截止頻率,佇相仝的利劍劍程度抑是選擇性地情形下,佇咧通用處理器的運算量愛比 IIR 濾波器愛大。猶毋過目前有誠濟數位訊號處理器提供特別的硬體來使 FIR 濾波器有類似 IIR 濾波器仝款有效率。
頻率響應
數列 $ x [n] $ 的濾波效果會使用拗積定理,佇頻域咧講:
- $ \ underbrace { { \ mathcal { F } } \ { x * h \ } } _ { Y ( \ omega ) }=\ underbrace { { \ mathcal { F } } \ { x \ } } _ { X ( \ omega ) } \ cdot \ underbrace { { \ mathcal { F } } \ { h \ } } _ { H ( \ omega ) } $ and $ y [n]=x [n] * h [n]={ \ mathcal { F } } ^ { 影一 } { \ big \ { } X ( \ omega ) \ cdot H ( \ omega ) { \ big \ } } , $
其中運算子 $ { \ mathcal { F } } $ 和 $ { \ mathcal { F } } ^ { 影一 } $ 表示離散時間傅立葉變換(DTFT)佮其他的倒數。所以,複數值的乘性函數 $ H ( \ omega ) $ 是濾波器的頻率響應,會當用下的傅立葉級數定義:
- $ H _ { 二 \ pi } ( \ omega ) \ \ triangleq \ sum _ { n=-\ infty } ^ { \ infty } h [n] \ cdot \ left ( { e ^ { i \ omega } } \ right ) ^ {-n }=\ sum _ { n=零 } ^ { N } b _ { n } \ cdot \ left ( { e ^ { i \ omega } } \ right ) ^ {-n } , $
其中加上下標表示二 π 週期性。此處的 $ \ omega $ 是正規單位(radians / sample)下的頻率。佇真濟濾波器設計的程式內底攏較捷用 $ \ omega=二 \ pi f , $ 的定義,將頻率單位 $ ( f ) $ 改做 cycles / sample,其禮拜為一。當 x [n] 序數是已知的號樣率 $ f _ { s } $ _ samples / second _,$ \ omega=二 \ pi f / f _ { s } $ 的取代會將頻率單位 $ ( f ) $ 變做是 _ cycles / second _(赫茲), 周期性是 $ f _ { s } $。$ \ omega=\ pi $ 的值會去對應 $ f={ \ tfrac { f _ { s } } { 二 } } $ _ Hz _ $={ \ tfrac { 一 } { 二 } } $ _ cycles / sample _ 彼个頻率,也就是奈奎斯特頻率。
$ H _ { 二 \ pi } ( \ omega ) $ 也會使用濾波器衝激響應的離散時間的立葉轉換表示:
- $ { \ widehat { H } } ( z ) \ \ triangleq \ sum _ { n=-\ infty } ^ { \ infty } h [n] \ cdot z ^ {-n } . $
- $ H _ { 二 \ pi } ( \ omega )=\ left . { \ widehat { H } } ( z ) \ , \ right | _ { z=e ^ { j \ omega } }={ \ widehat { H } } ( e ^ { j \ omega } ) . $
濾波器設計
佇設計有限脈的衝響應濾波器的時陣,愛揣著符合特定規格的係數以及階數,規格可能是時域的(匹配濾波器), 嘛有可能是頻域的(較捷看著的情形)。 匹配濾波器是將輸入訊號佮已知影形狀的脈波進行互相關(cross-correlation)。 FIR 拗積(FIR convolution)是脈波響應的逆時間複本(time-reversed copy)佮輸入訊號進行互相關。因此匹配濾波器的脈波是用針對已經知影脈波進行取樣,才將取樣訊號倒序,做為濾波器的係數。
若希望有特定的頻率響應,以下是一寡捷看著的濾波器設計方式:
一 . 窗函數設計法二 . 頻率取樣法三 . 上細漢 MSE(均方差)法四 . 帕克斯-麥克萊倫演算法(嘛講是等等鋪波法、最佳法抑是 minimax 法)定會用雷米茲演算法來揣最佳等等鋪波的係數。使用者會標示想欲愛的頻率響應,此響應下精差的加權函數,以及濾波器的階數 N。演算法會揣著會當共上大偏徙量降到上低的 $ N + 一 $ 個係數。直覺上,這會當揣著佇只用 $ N + 一 $ 落,上符合期望頻率響應的濾波器。這種方式特別容易實作,因為至少有一本教科書有包括會當用理想濾波器佮階數 _ N _,得著最佳係數的程式。 五 . 等鋪波 FIR 濾波器嘛會當用 DFT 演算法設計。咱這馬本質上是迵天代的,初步濾波器計設計的 DFT 會用得 FFT 演算法計算(若是無初初估計值,會用得 h [n]=delta [n])。 佇成立葉域下底,會當以想的規格調整頻率響應,後來算反 DFT。佇這个時陣,干焦保留進前 N 個係數(其他的係數設為零), 了後閣重覆上述的流程:再計算 DFT,佇頻率下調整,閣斡倒轉來。
目前已經有誠濟軟體會使進行濾波器設計,比如講 MATLAB、GNU Octave、Scilab 和 SciPy 等。
徙動平均濾波器的例
徙動平均濾波器是較簡單的 FIR 濾波器,有時會叫做 Boxcar 函數濾波器(特別佇咧了後有降取樣的情形下)。 濾波器的係數 $ b _ { 零 } , \ ldots , b _ { N } $ 會當用伊的公式求了:
- $ b _ { i }={ \ frac { 一 } { N + 一 } } $
以下是閣較具體的例,選擇濾波器的階數:
- $ N=二 $
其實沖激響應該如下:
- $ h [n]={ \ frac { 一 } { 三 } } \ delta [n] + { \ frac { 一 } { 三 } } \ delta [n 影一] + { \ frac { 一 } { 三 } } \ delta [n 鋪二] $
正爿這个方塊圖是以下欲討論的二階徙動平均濾波器。其遞移函數為:
- $ H ( z )={ \ frac { 一 } { 三 } } + { \ frac { 一 } { 三 } } z ^ { 影一 } + { \ frac { 一 } { 三 } } z ^ { 鋪二 }={ \ frac { 一 } { 三 } } { \ frac { z ^ { 二 } + z + 一 } { z ^ { 二 } } } . $
後一个圖是濾波器的極零點圖。零頻率(直流)對應 ( 一 , 零 ),正頻率會踅原點逆時針旋轉,一直到 ( − 一 , 零 ) 的奈奎斯特頻率。佇原點有二个極點,兩个零點佇咧 $ z _ { 一 }=-{ \ frac { 一 } { 二 } } + j { \ frac { \ sqrt { 三 } } { 二 } } $,$ z _ { 二 }=-{ \ frac { 一 } { 二 } }-j { \ frac { \ sqrt { 三 } } { 二 } } $。
若以正規化頻率 _ ω _ 表示,頻率響應為:
- $ { \ begin { aligned } H \ left ( e ^ { j \ omega } \ right ) &={ \ frac { 一 } { 三 } } + { \ frac { 一 } { 三 } } e ^ {-j \ omega } + { \ frac { 一 } { 三 } } e ^ {-j 二 \ omega } \ \ &={ \ frac { 一 } { 三 } } e ^ {-j \ omega } \ left ( 一 + 二 cos ( \ omega ) \ right ) . \ end { aligned } } $
圖頂懸有其振幅佮相位的響應,毋過這圖嘛會當用脈衝響應的離散傅立葉轉換會著因為其對稱性,濾波器設計抑是顯示軟體多半只會顯示 [零 , π] 區域。會當看出徙動平均濾波器的低頻增益接近一,但是會當減少高頻的訊號,所以講是簡單的低通濾波器。相位圖是線性的,毋過增益降到零時出現無連紲,無連紲的大細是 π,意思是有變號的情形。最後一張圖的振幅允准正負,現此時的相位就攏線性的。
參考文獻
- Jian-Jiun Ding ( 二千空一十三 ) , Advanced Digital Signal Processing [viewed 六分之二十七 / 二千空一十三]
註解
相關條目
- 數位訊號處理
- 數位濾波器
- 電子濾波器
- 濾波器
- 無限脈衝響應(IIR)
- Z 轉換
- FIR 傳遞函數
- 濾波器設計
- 級聯積分器—捋狀濾波器
- 牚牢
