matlab卷积实验报告_第1页
matlab卷积实验报告_第2页
matlab卷积实验报告_第3页
matlab卷积实验报告_第4页
matlab卷积实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

今年以来我们在上级党组织的领导和区精神文明办的关心支持指导下坚持以邓小平理论和三个代表重要思想为指导认真落实科学发展观matlab卷积实验报告篇一:MATLAB实验报告卷积实 验 报 告学院: 机电 班级: 姓名: 学号:实验名称:连续时间信号卷积运算的MATLAB实现1. 实验目的:掌握卷积的概念及计算方法2. 熟悉通过调用conv()函数求解连续时间信号卷积的数值分析法实验环境:MATLAB 6.5.1软件实验要求:1、已知信号f1(t)=t/2*(t)- (t-2), f2(t)= (t)- (t-1),通过调用conv()函数编程实现卷积计算y(t)= f1(t)* f2(t),画出波形。2、已知信号f(t)=e-t *(t), h(t)= t2 *e-2t *(t),y(t)= f(t)* h(t)(1)用符号分析法编程实现计算y(t)的理论解;(2)过调用conv()函数编程实现卷积计算y(t)的数值解并画图实验程序及结果:第一题:M文件(1)function f=uCT(t)f=(t=0);主程序:k1=0:p:2;k2=0:p:1;f1=k1/2.*uCT(k1)-uCT(k1-2);f2=uCT(k2)-uCT(k2-1);y=conv(f1,f2)*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p+k0;subplot(311)plot(k1,f1);xlabel(t)ylabel(f1(t)axis(-0.5 2.5 -0.5 1.5)grid onsubplot(312);plot(k2,f2)grid onaxis(-0.5 2.5 -0.5 1.5)xlabel(t)ylabel(f2(t)subplot(313)axis(-0.5 4 -0.5 1.5)grid onxlabel(t)ylabel(f1(t)*f2(t)实验结果: 第二题: M文件function f=uCT(t)f=(t=0);主程序:syms tao t=sym(t,positive); f=exp(-t); h=t2*exp(-2*t); fh_tao=subs(f,t,tao)*subs(h,t,t-tao); yt=int(fh_tao,0,t) yt = -(-2*exp(t)+t2+2*t+2)/exp(t)2 p=0.01;k1=0:p:3;k2=0:p:12;f=exp(-k1).*uCT(k1);h=(k2).2.*exp(-2.*k2).*uCT(k2); y=conv(f,h)*p;k0=k1(1)+k2(1);k3=length(f)+length(h)-2;k=k0:p:k3*p+k0;subplot(221)plot(k1,f);xlabel(t)ylabel(f(t)grid onaxis(-0.5 3.5 -0.5 1.5)subplot(222)plot(k2,h);xlabel(t)ylabel(h(t)grid onaxis(-0.5 11 -0.05 0.2)subplot(223)plot(k,y);grid onxlabel(t)ylabel(f(t)*h(t)数值)axis(-0.5 15 -0.01 0.1)subplot(224)yt =-(-2.*exp(k)+k.2+2.*k+2)./exp(k).2; plot(k,yt);grid onxlabel(t)篇二:实验五 使用matlab实现卷积的运算实验五 使用matlab实现卷积的运算一 实验目的1、 2、二 实验内容学习MATLAB语言的编程方法及熟悉MATLAB指令; 深刻理解卷积运算,利用离散卷积实现连续卷积运算;1、 完成f1(t)与f2(t)两函数的卷积运算 其中:f1(t)?e?2tu(t),f2(t)?u(t)?u(t?4)在一个图形窗口中,画出f1(t)、f2(t)以及卷积结果。要求每个坐标系有标题、坐标轴名称。 p=0.1; t=0:p:10;f1=exp(-2*t).*u(t); f2=u(t)-u(t-4); f=conv(f1,f2); subplot(1,3,1); plot(t,f1,r);title(f1(t)=e-2*t*u(t); xlabel(t(sec); ylabel(f1(t); subplot(1,3,2); plot(t,f2,g);title(f2(t)=u(t)-u(t-4); xlabel(t(sec); ylabel(f2(t); subplot(1,3,3); plot(f);title(f(t)=f1(t)*f2(t); xlabel(t(sec); ylabel(f(t);f1(t)=e2*t*u(t)0.60.60.5-f2(t)=u(t)-u(t-4)54.543.53f(t)=f1(t)*f2(t)f1(t)f2(t)0.50.4f(t) 5t(sec) 102.521.510.500.1005t(sec)100200t(sec)400 2、 若系统模型为: y(t)?4y(t)?4y(t)?f(t)?3f(t)其中f(t)?eu(t) 求零状态响应,画出波形(函数本身画出一幅图,自己再画出一幅输入波形图)。?ta=1 4 4; b=1 3; sys=tf(b,a); td=0.01; t=0:td:10;f=exp(-t).*u(t); y=lsim(sys,f,t); plot(t,y);xlabel(t(sec); ylabel(y(t);0.3y(t)50012345t(sec)678910 a= 1 4 4; b= 1 3;sys = tf(b, a); td = 0.01; t = 0 : td : 10; f = exp(-t).*u(t); plot(t,f); xlabel(t(sec); ylabel(f(t);0.6f(t) 0.20.10012(本文来自:wwW.xIAocAofaNwE 小 草范 文 网:matlab卷积实验报告) 345 t(sec)678910 三 实验原理: 1、 离散卷积和: 调用函数:conv() S?conv(f1,f2)?i?f1(i)f(k?i)为离散卷积和,?其中,f1(k), f2 (k) 为离散序列,K=-2, -1, 0 , 1, 2, 。但是,conv函数只给出纵轴的序列值的大小,而不能给出卷积的X轴序号。为得到该值,进行以下分析:对任意输入:设f1(k)非零区间n1n2,长度L1=n2-n1+1;f2(k)非零区间m1m2,长度L2=m2-m1+1。则:s(k)?f1(k)*f2(k)非零区间从n1+m1开始,长度为L=L1+L2-1,所以S(K)的非零区间为:n1+m1 n1+m1+L-1。 2、 连续卷积和离散卷积的关系:计算机本身不能直接处理连续信号,只能由离散信号进行近似: 设一系统(LTI)输入为P?(t),输出为h(t),如图所示。?t)P?(t)?h?(t)?(t)?limP?(t)?limh?(t)?h(t)?0?0若输入为f(t):f(t)?f?(t)?得输出:k?f(?k)P(t?k?)?y?(t)?k?f(?k)h?(t?k?)?当?0时:f(t)?limf?(t)?lim?0?0k?f(?k)P(t?k?)?f(?)?(t?)d? y(t)?limy?(t)?lim?f(?k)h?(t?k?)? ?0?0k?f(?)h(t?)d?所以:s(t)?f1(t)*f2(t)?f1(?)f2(t?)d?lim?0?f 1 (k?)f2(t?k?)?如果只求离散点上的f 值f(?n)f(n?)?k?f?1(k?)f2(n?k?)? ?f1(k?)f2(n?k)? k?所以,可以用离散卷积和CONV()求连续卷积,只需?足够小以及在卷积和的基础上乘以?。3、 连续卷积坐标的确定:设f1(t)非零值坐标范围:t1t2,间隔Pf2(t)非零值坐标范围:tt1tt2,间隔Ps(t)?f1(t)*f2(t)非零值坐标:t1+tt1t2+tt2篇三:卷积实验报告MATLAB自编计算卷积的函数 算法推演: 例如,序列a(n) 和b(n) , a(n)= 1,2,3 , b(n)= 4, 3,2 , 则计算a(n) * b(n) 的过程可以使这样的:123 * 4 2 246 3 9 + 4 8 12 4 1113 6 最后的结果为 4, 11, 20, 13, 6 。 观察计算的过程,我们可以发现其与计算乘法时相似,但当其每一项的乘积不是一位数时,不需要“进位”,而是将结果写在其相对应的位置;观察计算的结果,我们发现,卷积结果的项数比原序列项数之和少1,并且卷积结果中序号为0的项是原序列序号为零的项相乘的那一列所有的结果相加,也就是说,卷积结果的序列的下限是原序列的下限之和,上限亦是原序列的上限之和。我们可以根据这样的算法,可以写出如下程序(见下页):function y,ny=conv1(x,nx,h,nh)% y 卷积结果% ny 卷积后的序列号构成的序列% nx , nh 分别是序列x , h的序列号构成的序列 max1=length(x); %序列x的长度 max2=length(h); %序列h的长度size=max1+max2-1;%卷积之后序列的长度for w=1:size %定义一个零值序列,它的项数为卷积结果的长度k(w)=0;endfor m=1:max2for n=1:max1%用h序列的第m项,依次乘x的每一项,保存在a(n)中a(n)=x(n)*h(m);endfor p=1:size %定义中间序列d(p)=0;%此序列的作用是保持每一次相乘后的非零值endfor q=m:(m+max1-1)%保持非零值d(q)=a(q-m+1);endfor w=1:size %将相乘所得结果累加k(w)=k(w)+d(w);endendy=k; %复制结果 用以输出ny=(nx(1)+nh(1):(nx(length(x)+(nh(length(h); %卷积结果的序列号构成的序列 运用自编程序: x=1,2,3;y=1,2,3,4;a=0:2;b=-1:2;m,n=conv1(x,a,y,b) %此处不要有分号,否则只会在内存(workspace)中显示m,n的结果m = 1 4 10 16 17 12 n = -1 0 1 2 3 4 上述结果与手动计算的结果相一致,下面再用系统自带函数conv计算该序列的卷积:n=1:10x=zeros(1,10);y=zeros(1,10);x(1)=1;x(2)=2;x(3)=3;%序列的下标必须从1开始y(1)=1;y(2)=2;y(3)=3;y(4)=4; %我们可以根据卷积的移位性质验证上面的结果 subpl

温馨提示

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

评论

0/150

提交评论