实验报告1-线性卷积与圆周卷积.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告1-线性卷积与圆周卷积

大连理工大学实验报告 学院(系): 信息与通信工程 专业: 通信工程 班级: 电通1101 姓 名: 殷青 学号: 201181227 实验时间: 2014.5.7 实验室: 创C221 实验一 线性卷积与圆周卷积 实验目的和要求 (见预习报告) 主要仪器设备 MATLAB 实验步骤与操作方法 (见预习报告) 四、实验结果与分析 给出序列x=[3,11,7,0,-1,4,2],h=[2,3,0,-5,2,1];用两种方法求两者的线性卷积y,对比结果。 直接调用matlab内部函数conv来计算。 根据线性卷积的步骤计算。 Matlab实现: a): x=[3 11 7 0 -1 4 2]; y=[2 3 0 -5 2 1]; h=conv(x,y); figure; subplot(1,4,1);stem(x); subplot(1,4,2);stem(y); subplot(1,4,3);stem(h); 运行结果: b): x=[3 11 7 0 -1 4 2]; y=[2 3 0 -5 2 1]; h=conv(x,y); figure; subplot(1,4,1);stem(x); subplot(1,4,2);stem(y); subplot(1,4,3);stem(h); nx=length(x); ny=length(y); n=zeros(nx+ny-1); for i=1:nx+ny-1 if i=ny for j=1:i n(i,j)=x(i-j+1)*y(j); end else for k=i-6:ny n(i,k)=x(i-k+1)*y(k); end end end disp(n) h2=zeros(1,nx+ny-1); for i=1:nx+ny-1 h2(i)=sum(n(i,:)); end disp(h2); subplot(1,4,4);stem(h2); 运行结果: n矩阵: h2矩阵: 将函数conv稍加扩展为函数conv_m,它可以对任意基底的序列求卷积。格式如下: function [y,ny]=conv_m(x,nx,h,nh) % 信号处理的改进卷积程序 % [y,ny]=conv_m(x,nx,h,nh) % [y,ny]=卷积结果 % [x,nx]=第一个信号 % [h,nh]=第二个信号 Matlab实现: function [y,ny]=conv_m(x,nx,h,nh) n=zeros(nx+nh-1); for i=1:nx+nh-1 if i=nh for j=1:i n(i,j)=x(i-j+1)*h(j); end else for k=i-nh:nh n(i,k)=x(i-k+1)*h(k); end end end disp(n) y=zeros(1,nx+nh-1); for i=1:nx+nh-1 y(i)=sum(n(i,:)); end disp(y); ny=length(y); figure; subplot(131);stem(x); subplot(132);stem(h); subplot(133);stem(y); 验证:输入序列: x=[1 2 3 4 5]; h=[1 2 3] nx=length(x); nh=length(h); conv_m(x,nx,h,nh); 运行结果: 3.创建函数circonv,来实现序列的圆周卷积,格式如下: function y=circonv(x1,x2,N) Matlab实现: function y=circonv(x1,x2,N) X=[x1 zeros(1,N-length(x1))]; H=[x2 zeros(1,N-length(x2))]; y1=conv(X,H); z1=[zeros(1,N) y1(1:(N-1))]; z2=[y1((N+1):(2*N-1)) zeros(1,N)]; z=z1(1:(2*N-1))+z2(1:(2*N-1))+y1(1:(2*N-1)); y=z(1:N);figure; stem((0:N-1),y,.); end 4.求序列和,()的线性卷积 N个点的圆周卷积 3N/2个点的圆周卷积 2N-1个点的圆周卷积 用FFT变换实现其圆周

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档