IIR無限衝激響應和FIR有限衝激響應數字濾波器有什麼區別?

IIR無限衝激響應和FIR有限衝激響應數字濾波器有什麼區別?

來自專欄與信號處理有關的那些東東4 人贊了文章

從名字上看,「無限衝激響應」和「有限衝激響應」的區別一定在「衝激響應」上。在之前的文章里我們講到了衝激響應的概念,文章里用被打了一巴掌(單位脈衝)後鼓起來的「包」來描述的衝激響應。

有些人的「包」幾分鐘可以消腫直至消失,就是有限衝激相應;有些人的「包」雖然會慢慢變小,但是永遠不會消失,就是無限衝激響應。

那麼問題來了,IIR和FIR數字濾波器有什麼區別?

區別1:結構形式

兩種濾波器最直觀的區別就體現在結構形式上。

這裡直接放公式了,公式並不難理解:

IIR的方程中,當前輸出y(n)是由當前輸入x(n)、過去輸入x(n-1)、x(n-2)...、過去輸出y(n-1)、y(n-2)...這三類值共同決定的。

而在FIR方程中,則沒有過去輸出這一項。

IIR的差分方程

FIR的差分方程

由於IIR的當前輸出受到以前輸出值的影響,所以它是有反饋的,或者說其輸出值是遞歸的;相對應的,FIR就是無反饋、非遞歸的。

需要注意的是,上述差分方程中的係數a和b不是單純的常數。

區別2:相位特性

濾波會引起相位延遲,為什麼呢。首先看下圖:

圖1*圖2=圖3

其中三張圖分別是原始信號頻譜圖、濾波器頻譜圖和濾波後信號的頻譜圖。圖2可以是理想情況下的低通濾波器。圖1*圖2=圖3就是濾波在頻域上的表示過程(相乘),也很好理解。不過看到這裡大家會想起什麼?之前的文章里提到過:頻域上相乘即時域上卷積

暫且把這個卷積寫成y(k)=∑h(k)x(n-k)。(對於IIR,k取從0到n;對於FIR,k取從0到N-1)

也就是說對於輸出y(k),其值是由其之前N或n個輸入點共同決定的,這就是引起相位延遲的原因。

相位延遲

IIR為非線性相位延遲,FIR為線性相位延遲。即IIR的相位延遲會隨著輸入波形的變化而變化,而FIR的相位延遲為一確定值。FIR的相位補償只需要對輸出結果平移即可,IIR的相位補償複雜一些,不過在matlab上實現同樣很容易。

區別3:穩定性、運算速度、運算誤差設計難度

FIR的極點全部在原點(z變換),是穩定的。IIR不一定穩定。

FIR運算速度快,IIR運算速度慢

FIR運算誤差小,IIR由於有反饋,可能會產生極限環。

FIR設計難度高,需要藉助計算機程序完成,IIR設計難度低。

文章如要轉載請私信與我聯繫,並註明來源知乎專欄與信號處理有關的那些東東作者Mr.括弧。

【圖文】數字濾波器_百度文庫

詳解FIR濾波器和IIR濾波器的區別_百度文庫

douban.com/note/5929717

第六章 IIR數字濾波器的理論與設計

第七章 FIR數字濾波器的原理與設計

濾波器穩定性與極點_百度文庫


推薦閱讀:

聲音合成的秘密『4』(濾波器和相位關係)… - 縮混&錄音&拾音
Sinc濾波器
一些關於濾波頻率等級CFC的信息
有源濾波器與無源濾波器的區別

TAG:數字信號處理 | 濾波器 |