大连理工大学数字信号处理实验一实验报告_第1页
大连理工大学数字信号处理实验一实验报告_第2页
大连理工大学数字信号处理实验一实验报告_第3页
大连理工大学数字信号处理实验一实验报告_第4页
大连理工大学数字信号处理实验一实验报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连理工大学实验报告学院(系): 信息与通信工程学院专业:电子信息工程 班级: 姓 名: 学号: 组: 实验时间: 实验室: 实验台: 指导教师签字: 成绩: 实验一 线性卷积和圆周卷积实验目的和要求(与预习报告相同,省略)实验原理和内容(与预习报告相同,省略)三、实验程序和结果给出序列x=3,11,7,0,-1,1,2,h=2,3,0,-5,2,1,用两种方法求两者的线性卷积y,对比结果。1.1、直接调用matlab内部函数conv函数,程序为:x=3,11,7,0,-1,1,2;h=2,3,0,-5,2,1;N=length(x);%求x序列长度M=length(h);%求h序列长度L=N

2、+M-1;%y序列的长度y=conv(x,h);%调用conv函数nx=0:N-1;nh=0:M-1;ny=0:L-1;%各序列向量显示范围subplot(311);stem(nx,x,*r);%画出序列波形xlabel(n);ylabel(x(n);grid on;subplot(312);stem(nh,h,*r);xlabel(n);ylabel(h(n);grid on;subplot(313);stem(ny,y,*r);xlabel(n);ylabel(y(n);grid on;y=conv(x,h);程序运行结果为:y = 6 31 47 6 -51 -11 32 18 -7 -

3、9 5 21.2、根据线性卷积步骤计算,程序为:x=3,11,7,0,-1,1,2;h=2,3,0,-5,2,1;N=length(x);M=length(h);L=N+M-1;ny=0:L-1;y=zeros(1,L);%先将y序列置0for n=1:1:L%外重循环,依次得到y(n) for m=1:1:N%內部循环,叠加求和 k=n-m+1;%线性移位得到对应h序号if (k=1)&(kN%x1的长度必须小于N error(N must be bigger than the length);endif length(x2)N%x2的长度必须小于N error(N must be bigg

4、er than the length);endx1=x1,zeros(1,N-length(x1);%将x1补零补到长度Nx2=x2,zeros(1,N-length(x2);%将x2补零补到长度Ny=zeros(1,N);%先将y序列置0for n=1:1:N%外重循环,依次得到y(n) for m=1:1:N%内重循环,叠加求和 k=mod(n-m,N)+1;%圆周移位得到对应h序号 y(n)=y(n)+x1(m)*x2(k);%叠加求和得到y(n) endendfunction y=circonv2(x1,x2,N)if length(x1)N%x1的长度必须小于N error(N mu

5、st be bigger than the length);endif length(x2)N%x2的长度必须小于N error(N must be bigger than the length);endX1k=fft(x1,N);%对x1进行N点的FFT变换X2k=fft(x2,N);%对x2进行N点的FFT变换Yk=X1k.*X2k;y=ifft(Yk);%求反FFT变换求得yend求序列和,function y=uDT(x)y=x=0enda:N个点的圆周卷积b:3N/2个点的圆周卷积c:2N-1个点的圆周卷积d:用FFT变换实现其圆周卷积程序为:nx=0:10;%取x序列的取值范围0-

6、10nh=0:50;%取y序列的取值范围0-50 x=uDT(nx)-uDT(nx-10);%调用单位阶跃函数h=0.9.nh.*uDT(nh);N=56;K1=N;%圆周卷积点数y1=circonv(x,h,K1);%调用circonv函数实现N点的圆周卷积ny1=0:K1-1;%y序列显示的范围subplot(211);stem(ny1,y1,*r);xlabel(n);ylabel(y(n);grid on;axis(0,115,0,8);%序列图形坐标显示范围title(N点圆周卷积) K2=3*N/2;y2=circonv(x,h,K2);%3N/2点的圆周卷积ny2=0:K2-1;

7、subplot(212);stem(ny2,y2,*r);xlabel(n);ylabel(y(n);grid on;axis(0,115,0,8);title(3N/2点圆周卷积) figure;K3=2*N-1;y3=circonv(x,h,K3);%2N-1点的圆周卷积ny3=0:K3-1;subplot(211);stem(ny3,y3,*r);xlabel(n);ylabel(y(n);grid on;axis(0,115,0,8);title(2N-1点圆周卷积) K4=2*N-1;y4=circonv2(x,h,K4);%调用circonv2函数运用FFT实现2N-1点ny4=0

8、:K4-1; 的圆周卷积 subplot(212);stem(ny4,y4,*r);xlabel(n);ylabel(y(n);grid on;axis(0,115,0,8);title(FFT的2N-1点圆周卷积) figure;y5,ny5=conv_m(x,nx,h,nh);%线性卷积stem(ny5,y5,*r);xlabel(n);ylabel(y(n);grid on;axis(0,70,0,8);title(线性卷积)N点圆周卷积 3N/2点圆周卷积2N-1点圆周卷积程序结果为:FFT的2N-1点圆周卷积线性卷积实验体会本实验主要研究了序列的线性卷积和圆周卷积的MATLAB程序实

9、现。线性卷积:1、若序列从0点起始,可直接调用卷积函数conv;若序列不是从0点起始,可用ny1=nx(1)+nh(1);ny2=nx(length(x)+nh(length(h);ny=ny1:ny2;三句程序改变输出序列的显示范围,然后再调用conv函数。2、由线性卷积定义求卷积。线性卷积是两序列经移位对应项相乘叠加得到,而x(m)对应项应是h(n-m+1),其中n是输出序列号,对m以及n双重循环即可得到y(n)序列。圆周卷积:1、函数库里没有圆周卷积函数,故采用定义法。圆周卷积是两序列经圆周移位对应项相乘叠加得到,此时x(m)对应项应是h(mod(n-m,N)+1)即n-m对N取模加1,N为圆周卷积点数,对m以及n双重循环即可得到y(n)序列。2、采用快速傅里叶变换FFT求圆周卷积。对x和h序列求FFT,相乘得到y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论