1、数字信号处理第 1 页 共 7 页实 验 四实验项目名称: 线性卷积与循环卷积实验日期: 2015.05.11 实验学时: 2 实验地点: S1-326姓名: 秦显富 学号: 201201100118实验成绩: 指导教师签字:一、 实验目的和要求:()进一步掌握线性卷积的计算机编程方法,利用卷积的方法观察系统响应的时域特性。()掌握循环卷积的计算机编程方法,并比较与线性卷积的差别,验证二者之间的关系。利用循环卷积的方法观察、分析系统响应的时域特性。二、 实验内容与原理:1.实验原理:()线性卷积:线性时不变系统(Linear Time-Invariant System, or L. T. I
2、系统)输入、输出间的关系为:当系统输入序列为 ,系统的单位脉冲响应为 ,输出序列为 ,则)(nx)(nh)(ny系统输出为: ;上式称为线性卷积。mnhhny )()(()循环卷积设两个有限长序列 和 ,长度分别为 和 , )(1x21N2 )()(11kXnxDFTN 点。如果 ,则)(22kXxDFTN 点 )(21kXk021)()(NmnRIn上式称为 和 的循环卷积。1nx2()两个有限长序列的线性卷积序列 和 ,长度分别为 点和 点, 为这两个序列的线性卷积,则)(LP)(3x为 且线性卷积 的非零值长度为3xmnxx)()(21213 )(3nx点。PL()循环卷积与线性卷积的关
3、系数字信号处理第 2 页 共 7 页序列 为 点长,序列 )(2nx为 点长,若序列 和 进行 点的循环)(1nxLP)(1nx2N卷积 ,其结果是否等于该两序列的线性卷积 ,完全取决于循环卷积的长度。c l由教材相关推导,得 ,也就是说,循环卷积是线性卷积qNlc R)()(的周期延拓序列再取主值区间。当 时循环卷积等于线性卷积,即 ;1PLN )(nxlc当 时,两者不等。2.实验内容:已知长为 4 的两个有限长序列 , )(1()4Rnx)(4(Rh(1)利用 MATLAB 的 conv()函数求线性卷积 ,并绘出图形。)nxy()利用 MATLAB 构建的循环卷积函数计算下述 4 种情
4、况下 循环卷积,并绘和出图形。 )(nxh)(h)(()调用 fft()函数利用循环卷积定理计算下述 4 种情况下 循环卷积,并绘)(h和出图形。 nxnhxnx)(nh()比较线性卷积和循环卷积的结果,总结结论。三、 实验软硬件环境:计算机一台、MATLAB2014a 仿真软件四、 实验编程及调试:(1).x=1,2,3,4;nx=0:3;h=4,3,2,1;nh=0:3;y=conv(x,h);ny=0:6;figure;stem(ny,y);title(线性卷积);ylabel(Y);xlabel(n)(2).先构建 circonv.m 文件function y=circonv(x1,x
5、2)xn2=x2(1),fliplr(x2);xn2(length(xn2)=;C=xn2;R=x2;M=toeplitz(C,R);y=x1*(M);clear;x=1,2,3,4;nx=0:3;h=4,3,2,1;nh=0:3;x5=x,0;nx5=0:4;h5=h,0;nh5=0:4;yn=circonv(x5,h5);nyn=0:4;figure;stem(nyn,yn);title(五点循环卷积);数字信号处理第 3 页 共 7 页ylabel(yn);xlabel(n);clear;x=1,2,3,4;nx=0:3;h=4,3,2,1;nh=0:3;x6=x,0,0;nx6=0:5
6、;h6=h,0,0;nh6=0:5;yc6=circonv(x6,h6);nyc6=0:5;figure;stem(nyc6,yc6);title(六点循环卷积);xlabel(n);ylabel(yc6);x=1,2,3,4;nx=0:3;h=4,3,2,1;nh=0:3;x7=x,0,0,0;nx7=0:6;h7=h,0,0,0;nh7=0:6;yc7=circonv(x7,h7);nyc7=0:6;figure;stem(nyc7,yc7);title(七点循环卷积);xlabel(n);ylabel(yc7);x=1,2,3,4;nx=0:3;h=4,3,2,1;nh=0:3;x8=x
7、,0,0,0,0;nx8=0:7;h8=h,0,0,0,0;nh8=0:7;yc8=circonv(x8,h8);nyc8=0:7;figure;stem(nyc8,yc8);title(八点循环卷积);xlabel(n);ylabel(yc8);(3).x=1,2,3,4,0;nx=0:4;h=4,3,2,1,0;nh=0:4;X=fft(x,5);H=fft(h,5);Y=X.*H;yc5=ifft(Y,5);nyc5=0:4;figure;stem(nyc5,yc5);title(快速五点循环卷积);xlabel(yc5);ylabel(n);x=1,2,3,4,0,0;nx=0:5;h
8、=4,3,2,1,0,0;nh=0:5;X=fft(x,6);H=fft(h,6);数字信号处理第 4 页 共 7 页Y=X.*H;yc6=ifft(Y,6);nyc6=0:5;figure;stem(nyc6,yc6);title(快速六点循环卷积);ylabel(yc6);xlabel(n);x=1,2,3,4,0,0,0;nx=0:6;h=4,3,2,1,0,0,0;nh=0:6;X=fft(x,7);H=fft(h,7);Y=X.*H;yc7=ifft(Y,7);nyc7=0:6;figure;stem(nyc7,yc7);title(快速七点循环卷积);ylabel(yc7);xla
9、bel(n);x=1,2,3,4,0,0,0,0;nx=0:7;h=4,3,2,1,0,0,0,0;nh=0:7;X=fft(x,8);H=fft(h,8);Y=X.*H;yc8=ifft(Y,8);nyc8=0:7;figure;stem(nyc8,yc8);title(快速八点循环卷积);ylabel(yc8);xlabel(n);五、 实验结果及分析:(1).(2).数字信号处理第 5 页 共 7 页.数字信号处理第 6 页 共 7 页(3).数字信号处理第 7 页 共 7 页六、提问及思考:(1).循环卷积与线性卷积的关系:两个序列的 N 点循环卷积是它们线性卷积以 N 为周期的周期延拓再取主值区间。当 时循环卷积等于线性卷积,即 ;当 时,两者PLN )(nxlc1PL不等。(2).若系统脉冲响应 长为 ,系统输入 长为 ,且 ,应使用什么)(nhL)(方法进行编程上机计算?答:应使用快速傅里叶变换(fftfilter() )进行编程上机计算。