选做二用FFTIFFT计算线性卷积.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

(完整word版)选做二用FFTIFFT计算线性卷积

编辑整理:

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)选做二用FFTIFFT计算线性卷积)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)选做二用FFTIFFT计算线性卷积的全部内容。

东莞理工学院实验报告

课程名称:数字信号处理 实验室名称:

实验名称:选做二用FFT/IFFT计算线性卷积指导老师:

所在院系:专业班级:

姓名:学号:日期:成绩:

1、 实验目的

了解DFT计算卷积的基本原理,学习用FFT和IFFT计算线性卷积的方法,能够通过MATLAB编程实现线性卷积.了解长序列线性卷积的方法.

2、 实验原理与方法

根据DFT的性质,长度分别为M和N的两个有限长序列x(n)和h(n)的1(LNmax[N,M])

点循环卷积对应于在频域它们的上1点DFT相乘。即:

y(n)-x(n)Qjh(n)=罗x(m)h((n-m))R(n)

若: m=0

贝U: Yc(k)=X(k)-H(k)

其中X(k)=DFT[x(n)],H(k)=DFT[h(n)],Y(k)=DFT[y(n)]。

L LC C L

由此可见,循环卷积既可以在时域计算,也可以利用DFT和IDFT来计算,由于DFT和IDFT均具有快速算法即FFT和IFFT,因此在频域计算循环卷积的速度快得多,因而常用DFT(FFT)计算循环卷积。

如果上述序列h(n)代表一个时域离散线性时不变系统的单位脉冲响应,x(n)代表对系统的输入,那么为了分析该系统的响应,需要计算两个序列的线性卷积。

设: y(n)=x(n)*h(n)=考x(m)h(n-m)

m=-s

y(n)长度为M+N-1.

根据线性卷积与循环卷积的关系:

七(n)=艾y(n+iL)勺(n)

i=-s

于是,在LNM+N—1时,七(n)=y(n),从而可以用循环卷积代替线性卷积,此时,

r(k)=y(k),(Y(k)=DFT[y(n)]),那么也就可以利用DFT(FFT)和IDFT(IFFT)计算线性卷c l l lL

积,称为快速卷积.为了利用FFT计算两序列的线性卷积,需要令L=2r(2的整数幂)。其具体方法如下:

取适当长度L,满足LNM+N—1及L=2r.

将x(n)和h(n)通过增加零值延长到L点;

利用FFT计算x(n)和1^(门)各自1点的DFT,X(k)和H(k).

计算匕(k)=Y(k)=X(k)-H(k)。

计算IFFT叫(k)],得到线性卷积y^(n)=x(n)*h(n)。

若两序列长度相差很大,例如M〉>N(即x(n)长度远远超过h(n)的长度),利用上述过程计算线性卷积会造成对存储容量要求高、运算时间长、延时严重等问题,此时需要采用分段卷积的方法。分段卷积包括重叠相加法和重叠保留法,其基本思想是对长序列x(n)分割成与短序列h(n)长度相当的小段,各段与h(n)分别进行线性卷积(每段的卷积可以采用FFT和IFFT方法),再将各段线性卷积的结果依据一定方式组合。在MATLAB中提供fftfilt函数可实现重叠相加法的过程。

3、实验内容及步骤

FFT/IFFT计算线性卷积正确性的验证

给定两个有限长序列:

x(n)=[],1,1,1] h(n)=[],1,1,1,1,1]

先利用conv函数直接求线性卷积,再利用FFT/IFFT求线性卷积,分别绘出相应的图形,观察结果是否一致。

FFT/IFFT进行线性卷积的计算速度

求序列x(n)=cos(0.2兀-n) (n=0,1,,N-1)与h(n)=%(n)的线性卷积,这里

M=N=1024。

分别用conv函数和FFT/IFFT函数计算线性卷积,通过tic和toc指令的配合统计两种方法的耗时,对比两种方法进行线性卷积的速度。

长序列的分段线性卷积

给定h(n)=Rqn),将序列x(n)=cos(0.2“?n)的长度N分别取1024*5、1024*50、1024*500,1024*1000,1024*5000。对比直接快速卷积和分段线性卷积的速度.

4、实验程序清单

%****内容一****验证conv和FFT/IFF

文档评论(0)

ld5559789 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档