文档详情

应用FFT实现快速卷积.doc

发布:2015-09-14约1.04千字共3页下载文档
文本预览下载声明
一、实验目的 1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。 2.掌握循环卷积和线性卷积两者之间的关系。 二、实验原理 对于FIR滤波器来说,除了可以通过数字网络来实现外,也可以通过FFT的变换来实现。 首先我们知道,一个信号序列x(n)通过FIR滤波器时,其输出应该是x(n)与h(n)的卷积: 当h(n)是一个有限长序列,即h(n)是FIR滤波器,且时 三、实验内容与要求 1.给定两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1].首先直接在时域计算两者的线性卷积;其次用FFT快速计算两者的线性卷积,验证结果。 2.数字滤波器的脉冲响应为,N2取17。 输入序列x(n)可选下列几种情况 ① ,N1取16。 ② ,N1取16。 ③ ,N1取16。 四、实验程序及图谱 1)在时域计算两者的线性卷积 xn=[2 1 1 2]; hn=[1 -1 -1 1]; yn=conv(xn,hn); stem(yn); ylabel(xn与hn卷积的幅度); xlabel(xn); 用FFT快速计算两者的线性卷积 n=[0:1:3]; m=[0:1:3]; N1=length(n); N2=length(m); xn=[2 1 1 2]; hn=[1 -1 -1 1]; 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 x=0:N-1; stem(x,yn,.) 2)① ,N1取16。 n=[0:1:15]; m=[0:1:16]; N1=length(n); N2=length(m); hn=(-0.5).^n; xn=ones(1,N1); 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 x=0:N-1; stem(x,yn,.) ② ,N1取16。在原程序中改变xn=cos(2*pi*n/N1);其他不变 ③ ,N1取16。在原程序中改变xn=(1/3).^n;其他不变
显示全部
相似文档