实验二__FFT的DSP实现.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文档。上传文档
查看更多
实验二__FFT的DSP实现

实验二 FFT的DSP实现方法(C语言版) 一、实验目的 加深对DFT算法原理和基本性质的理解。 熟悉FFT算法原理和FFT子程序的应用。 学习用FFT对连续信号和时域信号进行谱分析,了解可能出现的分析误差及其原因。 二、实验设备 计算机、ZY13DSP12BD实验箱,示波器、5402EVM板。 三、实验原理 离散傅立叶变换(DFT)的定义:将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT.。 FFT是DFT的一种快速算法,将DFT的N2 次运算量减少为次,极大的提高了运算的速度。 ,称为蝶形因子式旋转因子。 FFT算法 对于旋转因子来说,有如下的对称性和周期性: 对称性: 周期性: FFT就是利用了旋转因子的对称性和周期性来减少运算量的。 FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为两个N/2点的DFT,每个N/2点的DFT又分解为两个N/4点的DFT等等,最小变换的点数即基数,基数为2的FFT算法的最小变换是2点DFT。 一般而言,FFT算法分为时间抽选(DIT)FFT和频率抽选(DIF)FFT两大类。时间抽取FFT算法的特点是每一级处理都是在时域里把输入序列依次按奇/偶一分为二分解成较短的序列;频率抽取FFT算法的特点是在频域里把序列依次按奇/偶一分为二分解成较短的序列来计算。 DIT和DIF两种FFT算法的区别是旋转因子出现的位置不同,DIT FFT中旋转因子在输入端,DIF FFT中旋转因子在输出端,除此之外,两种算法是一样的。在本设计中实现的是基2的时间抽取FFT算法。 时间抽取FFT是将N点输入序列按照偶数和奇数分解为偶序列和奇序列两个序列: 偶序列:x(0),x(2),x(4),……,x(N-2) 奇序列:x(1),x(3),x(5),……,x(N-1) 因此,x(n)的N点FFT可表示为: 上式中,Y(k),Z(k)分别是一个N/2点的DFT。以同样方式进一步抽取,就可以得到N/4点的DFT,重复这个抽取过程就可以使N点的DFT用一组2点的DFT来计算。在基数为2的FFT中,设N=2M,则总共有M级运算,每级有N/2个2点DFT蝶形运算,因此,N点FFT共有(N/2)个蝶形运算。 四、实验内容和步骤 1、打开电源APW1和APW2。用示波器观察信号源的S1。调节S1幅度调节(RW8)和频率调节(RW2)使得S1输出的信号频率为1.5KHz,幅度为1V左右。同理调节信号S2的使得输出的频率为15KHz,幅度为1V左右。 2、关电,按照下表连接线 仿真器的JTAG接口 5402EVM板上的JTAG接口 信号源的S1 虚拟示波器的A1 信号源的S2 虚拟示波器的A2 虚拟示波器的B1 虚拟示波器的C1 虚拟示波器的D1 虚拟示波器的X1 虚拟示波器的D1 ADDA模块的ADIN 连接好连接线后使用示波器测试ADIN的输入波形,调节电位器R8使得AD的输入信号ADIN的偏移量为1.2V,信号幅度的最大值小于2.5V(5510A的输入信号的幅值小于4V),信号幅度的最小值大于0V。 3、关电连接 主板上的J4 5402EVM板上的J4 虚拟示波器的JP2 输入Linein 4、开电,运行CCS软件,打开项目文件FFT.pjt,编译运行并下载。 5、观察FFT变换的效果。设置断点,再点击“Animate”按钮,如下图所示。 6、点击View-Graph-Time/Frquence打开图形属性对话框,如下设置。采用双综观察2路信号输入变量xin和FFT滤波后的输出变量data2_imag。观察点数为64点。 7、点击“OK”后,可以看到如下波形。 五、程序说明 本系统设计的FFT是64点频率抽选(DIT)FFT,信号的采样频率FS设计为60240HZ, 子程序参数说明: void input_data() 函数:采样程序。本程序的采样点数是64点。 void fft() 函数;(DIF)FFT函数。 void timer_int() 函数;定时器中断函数。该中断不采集数据,数据的采集在input_data()函数中完成。 void vect() 函数;中断向量函数; 程序流程: main() { for(;;) { int k,n; k=0; c54init(); f=1500.0; // frequency_sel(); //重新采样 TCR=0x0114; PRD=331; fs=1000.0*100

文档评论(0)

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

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

1亿VIP精品文档

相关文档