用FFT实现快速卷积 联系客服

发布时间 : 星期五 文章用FFT实现快速卷积更新完毕开始阅读a9cceeefb4daa58da1114aaa

实验六 利用FFT实现快速卷积

一、实验目的

1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好地利用FFT进行数字信号处理。

2.进一步掌握圆周卷积和线性卷积两者之间的关系。

二、实验原理

三、实验内容

通用程序:

function yn=FFT(xn,hn) N1=length(xn); N2=length(hn); N=N1+N2-1; XK=fft(xn,N); HK=fft(hn,N); YK=XK.*HK; yn=ifft(YK,N);

if all(imag(xn)==0)&&(all(imag(hn)==0)) yn=real(yn);

end (1)N = 8;

x=[2,1,1,2]; h=[1,-1,-1,1]; XK=fft(x,N); HK=fft(h,N); YK=XK.*HK; yn=ifft(YK,N);

if all(imag(x)==0)&(all(imag(h)==0)) yn=real(yn); end

y=conv(x,h);

subplot(2,1,1); stem(y); title('时域');

subplot(2,1,2); stem(yn,'.'); title('FFT');

(2)将xn,hn分别代入yn=FFT(xn,hn)中即可得出: