一文讀懂濾波器的線性相位,全通濾波器,羣延遲

一文讀懂濾波器的線性相位,全通濾波器,羣延遲


數字信號處理最常見的面試題,請簡述FIR和IIR的區別。其中的一個區別是FIR可以方便地實現線性相位。那這個線性相位指的是什麼呢?本篇博客通過兩個例子,延遲全通濾波器,來解釋這些概念。
先說結論:線性相位能保證信號中各頻率成分的相對相位關係不改變。
通俗解釋:信號經過線性相位濾波器後,各個頻率分量的延時時間是一樣的

1. 延遲

舉一個最簡單的FIR的例子,延遲。假設16kHz的採樣頻率,一個採樣週期的延遲,可以用FIR來表示。利用Matlab來觀看這個濾波器的頻率響應,代碼如下。採樣頻率爲Fs = 16kHz, 採樣週期爲Ts,Ts = 1/Fs。其中num是傳遞函數的分子,den是傳遞函數的分母。分母只有 a0 = 1, 代表是一個FIR濾波器。分子b0 = 0, b1 = 1, 代表是一個採樣點的延遲。

num = [0,1]
den = [1,0]
fvtool(num,den)

下圖中,藍色的實線表示的幅頻響應,爲0dB。紅色實線表示相頻響應,主要看相頻響應。圖中對1k,2k,4kHz頻點的橫縱座標有截圖,16kHz採樣率下,1kHz的正弦信號一個完整的週期(這裏說的週期指的是2π2\pi)內會得到16個採樣值。一個採樣週期的延遲,帶來的相位變化是2π/16=π/8=22.5°-2\pi/16=-\pi/8=-22.5\degree。而2kHz信號一個完整週期(2π2\pi)內會得到8個採樣值,那麼一個採樣週期的延遲帶來的相位變化是2π/8=π/4=45°-2\pi/8=-\pi/4=-45\degree,同理,對4kHz的信號,相位變化是2π/4=π/2=90°-2\pi/4=-\pi/2=-90\degree。下圖中也可以得到驗證。
在這裏插入圖片描述

這個濾波器對整個信號只產生了延遲一個採樣點的效果,信號的各個頻率成分之間的相位關係沒有改變。從這個例子可以很清楚地看到,線性相位指的是濾波器對每個頻點的相頻響應是一個線性關係。如下圖所示,上面的圖表示2kHz信號和4kHz信號,中間的圖表示兩者之和,下面的圖表示過了一個採樣週期延遲的FIR濾波器。中間的圖和下面的圖,這兩個頻率成分的信號之間相位關係沒有改變。
在這裏插入圖片描述

2. 全通濾波器

全通濾波器,幅頻響應爲0db,但是可以改變個頻率成分之間的相位關係。一階全通濾波器有以下公式。
A(z)=c+z11+cz1A(z) =\frac{c + z^{-1}}{1 + cz^{-1}}
c=tan(πfc/fs)1tan(πfc/fs)+1c=\frac{tan(\pi*fc/fs) - 1}{tan(\pi*fc/fs) + 1}其中fc爲截止頻率,fs爲採樣頻率。
設計一個fc = 2kHz,其幅頻相頻響應如下圖所示。2kHz處幅頻響應爲π/2-\pi/2,4kHz處幅頻響應爲3π/4-3\pi/4。很明顯,這裏已經不再是線性相位了。

fs = 16e3;
fc = 2e3;
c = (tan(pi*fc/fs) - 1)/(tan(pi*fc/fs) + 1)
num = [c,1];
den = [1,c];
fvtool(num,den)

在這裏插入圖片描述

我們再將2kHz和4kHz的和通過這個全通濾波器,看看輸出是怎麼樣的。如下圖所示,經過全通濾波器後,2kHz和4kHz信號的相對相位已經改變了。2kHz延遲了π/2\pi/2,而4kHz延遲了3π/43\pi/4。最下面那幅圖直接在輸入信號上修改初始相位,也可以得到同樣的效果。這裏可以看出來,兩個頻率分量的相對相位關係發生了改變,兩者之和的波形也發生了變化。
在這裏插入圖片描述

3.相位延遲和羣延遲

以上兩個例子可以看出,延遲和全通濾波器都能實現0dB的幅頻響應,但相頻響應區別很大。相位延遲和羣延遲,就是用來描述這種不同。
對於線性時不變系統,輸入爲x(t)=eiwtx(t) = e^{iwt}
輸出爲y(t)=H(iw)eiwt=(H(iw)eiϕ(w))eiwt=H(iw)ei(ϕ(w)+wt)y(t) = H(iw)e^{iwt} = (|H(iw)|e^{i\phi(w)})e^{iwt} = |H(iw)|e^{i(\phi(w)+wt)}
其中線性系統的相頻響應爲
ϕ(w)=arg{H(iw)}\phi(w) = arg\{H(iw)\}
羣延遲和相位延遲可以表示爲
τg=dϕ(w)dw\tau_g=-\frac{d\phi(w)}{dw}
τϕ=ϕ(w)w\tau_\phi=-\frac{\phi(w)}{w}
這裏先解釋羣延遲,羣延遲是相位對頻率的微分。若其是非常數,信號的各頻率成分的相對相位關係將發生變化,從而產生相位失真。上面兩個例子的羣延遲分別如下圖所示,縱座標的單位爲採樣週期。

延遲(FIR)的羣延遲就是1個採樣週期的延遲,對於每一個頻率分量都是一樣的。
在這裏插入圖片描述

全通濾波器(IIR)的羣延遲會隨頻率變化,低頻部分的延遲時間大於高頻部分。信號經過這個系統之後,信號各頻率成分的相對相位關係就改變了。
在這裏插入圖片描述

4. 實際生活中的例子

就音樂廳來說,如果把舞臺上音樂家的歌唱聲或樂器發出的聲音作爲輸入,聽衆聽到的上述聲音作爲輸出的話,那麼音樂廳可以看成輸入輸出之間的一個系統。最理想的情況是,輸出與輸入之間只有一個類似於延時的線性相位濾波器,也即是舞臺上唱什麼歌,聽衆就能聽到什麼歌,只是時間上稍微有滯後。

如果音樂廳這個系統不是線性相位的,會出現什麼情況呢?音樂是由很多不同的頻率成分構成的。這時候音樂中有些頻率成分很快就從舞臺上傳過來了,有些頻率成分則要過一陣才傳過來。這樣組合起來的音樂,先不論是否悅耳,至少和舞臺上的已經不一樣了。這時候也就意味着坐在不同位置的聽衆,聽到的將是不同的音樂。這是人們不希望看到的。

這種情況下,必須要求線性相位的響應。該舉例轉載於博客《線性相位重要性的理解》。下面這篇博客介紹了線性濾波器在ECG信號中的使用,也是通俗易懂,可以參考。《爲什麼設計的濾波器一定要用線性相位》

總結:

  1. 線性相位能保證信號中各頻率成分的相對相位關係不改變。通俗解釋是:信號經過濾波器後,各個頻率分量的延時時間是一樣的。
  2. 延遲(FIR)和全通濾波器(IIR)都能對信號實現0dB的幅頻響應。但是FIR能實現線性相位,而且羣延遲爲一個常數。
  3. 要讓信號傳輸不失真,這個傳輸系統必須具有常數幅度增益線性相位延遲。線性時不變系統只能保證常數倍的幅度增益,並不能保證線性相位延遲。
  4. 音樂廳的衝激響應必須要求線性相位。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章