在上文中,我們詳解了頻譜泄露,也正是因為信號在分幀時,幾乎不可能做到周期性截斷,所以才需要加窗——加窗函數在時域上調製信號,以盡量滿足周期性截斷,從而減少頻譜泄露。

在我們做stft時,需要分幀,並且還有一個操作是overlap。

分幀容易理解——分幀以保持信號的平穩性。而為什麼需要overlap呢?

本文將詳解overlap、分析窗,合成窗。


overlap

窗函數都有一個共同的特徵——呈鐘形(bell-shaped):

Hamming窗
Taylor窗

上圖是由matlab中工具包wintool得出的。感興趣的可以去看看,有對窗的時頻域分析。

當拿這種窗函數去調製信號時,不可避免的會出現一個問題——抑制窗函數首尾兩端的信號。如下圖所示:

本圖來自於公眾號,模態空間

可以很直觀的看到:當對信號進行截斷時,因為採用的hamming窗,首尾兩端幅度為零,乘以原信號後,藍色信號就消失了。

其次,還會有一個問題, 即,對原信號這樣截斷後,會導致原信號的首尾兩端附近信號被衰減。

因此,為了解決上述兩個問題,一般在做stft時,都會採用overlap做法,即重疊。

如下所示:

本圖來自於公眾號,模態空間

分析上圖與未重疊的圖之間的差異。

以藍色信號為例,未重疊時,原始信號中的藍色信號乘以窗函數,會變成0。導致藍色信號人為的消失。

而對於上圖來說,藍色信號在第一幀時,乘以窗函數,變成0,消失。但在下一幀,它會保留。

總結一句:重疊是因為窗函數呈鐘形,當原始信號乘以窗函數後,不可避免的引入了幅度上的加權,導致靠近窗函數首尾的信號被衰減,從而導致分幀後的頻譜不再是原始信號的頻譜。因此,採用重疊的方法來解決這一問題。保證原始信號不會丟失某些成分。

分析窗(analysis window)與合成窗(synthesis window)

到目前為止,我們基本了解了從時域到頻域的做法。

那麼在頻域對信號進行處理後,如何從頻域回到時域呢?從頻域回到時域有沒有特殊的地方呢?

一般的,我們將時域到頻域的窗函數叫做analysis windowh_{a} 。而把從頻域到時域的窗函數叫做synthesis windowh_{s}

分析窗的作用我們已經了解了,那麼合成窗的作用在哪呢?

The STFT domain filtering used to estimate the target source STFT coefficients may introduce artifacts that affect all time samples in a given frame. These artifacts are typically most audible at the frame boundaries, and therefore the frames are again windowed by a synthesis window h_{s}(t) as 	ilde{c(n,t)}h_{s}(t) . The synthesis windwo are also usually bell-shaped, attenuating the artifacts at the frame boundaries.

大意如下,在頻域對信號處理的時候,會在窗的邊界點產生畸變點。為此,從頻域到時域需要加一個合成窗,以消除窗邊界的畸變點。

那麼問題來了,對於合成窗的要求是什麼?

有一個完美重建準則—— perfect reconstruction principle

Sigma_{n=0}^{N-1} h_{a}(t-t_{0}-nM)*h_{s}(t-t_{0}-nM)=1

h_{a} 是分析窗, h_{s} 是合成窗。

上式的物理意義在於:

分幀的加權處理,要在合成時相應加權,以保證每個點的幅度不變。這樣才能儘可能的保護信號。

上式公式理論推導後續出文章(再挖一個坑),先出實驗結果定性了解。

hanning窗和矩形窗是一對完美分析合成窗對。基於此做如下實驗:

實驗一:分析窗是hanning窗,合成窗是矩形窗。

實驗二:分析窗是hamming窗,合成窗是矩形窗。

實驗三:分析窗是矩形窗,合成窗是矩形窗。

實驗四:分析窗是blackman窗,合成窗是矩形窗。

信號為1HZ,採樣率100HZ的正弦波,如下

實驗一

分析窗是hanning窗,合成窗是矩形窗:

實驗一:分析窗是hanning
時域圖,幾乎無損傷

實驗二

分析窗是hamming窗,合成窗是矩形窗:

實驗二,分析窗是hamming窗

可以發現當合成窗是hamming窗時,回到時域信號幅度會超過1,產生畸變。

實驗三

分析窗是矩形窗,合成窗是矩形窗:

實驗三,分析窗是矩形窗

可以看到,已經和原始時域信號有較大差距了。

實驗四

分析窗是blackman窗,合成窗是矩形窗:

實驗四,分析窗是blackman窗

可以看到,此時已經產生了不可接受的畸變了。

就此可以定性得出結論:當分析合成窗不滿足完美重建原則的話,時頻變換本身就會損傷語音。


在對語音處理中,我們經常對語音進行時頻搬移,在頻域處理完後必定要回到時域,而這時域轉頻域,頻域轉時域卻不是那麼簡單的。裡面的細節需要慢慢斟酌。

完美重建公式後續出文章細細論證。

推薦閱讀:

相关文章