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