网站大量收购闲置独家精品文档,联系QQ:2885784924

I基于CCS和ICETEK5509实验箱FFT算法的C语言实现与验证.docxVIP

I基于CCS和ICETEK5509实验箱FFT算法的C语言实现与验证.docx

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

一 实验名称基于CCS和ICETEK5509实验箱FFT算法的C语言实现与验证二 实验目的1、熟悉A/D转换的基本原理,FFT的基本原理2、针对理论课、实验课中无时间和不方便提及内容和需强调重点进行补充与完善;3、以原理算法的实现与验证体会DSP技术的系统性,并加深基本原理的体会。三 实验要求设计一个以ICETEK5509为硬件主体,FFT为核心算法的频谱分析系统方案;2、用C语言编写系统软件的核心部分,熟悉CCS调试环境的使用方法,在CCS IDE中仿真实现方案功能;3、在实验箱上由硬件实现频谱分析。四实验原理1、 DSP应用系统构成:注:一般的输入信号首先进行带限滤波和抽样,然后进行模数(A/D)转换,将信号变成数字比特流。根据奈奎斯特抽样定理,对低通信号模拟,为保持信号的不丢失,抽样频率必须至少是输入带限信号的最高频率的2倍,工程上为带限信号最高频率的3-5倍。A/D转换原理A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。3.快速傅立叶变换原理频谱分析系统A/D系统设置FFT系统(DIT)对于有限长离散数字{x[n]},0≤n≤N-1,其离散谱{x[k]}可以由离散傅氏变换(DFT)求得。不难看出,是周期性的,且周期为N,即,m,l=0,±1,±2….FFT算法可以分为按时间抽取FFT和按频率抽取FFT两大类输入也有和复数之分,一般情况下,都假定输入序列为复数。FFT算法利用旋转因子的对称性和周期性,加快运算速度。用定点DSP芯片实现FFT程序时,一个比较重要的问题就是防止中间结果的溢出,防止中间结果的溢出的方法就是对中间数值归一化,而不可能溢出的则不进行归一化。 定义可以看出,在x[n]为复数序列的情况下,完全直接运算N点的DFT需要(N-1)2次复数乘法和N(N-1)次加法。N点的离散傅立叶变换需要同一个N*N点的W矩阵相运算,随着N值的增大,运算次数显著上升,当点数达到1024时,需要进行复数乘法运算1,048,576次,显然这种算法在实际运用中无法保证当点数较大时的运算速度,无法满足对信号的实时处理。根据W矩阵中W元素的周期性和对称性我们可以将一个N点的DFT运算分解为两组N/2点的DFT运算,然后取和即可,为进一步提高效率,将上述两个矩阵按奇偶顺序逐级分解下去。当采样点数为2的指数次方M时,可分解为M级子矩阵运算,全部工作量仅为:  复数乘法:M*N/2次  复数加法:N*M次  而直接DFT需要的运算量为:  复数乘法:N*N次  复数加法:N*(N-1)次  当点数N为几十个点时FFT的优势还不明显,而一旦达到几千、几百个点时优势是十分明显的:  N=1024时:DFT需1048576次运算,FFT仅需5120次运算,改善比204.8。  N=2048时:DFT需4194304次运算,FFT仅需11264次运算,改善比达到372.4。五实验过程按照DSP应用系统设计的一般过程这次课程设计分为三部分:1、单路,多路模数转换(AD)2、FFT算法C语言实现与验证3、系统集成,实现硬件频谱分析我按照这三部分进行操作,以下就是我课程设计的具体思路和步骤第一部分:单路,多路模数转换(AD)(占第一次上机时间)①回顾CCS的基本操作流程,尤其是开发环境的使用;1、创建一个新工程2、将文件添加到工程中去3、生成和运行程序4、更改Build选项并更正语法错误5、添加断点从PC文件中读取数据6、显示波形②A/D的C语言基本控制流程;③仔细阅读工程的源程序,做好注释,并进行运行a)定义子程序voidInitADC();void wait( unsigned int cycles );voidEnableAPLL( );void HD_AD(); //定义0通道void My_AD(); //定义1通道b)主要程序:while ( 1 ){for ( i=0;i256;i++ ){ADCCTL=0x8000;// 启动AD转换,通道0do{uWork=ADCDATA;//ADCDATA为数据存放数组} while ( uWork0x8000 );// uWork0x8000为假退出语句nADC0[i]=uWork0x0fff; /*取十位精度}for ( i=0;i256;i++ ){ ADCCTL=0x9000;// 启动AD转换,通道1do{uWork=ADCDATA;} while ( uWork0x8000 ); // uWork0x8000为假退

文档评论(0)

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

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

1亿VIP精品文档

相关文档