数字信号处理实验4——线性卷积与圆周卷积的计算

数字信号处理实验4——线性卷积与圆周卷积的计算

ID:46817192

大小:638.66 KB

页数:7页

时间:2019-11-28

数字信号处理实验4——线性卷积与圆周卷积的计算_第1页
数字信号处理实验4——线性卷积与圆周卷积的计算_第2页
数字信号处理实验4——线性卷积与圆周卷积的计算_第3页
数字信号处理实验4——线性卷积与圆周卷积的计算_第4页
数字信号处理实验4——线性卷积与圆周卷积的计算_第5页
资源描述:

《数字信号处理实验4——线性卷积与圆周卷积的计算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字信号处理实验——线性卷积与圆周卷积的计算通信中英2班潘奕铭(16086214)实验目的通过编程、上机调试程序,进一步增强使用计算机解决问题的能力。掌握线性卷积与圆周卷积软件的实现方法,并验证两者之间的关系。基本原理线性卷积:圆周卷积:设两个有限长序列和,均为点长,则它们的的圆周卷积等价于如下程序:1.foriinrange(0,n-1):2.forjinrange(0,n-1):3.h[(i+j)%n)]+=x[i]*y[j];两个有限长序列的线性卷积:序列为点长,序列为点长,则它们的线性卷积的最大长度为,也就是说

2、当和时。圆周卷积和线性卷积的关系:序列为点长,序列为点长,若序列和进行点的圆周卷积,其结果是否等于该两序列的线性卷积,完全取决于圆周卷积的长度。当时,圆周(循环)卷积等于线性卷积。否则,圆周卷积等于两个序列的线性卷积加上相当于下式的时间混叠,即:实验内容已知两个有限长序列:实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积:线性卷积:点圆周卷积:点圆周卷积:点圆周卷积:点圆周卷积:编写程序计算两个序列的线性卷积和各点的圆周卷积并打印出来。思路:线性卷积自带了我们直接调用即可。对于圆周卷积,我们要先回顾一

3、般计算圆周卷积的主要流程,即翻转序列,每次计算完一个点的值以后对序列循环移位然后再序列对应相乘相加计算新的位置的点值,所以这里我们的思路就是对于翻转后的序列我们构造一个矩阵后将其转置再左乘序列后求得的序列即是我们要的圆周卷积序列。正确性不言而喻,就是把上面的过程用矩阵乘法的形式表现出来。波形图:线性卷积和点圆周卷积:线性卷积和点圆周卷积:线性卷积和点圆周卷积:线性卷积和点圆周卷积:程序清单:1.%用直接法实现圆周卷积2.%y=circonv(x1,x2,N)3.%y:输出序列4.%x1,x2:输入序列5.%N:圆周卷积

4、的长度6.functionyc=circonv(x1,x2,N)7.iflength(x1)>N8.error('N必须大于等于x1的长度')9.end10.iflength(x2)>N11.error('N必须大于等于x2的长度')12.end13.x1=[x1,zeros(1,N-length(x1))]14.x2=[x2,zeros(1,N-length(x2))]15.n=[0:1:N-1];16.x2=x2(mod(-n,N)+1);%对下标取模后重新排列,生成序列x2((-n))N17.H=zeros(N,

5、N);18.forn=1:1:N19.H(n,:)=cirshiftd(x2,n-1,N);%该矩阵第k行为x2((k-1-n))N20.end21.yc=x1*H';%矩阵转置后进行圆周卷积22.'23.%直接实现序列x的圆周移位24.%y=cirshifed(x,m,N)25.%x:输入序列,且它的长度小于N26.%m:移位位数27.%N:圆周卷积的长度28.%y:输出的移位序列29.functiony=cirshiftd(x,m,N)30.iflength(x)>N31.error('x的长度必须小于N');32

6、.end33.x=[x,zeros(1,N-length(x))];34.n=[0:1:N-1];35.y=x(mod(n-m,N)+1);36.37.%主程序,axis的坐标范围根据各自的圆周卷积后的长度进行调整38.xn=[1,2,3,4,5];39.hn=[1,2,1,2];40.yln=conv(xn,hn);41.ycn=circonv(xn,hn,5);42.ny1=[0:1:length(yln)-1];43.ny2=[0:1:length(ycn)-1];44.subplot(2,1,1);45.ste

7、m(ny1,yln);46.subplot(2,1,2);47.stem(ny2,ycn);48.axis([0,5,0,25]);将实验结果和预先笔算的结果进行比较,验证其正确性。对比可知程序完全正确,输出结果完全一致。思考题:有一些问题的答案已经渗透在上面的报告中,故这里不再赘述,只做一些补充线性卷积的运算步骤一般可以分为哪几个部分?翻转,平移,相乘,相加。另一种思路:1.foriinrange(0,n-1):2.forjinrange(0,m-1):3.h[i+j]+=x[i]*y[j];采用圆周卷积运算代

8、替线性卷积运算的原因?时域上的圆周卷积对应于频域上相当于两个序列的相乘,而这一步我们可以用从优化到,即对两个序列求得序列后相乘再用回去,运行速度大大提升,可以运用到需要更大计算量的卷积中去。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。