www.pudn.com > wavelet-pujian.rar > simple-pujian.m
%基本谱减算法。
%256点每桢,滑动1/4桢
x=wavread('wx.wav');
hm=hamming(256)';
xn=enframe(x(1:1024),hamming(256),64);
o2tmp=sum(abs(fft(xn').*fft(xn')))/256;
o2=sum(o2tmp)/length(o2tmp);
xx=enframe(x,hamming(256),64)';
[w,l]=size(xx);
X=max(abs(fft(xx)).^2-o2,0);
y=real(ifft(X))';
xo=zeros(1,(l+3)*64);
for i=0:l-1
xo(i*64+1:i*64+256)=xo(i*64+1:i*64+256)+y(i+1,:);
end
xo=xo/4;
wavwrite(xo,8000,16,'wxpj3dbo.wav');
display('pujian over');