实验文档三.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文档。上传文档
查看更多
实验文档三.doc

实验三——数据采集和谱分析 实验三利用ADSPBF533的评估板的硬件资源,完成对信号的采样与FFT变换输出。输出结果可以从示波器上实时地观察到,也可以利用VisualDSP++的plot功能描绘出来。实验的目的是让学生理解离散傅立叶变化的原理,掌握DFT的快速算法,同时了解连续信号的采样后的频谱,加深对数字信号处理理论的理解。 1. 实验程序简介 程序结构:程序包括主函数main()、Process_data()、Initialize()和ISR()等4个模块,以及常数和宏定义、全局变量定义部分。其中main()函数完成程序的控制,Initialize()完成CODEC和BF533个部分的初始化,Process_data ()完成数据采集和计算,ISR()实现中断控制。 程序工作流程:main()首先调用init_codec(),将CODEC和BF533进行初始化,然后调用中断函数ISR(),程序进入数据采集,通过CODEC的A/D采集数据,采集完256点数据后,转入数据处理,并且将处理结果送回CODEC,通过它的D/A转换成模拟信号。连续运行时,程序处于数据采集-数据处理-等待-数据采集(256点)-……的无限循环中,直到被用户干预停止。 数据采集和处理模式的切换:程序设置了全局整形变量Ready2FFT标志当前工作状态。若Ready2FFT==0时,工作在数据采集模式,此模式下中断程序每触发一次,程序从外部的SPORT_RX送一个数据到BF533内部缓冲区InbufLeft[]和InbufRigh[]t,当采集到256个数据后,子程序Process_data()会自动设置Ready2FFT==1,即进入数据处理阶段。数据处理结束后,重新进入数据采集阶段开始新的循环。 数据处理方法:当Ready2FFT==1时,程序把采集到的整形数据转化为浮点数据,然后将得到的浮点数据与窗函数进行相乘运算,经过这样预处理后的数据再转换为16位小数型数据,通过调用系统函数rfftrad4_fr16 ()进行傅里叶变换,再求模值,然后对模值进行适当的处理,最后得到的浮点结果转化为整形数据,输出到示波器。 程序中用到的几个主要数据变量的用途说明如下: int window ; //选择窗函数的形式。0:矩形窗;1:汉明窗。 int Counter0; // 采集到的数据样本数计数器 int OutputMum; //发送数据到DAC的索引计数器 int tempdata[FFT_NUM]; // 存放采样数据,可用plot功能描绘 fract16 output[FFT_NUM]; // 存放FFT变换后得到的数据 float Magnitude[FFT_NUM]; //存放FFT变换后得到的频谱幅度 int OutputBuffer[FFT_NUM]; //存放输出频谱数据 实验三使用的源程序位于子目录…\test3\FFT目录下,打开工程文件FFT.DPJ,可以看到程序由以下几个模块构成: 1)talkthough.h #ifndef __Talkthrough_DEFINED #define __Talkthrough_DEFINED //--------------------------------------------------------------------------// // Header files // //--------------------------------------------------------------------------// #include sys\exception.h #include cdefBF533.h //--------------------------------------------------------------------------// // Symbolic constants // //--------------------------------------------------------------------------// // addresses for Port B in Flash A #define pFlashA_PortA_Dir (volatile unsigned char *)0#define pFlashA_PortA_Data (volatile unsigned char *)0// names for code

文档评论(0)

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

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

1亿VIP精品文档

相关文档