《实验五快速傅里叶变换(11页).doc》由会员分享,可在线阅读,更多相关《实验五快速傅里叶变换(11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-CENTRAL SOUTH UNIVERSITY数字信号处理实验报告题 目 快速傅里叶变换 学生姓名 学 院 物理与电子学院 专业班级 电子信息科学与技术 1105班 学号 140411072 -第 11 页-实验五 快速傅里叶变换一、实验仪器PC机一台、JQ-SOPC开发系统实验箱及辅助软件(DSP Builder、Matlab/Simulink、Quartus II、Modelsim)。二、实验目的1、了解快速傅里叶变换的基本结构组成。2、学习使用DSP Builder设计FFT。三、实验原理1、FFT的原理:快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的一种高效运算方法,它大大简
2、化了DFT 的运算过程,使运算时间缩短几个数量级。FFT 算法可以分为按时间抽取(DIT)和按频率抽取(DIF)两类,输入也可分为实数和复数两种情况。八点时间抽取基-2FFT算法信号流图如图1示:图1 8点基-2 DIT-FFT信号流图四、实验步骤1、将桌面的my_fft_8.mdl拷贝到 “D:Program FilesMATLAB71work”(MATLAB安装目录下的work文件夹)处,并双击打开。图5-1 快速傅里叶变换系统图图5-2 快速傅里叶变换子系统1图图5-3 快速傅里叶变换子系统2图图5-3 快速傅里叶变换子系统3图2、点击工具栏即可开始系统级simulink仿真,以验证该模
3、型的正确性。在仿真进行过程中分别将三个输入控制开关打到000、001、010、011、100以选择五组输入数据进行FFT运算。(1)当开关打到000时选择第一组数据2.0,2.0,4.0,7.0,3.0,5.0,5.0,8.0,其运算结果应为36、-2.41+3.84i、-4+8i、0.4219+1.844i、-8、0.4102-1.84i、-4-8i、-2.422-3.844i。(2)当开关打到001时选择第二组数据1.1,5.0,10.5,15.3,20.2,25.7,30.6,40.1,其运算结果应该为148.5、-16.1+52.35i、-19.8+24.7i、-22.02+12.25
4、i、-23.7、-22.1-12.15i、-19.8-24.7i、-16.9-52.45i。(3)当开关打到010时选择第三组数据5.6,5.0,15.8,20.4,25.2,35.1,40.2,45.0,其运算结果结果应该为192.3、-23.39+63.19i、-25.2+25.3i、-15.69+14.49i、-18.7、-15.81-14.39i、-25.2-25.3i、-23.51-63.29i。(4)当开关打到011选择第四组数据10.2,15.3,18.1,20.3,24.2,30.0,35.2,42.3,其运算结果应该为195.6、-8.755+43.11i、-18.9+17.
5、3i、-19.19+8.992i、-20.2、-19.25-8.906i、-18.9-17.3i、-8.812-43.2i。(5)当开关打到100选择第五组数据4.0,10.5,15.6,20.3,25.2,35.7,40.5,45.0,其运算结果应该为196.8、-21.45+60.28i、-26.9+19.1i、-20.85+10.58i、-26.2、-20.94-10.48i、-26.9-19.1i、-21.55-60.38i。3、双击模型图中的Testbench模块弹出类似如图7所示对话框。依次单击Generate HDL、Run Simulink、Run Modelsim三个选项。其
6、中Run Modelsim选项后的Launch GUI前的选项框一定要选,这样可以观看modelsimRTL级仿真结果。4、双击模型图中的SignalComplier模块弹出类似如图8所示对话框。在parameters栏下的family选项选择cyclone II ,device选项选择默认的auto,然后点击simple下的complie,编译完后关闭该页。5、关闭MATLAB。在位置“D:Program FilesMATLAB71work my_fft_8_dspbuilder” (MATLAB安装目录下的work my_fft_8_dspbuilder)打开文件my_fft_8.qpf。
7、6、工具栏中点击Assignments,选中Device,在器件family中选择Cyclone ,选择下拉菜单中的EP2C35F672C6.,点击finish。7、执行Assignmets-Assignment Editor,将Category设为Pin,并按照下图对Pin进行设置并保存。图5-1 管脚分配图8、执行Tools-SignalTap Logic Analyzer,在Data窗口中的空白处双击,在弹出的对话框中将Fiter设为all®isters:post fittings,点击List,将Output添加至右边的窗口中,点击【OK】确认。在右边的对话框中将Clock设为C
8、lock信号;Sample depth设置为1K;点选Trigger in,Source设为Clock信号,Pattern设为Rising edge。保存该文件,若弹出对话框询问是否将文件添加至工程,选择Yes。点击菜单栏中的,重新对工程进行编程。9、打开实验箱,接入电源,用USB Blaster线将电脑和实验箱连接起来,选择菜单栏中的图标。10、点击Hardware Setup,选择USB-0,点击【OK】确认。选中my_fft_8.sof文件,点击Start,将文件下载到实验板上。11、将实验箱上的开关SW3拨至高电平,SW2、SW1 、SW0拨至低电平点击。点击开始运行工程,10s后,点
9、击结束运行。依次使(SW2, SW1 , SW0)=(0, 0, 1)(1, 1,1),重复上一步的操作,并与理论值进行比较。五、实验结果1、Simulink仿真波形:(1)当开关打到000时(2) 当开关打到001时(3) 当开关打到100时2、RTL级仿真波形3、硬件实现波形(SW2, SW1 , SW0)=(0, 0, 1)(1, 1,1)(1)(SW2,SW1,SW0)=(0,0,1)(2)(SW2,SW1,SW0)=(0,1,0)(3)(SW2,SW1,SW0)=(0,1,1)(4)(SW2,SW1,SW0)=(1,0,0)(5)(SW2,SW1,SW0)=(1,0,1)六、讨论分析
10、1、实验中遇到的问题和解决方法。FFT实现对我们来说比较困难,FFT的算法还能看得懂,但是怎么用软件实现FFT算法,我们了解的并不多,所以对这次实验的各子系统都不大明白其工作方式和功能,但是实验时间有限,我们暂且抛下这些不管,等以后有时间和兴趣时再去深究,直接按照实验步骤进行实验。2、2013年美国技术评论评选出了10项改变世界的新技术,一种由MIT四名学生提出的比FFT快上10至100倍的稀疏傅里叶变换(SFT)算法。关于SFT你知道些什么?(SFT的内容,SFT对信息时代的意义)(原文:“Nearly Optimal Sparse Fourier Transform”)FFT的基本原理是,
11、所有信号,例如录音,都可以表现为一系列不同频率和波幅的正弦和余弦波组合。进行变换之后,对这组波的处理会相对容易些比方说,可以压缩一段录音或消除噪音。20世纪60年代中期,研究人员创造出了一种利用计算机实现的算法,称之为快速傅里叶变换(FFT)。相比未压缩的录音版本,MP3格式文件的体积之小简直令人惊叹,这让我们真正见识到了快速傅里叶变换的威力。而利用被称为稀疏傅里叶变换(SFT)的新算法,数据流的处理速度会比快速傅里叶变换还要快上10倍至100倍。之所以能够如此大幅地提速,是因为我们关注的信息大多拥有大量的结构:例如音乐与不规则噪声就完全不是一回事。这些有意义的信号通常只能取一小部分可能值;用技术术语来表达,即这些信息是“稀疏”的。由于稀疏傅里叶变换算法不需要对所有可能的数据流都进行处理,因此它可以使用其他算法无法做到的某些快捷处理方式。从理论上看,如果一种算法只能用来处理稀疏信号,它受到的限制会比快速傅里叶变换多得多。但正如该算法的共同发明者、电子工程和计算机科学教授卡塔比所指出的那样,“稀疏性无处不在”,“它存在于大自然中,存在于视频信号中,存在于音频信号中。”
限制150内