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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(DSP课程设计FFT.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP课程设计FFT.docx

1、DSP课程设计FFT 课程设计(论文)题 目 名 称 基于DSP的FFT实现 课 程 名 称 专业课程设计 学 生 姓 名 郭晗 学 号 1141303066 系 、专 业 信息工程系、通信工程 指 导 教 师 刘伟春 2014年 4月 27日摘要本次课程设计主要运用CCS这一工具实现快速傅里叶变换(FFT)。CCS(Code Composer Studio)是一种针对TM320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。CCS有两种工作模式

2、,即软件仿真器和硬件在线编程。软件仿真器工作模式可以脱离DSP芯片,在PC上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程可以实时运行在DSP芯片上,与硬件开发板相结合进行在线编程和调试应用程序。关键词:CCS; 快速傅里叶变换(FFT) 目录摘要 I第1章 绪论 11.1课题研究的背景 11.2 国内外研究现状 11.3 课题研究的内容 2第2章 系统方案设计及论证 32.1 总体方案论证 32.2 设计程序流程图 42.3 系统电路设计总框图 4第3章 软件设计 53.1 N的参数设置 53.2源文件代码 5第4章 实验仿真及结果分析 104.1实验结果 104.2

3、实验结果分析 12第5章 总结 13参考文献 14致谢 15第1章 绪论1.1课题研究的背景随着数字技术与计算机技术的发展,数字信号处理(DSP)技术已深入到各个学科领域。近些年来,数字信号处理技术同数字计算器、大规模集成电路等,有了突飞猛进的发展。在数字信号处理中,离散傅里叶变换(DiscreteTimeFourierTransform,DFT)是常用的变换方法,它在数字信号处理系统中扮演着重要角色。由离散傅里叶变换发现频率离散化,可以直接用来分析信号的频谱、计数滤波器的频率响应,以及实现信号通过线系统的卷积运算等,因而在信号的频谱分析方面有很大的作用。由于DFT的运算量太大,即使是采用计算

4、机也很难对问题进行实时处理,所以经过很多学者的不懈努力,便出现了通用的快速傅里叶变换(FFT)。快速傅里叶变换(FastFourierTransform,FFT)并不是与离散傅里叶变换不同的另一种变换,而是为了减少DFT计算次数的一种快速有效的算法。对FFT算法及其实现方式的研究是很有意义的。目前,FFT己广泛应用在频谱分析、匹配滤波、数字通信、图像处理、语音识别、雷达处理、遥感遥测、地质勘探和无线保密通讯等众多领域。在不同应用场合,需要不同性能要求的FFT处理器。在很多应用领域都要求FFT处理器具有高速度、高精度、大容量和实时处理的性能。因此,如何更快速、更灵活地实现FFT变得越来越重要。1

5、.2 国内外研究现状FFT在生产实践和科学研究中获得日益广泛的应用。例如,对汽车、飞机、轮船、汽轮机等各类旋转机械、电机、机床等机器的主体或部件进行实际运行状态下的谱分析,可以提供设计数据和检验设计效果,或者寻找振源和诊断故障,保证设备的安全运行等;在声纳系统中,为了寻找海洋水面船只或潜艇,需要对噪声信号进行谱分析,以提供有用信息,判断舰艇运动速度、方向、位置、大小等。因此对谱分析方法的研究,受到普遍注意和重视,是当前信号处理技术中一个十分活跃的课题。在我国,1993年,丁康和谢明提出了三点卷积法幅值校正法,提高了频率间隔较大的信号的离散频谱幅值精度,解决了工程实际中的一些问题。1994年,谢

6、明、丁康等提出和发展了比例频谱校正方法,使内差法系统地发展成为一种通用的频谱校正方法,解决了频率间隔较大的离散化频谱幅值、相位和频率的精确求解问题,并开始对离散频谱的校正方法和误差分析进行了深入系统的分析和研究。1996年,余佳兵,史铁林等提出了采用复调制细化谱分析将已产生频谱干涉的密集频率成分分离开,消除干涉,再用比例法进行校正以解决密集频率成分的离散频谱的校正问题。在国外,1975年JohnCBurges等从事电学领域研究工作的学者采用插值法对加矩形窗的离散化频谱进行校正,解决了电学中的离散高次谐波参数的精确测量问题。1983年ThomasGrandke提出了加Hanning窗的内插法,进

7、一步提高了离散高次谐波参数的分析精度。1.3 课题研究的内容本文主要介绍基于DSP用FFT变换实现对信号的频谱分析。研究离散傅里叶变换以及快速傅里叶变换的原理及算法。快速傅里叶变换和离散傅里叶变换的基本理论是一样的,它根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换进行了改进。在计算机系统或者数字系统中广泛应用者快速傅里叶变换,这是一个巨大的进步。本文主要解决的问题就是如何对信号的频谱进行研究,使FFT更广泛的应用于科学研究。第2章 系统方案设计及论证2.1 总体方案设计本系统主要由4部分组成: DSP、FPGA、正交数字上变频器(Quadrature Digital Upconve

8、rter)、正交数字下变频器(Quadrature Digital Downconverter)。系统硬件结构如图2.2所示。图中,D表示数据总线,A表示地址总线,C表示控制总线, L表示链路口数据线, 字母后面的数字表示总线的位数。50 MHz晶振为两片DSP及FPGA提供时钟信号,32.768 MHz高稳定度晶振为AD9857和AD6654提供高质量的时钟信号。复位芯片MAX6708控制DSP、FPGA、AD9857、AD6654和ST16C550的复位。DSP完成FFT/IFFT变换。系统所使用的DSP2是ADI公司的Tiger sharc TS101。该DSP具有以下特性: 最高工作频

9、率为300 MHz,3.3 ns指令周期;6 MB片内SRAM;2个计算模块,每个模块都有1个ALU、1个乘法器、1个移位寄存器和1个寄存器组;2个整型ALU,用来提供寻址和指针操作;14个DMA控制器;1149.1 IEEE JTAG口。该DSP最大的特点是: 进行256点的复数FFT变换,仅需3.67 s。2.2 设计程序流程图2.3 系统电路设计总框图图2.2 DSP硬件结构图第3章 软件设计3.1 N的参数设置进行N点FFT运算,分别实现N=256,N=512得到不同的功率谱图源程序:3.2源文件代码:#include #include DSP28_Device.h#include c

10、omm.h#include fft.h#include ext_inf.h#define FFTN512 512 #define FFTN256 256#define FFTN128 128#pragma DATA_SECTION(ipcb, FFTipcb);long ipcbFFTN512+2;RFFT32 fft512=RFFT32_512P_DEFAULTS; RFFT32 fft256=RFFT32_256P_DEFAULTS; RFFT32 fft128=RFFT32_128P_DEFAULTS; unsigned int SampleLong;#define SAMPLELONG

11、 2unsigned int Ad_data1536=0;unsigned int Ad_data11536=0;unsigned int convcount = 0;volatile unsigned int adconvover =0;unsigned int mod512; int m=0;double n;double p,q;unsigned int i,j;interrupt void ISRTimer2(void);interrupt void ad(void);void main(void) /*初始化系统*/ InitSysCtrl(); #if SAMPLELONG=1 S

12、ampleLong =256; #endif #if SAMPLELONG=2 SampleLong =512; #endif #if SAMPLELONG=3 SampleLong =1024; #endif /*关中断*/ DINT; IER = 0x0000; IFR = 0x0000; /*初始化PIE中断*/ InitPieCtrl(); /*初始化PIE中断矢量表*/ InitPieVectTable(); /初始化cputimer InitCpuTimers(); /*设置中断服务程序入口地址*/ EALLOW; / This is needed to write to EALL

13、OW protected registers PieVectTable.TINT2 = &ISRTimer2; PieVectTable.ADCINT = &ad; EDIS; / This is needed to disable write to EALLOW protected registers /*开中断*/ IER |= M_INT1;/ADC中断 EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime interrupt DBGM adconvover=0; DINT; /*设置CPU*/ Confi

14、gCpuTimer(&CpuTimer2, 150, 22); StartCpuTimer2(); /*开中断*/ IER |= M_INT14; EINT; InitAdc(); for(;) if (adconvover=1) for(i=0;iSampleLong+SampleLong/2;i+) Ad_data1i=Ad_datai+SampleLong/2; /*AD采样结束 fft转换开始*/ switch(SampleLong/2) case 128: fft128.ipcbptr=ipcb; fft128.init(&fft128); for(i=0;iSampleLong/2

15、;i+) ipcbi = Ad_data1i; RFFT32_brev(ipcb,ipcb,FFTN128); fft128.calc(&fft128); fft128.split(&fft128); break; case 256: fft256.ipcbptr=ipcb; fft256.init(&fft256); for(i=0;iSampleLong/2;i+) ipcbi = Ad_data1i; RFFT32_brev(ipcb,ipcb,FFTN256); fft256.calc(&fft256); fft256.split(&fft256); break; case 512:

16、fft512.ipcbptr=ipcb; fft512.init(&fft512); for(i=0;iSampleLong/2;i+) ipcbi = (long)Ad_data1i; RFFT32_brev(ipcb,ipcb,FFTN512); fft512.calc(&fft512); fft512.split(&fft512); break; default: break; /*求模*/ m=0; for(i=0;iSampleLong/2;i+=2) p=ipcbi; q=ipcbi+1; n=p*p+q*q; n=sqrt(n); modm=n; m+; adconvover=0

17、; interrupt void ad(void) IFR=0x0000; PieCtrl.PIEACK.all=0xffff; if(adconvover=0) Ad_dataconvcount = AdcRegs.RESULT0; convcount+; if (convcount=(SampleLong+SampleLong/2) convcount=0; adconvover=1;/接满标志 interrupt void ISRTimer2 (void)/ AdcRegs.ADCTRL2.bit.RST_SEQ1=1; AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; void sys_reset(void) EALLOW; SysCtrlRegs.WDCR= 0; EDIS; for(;); 第4章 实验仿真及结果分析4.1实验结果输入方波后得到的图:方波作FFT变化的输出图:计算mod值得到的方波图:输入正弦波后得到的图:正弦波作FFT后输出图:计算mod值输出的正弦波图:4.2实验结果分析FFT算法特点:()共需r次迭代;第次迭代对偶结点的偶距为,因此一组结点覆盖的序号个数是。第次迭代结点的组数为。可以预先计算好,而且的变化范围是。因此N越大,运算越多。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1