求一段MATLAB语音分帧加窗代码,谢谢!

2025-04-15 12:47:15
推荐回答(1个)
回答1:

语音信号的分帧加窗的matlab实现
function Seg=segment(signal,W,SP,Window)
if nargin<3
SP=.4;
end
if nargin<2
W=256;
end
if nargin<4
Window=hamming(W);
end
Window=Window(:); %make it a column vector

L=length(signal);
SP=fix(W.*SP);
N=fix((L-W)/SP +1); %number of segments

Index=(repmat(1:W,N,1)+repmat((0:(N-1))'*SP,1,W))';
hw=repmat(Window,1,N);
Seg=signal(Index).*hw;