在我的應用中,我需要將來自麥克風的全部語音信號(採樣後)分成10ms非重疊窗口。將語音信號分成10ms非重疊窗口
我目前使用的寧窗口在我的代碼,爲了做到這一點:
public short[] HanningWindow(short[] signal_in, int pos, int size)
{
for (int i = pos; i < pos + size; i++)
{
int j = i - pos; // j = index into Hann window function
signal_in[i] = (short) (signal_in[i] * 0.5 * (1.0 - Math.cos(2.0 * Math.PI * j/size)));
}
return signal_in;
}
現在的問題是,,,我在哪裏可以指定我需要10ms的非重疊窗口?
如果你正在使用窗口函數(例如Hanning),那麼不可能非重疊的窗口就是你所需要的...... –
實際上我想實現一個信號上的Mahalanobis距離算法,這需要將整個語音信號到10毫秒 非重疊窗口,我的問題是我該如何改進我的代碼做到這一點?@ Oli Charlesworth – hana