從概念上理解濾波~

從概念上理解濾波~

2 人贊了文章

持續更新中.........會不斷加入模擬結果

濾波器的表示:

時域:一個卷積核向量, h(n)

頻域: H(e^{jw}) = |H(e^{jw})|e^{jalpha}

時域上,濾波就是用卷積核h(n)去卷積原始信號x(n),這個卷積核h(n)是要濾波頻率的時域表示,比如要濾8Hz的信號, h(n) = cos(2*pi*8n+	heta_1) 。用這個卷積核卷積原始信號時,在每次卷積時,相當於和原函數一段 x(n) 的向量內積,也就是相關,也就是 x(n)h(n) 上的投影。

y(omega_2) = int_{t}^{t+T} cos(omega_1t+	heta_1)*cos(omega_2t+	heta_2)dt = 1/2int_{t}^{t+T}cos((omega_1+omega_2)t+	heta_1+	heta_2)+cos((omega_1-omega_2)t+	heta_1-	heta_2)dt

假設原信號 x(n) 分解為無數個幅值為1的 cos(omega_2t+	heta_2) 的和,則用 h(n) = cos(omega_1+	heta_1) 與之內積時,只有當 omega_2 = omega_1 時, y(omega_2) = cos(	heta_1-	heta_2) ,其餘等於零。這是為什麼濾波器能夠提取出特定頻率的信號。以上是卷積中一次移動的結果。

讓我們再來看,濾波結束的信號為什麼就是8Hz的餘弦信號,也就是多次移動的結果,當你移動 h(n) ,去做下一次向量內積時(即卷積),等同於給 h(n) 移相,即改變 	heta_1y(omega_2)_x= cos(	heta_1+	heta-	heta_2) 所以每次移動h(n)改變 	heta 做內積,形成的序列呈現餘弦。至於為什麼是8Hz, 一個八赫茲的餘弦要移動 2pi 相位才能構成周期,對應1/8s周期。

同時從上面也可以看出為什麼濾波會改變原有序列 x(n) 的相位。原相位是 	heta_2 ,新序列的相位是 	heta_1-	heta_2

上面對原信號的假設是幅值不變且為1,相位也不隨時間改變的由很多餘弦疊加而成的信號,讓我們再來看更複雜一點的情況。

x(n) = A(n)cos(2piomega(n)+	heta_1(n))

這樣的話,濾波器卷積核與原始信號卷積結果是時變的,注意每次卷積的結果是:

y(omega_2,n) = A(n)cos(	heta_1(n) - 	heta_2)

表示在 n 時刻濾波提取 omega_2 的信號。

所以濾波後的信號每點不能代表幅值 A(n) ,而是包含了該處的相位信息以及濾波器本身的相位。往往我們要通過希爾伯特變換獲得其幅值。希爾伯特變換的概念其實很簡單,就是用sin再去與原信號卷積一遍得到

y(omega_2,n) = A(n)sin(	heta_1(n) - 	heta_2)

那就等同於把餘弦卷積結果 y(omega_2,n) 移動pi/2相位。所以勾股定理就可以得到幅值啦。


總之,理解濾波器本身就是個卷積核,濾波完的結果是:隨時間變化的,原信號在餘弦函數的投影;包含了原信號,在該時間點處,在該頻率下,的幅值信息和相位信息(被濾波器改變的相位)。


推薦閱讀:

走樣與反走樣(Aliasing/Anti-Aliasing):Basics
數字信號處理筆記3FFT
被詩人和金主爸爸逼出來的思考
MATLAB R2018a中信號處理相關的新函數: 求瞬時頻率 instfreq, emd, hht
Automotive radar 信號處理 第2課 速度估計

TAG:數字信號處理 |