lesson 11 利用循环卷积计算线性卷积资料
- 格式:ppt
- 大小:313.50 KB
- 文档页数:13


循环卷积与圆周性卷积的实现一、实验目的(1)进一步理解并掌握循环卷积与线性卷积和圆周卷积和的概念。
(2)理解掌握三者的关系。
二、实验原理两个序列的N 点循环卷积定义为[]∑-=-=⊗10))(()()()(N k N N m n x m h n x n h )0(N n ≤≤ (9-16)从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点循环卷积的结果仍为N 点序列,而它们的线性卷积的结果的长度则为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。
正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。
循环卷积和线性卷积虽然是不同的概念,但它们之间由一个有意义的公式联系在一起[])())('()()()(10n G rN n y n x n h n y N N k N ∑-=-=⊗= (9-17)其中)(*)()('n x n h n y =也就是说,两个序列N 点循环卷积是它们的线性卷积以N 为周期的周期延拓,设序列h (n )的长度为1N ,序列x (n )的长度为2N ,此时,线性卷积结果的序列的点数为1'21-+=N N N ,因此如果循环卷积的点数N 小于121-+N N ,那么上述周期延拓的结果就会产生混叠,从而两种卷积会有不同的结果。
而如果N 满足'N N =的条件,就会有)(')(n y n y = )0(N n ≤≤ (9-18)这就意味着在时域不会产生混叠。
因此,我们得出结论:若通过在序列的末尾充填适当的零值,使得x (n )和h (n )成为121N N +-点序列,并作出这两个序列的11N N +-循环卷积,那么循环卷积与线性卷积的结果在0n N ≤≤范围内相同。
根据DFT 循环卷积性质中的卷积定理{}[()()][()][()]N DFT h n x n DFT x n DFT h n ⊗=• (9-19)便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算,二是根据性质线分别求两个序列的N 点DFT ,并相乘,然后取IDFT 以得到循环卷积。
循环卷积与线性卷积的实现1、实验目的:(1)进一步理解并掌握循环卷积与线性卷积的概念。
(2)理解掌握二者的关系。
三、实验原理两个序列的N点循环卷积定义为从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N点循环卷积的结果仍为N点序列,而他们的线性卷积的结果的长度则为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性位移。
正式这些不同,导致了线性卷积和循环卷积有不同的结果和性质。
循环卷积和线性卷积虽然是不用的概念,但是它们之间有一个有意义的公式联系在一起其中也就是说,两个序列的N点循环卷积是他们的线性卷积以N为周期的周期延阔。
设序列的长度为,序列的长度为,此时,线性卷积结果的序列的点数为;因此如果循环卷积的点数N小于,那么上述周期性延阔的结果就会产生混叠,从而两种卷积会有不同的结果。
而如果N满足的条件,就会有这就会意味着在时域不会产生混叠。
因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得和成为店序列,并作出这两个序列的循环卷积与线性卷积的结果在范围内相同。
根据DFT循环卷积性质中的卷积定理便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算;二是根据性质先分别求两个序列的N点DFT,并相乘,然后取IDFT以得到循环卷积。
第二种方法看起来要经过若干个步骤,但由于求序列的DFT和IDFT都有快速算法,因此它的效率比第一种方法要高得多。
同样,根据线性卷积和循环卷积的关系,可以通过计算循环卷积以求得线性卷积,提高计算序列线性卷积的效率。
4、实验内容输入程序序列如下:n=[0:1:4];m=[0:1:3];x1=1+n;x2=4-m; %生成函数x1和x2L1=length(x1)-1;L2=length(x2)-1; %取函数的长度y1=conv(x1,x2); %直接用函数conv计算线性卷积n1=[0:1:L1+L2];subplot(3,1,1);stem(n1,y1) %绘制线性卷积图形xlabel('n');ylabel('y(n)'); %标注x、y轴N2=5; %求5点圆卷积if length(x1)>N2error('N必须大于序列x1的长度')endif length(x2)>N2error('N必须大于序列x2的长度')end %以上语句判断两个序列的长度是否小于N X21=fft(x1,N2); %作序列1的FFTX22=fft(x2,N2); %作序列2的FFTy2=ifft(X21.*X22); %求两序列的循环卷积(时域)n2=[0:1:N2-1];subplot(3,1,2);stem(n2,y2) %绘制两序列循环卷积图形axis([0,7,0,40]) %修改x、y轴长度N3=8if length(x1)>N3error('N必须大于序列x1的长度')endif length(x2)>N3error('N必须大于序列x2的长度')endx31=[x1,zeros(1,N3-length(x1))]x32=[x2,zeros(1,N3-length(x2))]X31=fft(x31)X32=fft(x32)y3=ifft(X31.*X32)n3=[0:1:N3-1]subplot(3,1,3);stem(n3,y3)将程序输入MATLAB运行结果如下:MATLAB运行显示的图形为:五、实验心得:本次实验对我意义很大,让我熟练的运用了matlab软件。
线性卷积计算循环卷积的快速改进算法
线性卷积计算循环卷积的快速改进算法
毕春艳;徐晋
【期刊名称】《⽹络新媒体技术》
【年(卷),期】2017(006)005
【摘要】循环卷积⽆论是按照定义直接计算还是⽤图解法计算过程均⽐较复杂,本⽂分析了有限长序列线性卷积、周期卷积和循环卷积之间的关系,提出了⼀种利⽤线性卷积计算循环卷积的快速算法,并给出了算法详细流程图,在MATLAB 平台上进⾏不同点数的循环卷积仿真实现,验证了新算法的正确性。
研究结果表明,该算法适⽤于任何点数的循环卷积计算,过程简单便捷,运算量⼩,⼤⼤简化了有限长序列循环卷积的计算。
【总页数】6页(P.59-63,47)
【关键词】有限长序列;线性卷积;周期卷积;循环卷积
【作者】毕春艳;徐晋
【作者单位】四川⼤学锦江学院电⽓与电⼦信息⼯程学院四川620860;
【正⽂语种】英⽂
【中图分类】TP301.6
【相关⽂献】
1.线性卷积计算循环卷积的快速改进算法 [J], 毕春艳; 徐晋
2.⼀种快速计算循环卷积的新算法 [J], 殷作勤
3.基于线性卷积的圆周卷积快速算法 [J], 沈君凤
4.基于线性卷积的短序列循环卷积的计算 [J], 陈宏希
5.基于改进欧⼏⾥得算法的卷积码快速盲识别算法[J], 解辉; 王丰华; 黄知涛;。
循环卷积计算步骤
宝子,咱来唠唠循环卷积的计算步骤哈。
循环卷积呢,得先有俩序列,咱就叫它序列x(n)和序列h(n)。
这俩序列的长度假设是N哈。
咱先把这俩序列当成是周期为N的周期序列。
然后呢,把x(n)不动,把h(n)给它来个反转,就像把一个东西倒过来一样,得到h(-n)。
接着呢,让h(-n)开始移动。
从n = 0开始哈,就像小蚂蚁搬家似的。
每移动一个位置,就把x(n)和这个移动后的h(n)对应位置的元素相乘,然后把这些乘积加起来,得到一个值。
这个值就是循环卷积在这个位置的值啦。
比如说,当n = 0的时候,就把x(0)和h(0)相乘,x(1)和h(N - 1)相乘,x(2)和h(N - 2)相乘,就这样依次乘完再加起来。
然后呢,让h(-n)继续移动,n变成1的时候,又按照这个规则去乘加,得到循环卷积下一个位置的值。
就这么一直移动,一直计算,直到n = N - 1为止。
宝子你看,循环卷积就这么一步步算出来啦。
它和普通卷积有点像,但又有自己的小脾气哦。
普通卷积是线性卷积,计算的时候没有这种周期的概念。
但循环卷积就不一样啦,它是在周期序列的基础上玩的。
你要是在计算的时候,感觉有点晕乎,就像我刚开始学的时候一样。
你可以自己拿小纸条写一写那几个序列,然后按照步骤慢慢算,多算几次就熟练啦。
这就像骑自行车,刚开始总是歪歪扭扭的,骑多了就顺溜啦。
。