首先,求得zero phase之后的波形,函数名为:a_simpleFFT.m
%a_simpleFFT.m
function [Pu]=a_simpleFFT(filename)
if nargin < 1
filename = 'C:UserssuhongDesktop语音信号盲分离用到的语音文件F16A1.WAV';
end
winsize = 512;
shiftsize = 160;
[wav,Fs,bits] = wavread(filename);
window = hamming(winsize);
winc = getframe(wav,winsize,shiftsize,window);
sf = fft(winc);%傅里叶变换
ef = ifft(abs(sf).^0.1);%傅里叶逆变换
%sf1 = fft(ef);
% figure;imagesc(log(abs(sf(winsize/2:end,:))));
% title('fft之后的频谱图');
% figure; plot(ef(winsize/2:end,:));
% title('逆fft之后的波形图');
spec=ef(2:256,:); %512 * 帧数
%spec=log(abs(sf1(winsize/2:end,:)));
% figure;imagesc(spec);
% title('相位变为0之后的频谱图');
% figure;imagesc(spec-log(abs(sf(winsize/2:end,:))));
% title('差值');
spec=spec'; %帧数 * winsi
最后
以上就是高兴短靴最近收集整理的关于语音zero phase matlab处理的全部内容,更多相关语音zero内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复