调用DSP库函数实现FFT的运算.doc

调用DSP库函数实现FFT的运算.doc

ID:58400856

大小:848.00 KB

页数:17页

时间:2020-05-08

调用DSP库函数实现FFT的运算.doc_第1页
调用DSP库函数实现FFT的运算.doc_第2页
调用DSP库函数实现FFT的运算.doc_第3页
调用DSP库函数实现FFT的运算.doc_第4页
调用DSP库函数实现FFT的运算.doc_第5页
资源描述:

《调用DSP库函数实现FFT的运算.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通信与信息工程学院2013/2014学年第二学期软件设计实验报告模块名称调用DSP库函数实现FFT的运算专业通信工程学生班级B110107学生学号学生姓名指导教师王奇设计题目调用DSP库函数实现FFT运算任务要求利用CCS库函数CFFT对sin(40*PI*t)进行64点的FFT运算,要求回显结果图形并对其进行分析。实验设备及软件硬件:计算机软件:WINDOWS操作系统、CCS软件和MATLAB(含SIMULINK工具包)软件。同组人员学号及顾源源B110108参考文献[1]ICETEK–VC5509-A-USB-EDU教学实验系统软件实验指导(电子版)[2]CodeCom

2、poserStudioProjectManagementandEditingTools(电子版)[3]TMS320C55xAssemblyLanguageToolsUser’sGuide(电子版)[4]TMS320C55xOptimizingC/C++CompilerUser’sGuide(电子版)[5]彭启琮等.TMS320VC55x系列DSP的CPU与外设.北京:清华大学,2005[6]勇、欧光军.DSP集成开发环境CCS开发指南.北京:北京航空航天大学,2004[7]TMS320C55xDSPProgrammer’sGuide(电子版)[8]TMS320C55xDSP

3、AlgebraicInstructionSetReferenceGuide(电子版)报告容一、实验目的(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的增加,运算量将急剧增加

4、,快速傅里叶算法有效提高计算速度,利用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的算法减少运算速度。根据傅立叶变换的对称性和周期性,我

5、们可以将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)的操作和打开输出上

6、。这样的RFFT算法和一般的FFT算法同样迅速,计算速度几乎都达到了两次DFT的连续输入。TMS320c5402有专门的FFT指令,使得FFT算法在DSP芯片上实现的速度更快,更简单。查库函数,使用rfft或cfft可快速实现FFT运算。rfft函数原型为voidrfft(DATAx,nx,shortscale)其中DATAx为数据存放数组,nx为数组长度,运算完毕后DATAx中原先数据被冲掉,存进运算完FFT的数据。cfft与rfft不同之处在于cfft可对复数进行FFT运算。rifft和cifft分别为rfft和cfft进行逆运算。在这个实验中我们需要调用cfft库函数

7、对其进行FFT运算。三、CCS实现1、各个函数的说明(1)voidcbrev(DATA*x,DATA*r,unshortn)功能:为了FFT/IFFT得到一个正确顺序的变换结果,对他们的输入数据进行倒序。入口参数:x[2*n]x是一个2*n项的一维数组,数组中数据定义为短整型(16位有符号整型)。数组x是作为输入数据,函数对他的数据进行倒序。r[2*n]r是一个2*n项的一维数组,数组中数据定义为短整型(16位有符号整形)。数组r是作为输出数据,函数对x倒序后的结果存到r中。n定义为数组中复数的个数(两个实数表示一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。