利用FFT实现快速卷积(杭电)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

信号、系统与信号处理实验Ⅱ实验报告实验名称:利用FFT实现快速卷积一、实验目的1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好地利用FFT进行数字信号处理。2.进一步掌握圆周卷积和线性卷积两者之间的关系。二、实验内容与要求1、给定两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。首先直接在时域计算两者的线性卷积;其次用FFT快速计算二者的线性卷积,验证结果。2、数字滤波器的脉冲响应为)(2/1-)(2nRnhNn,N2可自定,本实验取N2=17,输入序列x(n)可选下列几种情况:①)()(1nRnxN,N1可自取16②)(2cos)(11nRNnnxN,N1=16③)(31)(1nRnxNn,N1=163、实验前,预先编制一个应用FFT实现数字滤波器的通用程序。4、上机独立调试,并打印或记录实验结果。5、将实验结果与预先笔算的结果比较,验证其正确性。三、实验程序与结果1、给定两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。首先直接在时域计算两者的线性卷积;其次用FFT快速计算二者的线性卷积,验证结果。clearall;n=[2,1,1,2];m=[1,-1,-1,1];y1n=conv(n,m);ny1=[0:1:length(y1n)-1];stem(ny1,y1n);title('利用conv函数求线性卷积')figure;N=length(n)+length(m)-1;NK=fft(n,N);MK=fft(m,N);YK=NK.*MK;y2n=ifft(YK,N);x=0:N-1;stem(x,y2n);title('利用fft方法求线性卷积')2、数字滤波器的脉冲响应为)(2/1-)(2nRnhNn,N2可自定,本实验取N2=17,输入序列x(n)可选下列几种情况:①)()(1nRnxN,N1可自取16②)(2cos)(11nRNnnxN,N1=16③)(31)(1nRnxNn,N1=16主程序:clearall;n=[0:1:15];m=[0:1:16];xn1=ones(1,16);xn2=cos(2*n*pi/16);xn3=(1/3).^n;hn=(-1/2).^n;y1=ccc(xn1,hn);y2=ccc(xn2,hn);y3=ccc(xn3,hn);定义函数实现利用FFT实现数字滤波器:functionyf=ccc(xn,hn)N1=length(xn);N2=length(hn);N=N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK=XK.*HK;yf=ifft(YK,N);ifall(imag(xn)==0)&(all(imag(hn)==0))yf=real(yf);x=0:N-1;figure;stem(x,yf);end051015202530-0.4-0.200.20.40.60.81051015202530-0.8-0.6-0.4-0.200.20.40.60.81051015202530-0.200.20.40.60.811.2四、仿真结果分析五、实验问题解答与体会

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功