www.pudn.com > DHMM_MATLAB.rar > add_window.m


%	by lkk@mails.tsinghua.edu.cn 
function [frames] = add_window(data, window, window_shift) 
%	功能: 
% 		对输入波形加窗分帧 
%	输入: 
%			data 单声道wav格式的源音频数据 
%			window 所加的窗类型 
%			window_shift 窗移 
%	输出: 
%			加窗分帧后的数据矩阵,每一列为一帧 
 
if size(data,2) ~= 1 
	disp('不是单声道音频格式'); 
	return; 
end 
 
%初始化 
window_length = length(window); 
data_length   = length(data); 
frame_index = 1; 
frames = []; 
 
for frame_index=1:window_shift:data_length 
%	防止下标溢出 
	if	(frame_index+window_length-1) > data_length 
		break; 
	end 
%	加窗&分帧 
	temp = data(frame_index:(frame_index + window_length-1)) .* window; 
	frames = [frames , temp]; 
end 
 
end