资源描述:
《卷积算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划卷积算法实验报告 大理大学实验报告 课程名称 实验名称姓名学号实验日期 XX—XX学年度第学期 专业班级 实验地点 第2页共22页 第3页共22页 第4页共22页 第5页共22页 MATLAB自编计算卷积的函数 算法推演: 例如,序列a(n)和b(n), a(n)={1,2,3},b(n)={4,3,2}, ↑↑ 则计算a(n)*b(n)的过程可以使这样的: 123 *42 246 39目的-通过该培训员工可对保安行业有初步了解,
2、并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 +4812 最后的结果为{4,11,20,13,6}。 ↑ 观察计算的过程,我们可以发现其与计算乘法时相似,但当其每一项的乘积不是一位数时,不需要“进位”,而是将结果写在其相对应的位置;观察计算的结果,我们发现,卷积结果的项数比原序列项数之和少1,并且卷积结果中序号为0的项是原序列序号为零的项相乘的那一列所有的结果相加,也就是说,卷积结果的序列的下限是原序列的下限之和,上限亦
3、是原序列的上限之和。我们可以根据这样的算法,可以写出如下程序: 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;%卷积之后序列的长度 forw=1:size%定义一个零值序列,它的项数为卷积结果的长度 k(w)=0;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业
4、的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 end form=1:max2 forn=1:max1%用h序列的第m项,依次乘x的每一项,保存在a(n)中a(n)=x(n)*h(m); end forp=1:size%定义中间序列 d(p)=0;%此序列的作用是保持每一次相乘后的非零值 end forq=m:(m+max1-1)%保持非零值 d(q)=a(q-m+1); end forw=1:size%将相乘所得结果累加 k(w)=k(w)+d(w); end end y=
5、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)%此处不要有分号,否则只会在内存中显示m,n的结果 m
6、= n= - 上述结果与手动计算的结果相一致,下面再用系统自带函数conv计算该序列的卷积: n=1:10 x=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;%我们可以根据卷积的移位性质验证上面的结果subplot(3,1,1);stem(x); title('x序列');gridon; subplot(3,1,2);stem(y); title('y序列');gridon; z=conv(x,y); subplot(3,
7、1,3);stem(z); title('x(n)与y(n)的卷积序列'); gridon; 运行的结果:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 对比两次计算的结果,根据卷积的移位性质,我们可以判定自编程序的正确性。 实验五线性卷积与循环卷积的计算 一、实验目的 1、进