ImageVerifierCode 换一换
格式:DOC , 页数:42 ,大小:2.88MB ,
资源ID:1098682      下载积分:30 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1098682.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(快速卷积中嵌套算法的设计与实现毕业设计说明书.doc)为本站会员(龙***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

快速卷积中嵌套算法的设计与实现毕业设计说明书.doc

1、快速卷积中嵌套算法的设计与实现摘 要离散富里叶变换(DFT)和卷积计算在图象、数字信号处理中起着重要的作用,因此对快速算法的研究早就引起人们足够的重视。针对卷积算法的计算进行深入研究,发现在离散卷积计算过程中的计算量会随着输入信号序列的长度而急速增加,传统的卷积计算算法已不能满足要求,本文研究了如何将一维卷积变换成二维卷积或多维卷积,而多维卷积中由包含简单的一维卷积,从而进行嵌套计算。研究了利用短卷积嵌套计算长卷积的算法,最终实现 16 点循环卷积嵌套算法,大幅度减少了卷积的计算量。关键词:卷积,快速,嵌套iDesign and implementation of the nested alg

2、orithm of fast convolutionAbstractDiscrete Fourier Transform (DFT) and convolution calculation plays an important role in the image, a digital signal processing, and therefore the study of fast algorithms have attracted enough attention. Through the In-depth study of the convolution algorithm, we fi

3、nd the calculation of the convolution calculation will increases with the length of the rapid of the input signal sequence. Conventional convolution calculation algorithm cant meet the requirements. This paper studies how the one-dimensional convolution transform into a multi-dimensional convolution

4、 or two-dimensional, and multi-dimensional convolution include simple one-dimensional convolution. Using short convolution calculate long convolution, and finally achieving 16 points nested circular convolution algorithm, significantly reducing the computation of convolution.Key Words: convolution;f

5、ast,;nested目 录摘 要 .iAbstract.ii第一章 绪论 .11.1 课题研究背景 .11.2 快速卷积算法的发展历史 .31.3 课题研究内容 .4第二章 快速卷积算法运算中的问题 .52.1 数字信号处理中的计算问题 .52.1.1 滤波和相关 .52.1.2 离散傅里叶变换 .82.2 算法序列 .11第三章利用短卷积嵌套计算长卷积算法原理简介 .133.1 二维卷积与多维卷积 .133.2 Agarwal-Cooley 卷积算法 .193.3 分裂算法 .28第四章 快速卷积嵌套算法实现 .344.1 16 点循环卷积算法实现 .344.2 算法性能分析 .35第五章

6、 总结 .37参考文献 .38本文由闰土服务机械外文文献翻译成品淘宝店整理0第一章 绪论1.1课题研究背景随着大规模集成电路、计算机和数字信号处理器(DSP)的快速发展,数字信号处理技术已得到广泛应用。然而在许多具体的应用场合需要处理的数据量和计算量都是巨大的,特别是在某些实时性要求较高的应用领域,对信号的处理速度是苛刻的。当然可以设计研制速度更快的处理器来满足要求,但研制新的处理器需要较大的投入和较长的研制时间,况且还有赖于技术的进步。另一种方案就是设计高效的算法使计算量降到可以接受的水平,实际上也正是出现了著名的离散傅里叶变换(DFT)的快速算法(FFT)后,数字信号处理技术才迅速发展起来

7、并走向实用的。通常我们在表达一个算法的时候是以一种人们容易理解的方式表达出来的,然而这种表达方式计算起来并不高效,需要用较多的乘法和加法次数;另外一种表示方法就是从计算效率的角度来表示一个算法,但这种表达方法往往又会使得表达式变得让人难于理解。例如,我们要计算下面一个表达式的值 A(1-1)acdb如果按照这个表达式计算需要 4 次乘法和 3 次加法,不难看出上面的表达式也可写成(1-2)()Aabcd这样只需要 1 次乘法和 2 次加法就可以了。另一个典型的例子是计算两个复数的乘积(1-3)()()ejfajbcjd其中 直接计算需要 4 次乘法和 2 次加法,如eacbd果把它们写成1(1

8、-4)()()ebacd()()fbacd则需要 3 次乘法和 5 次加法就可以了,通常 DSP 计算乘法要比计算加法来得复杂。如果 c 和 d 都是常数,那么 和 可以预先计算好,这样只需要3 次乘法和 3 次加法。这个复数乘法也可用矩阵表示(1-5)ecdafb按照第二个算法还可以写成(1-6)0110()0()ce adf bc 或写成简洁的形式(1-7)eaCMAfb矩阵 A 与向量 相乘只是一些加法运算,因此称 A 为前加矩阵;矩Tab阵 M 为一对角阵,它代表了算法中的所有乘法运算;C 则称后加矩阵。如果将 作为一个系统的输入数据, 作为系统的输出数据。那么,, ,ef这个算法可描

9、述为:首先将输入数据进行一系列的加法运算,然后是一些乘法运算,最后又是一系列的加法运算。今后我们介绍的快速算法大多可以用这种矩阵结构表示,即它的中间是一个对角矩阵表示乘法运算,两边的矩阵元素是1,0,-1 等简单的数,表示加法运算。我们再来看两个矩阵相乘的问题设 , ,其中 F 为某一数域,则 C 的元素CAB,mllnmnFC, (1-8)1lijikjcab1,;,ijn 若直接计算,每计算一个 C 中的元素就需要 次乘法和 次加法,因此l(1)l总共需要 次乘法和 次加法。现在我们来改进这个算法,使得乘法lmn()lmn次数几乎减少一半,而加法次数略有增加。利用下面的恒等式2(1-9)1

10、212121()ababab则 (1-10)2 2,12,2,12,21,2,1,221,;,l lijikjikjikjikjl likikjcabababimjn 这里假定 是偶数,否则可在 A 中加入一列 0,在 B 中加入一行 0。上面的l表达式中第一项需要的乘法次数为 ,每一个元素都需要计算,因此共 次2l 2lmn乘法;第二项与 j 无关,每一行只要计算一次,因此共 次乘法;而第三项2l与 i 无关,每一列只要计算一次,因此共 次乘法;这样计算 C 总共需要2ln次乘法。1()2lmnl对每一个元素需要计算的加法次数为 次,对每一行或每一列要计算312l的加法次数为 次,因此加法次

11、数总共为 次。12l 12lmnlmn对于一个大的矩阵乘法次数大约是直接计算的一半。但值得注意的是这种算法对计算误差会比较敏感,特别是采用定点数计算的时候,这是工程技术人员值得注意的问题。但本课程主要讨论快速算法的问题,对计算误差的问题不做进一步的讨论。1.2快速卷积算法的发展历史有限长序列卷积(1-11)1,01,.0yMlmlNxg广泛地应用于相关函数和功率谱的计算以及有限长脉冲响应数字滤波器的3设计和实现等众多的数字信号处理领域。然而,直接计算(l-11)式所需乘法及加法运算量,当卷积结果长度 N 较大时,将随着 量级增长很大。以致在快2(N)O速算法提出之前,(l-11)式的应用受到了

12、很大的限制。1960 年和 1963 年 Good 和 Thomas 分别发表了他们的快速算法,但并没有引起人们的重视。1965 年,Coley 和 Tukcy 提出了一种称之为快速傅里叶变换(FFT)的计算机实现算法。应用该算法计算(l-11)式,其乘法及加法运算量均可降低到。1966 年 Stockham 将它用于卷积的计算,从而也推动的数字信2(Nlog)O号处理技术的快速发展。Cooley-Tukey 算法也被人们广泛第学习和研究,这种算法也就是一般的数字信号教课书中都有介绍的 FFT 算法;1978 年,wiongrad 推出 WFT 算法,使得(l-11)式的运算量进一步得到降低。

13、然而 FFT 及 WFT 都存在两点不足,即:需要计算三角函数以及需要施行复数运算,即使输入值为实序列也是如此,而且当卷积结果长度 N 增大时,所需乘法及加法量仍然很大,难于实现实时相关或实时卷积计算。早在 1972 年,C.M.Rader 在前人关于 Galois 域上的离散傅里叶变换研究的基础上提出了应用默森变换方法,在取默森 M 为模的整数环上计算序列卷积的默森变换(MN)T 算法闭。接着 Agarwal 和 Burrsu 进行了更深入的研究,奠定了数论变换(NTT)的基础。NTT 的应用使得卷积的乘法运算量降低到 ,并且其算法结构便于(N)O硬件实现。然而遗憾的 NTT 受到字长及变换

14、长度的严格限制,因此在应用上就有很大的局限性。1978 年,Nussbaumer 提出了快速多项式变换(FPT)算法,虽然解除了字长及变换长度受限的约束,但其乘法及加法运算仍然保持在的量级上,因而更适合于软件实现。2(Nlog)O1.3课题研究内容(1)研究快速卷积算法的基本原理和实现方法;(2)设计和实现快速卷积算法;(3)设计和推导快速卷积的嵌套算法并对算法性能进行评估;4第 2章 快速卷积算法运算中的问题2.1数字信号处理中的计算问题2.1.1滤波和相关数字信号处理中的主要任务是对信号进行滤波,有两种形式的数字滤波器:有限长冲激响应滤波器(FIR)和无限长冲激响应滤波器(IIR)无限长冲

15、激响应滤波器也称递归滤波器。它们的结构可用 图 2.1.1 和 图 2.1.2 表示。D D D D. . . . .g0g1g2g3gL - 1 d2, d1, d0 s2, s1, s0gL - 2图 2.1.1FIR 滤波器对于 FIR 滤波器其输入输出关系为线性卷积。设 d 为 N 点的序列,滤波器有 L 个系数用 g 表示,即 , ,那么其011,Nd 011,Lgg输出序列 s 就是, (2-1)10Liiksg,2iL数字信号处理中的另一个问题是计算两个序列的相关 r, (2-2)10Liikrdg0,12iN显然它也可以用卷积来计算,只要将一个序列颠倒就可以了。与线性卷积密切相

16、关的是圆周卷积,设 d 和 g 都是 n 点的序列,圆周卷积定义为, (2-3)1()0nniiks0,1i表示对 n 取模,在含义清楚的情况下下标 n 也可不写。因 时,()n ki5; 时, 于是()ikiki()iknik, (2-4)10iiknikisdgg0,1in注意到当 时,第一项的 , 是第二项的 ,所以kiiki0nikd, (2-5)1100nniikikinsdgs 0,1i此式表明线性卷积中下标大于等于 n 的部分折叠到下标 0 开始的地方,并将它们叠加起来。卷积还可以用多项式乘法来表示。设, (2-6)10()Niidx10()Liigx以及(2-7)20()LNi

17、isxs则(2-8)()()sxdgx不难验证 的系数就是 d 和 g 的线性卷积。显然 还可以写成()sx ()sx,因此线性卷积是符合交换律的,还可以写成()sxgd(2-9)10Niiksgd圆周卷积也可以用多项式表示,设, (2-10)10()niidx10()niigx以及(2-11)10()niisxs则6(2-12)()mod1()mod1()n nsxxgxg显然圆周卷积也是符合交换律的,对 取模只要简单地将多项式中的n代以 1,而 代以 。 图 2.1.1 是用 FIR 滤波器来得到圆周卷积,nx,0nixix输入序列重复 2 次,在输出的 3n-1 点中,中间的 n 点即为

18、圆周卷积。D D D. . . . .g0g1g2gn - 1dn - 1 d1, d0, dn - 1 , d1, d0gn - 2 10,nxsx中间 n 点为圆周卷积图 2.1.1用 FIR滤波器得到圆周卷积圆周卷积是一种快速计算线性卷积的重要手段。为计算一个长序列的线性卷积,通常将输入序列分段计算,然后将输出序列拼接。对输入数据的分段一般有两种方法:一是数据分段不重叠,这样卷积的输出需要叠加;另一种数据分段重叠,这需要将卷积输出中的混叠部分舍去。假定滤波器系数的长度为 n1 点,数据分段不重叠的方法称重叠相加法(overlap-add) ,将数据分成长度为 n2 点的互不重叠的数据段,记, , (2-13)2,miind20,1 ,012m 然后,计算 与 , 的 点圆周卷积,显然计算,iig 2n结果就是两个序列的线性卷积,记为 ,mis, (2-14)11,(),00nnmiikikkksdgd0,1in由于 ,所以2,iinmd(2-15)2 221 1,() ,(),0 0n ni ikmnkmiknmink ksgdgs

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。