調用DSP库函数实现FFT的运算.docVIP

  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文档。上传文档
查看更多
調用DSP库函数实现FFT的运算

通信与信息工程学院 2014 /2015 学年 第 一 学期 软件设计 实验报告 模 块 名 称 调用DSP库函数实现FFT的运算 专 业 通信工程 学 生 班 级 学 生 学 号 学 生 姓 名 指 导 教 师 设计题目 调用DSP库函数实现FFT运算 任务要求 利用CCS库函数CFFT对sin(40*PI*t)进行64点的FFT运算,要求回显结果图形并对其进行分析。 实验设备及软件 硬件:计算机 软件: WINDOWS操作系统、CCS软件和MATLAB(含SIMULINK工具包)软件。 同组人员学号及姓名 李荣 张宸 参考文献 [1] ICETEK–VC5509-A-USB-EDU教学实验系统软件实验指导(电子版) [2] Code Composer StudioProject Management and Editing Tools(电子版) [3] TMS320C55xAssembly Language Tools User’s Guide(电子版) [4] TMS320C55x Optimizing C/C++ CompilerUser’s Guide(电子版) [5] 彭启琮等.TMS320VC55xDSP的CPU与外设.清华大学出版社..TMS320C55x DSP Programmer’s Guide(电子版) [8] TMS320C55x DSP Algebraic Instruction Set Reference Guide(电子版) 报告内容 一、实验目的 (1)了解FFT 的原理; (2)了解在DSP 中FFT 的设计及编程方法; (3)了解在DSP 中CFFT 的设计及编程方法; (4)熟悉对FFT 的调试方法; (5)了解用窗函数法设计FFT 快速傅里叶的原理和方法; (6)熟悉FFT 快速傅里叶特性; (7)了解各种窗函数对快速傅里叶特性的影响。 实验原理 如果利用上式直接计算DFT,对于每一个固定的m,需要计算N次复数乘法,N-1次加法,对于N个不同的m,共需计算N的2次方复数乘法,N*(N-1)次复数加法.显然,随着N的增加,运算量将急剧增加, 快速傅里叶算法有效提高计算速度,利用FFT算法只需(N/2)logN次运算。 FFT 并不是一种新的变换,它是离散傅立叶变换(DFT)的一种快速算法。由于我们在计算DFT 时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。每运算一个X(k)需要4N 次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。所以整个DFT运算总共需要4N^2 次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。如此一来,计算时乘法次数和加法次数都是和N^2 成正比的,当N 很大时,运算量是可观的,因而需要改进对DFT 的算法减少运算速度。根据傅立叶变换的对称性和周期性,我们可以将DFT 运算中有些项合并。 我们先设序列长度为N=2^L,L 为整数。将N=2^L 的序列x(n)(n=0,1,……,N-1),按N 的奇偶分成两组,也就是说我们将一个N 点的DFT 分解成两个N/2 点的DFT,一般来说,输入被假定为连续的。当输入为纯粹的实数的时候,我们就可以利用左右对称的特性更好的计算DFT。我们称这样的RFFT 优化算法是包装算法:首先2N 点实数的连续输入称为“进包”。其次N点的FFT 被连续运行。最后作为结果产生的N 点的合成输出是“打开”成为最初的与DFT 相符合的2N 点输入。使用这战略,我们可以划分FFT 的大小,它有一半花费在包装输入O(N)的操作和打开输出上。这样的RFFT 算法和一般的FFT 算法同样迅速,计算速度几乎都达到了两次DFT 的连续输入。 TMS320c5402 有专门的FFT 指令,使得FFT 算法在DSP 芯片上实现的速度更快,更简单。查库函数,使用rfft 或cfft 可快速实现FFT 运算。rfft 函数原型为void rfft (DATA x, nx, short scale)其中DATA x 为数据存放数组,nx 为数组长度,运算完毕后DATA x 中原先数据被冲掉,存进运算完FFT 的数据。cfft 与rfft 不同之处在于cfft 可对复数进行FFT 运

文档评论(0)

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

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

1亿VIP精品文档

相关文档