线性卷积与圆周卷积演示程序的设计

线性卷积与圆周卷积演示程序的设计
线性卷积与圆周卷积演示程序的设计

实验一线性卷积与圆周卷积演示程序的设计

实验报告

学号

专业班级

指导老师

分数

《数字信号处理课程设计》任务书

实验一 线性卷积与圆周卷积演示程序的设计

一、 实验目的

目的:① 熟练掌握MATLAB 工具软件在工程设计中的使用;

② 熟练掌握线性卷积与圆周卷积的关系及LSI 离散时间系统系统响应的求解方法。

要求:① 动态演示线性卷积的完整过程;

② 动态演示圆周卷积的完整过程; ③ 对比分析线性卷积与圆周卷积的结果。

步骤:① 可输入任意2待卷积序列x1(n)、x2(n),长度不做限定。测试数据为:

x1(n)={1,1,1,1,0,0,1,1,1,1,0,0},x2(n)={0,1,2,1,0,0,0,1,2,1,0,0};

② 分别动态演示两序列进行线性卷积x1(n)﹡x2(n)和圆周卷积x1(n)⊙x2 (n)的

过程;要求分别动态演示翻转、移位、乘积、求和的过程;

③ 圆周卷积默认使用2序列中的最大长度,但卷积前可以指定卷积长度N 用以进行混叠分析;

④ 根据实验结果分析两类卷积的关系。

⑤ 假定时域序列x1(n)、x2(n)的长度不小于10000,序列容自定义。利用 FFT 实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比。 二、实验原理

1、线性卷积:

线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为:

∑∞

-∞

==-=

m n h n x m n h m x n y )

(*)()()()(

∑+∞

-∞

==-=

m n x n h m n x m h n y )

(*)()()()(

上式称为离散卷积或线性卷积。

图1.1示出线性时不变系统的输入、输出关系。

)(n δ→ L. T. I —→)(n h —→ —→

图1.1 线性时不变系统的输入、输出关系

2、圆周卷积

设两个有限长序列)(1n x 和)(2n x ,均为N 点长

)(1n x )(1k X )(2n x )(2k X

如果

)

()()(213k X k X k X ?=

则)

()(~)(~)(10213n R m n x m x n x N N m ??????-=∑-=

[]

∑---=1

021)()(N m N m n x m x

)(1n x =N 10)(2-≤≤N n n x

上式称为圆周卷积。

注:)(~1n x 为)(1n x 序列的周期化序列;)()(~1n R n x N 为)(~1n x 的主值序列。

上机编程计算时,

)

(3n x 可表示如下:

∑∑-+==-++

-=1

1

2

1

213)

()()()()(N n m n

m m n N x

m x m n x m x n x

3、两个有限长序列的线性卷积

序列)(1n x 为L 点长,序列)(2n x 为P 点长,)

(3n x 为这两个序列的线性卷积,

)

(3n x 为

∑+∞

-∞

=-=

m m n x

m x n x )

()()(2

1

3

)(n x 0

L. T. I

∑+∞

-∞

=-=m m n h m x n y )

()()(

D F T D F T

且线性卷积

)

(3n x 的最大长1-+P L ,也就是说当1-≤n 和1-+≥P L n 时

)(3=n x 。

4、圆周卷积与线性卷积的关系

序列)(1n x 为L 点长,序列)(2n x 为P 点长,若序列)(1n x 和)(2n x 进行N 点的圆周卷积,其结果是否等于该两序列的线性卷积,完全取决于圆周卷积的长度:

当1-+≥P L N 时圆周卷积等于线性卷积,即

)(1n x N )(*)()(212n x n x n x =

当1-+

?????-≤≤+=∑+∞

-∞

=n

N n rN n x n x r N 其它010)

()(33

三、实验步骤

已知两个有限长序列

)4(5)3(4)2(3)1(2)()(-+-+-+-+=n n n n n n x δδδδδ )3(2)2()1(2)()(-+-+-+=n n n n N H δδδδ

1、实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积

)()1(n x ⑤)(n h )()2(n x ⑥)(n h )()3(n x ⑨)(n h )()4(n x ⑩)(n h

2、编制一个计算圆周卷积的通用程序,计算上述4种情况下两个序列)(n x 与

)(n h 的圆周卷积。

3、上机调试并打印或记录实验结果。

4、将实验结果与预先笔算的结果比较,验证其正确性。 五、实验报告

1、列出计算两种卷积的公式,列出实验程序清单(包括必要的程序说明)。

2、记录调试运行情况及所遇问题的解决方法。

3、给出实验结果,并对结果作出分析。验证圆周卷积两者之间的关系

实验结果

(1)程序

clear all;

N1=5;

N2=4;

xn=[1,1,1,1,0,0,1,1,1,1,0,0];%生成x(n)

hn=[0,1,2,1,0,0,0,1,2,1,0,0];%生成h(n)

yln=conv(xn,hn);%直接用函数conv计算线性卷积

ycn=circonv(xn,hn,5);%用函数circonv计算N1点圆周卷积

ny1=[0:1:length(yln)-1];

ny2=[0:1:length(ycn)-1];

subplot(2,1,1);%画图

stem(ny1,yln);

ylabel('线性卷积');

subplot(2,1,2);

stem(ny2,ycn);

ylabel('圆周卷积');

题目:已知两个有限长序列

x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)

h(n)=δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)

计算以下两个序列的线性卷积和圆周卷积

(1)x(n)⑤y(n) (2)x(n)⑥y(n) (3)x(n)⑨y(n) (4)x(n)⑩y(n)

●调用函数circonv

function yc=circonv(x1,x2,N)

%用直接法实现圆周卷积

%y=circonv(x1,x2,N)

%y:输出序列

%x1,x2:输入序列

%N:圆周卷积的长度

if length(x1)>N

error;

end

if length(x2)>N

error;

end

%以上语句判断两个序列的长度是否小于N

x1=[x1,zeros(1,N-length(x1))];%填充序列x1(n)使其长度为N,序列h(n)的长度为N1,序列x(n)的长度为N2

循环卷积与线性卷积的matlab实现

循环卷积与线性卷积的实现 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和x2 L1=length(x1)-1;L2=length(x2)-1; %取函数的长度

线性卷积与圆周卷积演示程序的设计

实验一线性卷积与圆周卷积演示程序的设计 实验报告 学号 专业班级 指导老师 分数

《数字信号处理课程设计》任务书

实验一 线性卷积与圆周卷积演示程序的设计 一、 实验目的 目的:① 熟练掌握MATLAB 工具软件在工程设计中的使用; ② 熟练掌握线性卷积与圆周卷积的关系及LSI 离散时间系统系统响应的求解方法。 要求:① 动态演示线性卷积的完整过程; ② 动态演示圆周卷积的完整过程; ③ 对比分析线性卷积与圆周卷积的结果。 步骤:① 可输入任意2待卷积序列x1(n)、x2(n),长度不做限定。测试数据为: x1(n)={1,1,1,1,0,0,1,1,1,1,0,0},x2(n)={0,1,2,1,0,0,0,1,2,1,0,0}; ② 分别动态演示两序列进行线性卷积x1(n)﹡x2(n)和圆周卷积x1(n)⊙x2 (n)的 过程;要求分别动态演示翻转、移位、乘积、求和的过程; ③ 圆周卷积默认使用2序列中的最大长度,但卷积前可以指定卷积长度N 用以进行混叠分析; ④ 根据实验结果分析两类卷积的关系。 ⑤ 假定时域序列x1(n)、x2(n)的长度不小于10000,序列容自定义。利用 FFT 实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比。 二、实验原理 1、线性卷积: 线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为: ∑∞ -∞ ==-= m n h n x m n h m x n y ) (*)()()()( 或 ∑+∞ -∞ ==-= m n x n h m n x m h n y ) (*)()()()(

圆周卷积与周期卷积、线性卷积的关系与计算

圆周卷积与周期卷积、线性卷积的关系及计算 一、三者关系 设: 1122()01()01 x n n N x n n N ≤≤-≤≤-N :圆周卷积的点数 ? 圆周卷积是周期卷积的主值序列。 周期卷积:1 120()()()N m y n x m x n m -==-∑ (1) 圆周卷积:1 120 ()()()[()(())]()N c N N N m y n y n R n x m x n m R n -===-∑ 1 210 [()(())]()N N N m x m x n m R n -==-∑ (2) 注意:(2)式直接使用的前提是圆周卷积的点数N 应满足: 12max[,]N N N ≥(一般题目均符合此种情况) ? 周期卷积是线性卷积的周期延拓。 线性卷积:11 12120()()*()()()N l m y n x n x n x m x n m -===-∑ 212 1 2 1 ()()()*()N m x m x n m x n x n -== -=∑ (4) 圆周卷积与线性卷积的关系:()[()]()c l N r y n y n rN R n ∞ =-∞ =+∑ (5) 注意:上述关系式对任意长度的圆周卷积均适合。 二、举例说明 1、对于12max[,]N N N ≥的情况,各教材例题很多,不再举例。 2、12N N N N <<或的情况。 习题8.已知序列()()2(1)(4)3(5)x n n n n n δδδδ=+-+-+-, 4()()y n R n =,求:

(1)()()*()z n x n y n = (2)()()f n x n =○5()y n (5点圆周卷积)。 解:(){1,2,0,0,4,3}, (){1,1,1,1}x n y n == (1)()()(){1,3,3,3,3,4,4,4,3}z n x n y n =*=(过程略) (2)()()f n x n =○5()y n (5点圆周卷积),N =5。 *利用圆周卷积与线性卷积的关系计算* ()[()]()[...(5)()(5)...]() N N r f n z n rN R n z n z n z n R n ∞ =-∞ =+=+-++++∑ 所以:()()f n x n =○5()y n ={5,7,7,6,3} 这种方法计算过程比较简单,但前提是先计算出线性卷积的结果。 三、结论 ? 圆周卷积的计算始终要记住一点:圆周卷积虽然是针对有限长序列的卷积运算,但它是由周期卷积推导而来的,故隐含了周期性。 ? (2)式虽然是圆周卷积的定义式,但要正确理解,灵活应用。它是在满足12max[,]N N N ≥的前提下由周期卷积推导而来的,其适用场合仅限于12max[,]N N N ≥的情况。

周期卷积、循环卷积和线性卷积比较

数字信号处理实验报告 黎美琪 201300800610 13通信2 实验一名称:周期卷积、循环卷积和线性卷积比较 一、实验目的 1.理解周期卷积、循环卷积、线性卷积的定义 2.用图像显示上述几种卷积并对其进行直观的比较 二、实验步骤 自行设定: )它们的线性卷积()求它们的循环卷积(求它们的周期卷积(两个有限长序列 3)8(2)8)1(20 12,81,1129,1)(,2012,81,0129,8)(21==?? ?≤≤≤≤-≤≤=???≤≤≤≤≤≤-=N N n n n n x n n n n n x 实验代码:(大部分语句为图像显示处理) %循环卷积&线性卷积&周期卷积 %%线性卷积 figure(1); set(gcf, 'color', 'w')%将图的背景设置为白色 x1=[zeros(1,8),[1:4],zeros(1,4),zeros(1,8)];%原有限长序列x1(n ) x2=[zeros(1,8),ones(1,4),zeros(1,4),zeros(1,8)] ; %原有限长序列x2(n ) L=length(x1)%长度L M=length(x2)%长度M y1=conv(x1,x2) %线性卷积 subplot(311) stem(x1); title('有限长序列x1(n )') axis([1 L 0 5]) subplot(312) stem(x2); title('有限长序列x2(n )') axis([1 M 0 1]) subplot(313) stem(y1);grid on ; title('线性卷积') axis([1 L+M-1 0 11]) %%循环卷积(圆周卷积) figure(2); set(gcf, 'color', 'w')%将图的背景设置为白色 %x11=[[1:4],zeros(1,4),[1:4],zeros(1,4),[1:4],zeros(1,4)]; x11=[[1:4],zeros(1,2),[1:4],zeros(1,2),[1:4],zeros(1,2),[1:4],zeros(1

实验四 线性卷积与圆周卷积的计算

实验三 线性卷积与圆周卷积的计算 一、 实验目的 1、掌握计算机的使用方法和常用系统软件及应用软件的使用。 2、通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。 3、掌握线性卷积与循环卷积软件实现的方法,并验证二者之间的关系。 二、实验原理 1、线性卷积: 线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为: ∑∞ -∞ ==-= m n h n x m n h m x n y ) (*)()()()( 或 ∑+∞ -∞ ==-= m n x n h m n x m h n y ) (*)()()()( 上式称为离散卷积或线性卷积。 图1.1示出线性时不变系统的输入、输出关系。 )(n δ→ L. T. I —→)(n h —→ —→ 图1.1 线性时不变系统的输入、输出关系 2、圆周卷积 设两个有限长序列)(1n x 和)(2n x ,均为N 点长 )(1n x )(1k X )(2n x )(2k X 如果)()()(213k X k X k X ?= )(n x 0 L. T. I ∑+∞ -∞ =-= m m n h m x n y ) ()()( D F T D F T

则) ()(~)(~)(10213n R m n x m x n x N N m ??? ???-=∑-= [] ∑---=1 021)()(N m N m n x m x )(1n x =N 10)(2-≤≤N n n x 上式称为圆周卷积。 注:)(~1n x 为)(1n x 序列的周期化序列;)()(~1n R n x N 为)(~1n x 的主值序列。 上机编程计算时,)(3n x 可表示如下: ∑∑-+==-++ -=1 1 2 1 0213) ()()()()(N n m n m m n N x m x m n x m x n x 3、两个有限长序列的线性卷积 序列)(1n x 为L 点长,序列)(2n x 为P 点长,)(3n x 为这两个序列的线性卷积,则)(3n x 为 ∑+∞ -∞ =-= m m n x m x n x ) ()()(2 1 3 且线性卷积)(3n x 的最大长1-+P L ,也就是说当1-≤n 和1-+≥P L n 时 0)(3=n x 。 4、圆周卷积与线性卷积的关系 序列)(1n x 为L 点长,序列)(2n x 为P 点长,若序列)(1n x 和)(2n x 进行N 点的圆周卷积,其结果是否等于该两序列的线性卷积,完全取决于圆周卷积的长度: 当1-+≥P L N 时圆周卷积等于线性卷积,即 )(1n x N )(*)()(212n x n x n x = 当1-+

卷积积分与离散积分——方波与单边指数信号卷积及卷积过程演示(DOC)

成绩评定表

课程设计任务书

目录 1、引言 (1) 2、Matlab入门 (2) 2.1 Matlab7.0介绍 (2) 2.2利用Matlab7.0编程完成习题设计 (3) 3、Matlab7.0实现方波与单边指数信号卷积及卷积过程 演示的设计 (3) 3.1卷积积分的基本原理 (3) 3.2编程设计及实现 (4) 3.3运行结果及其分析 (6) 4、结论 (9) 5、参考文献 (10)

1、引言 在线性时不变连续系统中,利用系统的冲激响应和叠加原理来求系统对任意信号的零状态响应,这就是卷积的基本原理。信号的卷积是针对时域信号处理的一种分析方法,信号的卷积一般用于求取信号通过某系统后的响应。在信号与系统中,我们通常求取某系统的单位冲激响应,所求得的h(k)可作为系统的时域表征。任意系统的系统响应可用卷积的方法求得。 20世纪60年代以后,由于计算机的广泛应用和各种软件工具的开发,在线性时不变连续系统中借助卷积方法求解响应日益受到重视,因而,时域分析的研究与应用又进一步得到发展。卷积积分方法有清楚的物理概念,一般情况下计算过程比较方便,并且能够适应计算机编程求解。此外,卷积原理在变换域方法中同样得到广泛的应用。在线性时不变连续系统理论中,卷积概念占有十分重要的地位。近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》中的概念、方法和相应的结果,以图形的形式直观地展现给我们,大大的方便我们迅速掌握和理解老师上课教的有关信号与系统的知识。 作为信号与系统的基本分析软件之一,利用MATLAB进行信号与系统的分析与设计是通信以及信息工程学科的学生所要掌握的必要技能之一。通过学习并使用MATLAB语言进行编程实现课题的要求,对学生能力的培养极为重要。尤其会提高综合运用所学理论知识进行分析问题、解决问题的能力,也便于将理论知识与实践相结合,并得以更好地掌握信号分析与处理的基本方法与实现。这也将为后续相关的课程学习打下一定的基础,从而在以后相关课程设计与分析的时候达到对MATLAB的熟练应用与融会贯通。

循环卷积与线性卷积的实现

实验五 循环卷积与线性卷积的实现 一、实验目的 (1) 进一步理解并掌握循环卷积与线性卷积的概念; (2) 理解掌握二者的关系。 二、实验原理 两个序列的N 点的循环卷积定义为 1 0[()()]()(())N N N k h n x n h m x n m -=?=-∑ (0) n N ≤< 从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环 卷积结果仍为N 点序列,而它们的线性卷积的结果长度则为2N -1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。 两个序列的N 点循环卷积是它们的线性卷积以N 为周期的周期延拓。设序列()h n 的长度为1N ,序列()x n 的长度为2N ,此时线性卷积结果的序列点数为'121N N N =+-;因此如果循环卷积的点数N 小于121N N +-,那么上述周期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果满足'N N =的条件,就有循环卷积与线性卷积的结果在0n N ≤<范围内相同。 根据DFT 循环卷积性质中的卷积定理 {[()()]}[()][()]N DFT h n x n DFT x n DFT h n ?=? 因此可以根据性质先分别求两个序列的N 点DFT ,并相乘,然后取IDFT 以得到循环卷积。 三、实验分析 例题:已知有限长序列()x n 与()h n 如下图所示, (1) 画出两者之间的线性卷积 (2) 8点圆卷积。 (3) 5点圆卷积。

解析如下: (1)()x n 与()h n 的线性卷积,由公式可知: ()*()()()m h n x n x m h n m ∞ =-∞ = -∑ ()x m 与()h m -的图形如下: 利用方格平移法: 由方格平移法可知: 当0n =时,()*()0h n x n = 当1n =时,()*()0h n x n = 当2n =时,()*()0*11*11h n x n =+= 当3n =时,()*()2*11*10*13h n x n =++= 当4n =时,()*()3*12*11*10*16h n x n =+++= 当5n =时,()*()3*12*11*10*16h n x n =+++= 当6n =时,()*()3*12*11*16h n x n =++= 当7n =时,()*()3*12*15h n x n =+= 当8n =时,()*()3*13h n x n ==

线性卷积与圆周卷积

信号、系统与信号处理实验Ⅱ 实验报告

实验名称:线性卷积与圆周卷积的计算 一、 实验目的 (1) 通过编程、上机调试程序,进一步掌握使用计算机解决问题的能力 (2) 掌握线性卷积和圆周卷积软件实现的方法,并验证二者之间的关系 二、 实验内容与要求 1. 线性卷积 当系统输入序列为x(n),系统的单位冲击响应为h(n),输出序列为y (n ),则线性时不变系统输入、输出间的关系为: Y (n )=h (n )*x (n ) 2. 圆周卷积 设两个有限长序列1()x n 和2()x n ,均为N 点,其N 点的DFT 分别为1()X k 和2()X k ,如果312()()()X k X k X k =?,则 1 3120()[()()]()N N m x n x m x n m R n -==-∑ 1 120()(())N N m x m x n m -==-∑ 1()x n =○ N 2()x n 01n N ≤≤- 已知两个有限长序列: ()()2(1)3(2)4(3)5(4)x n n n n n n δδδδδ=+-+-+-+- ()()2(1)(2)2(3)h n n n n n δδδδ=+-+-+- (1) 实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积 ①()x n ⑤()h n ②()x n ⑥()h n ③()x n ⑨()h n ④()x n ⑩()h n (2)编制一个计算两个序列线性卷积的通用程序,计算()()x n h n *。 (3)编制一个计算圆周卷积的通用程序,计算上述4种情况下的两个序列的圆周卷积。 (4)上机调试并记录实验结果 (5)将实验结果和预先笔算的结果比较,验证其正确性。

时域和频域法计算4点卷积

已知x1(n)={2,3,2},x2(n)={1,2,3,4}(1)求出x2(m-n),当m=0,1,2,3时的序列;(2)计算出x1(n)与x2(n)的卷积;(3)用频域方法算出x1(n)与x2(n)的卷积 解:(1)m=0时,x(m-n)=x(-n) , x(-0)=x(-0+4)=1;x(-1)=x(-1+4)=4;x(-2)=3;x(-3)=2; 故x(-n)={1,4,3,2} 同理m=1时;x(m-n)=x(1-n)={2,1,4,3} 同理m=2时;x(m-n)=x(2-n)={3,2,1,4} 同理m=3时;x(m-n)=x(3-n)={4,3,2.1} (2)m=0时 3 =∑[{2,3,2,0}*{1,4,3,2}]=∑{2,12,6,0}=20 n=0 m=1时 3 =∑[{2,3,2,0}*{2,1,4,3}]=∑{4,3,8,0}=15 n=0 m=2时 3 =∑[{2,3,2,0}*{3,2,1,4}]=∑{6,6,2,0}=14 n=0

m=3时 3 =∑[{2,3,2,0}*{4,3,2.1}]=∑{8,9,4,0}=21 n=0 (3) x1(n)={2,3,2=}==> X1(k)={6, -2-2j, 2, 2j-2} x2(n)={1,2,3,4}==>X2(k)={10,-2+2j,-2,-2-2j} X1(k)?X2(k)={60, 8,- 4, 8} 令Y(k)=X1(k)·X2(k) y(n)=x1(n)x2(n) IDFT后 3 3 y(n)=(1/N )∑Y(k)e^(j(2π/4)kn)=(1/N )∑Y(k)(-j)^(kn) k=0 k=0 ={ 18,16,10,21}

循环卷积与线性卷积的matlab实现

上海电力学院 信号与系统实验报告 题目:循环卷积与线性卷积的实现 班级:2011023 专业:电气工程及其自动化 学号:20111257 2013年12月17日

循环卷积与线性卷积的实现 一、实验目的 1、进一步理解并掌握循环卷积与线性卷积的概念; 2、理解掌握二者的关系; 二、实验原理 两个序列的N 点循环卷积的定义为: ()()[]()()()N N k N m n x m h n x n h -=?∑-=10() N N <≤0从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果仍为N 点序列,而它们的线性卷积的结果的长度则为2N-1;循环卷积对序列的位移采取循环位移,而线性卷积对序列采取线性位移。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。 循环卷积和线性卷积虽然是不同的概念,但它们之间由一个有意义的公式联系在一起:()()()[]()()n G rN n y n x n h n y N r N ??? ??-'=?=∑∞-∞=其中()()()n x n h n y *='。 也就是说,两个序列的N 点循环卷积是他们的线性卷积以N 为周期延拓。设序列()n h 的长度为N1,序列()n x 的长度为N2,此时,线性卷积结果的序列的点数为121-+='N N N ;因此如果循环卷积的点数N 小于121-+N N ,那么上述周期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果N 满足N N '=的条件,就会有()()n y n y '=() N n <≤0这就意味着在时域不会产生混叠。因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得()n x 和()n h 成为121-+N N 点序列,并作出这两个序列的121-+N N 循环卷积,那么循环卷积与线性卷积的结果在N n <≤0范围内相同。 根据DFT 循环卷积性质中的卷积定理

卷积运算

卷积运算 信号的卷积运算是信号处理领域中最重要的运算之一。随着对信号与系统理论研究的深入,特别是计算机技术的不断发展,不仅使卷积方法在很我领域得到了很广泛的应用,而且卷积运算的逆运算---反卷积的问题也受到了越来越大的重视和应用。 比如,在语音识别、地震勘探、超声诊断、光学成像、系统辨识及其他诸多信号处理领域中,甚至可以说卷积与反卷积的问题无处不在,而且很多的问题,都是有待深入研究的课题。 所以,大家要切实理解和掌握好卷积分运算的各个方面,打好牢固的基础。下面,我们来看看卷积的定义是怎样的。 信号的卷积积分(简称卷积),定义为: 简记为,其中的星号是卷积运算符。注意不要与我们在编写计算机程序时所用的乘法的表示符号搞混了。在信号处理课程里,乘法往往是用居中的点来表示的,或者干脆不写居中的点,而直接将要进行乘积运算的信号(包括直流信号---它是一个常数)连在一起写。 信号的卷积运算对应着一定的物理背景,这要在我们进一步学习了关于系统的激励与响应的关系之后,才能更深入地理解。 不仅如此,信号的卷积运算还对应着一定的几何解释。从定义式我们可以看出:(1) 在积分式中,信号自变量改变了符号,这对应在几何波形上,就是将信号进行了反褶变换;(2) 并且,信号f2的波形 位置与积分变量的取值有关,积分变量在积分限内的不断变化,将导致信号的波形发生移动,即是对它不断进行平移操作;(3) 最后,每当信号处在一个新位置,都要与信号f1相乘,且依据积分的定义,要将这些乘积加起来,而其结果实际上对应着两信号波形相交部分的面积。所以,卷积运算可以用几何图解方式来直观求解。 下面我们来说明如何用它的几何意义来求解两信号的卷积。 将信号的自变量改为,信号变为。对任意给定的,卷积的计算过程为: (a) 将关于r进行反褶得到; (b) 再平移至t0得到; (c) 与相乘得到; (d) 对r进行积分得,即; 不断变化,就可以得到s(t)。

卷积的快速算法++教程文件

《数字信号处理》 课程设计报告 专业:通信工程 班级:通信08-2BF 组次:第10组 姓名: 学号:14082300925

一、 设计目的 卷积运算是一种有别于其他运算的新型运算,是信号处理中一种常用的工具。随着信号与系统理论的研究的深入及计算机技术发展,卷积运算被广泛地运用到现代地震勘测,超声诊断,光学诊断,光学成像,系统辨识及其他诸多新处理领域中。了解并灵活运卷积运算用去解决问题,提高理论知识水平和动手能力,才是学习卷积运算的真正目的。通过这次课程设计,一方面加强对《数字信号处理》这门课程的理解和应用,另一方面体会到学校开这些大学课程的意义。 二、设计任务 探寻一种运算量更少,算法步骤更简单的算法来实现卷积运算,文中主要通过阶梯函数卷积计算方法和斜体函数卷积计算方法对比来得出最终结论。 三、设计原理 1,什么是卷积? 卷积是数字信号处理中经常用到的运算。其基本的表达式为: ()()()∑=-= n m m n x m h n y 0 换而言之,假设两个信号f 1(t)和f 2(t),两者做卷积运算定义为 f(t) d 做一变量代换不难得出: f(t) d =f 1(t)*f 2(t)=f 2(t)*f 1(t) 在教材上,我们知道用图解法很容易理解卷积运算的过程,在此不在赘述。 2,什么是阶梯函数 所谓阶梯函数,即是可以用阶梯函数u(t) 和u(t-1)的线性组合来表示的函数,可以看做是一些矩形脉冲的集合,图1-1给除了两个阶梯函数的例子。

1—1 其中 f(t)=2u(t)+u(t-1)-2u(t-2)-u(t-3), h(t)= 2u(t)-u(t-1)+2u(t-2)-3u(t-3). 以图1—1中两个阶梯函数为例介绍本文提出的阶梯函数卷积算法。 根据卷积的性质(又称为杜阿美尔积分),上述f(t)与h(t)的卷积等于f(t)的导数与h(t)的积分的卷积,即: f(t)*h(t)=* 由于f(t)为阶梯函数,因此其导数也为冲击函数及其延时的线性组合, 如图1—2(a) 所示。

循环卷积与线性卷积的matlab实现

循环卷积与线性卷积的实现 一、 实验目的:(1)进一步理解并掌握循环卷积与线性卷积的概念。 (2)理解掌握二者的关系。 三、实验原理 两个序列的N 点循环卷积定义为 ()()[]()()()()N n m n x m h n x n h N k N N <≤-= ?∑-=01 从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果仍为N 点序列,而他们的线性卷积的结果的长度则为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性位移。正式这些不同,导致了线性卷积和循环卷积有不同的结果和性质。 循环卷积和线性卷积虽然是不用的概念,但是它们之间有一个有意义的公式联系在一起 ()()()[]()()n G rN n y n x n h n y N r N ?? ? ??-'=?=∑∞-∞= 其中()()()n x n h n y *=' 也就是说,两个序列的N 点循环卷积是他们的线性卷积以N 为周期的周期延阔。设序列()n h 的长度为1N ,序列()n x 的长度为2N ,此时,线性卷积结果的序列的点数为121-+='N N N ;因此如果循环卷积的点 数N 小于12 1-+N N ,那么上述周期性延阔的结果就会产生混叠,从 而两种卷积会有不同的结果。而如果N 满足N N '=的条件,就会有 ()()()N n n y n y <≤'=0

这就会意味着在时域不会产生混叠。因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得()n x 和()n h 成为121-+N N 店序 列,并作出这两个序列的12 1-+N N 循环卷积与线性卷积的结果在 N n <≤0范围内相同。 根据DFT 循环卷积性质中的卷积定理 ()()[]{}()[]()[]n h DFT n x DFT n x n h DFT N ?= ? 便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算;二是根据性质先分别求两个序列的N 点DFT ,并相乘,然后取IDFT 以得到循环卷积。第二种方法看起来要经过若干个步骤,但由于求序列的DFT 和IDFT 都有快速算法,因此它的效率比第一种方法要高得多。 同样,根据线性卷积和循环卷积的关系,可以通过计算循环卷积以求得线性卷积,提高计算序列线性卷积的效率。 四、 实验内容 输入程序序列如下: n=[0:1:4];m=[0:1:3]; x1=1+n;x2=4-m; %生成函数x1和x2 L1=length(x1)-1;L2=length(x2)-1; %取函数的长度 y1=conv(x1,x2); %直接用函数conv 计算线性卷积 n1=[0:1:L1+L2]; subplot(3,1,1);stem(n1,y1) %绘制线性卷积图形

5求解线性卷积循环卷积的课上例题

求解线性卷积、循环卷积的课上例题 例:}1,1,1{)()(3==n R n x ,20≤≤n ;}1,2,3,4{)()4()(4=-=n R n n h ,30≤≤n , 求线性卷积)(*)()(n h n x n y =和L 点循环卷积。 线性卷积:)(*)()(n h n x n y =∑∞ -∞ =-= m m n h m x ) ()(∑∞ -∞ =-= m m n x m h )()( 1 y (n )={4, 7, 9, 6, 3, 1},50≤≤n ,非零数据长度643 1 ()(n h 长度为N ,)(n x 长度为M ,y (n )长度为1-+M N ) 2)移位加权和法(以n 为变量) ∑=-= 2 1 )()()(m m m m n h m x n y )2()2()1()1()()0(-+-+=n h x n h x n h x ,其中}1 1, ,1{)(=m x ,20≤≤m y (n )={4, 7, 9, 6, 3, 1}50≤≤n L 点循环卷积:)())(()()(1 n R m n h m x n y L L m L c ∑-=-=)())(()(1 n R m n x m h L L m L ∑-=-= 1)矩阵方程法(以m 为变量) 先将x (n )、h (n )补零到L 点长;再将其中一个序列周期延拓、翻褶、取主值区间的值、循环右移构成方阵,将另一个序列写成列矩阵,二者做矩阵乘法运算。 以用x (n )构成方阵为例。方阵第一行的构成:x (0)不动,将其它值从后往前倒过来写。下面各行依次对上一行循环右移一位,共L 行。 例:求)()(3n R n x =,)()4()(4n R n n h -=的4点循环卷积)()()(1n h n x n y c ④=。 ???? ??????=????????????????????=????????????????????=6987011143 21 14322143321 4123411 10 01111011110 1)(1n y c y c 1(n )={7, 8, 9, 6},30≤≤n

循环卷积与线性卷积的实现

实验四 循环卷积与线性卷积的实现 一、仿真实验目的 1)进一步理解并掌握循环卷积与线性卷积的概念; 2)理解掌握二者的关系。 二、实验分析和计算 两个序列的N 点循环卷积定义为 10 [()()]()(())N N N k h n x n h m x n m -=?=-∑ (0)n N ≤< 从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果仍为N 点序列,而它们的线性卷积的结果的长度为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。 循环卷积和线性卷积虽然是不用的概念,但它们之间由一个有意义的公式联系在一起 ()[()()](())() N N r y n h n x n y n rN G n ∞ =-∞ '=?=-∑ 其中()()()y n h n x n '=*。 也就是说,两个序列的N 点循环卷积是它们线性卷积以N 为周期的周期延拓。设序列还()h n 的长度为1N ,序列()x n 的长度为2N ,此时,线性卷积结果的序列 的点数为121N N N ' =+-;因此如果循环卷积的点数N 小于121N N +-,那么上述周期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果N 满足N N '=的条件,就会有 ()()y n y n '= (0)n N ≤< 这就意味着时域不会产生混叠。因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得()x n 和()h n 成为121N N +-点序列,并作为这两个序列的121N N +-循环卷积,那么循环卷积与线性卷积的结果在0n N ≤<范围内相同。 根据DFT 循环卷积性质中卷积定理 {[()()]}[()][()]N DFT h n x n DFT x n DFT h n ?=? 便可通过两种方法求两个序列的循环卷积:一直直接根据定义计算;二是根据性质先分别求两个序列的N 点DFT ,并相乘,然后取IDFT 以得到循环卷积。第二

卷积动画演示

卷积的动画演示 实现思想: 首先给出两个序列,求出他们的长度。如果两个序列的长度分别为N和M,那么经过线性卷积后结果的长度为N+M—1.所以在接下来的运算中,将一个序列固定不动,另一个序列从左到有一步步的进行卷积,其中将序列从左到右的过程用一个for循环实现,每移动一次将序列输出一次,直到全部的移动结束。在序列移动的过程中同时进行卷积的操作,也用for循环实现,每卷积一次将把卷积的结果输出一次,直到所有的卷积过程全部进行完。在这个过程中序列的移动和卷积同时进行,这样就实现了卷积的动画。 本程序是在MATLAB 7.6.0(R2008a)环境下运行。 实验代码: clear clc X=[1,2,1,3,2,1]; Y=[3,4,1,1,2]; sizea=length(X); %求两个序列的长度; sizeb=length(Y); n=sizea+sizeb-1;

a= 0 : sizeb-1; %y2(a+1)=x2(q-a); nn=1:sizea; %输出第一个序列: subplot(3,1,1) stem(nn,X) title('X(n)');axis([-16,16,0,10]) for n=1 : sizea+sizeb-1 k=-sizeb+n:1:-1+n; subplot(3,1,2) %第二个序列移动的过程; stem(k,Y) title('Y(n-m)');axis([-16,16,0,10]) y=conv(X,Y); %求卷积运算; t=1:1:n; h(t)=y(t); %依次输出卷积的过程 subplot(3,1,3) t=0:n-1; stem(t,h); title('线性卷积y(n)') axis([-16,16,0,24]); pause(1)

周期卷积、循环卷积和线性卷积比较

数字信号处理实验报告 黎美琪 201300800610 13通 信2 实验一名称:周期卷积、循环卷积和线性卷积比较 一、实验目的 1.理解周期卷积、循环卷积、线性卷积的定义 2.用图像显示上述几种卷积并对其进行直观的比较 二、实验步骤 自行设定: )它们的线性卷积()求它们的循环卷积(求它们的周期卷积(两个有限长序列 3)8(2)8)1(20 12,81,1129,1)(,2012,81,0129,8)(21==?? ?≤≤≤≤-≤≤=???≤≤≤≤≤≤-=N N n n n n x n n n n n x 实验代码:(大部分语句为图像显示处理) %循环卷积&线性卷积&周期卷积 %%线性卷积 figure(1); set(gcf, 'color', 'w')%将图的背景设置为白色 x1=[zeros(1,8),[1:4],zeros(1,4),zeros(1,8)];%原有限长序列x1(n ) x2=[zeros(1,8),ones(1,4),zeros(1,4),zeros(1,8)] ; %原有限长序列x2(n ) L=length(x1)%长度L M=length(x2)%长度M y1=conv(x1,x2) %线性卷积 subplot(311) stem(x1); title('有限长序列x1(n )') axis([1 L 0 5]) subplot(312) stem(x2); title('有限长序列x2(n )') axis([1 M 0 1]) subplot(313) stem(y1);grid on ; title('线性卷积') axis([1 L+M-1 0 11]) %%循环卷积(圆周卷积) figure(2); set(gcf, 'color', 'w')%将图的背景设置为白色 %x11=[[1:4],zeros(1,4),[1:4],zeros(1,4),[1:4],zeros(1,4)];

实验三 线性卷积与循环卷积

实验三 线性卷积与循环卷积 1、实验目的 (1)掌握线性卷积的计算机编程方法,利用卷积的方法观察系统响应的时域特性。 (2)掌握循环卷积的计算机编程方法,并比较与线性卷积的差别,验证二者之间的关系。利用循环卷积的方法观察、分析系统响应的时域特性。 2、实验原理 (1)线性卷积: 线性时不变系统(Linear Time-Invariant System, or LTI 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为: ∑∞ -∞=-= *=m m n h m x n h n x n y )()()()()( 上式称为线性卷积。 (2)循环卷积 设两个有限长序列)(1n x 和)(2n x ,长度分别为1N 和2N , )()(11k X n x D FT N ???→←点 )()(22k X n x D F T N ???→←点 如果 )()()(21k X k X k X ?= 则∑---= =1021)())(()()]([)(N m N N n R m n x m x k X IDFT n x 上式称为)(1n x 和)(2n x 的循环卷积。 (3)两个有限长序列的线性卷积 序列)(1n x 和)(2n x ,长度分别为L 点和M 点,)(3n x 为这两个序列的线性卷积,则)(3n x 为 ∑∞-∞=-= *=m m n x m x n x n x n x )()()()()(21213 且线性卷积)(3n x 的非零值长度为L +M -1点。 (4)循环卷积与线性卷积的关系 序列)(1n x 为L 点长,序列)(2n x 为M 点长,若序列)(1n x 和)(2n x 进行N 点的循环卷积)(n x c ,其结果是否等于该两序列的线性卷积)(n x l ,完全取决于循环卷积的长度。 由教材相关推导,得∑∞-∞=+= q N l c n R qN n x n x )()()(,也就是说,循环卷积是线性卷积 的周期延拓序列再取主值区间。 当N ≥L+P-1时循环卷积等于线性卷积,即)()(n x n x l c =; 当N

matlab实现线性卷积和循环卷积

编号: 数字信号处理 实训 (论文)说明书 题目:用matlab实现两信号的卷积 院(系):应用科技学院 专业:电子信息工程 学生姓名:蒋耀华 学号: 0801130215 指导教师:严素清童有为纪元法 2011 年 6 月29日

摘要 本文讲述的是运用matlab软件编写线性卷积和循环卷积,运行程序并得到正确结果,附上运行结果图让大家参照对比。 MATLAB是一款在数学类科技应用软件中特别是在数值计算方面首屈一指的软件,它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。而线性卷积和循环卷积在工程上的应用亦非常广泛,在Matlab软件处理下,实现任意两个序列的线性和循环卷积对于工程上的辅助是相当重要的。卷积关系最重要的一种情况,就是在信号与线性系统或数字信号处理中的卷积定理。利用该定理,可以将时间域或空间域中的卷积运算等价为频率域的相乘运算,从而利用FFT等快速算法,实现有效的计算,节省运算代价。 本文从线性卷积和循环的定义出发,分析其运算原理以及相关的公式、程序,着重介绍并分析了卷积的运算过程,让大家明白什么是卷积。程序运行之后得到正确的结果,将运行后正确的波形图图放在本次论文中让大家直观的做比较。 关键词:Matlab;线性卷积;循环卷积;波形图;正确

Abstract This is about using matlab software linear convolution and cyclic convolution, operation procedure and get the right result, enclosed operation result diagram let everybody reference MATLAB is a type of technology in applications of mathematics, especially in numerical calculation of the leading software, which can be matrix calculation, and data mapping function, the realization of algorithms, creation of user interface, connected to other procedures, such as programming languages, the main application in engineering computing, control design, signal processing and communications, image processing, signal detection, financial modeling in areas such as design and analysis. And linear convolution in the application of engineering has a very wide range of software in Matlab, the realization of any two sequences of linear convolution support for projects is very important. Convolution relationship between the most important case, that is linear in the signal and digital signal processing system or the convolution theorem. Use of the theorem can be time-domain or space domain to the convolution operation in frequency domain equivalent of the multiplication operation, thus the use of FFT and other fast algorithms, the calculation of effective, cost-saving operation. From linear convolution and circulation of the definition, analyzes its operation principle and relevant formula, procedures, and emphatically introduces and analyses the convolution operation process, let everyone know what convolution. After the program is running properly after operation, the results will be put on the right of the waveform Desmond tutu paper let everybody intuitive to compare. Key words:Matlab;Linear convolution;Circular convolution;Sequence;Wave;Right

相关文档
最新文档