語音識別之——mfcc什麼是漢明窗,爲什麼加漢明窗

爲什麼要加漢明窗?什麼叫加窗?

 在信號處理中,可以說加窗處理是一個必經的過程,因爲我們的計算機只能處理有限長度的信號,因此原始信號X(t)要以T(採樣時間)截斷,即有限化,成爲XT(t)後再進一步處理,這個過程序就是加窗處理,但什麼時候用什麼窗呢?這時我們就要對所需用到的函數窗做一定的瞭解。在平時,我們用得最多的是矩形窗,這個也很容易理解,好像我們屋子裏的窗口一樣,透過窗口我們可以看到外面的世界,但在如果我們理窗口遠一些的話,我們的看到的範圍將減少,越遠就越小。實際的信號處理過程中,我們用的矩形窗,但矩形窗在邊緣處將信號突然截斷,窗外時域信息全部消失,導致在頻域增加了頻率分量的現象,即頻譜泄漏。避免泄漏的最佳方法是滿足整週期採樣條件,但實際中是不可能做到的。對於非整週期採樣的情況,必須考慮如何減少加窗時造成的泄漏誤差,主要的措施是使用合理的加窗函數,使信號截斷的銳角鈍化,從而使頻譜的擴散減到最少。

    首先介紹一下爲什麼要用函數窗:函數窗的主要用於對截斷處的不連續變化進行平滑,減少泄漏。此外,加窗處理還有很多其它的原因,如減少噪聲干擾、限定測試的持續時間、從頻率接近的信號中分離出幅值不同的信號……

常見的幾種窗的基本指標:

 

一個窗是否合適:窗譜主瓣寬度就儘可能的窄,且能量集中在主瓣內,以獲得較陡的過渡帶;窗譜旁瓣與主瓣相比應儘可能的小,旁瓣能量衰減要快,以利於增加阻帶衰耗。

漢明窗就是信號窗口的一種,在matlab中執行命令,畫出plot(hamming(100))的圖如下:


 

它主要部分的形狀像sin(x)在0到pi區間的形狀,而其餘部分都是0.這樣的函數乘上其他任何一個函數f,f只有一部分有非零值。

 

爲什麼漢明窗這樣取呢?因爲之後我們會對漢明窗中的數據進行FFT,它假設一個窗內的信號是代表一個週期的信號。(也就是說窗的左端和右端應該大致能連在一起)而通常一小段音頻數據沒有明顯的週期性,加上漢明窗後,數據形狀就有點週期的感覺了。

 

因爲加上漢明窗,只有中間的數據體現出來了,兩邊的數據信息丟失了,所以等會移窗的時候,只會移1/3或1/2窗,這樣被前一幀或二幀丟失的數據又重新得到了體現。

 

簡單的說漢明窗就是個函數,它的形狀像窗,所以類似的函數都叫做窗函數。希望你能明白。

 

2.加Hanmming窗的作用

現在在看G.723.1,對語音編碼剛入門,

發現在對信號進行LPC分析前,對信號乘以一個Hamming 窗,

乘法是:信號直接乘以一個HammingWindowTable中的值,這個加窗有什麼作用?

如果是限制帶寬的話, 在時域應對信號應做卷積的, 不明白,請賜教

 

因爲要處理的是無限長序列中的一段,所以必須對這段序列加窗採集出來。

 

典型的窗口大小是25ms,幀移是10ms。漢明窗函數爲

            W(n,α ) = (1 -α ) - α cos(2*PI*n/(N-1)),0≦n≦N-1

    一般情況下,α取0.46 。

誰能解釋一下這個函數嗎?我實在是不理解,謝謝.

 

由於直接對信號(加矩形窗)截斷會產生頻率泄露,爲了改善頻率泄露的情況,加非矩形窗,一般都是加漢明窗,因爲漢明窗的幅頻特性是旁瓣衰減較大,主瓣峯值與第一個旁瓣峯值衰減可達40db。

 

舉例:

a=wavread('jiasiqi.wav');   %將音頻信號jiasiqi.wav讀入
subplot(2,1,1),                  %分配畫布,一幅圖上共兩個圖,這是第一個
plot(a);title('original signal');  %畫出原始信號,即前面這個音頻信號的原始波形
grid                                    %添加網格線
N=256;                               %設置短時傅里葉變換的長度,同時也是漢明窗的長度
h=hamming(N);                   %設置漢明窗
for m=1:N                       %用漢明窗截取信號,長度爲N,主要是爲了減少截斷引起的柵欄效應等
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b)))           %做傅里葉變換,取其模值,即幅頻特性,然後用分貝(dB)表示
subplot(2,1,2)                     %分配畫布,第二副圖
plot(y);title('短時譜');            %畫出短時譜
grid                                        %添加網格線



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章