文档库 最新最全的文档下载
当前位置:文档库 › 线性卷积的重叠相加法和重叠保留法

线性卷积的重叠相加法和重叠保留法

线性卷积的重叠相加法和重叠保留法
线性卷积的重叠相加法和重叠保留法

线性卷积的重叠相加法和重叠保留法

当我们用FFT快速算法计算一个短序列h(n)和一个长序列x(n)的线性卷积时,需要把它们都补零值点成为2的整次幂长度的序列,计算量较大。

所以我们把长序列x(n)分成长度和短序列h(n)相当的若干端。每段长L个点,L=N-M+1。N为大于短序列长度M的2的整次幂数.

x(n)分段后的短序列,若要用FFT求其与原短序列h(n)圆周卷积来代替线性卷积,仍然需要把其长度补为2的整次幂。根据补点方法的不同,可分为重叠相加法和重叠保留法。

重叠相加法补点的方法是在分段后的每段短序列和原短序列h(n)后边添加零值点,补到长度为2的整次幂。

重叠保留法补点的方法是在原短序列h(n)后边补零点至2的整次幂,而在分段后的短序列第一段前边补上(M-1)个零值,其他每段前边补上前一段保留下的(M-1)个x(n)值,使其长度为2的同一整次幂。

返回

循环卷积与线性卷积的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; %取函数的长度

重叠相加法实现卷积

设计任务 计算1个给定序列与输入序列的卷积。 功能:对给定的数据进行卷积运算,要求分段卷积由循环卷积实现。要求设计有数据导入界面,各种参数从软件界面可以输入,其中给定序列可以由界面输入,对运算前后的数据绘制曲线。 要求: 1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数功能,控制参数的输入方法; 2)设计线性卷积的实现方案; 3)编写两序列作循环卷积的程序; 4)通过直接做线性卷积来检验最后结果。 设计步骤: 1)用结构化设计方法。一个程序划分成若干模块,每一个模块的函数功能要划分好,总体设计应画出流程图; 2)输入输出界面要友好; 3)源程序书写要规范,加必要的注释; 4)要提供通过直接卷积进行检验的结果; 5)程序一定要要能运行起来。

一、原理 1、算法产生背景 DFT 是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的。DFT 具备明确且合理的物理含义,适合应用于数字系统,同时可以方便地由计算机进行运算。 对于线性非移变离散系统,可由线性卷积表示时域输入输出关系,即y(n)=x(n)*h(n) 通常采用循环卷积降低运算量,但实际中往往无法满足对信号处理的实时性要求。因此,产生了重叠相加法和重叠保留法两种典型的算法,用以快速计算线性卷积,成为了DFT 的一个重要应用。 2、算法基本思想 重叠相加法是将待过滤的信号分割成长为 N 的若干段,,每一段都可以和有限时宽单位取样回应作卷积,再将过滤后的各段重叠相加。 在实际应用中利用FFT来计算两个序列的圆周卷积从而实现计算其线性卷积,但是常遇到的问题是参加卷积的两个序列的长度相差较大,这样长度小的序列就需要补很多的零点,这样就需要大的存储量,运算时间也会变长。所以常用重叠相加法来解决。 如以下情况: h(n)长度为N,x(n)长度为无限长 x(n)取M点,且与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.理论知识 1.1圆周卷积的定义 设)(1n x 和)(2n x 为长度为N 的有限长序列,且[])()(11k X n x DFT =, [])()(22k X n x DFT =,如果()()()k X k X k Y 21=,则 ()()[]k Y IDFT n y = ()()()()n R m n x m x N N N m -=∑-=11 02 (1) 证明:相当于将)(~),(~ 21n x n x 作周期卷积和后,再取主值序列。 将)(k y 周期延拓:)(~ )(~~21k X k X k Y =) (则有: [] ()()?? ? ???-=-==∑∑-=-=102110 21))(() (~)(~) (~)(~N m N N N m m n x m x m n x m x k Y IDFS n y 在主值区间)())((,1011m x m x N m N =-≤≤ ,所以: ()()()n R m n x m x n R n y n y N N m N N ?? ? ???-==∑-=1021)() ()(~)( 同样可以证明: ()())()()(1012n R m n x m x n y N N m N ??? ???-=∑-= 定义式(1)为序列)(1n x 与)(2n x 的圆周卷积,习惯表示为 ()()()n n x y 21x ⊙n = 从以上的证明过程也可以得出圆周卷积与周期卷积之间的关系,即有限长序列圆周卷积结果的周期延拓等于它们周期延拓后的周期卷积。也就是说,周期卷积的主值序列是各周期序列主值序列的圆周卷积。

1.2圆周卷积的计算 圆周卷积的具体步骤为: 第一步:在哑元坐标上做)(1m x 与)(2m x ; 第二步:把)(2m x 沿着纵坐标翻转,得到)(2m x -; 第三步:对)(2m x -做圆周移位,得()()()n R m n x N N -2; 第四步:)(1m x 与()()()n R m n x N N -2对应的相同m 的值进行相乘,并把结果进行相加,得到的对应于自变量n 的一个()n y ; 第五步:换另一个n ,重复第三、四步,直到n 取遍[0,N-1]中的所有值,得到完整的 ()n y 。 1.3重叠保留法 为了克服重叠相加法中分段卷积后,仍然需要相加的缺点,人们提出了重叠保留法。 与重叠相加法不同的是,对无限长序列()n x 1进行分段时,前一分段()n x k 1的后1-M 个抽样值与后一份段的()()n x k 11+的前1-M 个抽样值相同,且分段的长度选圆周卷积的长度L ,这样形成的分段序列为当10-≤≤L n 时,()()11+-+=M kN n x n x k ,其他时()01=n x k 。然后计算()n x 2与各分段()n x k 1之间的卷积()()()n x n x n k k 12'*y =,显然,()n k 'y 的前1-M 个值发生了混叠,不等于()n x 2与()n x k 1的卷积。把()n k 'y 的前1-M 个值舍去,保留()n k 'y 没有发生混 叠的后N 个值,形成序列()()n n y k k ' y =,11-≤≤-L n M ,()0=n y k ,其他。最后输出序列 ()()∑+∞ -∞ =-+-= k k M kN n y n y 1

序列的卷积和快速卷积运算的编程实现

课程设计任务书 学生姓名:韩新颖专业班级:电信1203班 指导教师:阙大顺王虹工作单位:信息工程学院 题目: 序列的卷积和快速卷积运算的编程实现 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“数字信号处理原理与实现”、“Matlab及在电 子信息课程中的应用”等; 3.先修课程:信号与系统、数字信号处理、Matlab应用实践及信号处理类课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计时间:1周(课内实践); 2.课程设计内容:序列的卷积和快速卷积运算的编程实现,具体包括:直接卷积及应用、快速卷积方 法及实现、两者的比较分析等; 3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设 计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结; 4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献; ⑦其它必要内容等。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

摘要 卷积在数字信号处理中有着重要的作用。然而直接计算卷积的运算量非常大,它与序列长度的平方成反比,因此制约了卷积的应用。快速卷积是实现卷积的一种快速算法,减少了运算量,节约了时间。通过分析我们可在MATLAB里编程实现。 关键词:卷积;快速卷积;MATLAB。

重叠相加法和重叠保留法的原理与实现

重叠相加法与重叠保存法的原理实现 侯凯 (吉林大学通信工程学院吉林长春130012) 0概述 线性卷积是求离散系统响应的主要方法之一,许多重要应用都建立在这一理论基础上,如卷积滤波等。 用圆周卷积计算线性卷积的方法归纳如下: 将长为N 2的序列x(n)延长到L,补L-N 2个零,将长为N 1的序列h(n)延长到L,补L-N 1个零。如果L ≥N1+N2-1,则圆周卷积与线性卷积相等,此时,可有FFT 计算线性卷积,方法如下: a.计算X(k)=FFT[x(n)] b.求H(k)=FFT[h(n)] c.求Y(k)=H(k)Y(k) k=0~L-1 d.求y(n)=IFFT[Y(k)] n=0~L-1 可见,只要进行二次FFT,一次IFFT 就可完成线性卷积计算。 上述结论适用于x(n)、h(n)两序列长度比较接近或相等的情况,如果x(n)、h(n)长度相差较多。例如,h(n)为某滤波器的单位脉冲响应,长度有限,用来处理一个很长的输入信号x(n),或者处理一个连续不断的信号,按上述方法,h(n)要补许多零再进行计算,计算量有很大的浪费,或者根本不能实现。为了保持快速卷积法的优越性,可将x(n)分为许多段后处理,每小段的长与h(n)接近,其处理方法有两种:重叠相加法和重叠保留法。 1重叠相加法——由分段卷积的各段相加构成总的卷积输出 假定x i (n)表示图中第i 段x(n)序列如下图: 22()(1)1()0 i x n iN n i N x n ≤≤+-?=?? 则输入序列可表为:()()i i x n x n ∞ =-∞=∑ 图1 长序列分段滤波 于是输出可分解为:()()*()()*()()i i i i i y n x n h n x n h n y n ∞∞ =-∞=-∞== =∑∑

重叠相加法计算圆周卷积

1理论分析 1.1 圆周卷积的定义 对两个N 点序列)(1n x 和)(2n x ,除了可以做线性卷积外,还有一种很重要的卷积运算,还有一种很重要的卷积运算,就是圆周卷积。 若)(1n x 、)(2n x 的离散付里叶变换分别为()k X 1、()k X 2,且有 ()k X 3=()k X 1()k X 2 则 ()n x 3=IDFT[()k X 3] =()()()()n R m n x m x N N N m -∑-=11 02 上式即为序列)(1n x 与)(2n x 的圆周卷积,习惯表示为 ()n x 3=)(1n x ⊙)(2n x 圆周卷积与周期卷积之间的关系,就是有限长序列圆周卷积结果的周期延拓,等于它们周期延拓后的周期卷积。换句话说,周期卷积的主值序列,是各周期序列主值序列的圆周卷积。周期卷积得到是周期序列,圆周卷积得到的是有限长序列,而且长度等于参加卷积的序列的长度。 1.2 圆周卷积的计算 若)(1n x 、)(2n x 分别是长度为N 、M 的序列则)(1n x 与)(2n x 线性卷积至多M+N-1个非零值,如果LM+N-1时,周期延拓才不会发生混叠。 之所以讨论用圆周卷积来计算线性卷积的条件,是因为圆周卷积可在频域下利用DFT 求得,从而可采用DFT 的快速算法FFT 来计算,这样就可以利用FFT 来计算线性卷积,大大提高运算效率。

圆周卷积与周期卷积的卷积过程一样,只是结果只取主值序列,其具体步骤结构框图大致如下所示: 图1-1 圆周卷积计算结构框图 1.3 重叠相加法 在实际应用中利用FFT来计算两个序列的圆周卷积从而实现计算其线性卷积,但是常遇到的问题是参加卷积的两个序列的长度相差较大,这样长度小的序列就需要补很多的零点,这样就需要打的存储量,运算时间也会变长。所以常用到的解决方法有两种,其中一

数字信号处理重叠保留法

课程设计任务书 学生姓名:专业班级: 指导教师:黄朝兵工作单位:信息工程学院 题目:基于重叠保留法圆周卷积的实现 初始条件: 具备数字信号处理的理论知识; 具备Matlab编程能力; 分析重叠保留法的圆周卷积的原理; 提供编程所需要的计算机一台 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、独立编写程序实现基于重叠保留法的圆周卷积 2、用Matlab验证程序结果,并分析重叠保留法的圆周卷积的原理 3、完成符合学校要求的设计说明书 时间安排: 一周,其中3天程序设计,2天程序调试 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1 概述 (2) 2 理论分析 (3) 2.1圆周卷积与线性卷积 (3) 2.2圆周卷积的计算 (4) 2.3重叠保留法 (5) 3 程序设计 (7) 3.1程序流程 (7) 3.2程序流程图 (8) 3.3具体程序设计 (9) 3.4编写完整的程序 (10) 4 结果及分析 (11) 5 心得体会 (12) 参考文献 (13)

摘要 重叠保留法在运用时,随着数据规模的增大,运算耗时呈线性增长。当数据达到千万量级时,运算延时最少大约为2.335s,由此可见,此方法可运用于对信号的实时处理,同时重叠保留法具有较好的时间和空间复杂度。本次课程设计以matlab为工具得到重叠保留法的源程序,通过对序列的线性卷积计算,进而对重叠保留法进行更深层次的认识。 关键字:重叠保留法序列线性卷积 matlab

1 概述 对于一个长序列()n x 1和一个短序列()n x 2,长度分别为N ,M ,圆周卷积的长度为L ,在长序列的前面加上1-M 个零,然后对长序列进行分段,使得每段的长度为L 不足的用零补。且前一分段的后1-M 个抽样值和后一分段的前1-M 个抽样值相同。这样形成的分段序列为: .()()???-≤≤+-+=其他 ,01 0,11L n M kN n x n x k (1.1) 分成的段数为: 12+??? ???-+=L M N k (1.2) 然后计算()n x 2与各个分段之间的圆周卷积, ()()() ()()?? ?≤≤==其他 ,,01-L n 1-M y ⊙y '12'n n y n x n x n k k k k (1.3) 显然,()n k 'y 的前1-M 个值发生了混叠,不等于()n x 2和()n x k 1的圆周卷积,把()n k 'y 的前 1-M 个值舍去,保留没发生混叠的后N 个值,形成序列: ()()???≤≤=其他 ,,01 -L n 1-M y 'n n y k k (1.4) 最后将各段相加就可以得到最终的结果, ()()∑+∞ -∞ =-+-= k k M kN n y n y 1 (1.5)

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

实验五 循环卷积与线性卷积的实现 一、实验目的 (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 ==

时域和频域法计算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}

小学数学青岛版四年级上册“重叠问题”教案

小学数学青岛版四年级上册 课题:智慧广场——重叠问题 教材分析:本“智慧广场”是青岛版数学一年级上册第四单元方向与位置的内容,主要向学生渗透画直观图的方法,引导学生从低年级开始初步形成解决问题的策略,为以后学习打下基础,促进学生养成善于思考的好习惯。其编写的特点:1.内容贴近学生的生活实际,学生有兴趣参加。2.重视数学思想方法养的培养。让学生体会画直观图可以抽象的数学问题直观化、生动化,能够变抽象思维为形象思维,有助于把握数学问题的本质,学会借助直观图解决重叠问题。3.引导学生经历思考、探索解决问题的过程,发展学生数学思维。 学生分析:学生已经认识了10以内的数、掌握了数的顺序、能正确读写、会比较大小,并且熟练掌握10以内加减法,生活实际中的站队等问题也是孩子们遇 到的问题,数学与生活的紧密联系,为本“智慧广场”奠定了基础。 教学目标:1.结合具体情境,学会用画图的方法解决简单的重叠问题。 2.经历独立思考、合作探索的过程,提高思维能力,促进思维能力发展,形成运用几何的方法解决问题的策略,增长学生的聪明才智,发展学生的智力。 3.通过活动激发学生学习数学的兴趣和欲望,体验成功的乐趣,产生学好数学的自信心。 教学过程: 一、复习导入 1、口算 2、 3、引出课题:同学们,我们今天要解决的问题就叫做重叠问题。 二、创设情境,导入新课 1、出示课件、读题 2、猜想 3、验证:(引导学生用摆一摆、画一画、数一数、算一算的方法分别验证。) A、摆一摆:①下面我们用圆片代替大雁,用三角代替花雁,边读题,边摆一摆,同桌可以相互讨论交流。 ②学生到前摆一摆,说一说。 ③老师示范摆一摆:读第一句摆摆,读第二句,花雁后面摆几个?数一数:一共有()只大雁。

循环卷积与线性卷积的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)。

通过重叠相加法实现卷积

数字信号处理 课程设计 题目:通过重叠相加法实现卷积 院系:自动化与信息工程学院 专业:通信工程 班级:通信092 学号:3090432051 姓名:侯鹏 指导教师:吴鹏飞 2012年6月23日-2012年6月30日

设计任务 通过重叠相加法实现卷积(C语言或MATLAB实现)。计算一个给定序列与输入序列的卷积。功能对给定的数据进行卷积计算,要求分算卷积由循环卷积实现要求设计有数据导入界面,各种参数可以由软件界面输入,其中给定序列可以由界面输入,对运算前后的数据绘制曲线。设计步骤: 1)初步完成总体设计,搭好框架,确定人机对话界面,确定函数功能,控制参数的输 入方法; 2)设计线性卷积的实现方案; 3)编写两序列做循环卷积的程序; 4)通过直接作线性卷积来检验最后结果; 设计要求: 1)用结构化设计方法。一个程序划分成若干模块,每一个模块的函数功能要划分好,总体设计要画出流程图; 2)输入输出界面要友好; 3)源程序书写要规范,加必要的注释; 4)要提供直接通过卷积进行检验的结果; 5)程序一定要能运行起来。 课程设计的最后结果是提交一份实验报告,内容包括: 1)程序的设计思想,包括功能描述,函数接口的确定; 2)流程图; 3)程序源代码(需打印); 4)测试方法和结果; 5)小结。

一、原理 <一>设计思想:运用分段处理方法中的重叠相加法计算两个序列的卷积运算。 设一个给定序列是长度为n1的A,另一个导入序列是长度为n2的B,其中B 序列 是相对A 序列比较长的,所以可以把B 分为和A 一样长的若干段段,即B 分后每一小段长度为n1。根据书上的公式: )()(*)()(*)()(*)()(0 n y n x n A n B n A n B n A n y k k k k k k ∑∑∑∞ -∞=∞===== 可知将B 序列的每一小段与A 序列做现行卷积,然后将所有的n2/n1段的线性卷积结果相加起来就是整个B 序列和A 序列的线性卷积结果,而又在本设计中,B 序列的一小段和A 序列的线性卷积又可由循环卷积来实现,只要让循环卷积的点数121-+≥n n L ,循环卷积的结果就和线性卷积的结果等价,在本实验中取112-?=n L ,故A 序列和B 序列的线性卷积可认为是由A 序列和B 的每一小段做112-?=n L 点的循环卷积的最终累加和, 另外还有两个个问题需要考虑,首先是做循环卷积时要对A 序列和B 序列的那一小段补零做卷积后,最终做累加的时候要考虑重叠的片段,必须将重叠的两段加起来。不重叠的片段直接赋值。其次是如果B 序列长度n2不是A 序列长度n1的整数倍时,必须将B 序列余下的那几个数补零后和A 序列做L 点循环卷积再加到最终的结果的相应位置。 下列是计算循环卷积的过程: 在本次课设题中序列A 和B 序列的某一小段做循环卷积,由于已知A 序列的长度为n1,故可取B 序列的每一小段都和A 序列相等长度,并且取循环卷积的点数为112-?=n L ,这就保证每一组的循环卷积都等效于线性卷积。做循环卷积可运用课本上82页上的循环卷积矩阵做,其第一步是将A 序列和B 序列的某一小段补零到长度为112-?=n L ,然后把A 序列通过

用MATLAB实现线性卷积运算

北京邮电大学 实验报告 实验名称:用MATLAB实现线性卷积运算学院:信息与通信工程学院 班级: 姓名: 学号: 日期:2012年5月

一、实验原理 1、算法产生背景 DFT 是连续傅里叶变换在时域和频域上都离散的形式,将时域信号的采样变换为在离散时间傅里叶变换频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的。DFT 具备明确且合理的物理含义,适合应用于数字系统,同时可以方便地由计算机进行运算。对于线性非移变离散系统,可由线性卷积表示时域输入输出关系,即 () ()*() ynxnhn 通常采用循环卷积降低运算量,但实际中往往无法满足对信号处理的实时性要求。因此,产生了重叠相加法和重叠保留法两种典型的算法,用以快速计算线性卷积,成为了DFT 的一个重要应用。 2、算法基本思想 1)重叠相加法 重叠相加法是将待过滤的信号分割成长为N 的若干段,如图1 所示,每一段都可以和有限时宽单位取样响应作卷积,再将过滤后的各段重叠相加。 具体算法实现原理如图2 所示,建立缓存序列,每次输入N 点序列,通过计算x(n) 和h(n) 的循环卷积实现线性卷积运算,将缓存的M-1 点序列和卷积结果相加,并输出前N 点作为计算结果,同时缓存后M-1 点,如此循环,直至所有分段计算完毕,则输出序列y(n)为最终计算结果。

2)重叠保留法 重叠保留法相当于将x l(n)和h(n)作循环卷积,然后找出循环卷积中相当于线性卷积的部分。在这种情况下,将序列y(n)分为长为N的若干段(如图3所示),每个输入段和前一段有M-1个重叠点。此时只需要将发生重叠的前M-1个点舍去,保留重叠的部分并输出,则可获得序列y(n),算法如图4所示。

循环卷积与线性卷积的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) %绘制线性卷积图形

序列的卷积和快速卷积运算的编程实现

课程设计名称:数字信号处理课程设计 课程设计题目:序列的卷积和快速卷积运算的编程实现 初始条件: 1. Matlab6.5以上版本软件; 2. 课程设计辅导资料:“Matlab 语言基础及使用入门”、“数字信号处理原理与实现”、“Matlab 及在电 子信息课程中的应用”等; 3. 先修课程:信号与系统、数字信号处理、Matlab 应用实践及信号处理类课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 课程设计时间:1周(课内实践); 2. 课程设计内容:序列的卷积和快速卷积运算的编程实现,具体包括:直接卷积及应用、快速卷积方 法及实现、两者的比较分析等; 3. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设 计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结; 4. 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ① 目录; ② 与设计题目相关的理论分析、归纳和总结; ③ 与设计内容相关的原理分析、建模、推导、可行性分析; ④ 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤ 课程设计的心得体会(至少500字); ⑥ 参考文献; ⑦ 其它必要内容等。 附——具体设计内容: 1. 已知线性非移变系统的h(n)=[6,2,3,6,4,2],输入为x(n)=[1,2,3,4,5]; (1) 用人工计算系统输出y(n); (2) 编写程序输出y(n),并作图。 2. 用函数conv 和FFT 计算长为1000序列的卷积,比较其计算时间。 3. 用快速卷积法计算()0.9()n M x n R n =和()()N h n R n =两个序列的卷积;并测试直接卷积和快速卷时间。

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

DSP实验报告重叠保留法和重叠相加法(精)

北京邮电大学 实 学班姓学 日 验报告 MATLAB 实现线性卷积运算院:信息与通信工程学院级:名: ______ 号: 期: 实验名称:用 索引

一、实验原 理 ..................................................................................................................... 3 1、算法产生背景 (3) 2、算法基本思 想 ...........................................................................................................................3 1)重叠相加法 (3) 2)重叠保留 法 ...........................................................................................................................4 二、流程图设计 . ................................................................................................................. 5 1、重叠相加 法 . .............................................................................................................................. 5 2、重叠保留 法 . (6) 三、MATLAB 源代 码 . ........................................................................................................... 7 1、重叠相加源码 ...........................................................................................................................7 2、重叠保留源 码 ...........................................................................................................................8 四、实验结果与分析 ........................................................................................................... 9 ①调用CONV (计 算 . ......................................................................................................................... 9 ②测试重叠相加算法 (9) ③测试重叠保留算 法 .....................................................................................................................9 五、讨论与总结 . ............................................................................................................... 10 1、算法效率分 析: .....................................................................................................................10 A. 重叠相加法 . (10)

相关文档
相关文档 最新文档