循环卷积和圆周卷积

上传人:鲁** 文档编号:431983971 上传时间:2023-10-04 格式:DOC 页数:7 大小:208.50KB
返回 下载 相关 举报
循环卷积和圆周卷积_第1页
第1页 / 共7页
循环卷积和圆周卷积_第2页
第2页 / 共7页
循环卷积和圆周卷积_第3页
第3页 / 共7页
循环卷积和圆周卷积_第4页
第4页 / 共7页
循环卷积和圆周卷积_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《循环卷积和圆周卷积》由会员分享,可在线阅读,更多相关《循环卷积和圆周卷积(7页珍藏版)》请在金锄头文库上搜索。

1、循环卷积与圆周性卷积的实现一、实验目的(1) 进一步理解并掌握循环卷积与线性卷积和圆周卷积和的概念。(2) 理解掌握三者的关系。二、实验原理两个序列的N点循环卷积定义为N Ah(n): x(n) Nh(m)x(n-m)N(0乞 nN)(9-16)k =0从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N点循环卷积的结果仍为N点序列,而它们的线性卷积的结果的长度则为2N-1 ;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。正是这些不同, 导致了线性卷积和循环卷积有不同的结果和性质。循环卷积和线性卷积虽然是不同的概念,但它们之间由一个有意义的公式联 系在一起N -1y(n

2、 )=h (n) : x( n)N = ( y( n-rN)GN( n)( 9-17)其中 y(n) =h(n)*x(n)也就是说,两个序列N点循环卷积是它们的线性卷积以 N为周期的周期延拓, 设序列h (n)的长度为Ni,序列x (n)的长度为N2,此时,线性卷积结果的 序列的点数为N、2 N2 -1,因此如果循环卷积的点数N小于NN2 -1,那 么上述周期延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果 N 满足N -N的条件,就会有y(n) =y(n)(0 乞 n 乞 N) (9-18)这就意味着在时域不会产生混叠。因此,我们得出结论:若通过在序列的末 尾充填适当的零值,使得x

3、 (n)和h (n)成为NN1点序列,并作出这两个 序列的N1 N -1循环卷积,那么循环卷积与线性卷积的结果在 0乞n乞N范围内 相同。根据DFT循环卷积性质中的卷积定理DFTh(n) : x(n)N : = DFTx(n)DFTh(n)(9-19)便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算,二是根据性质线分别求两个序列的 N点DFT并相乘,然后取IDFT以得到循环卷积。 第二种方法看起来要经过若干过程,但由于序列的DFT和 IDFT都有快速算法,因此它的效率比第一种方法高得多。同样,根据线性卷积和循环卷积的关系,可以通过计算循环卷积以求得线性 卷积,提高计算序列线性卷积的效

4、率。三、例题及理论计算已知有限长序列x (n)与h (n)如图试画出:(1) x (n)与h (n)的线卷积(2) x (n)与h (n)的7点圆卷积(3) x (n)与h (n)的5点圆卷积x(n)01234五点卷积图12345四、matlab仿真用matlab仿真,方法一:fun cti on y=circ on v1(x1,x2,N)%realize circular convo luti on use dft method if len gth(x1)Nerror(N must not be less tha n len gth of x1) endif len gth(x2)Nerr

5、or(N must not be less tha n len gth of x2) endX1k=x1,zeros(1,N-le ngth(x1);X2k=x2,zeros(1,N-le ngth(x2);n=0:1:N-1x2=x2(mod(- n,N)+1);H=zeros(N,N);for n=1:1:N;H(n ,:)=cirshifted(x2, n-1,N);endy1=x1*H;fun cti on y=cirshifted(x,m,N)if len gth(x)Nerror(N必须大于等于x的长度)endx=x,zeros(1,N-length(x); n=0:1:N-1;

6、n=mod(n-m,N); y=x(n+1);方法二:function y=circonv2(x1,x2,N)%realize circular convolution use dft method if length(x1)Nerror(N must not be less than length of x1) end if length(x2)Nerror(N must not be less than length of x2) end X1k=fft(x1,N); X2k=fft(x2,N); Yk=X1k.*X2k; Y=ifft(Yk);If(all(imag(x1)=0)&(al

7、l(imag(x2)=0) Y=real(y);end运行程序: n=0:1:4;m=0:1:4;N1=length(n);N2=length(m); xn=ones(1,N1); hn=m;y1n=conv(xn,hn); y2n=circonv1(xn,hn,N1+N2-1); y3n=circonv2(xn,hn,N1); ny1=0:1:length(y1n)-1; ny2=0:1:length(y3n)-1;subplot(3,1,1);stem(ny1,y1n);subplot(3,1,2);stem(ny1,y2n);subplot(3,1,3);stem(ny2,y3n);ax

8、is0,25,0,6;仿真图像为:10Q$Nerror(N must not be lesstha nlen gth of x1)endiflen gth(x2)Nerror(N must not be lesstha nlen gth of x2)endX1k=fft(x1,N);X2k=fft(x2,N);Yk=X1k*X2k;Y=ifft(Yk);if(all(imag(x1)=0)&(all(imag(x2)=0) y=real(Y);endfunctionXk=dft(xn,N)%计算离散付利叶变换%Xk=dft(xn,N)%Xk在Ov=kv=N-1间的DFT系数数组%xn=N 点有

9、限长度序列%N=DFT 的长度hangxianglianghangxiangliangn=O:1:N-1;%n dek=O:1:N-1;%k deWN=exp(-j*2*pi/N);nk=n*k;WNn k=WN.A nk;Xk=xn*WNnk;endfunction xn=idft(Xk,N)%计算离散傅里叶变换n=O:1:N-1;k=O:1:N-1;WN=exp(-j*2*pi/N);nk=n*k;WNnk=WN.A(-nk);xn=(Xk*WNnk)/N;endclear allclose allclcx1=1,2,3,4,5;x2=1,2,3,4,5,4,3,2,1;N=length(

10、x1)+length(x2);n=O:N-1;n1=O:N-2;n2=O:N-3;y1=circonvt(x1,x2,N);y2=circonvt(x1,x2,N-1);y3=circonvt(x1,x2,N-2);x1=x1 zeros(1,N-length(x1);x2=x2 zeros(1,N-length(x2);Xf1=dft(x1,N);Xf2=dft(x2,N);Xf=Xf1.*Xf2;x=idft(Xf,N)x=real(x);subplot(231)stem( n,x1);title(x1( n)subplot(232);stem( n,x2);title(x2( n) subplot(233);stem( n, x);title(x( n)=IDFT(X(k) subplot(234) stem( n,y1);title(N 点圆周卷积)subplot(235)stem( n1,y2);title(N-1点圆周卷积)subplot(236) stem( n2,y3);title(N-2点圆周卷积)x(n)=IDFTp?k)实验结论:(1)通过本次实验仿真,加深了我对循环卷积和圆周卷积的相关概念的理(2)通过和同学的交流,能加深对 matlab的理解,更好的学习

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号