www.pudn.com > voiceprocessingtoolbox.rar > fftSynthesis.m
N=21; fs=8000; time=(1:N)'/fs; x=rand(N,1); plot(time, x, 'o-'); X=fft(x)/N; plotNum=fix(N/2)+2; subplot(plotNum, 1, 1) plot(time, x, 'o-'); %axis([-inf inf -1 1]); subplot(plotNum, 1, 2); N2=(N-1)*5+1; fineTime=linspace(min(time), max(time), N2); plot(fineTime, X(1)*ones(N2,1), '.-', time, X(1)*ones(N,1), 'or'); %axis([-inf inf -1 1]); x2=X(1)*ones(N,1); for i=1:N/2 y1=real(X(i+1))*cos(2*pi*(i*fs/N)*fineTime)-imag(X(i+1))*sin(2*pi*(i*fs/N)*fineTime); y2=real(X(i+1))*cos(2*pi*(i*fs/N)*time) -imag(X(i+1))*sin(2*pi*(i*fs/N)*time); subplot(plotNum, 1, i+2); plot(fineTime, y1, '.-', time, y2, 'or'); % axis([-inf inf -1 1]); x2=x2+y2; end sum(abs(x-x2))