首先,求得zero phase之後的波形,函數名爲:a_simpleFFT.m
%a_simpleFFT.m
function [Pu]=a_simpleFFT(filename)
if nargin < 1
filename = 'C:\Users\suhong\Desktop\語音信號盲分離\用到的語音文件\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'; %幀數 * winsize/2+1
%figure; imagesc(spec');
% forward=3;
% allPu=zeros(0,(winsize/2+1)*(2*forward+1));
% for i=