1、实验报告数字信号处理实验 1大连理工大学本科实验报告实验名称 : 学院(系): 信息与通信学院 专 业: 电子信息工程 班 级: 电子1301 学 号: 201383022 学生姓名: 同 组 人: 年 月 日实验项目列表序号实验项目名称学时成 绩指导教师预习操作结果123456789101112131415161718总计学分:大连理工大学实验报告学院(系): 信息与通信工程 专业: 电子信息工程 班级: 电子1103 姓 名: 于梦月 学号: 201158021 组: _ 实验时间: 实验室: 实验台: 指导教师签字: 成绩: 实验一 线性卷积与圆周卷积1、实验目的和要求 见预习报告2、实
2、验原理和内容 见预习报告3、主要仪器设备Matlab软件四、实验步骤与操作方法1. 给出序列x=3,11,7,0,-1,4,2,h=2,3,0,-5,2,1;用两种方法求两者的线性卷积y,对比结果。a) 直接调用matlab内部函数conv来计算。解:clearclcnx=0:1:6;nh=0:1:5;ny=0:11;x=3,11,7,0,-1,4,2;h=2,3,0,-5,2,1;y=conv(x,h);结果:y = 6 31 47 6 -51 -5 41 18 -22 -3 8 2b) 根据线性卷积的步骤计算。2. 将函数conv稍加扩展为函数conv_m,它可以对任意基底的序列求卷积。格
3、式如下: function y,ny=conv_m(x,nx,h,nh)% 信号处理的改进卷积程序% y,ny=conv_m(x,nx,h,nh)% y,ny=卷积结果% x,nx=第一个信号% h,nh=第二个信号解:function y,ny = conv_m( x,nx,h,nh )ny1=nx(1)+nh(1);ny2=nx(length(x)+nh(length(h);ny=ny1:ny2;y=conv(x,h) end3. 创建函数circonv,来实现序列的圆周卷积,格式如下: function y=circonv(x1,x2,N)解:function yc=circonv(x1
4、,x2,N);if length(x1)N error(N should higher than or equal to the length of x1!);endif length(x2)N error(N should higher than or equal to the length of x2!);endx1=x1,zeros(1,N-length(x1);x2=x2,zeros(1,N-length(x2);n=0:N-1;x2=x2(mod(-n,N)+1);H=zeros(N,N);for n=1:1:NH(n,:)=cirshifted(x2,n-1,N);endyc=x1
5、*H;其中cirshifted函数如下:function y = cirshifted( x,m,N )if length(x)N error(x的长度必须小于N);endx=x,zeros(1,N-length(x);n=0:1:N-1;y=x(mod(n-m,N)+1); end4. 求序列和,()的线性卷积解:Clearclcnx=-5:50;nh=-5:50;x=uct(nx)-uct(nx-10);h=0.8.nh.*uct(nh);y,ny=conv_m(x,nx,h,nh)subplot(311)stem(nx,x,fill),grid onxlabel(n),title(x(n
6、)subplot(312)stem(nh,h,fill),grid onxlabel(n),title(h(n)subplot(313)stem(ny,y,fill),grid onxlabel(n),title(y(n)=x(n)*h(n)结果:a) N个点的圆周卷积b) 3N/2个点的圆周卷积c) 2N-1个点的圆周卷积解:clearclcN=56;nx=-5:50;nh=-5:50;x=uct(nx)-uct(nx-10);h=0.8.nh.*uct(nh);ycn=circonv(x,h,N);ny2=0:1:length(ycn)-1;subplot(311)stem(ny2,ycn
7、),grid onxlabel(n),title(N点圆周卷积) ycn=circonv(x,h,3*N/2);ny2=0:1:length(ycn)-1;subplot(312)stem(ny2,ycn),grid onxlabel(n),title(3N/2点圆周卷积) ycn=circonv(x,h,2*N-1);ny2=0:1:length(ycn)-1;subplot(313)stem(ny2,ycn),grid onxlabel(n),title(2N-1点圆周卷积) 结果:d) 用FFT变换实现其圆周卷积解:clearclcnx=-5:50;nh=-5:50;x=uct(nx)-
8、uct(nx-10);h=0.8.nh.*uct(nh);y1=fft(x)y2=fft(h)y=ifft(y1.*y2)ny2=0:1:length(y)-1;stem(ny2,y),grid onxlabel(n),title(圆周卷积)结果:六、实验结果与分析七、讨论、建议、质疑注:有预习报告的,部分内容(如:目的和要求、原理等)可体现在预习报告里。大连理工大学实验预习报告学院(系): 信息与通信工程 专业: 电子信息工程 班级: 电子1103 姓 名: 于梦月 学号: 201158021 组: _ 实验时间: 实验室: 实验台: 指导教师签字: 成绩: 实验一 线性卷积与圆周卷积1、实
9、验目的和要求理解离散序列的线性卷积与圆周卷积的原理,比较其相同和不同点,掌握线性卷积与圆周卷积的计算步骤和计算方法,能熟练使用Matlab的相关命令。 2、实验原理和内容1线形卷积:设两序列为x(n)和h(n),则x(n)和h(n)的线形卷积和定义为 (1)卷积和的运算在图形表示上可分为四步:翻褶,移位,相乘,相加(1) 翻褶:先在哑变量坐标m上作出x(m)和h(m),将h(m)以m=0的垂直轴为对称轴翻褶成h(-m)。(2) 移位:将h(-m)移位,即得h(n-m)。当n为正整数时,右移n位。当为负整数时,左移n位。(3) 相乘:再将h(n-m)和x(m)的相同m值的对应点值相乘。(4) 相
10、加:把以上所有对应点的乘积叠加起来,即得y(n)值。注意:对于得到结果的仍然是一个序列,若x(n)的长度是N,h(n)的长度是M,则y(n)的长度是N+M-1。2圆周卷积:设两序列为x(n)和h(n),则x(n)和h(n)的圆周卷积和定义为 (2)圆周卷积过程:1)补零:若x(n)的长度是N,h(n)的长度是M,取,对序列补零至H点。2)周期延拓:先在哑变量坐标m上作出x(m)和h(m),将h(m)周期延拓。3)翻褶,取主值序列:对h(m)以 m=0的垂直轴为对称轴翻褶成h (-m),然后取主值序列。4)圆周移位:对得到的序列进行圆周移位。5)相乘相加:与x(m)对应项相乘,并累加,得到y(n
11、)3线形卷积与圆周卷积的关系:为何要探讨线形卷积与圆周卷积的关系?时域圆周卷积在频域上相当于两序列的DFT的相乘,因而可以采用DFT的快速算法快速傅立叶变换(FFT)算法,它于线性卷积相比,计算速度可以大大加快。但是,一般实际问题(例如,信号通过线性移不变系统)都是线性卷积运算。4结论:设两序列为x(n)和h(n),长度分别为N、M;则其线形卷积的长度为N+M-1,而圆周卷积的长度为K=max(N,M)。实际上还可以计算K+1、K+2、。、N+M-1、N+M、N+M+1.等点的圆周卷积,只有LN1N21,则L点圆周卷积和线性卷积相等。3、实验步骤求序列x(n)=u(n)-u(n-10)和h(n)=u(n),(n=-5:50,N=56)的1、线性卷积2、N个点的圆周卷积3、3N/2个点的圆周卷积4、2N-1个点的圆周卷积5、用FFT变换实现其圆周卷积四、实验数据记录表格
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1