dsp实验报告5.docx
- 文档编号:3186033
- 上传时间:2022-11-19
- 格式:DOCX
- 页数:20
- 大小:1.64MB
dsp实验报告5.docx
《dsp实验报告5.docx》由会员分享,可在线阅读,更多相关《dsp实验报告5.docx(20页珍藏版)》请在冰豆网上搜索。
dsp实验报告5
数字信号处理实验报告
姓名:
实验五快速傅里叶变换
一、实验仪器:
PC机一台、JQ-SOPC开发系统实验箱及辅助软件(DSPBuilder、Matlab/Simulink、QuartusII、Modelsim)
二、实验目的:
(1)了解快速傅里叶变换的基本结构组成。
(2)学习使用DSPBuilder设计FFT。
三、实验原理:
(1)FFT的原理:
快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的一种高效运算方法,它大大简化了DFT的运算过程,使运算时间缩短几个数量级。
FFT算法可以分为按时间抽取(DIT)和按频率抽取(DIF)两类,输入也可分为实数和复数两种情况。
八点时间抽取基-2FFT算法信号流图如图1示:
图18点基-2DIT-FFT信号流图
(2)DSPBuilder设计流程
图2显示了利用DSPBuilder设计FFT的流程。
图2DSPBuilder设计流程
下面部分将以N=8点实数输入基-2DIT-FFT为例介绍用DSPBuilder实现FFT的详细过程。
四、实验步骤:
(1)在Matlab/Simulink环境下调用AlteraDSPBuilderBlockset和Simulink库内的基本模块(block)搭建FFT模型如图3所示,假设模型名为my_fft_8。
图3FFT模型图
FFT可分为输入、蝶形运算、输出三个功能模块,分别对应图三中的subsystem、subsystem1、subsystem2。
每个功能模块的详图分别如图4、图5和图6所示。
图4输入模块详图
LUT0~LUT7存储的输入数据分别为
{2.0,1.1,5.6,10.2,4.0}{2.0,5.0,5.0,15.3,10.5}{4.0,10.5,15.8,18.1,15.6}{7,15.3,20.4,20.3,20.3}{3,20.2,25.2,24.2,25.2}{5,25.7,35.1,30.0,35.7}{5,30.6,40.2,35.2,40.5}{8,40.1,45.0,42.3,45.0}
(2)在Matlab/Simulink环境下对my_fft_8.mdl文件进行仿真参数设置,点击菜单栏的simulation选项,选择下拉菜单中的configurationparameters项,在弹出的对话框里的simulationtime一栏下设置仿真开始时间和结束时间,这里可分别设为0、100.0。
在solveroption一栏下type和solver项分别设为variable-step和discrete.其他选项默认即可。
图5蝶形运算模块详图
(3)点击菜单栏中simulation选项下的start或工具栏黑色斜三角按钮即可开始系统级simulink仿真,以验证该模型的正确性。
在仿真进行过程中分别将三个输入控制开关打到000、001、010、011、100以选择五组输入数据进行FFT运算。
当开关打到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。
当开关打到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.25i、-23.7、-22.1-12.15i、-19.8-24.7i、-16.9-52.45i。
当开关打到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。
当开关打到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.3i、-19.19+8.992i、-20.2、-19.25-8.906i、-18.9-17.3i、-8.812-43.2i。
当开关打到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。
图6输出模块详图
(4)双击模型图中的Testbench模块弹出类似如图7所示对话框。
依次单击GenerateHDL、RunSimulink、RunModelsim三个选项。
其中RunModelsim选项后的LaunchGUI前的选项框一定要选,这样可以观看modelsimRTL级仿真结果。
(5)双击模型图中的SignalComplier模块弹出类似如图8所示对话框。
在parameters栏下的family选项选择cycloneII,device选项选择默认的auto,然后点击simple下的complie,编译完后再对advanced栏的Createproject、synthesis、Fitter进行操作即可生成my_fft_8.qpf工程文件。
图7Testbench对话框
图8SignalComplier对话框
图9指定项目路径、创建项目目录
(6)双击桌面上的QuartusII图标,进入quartus环境。
打开“File”菜单,选择“NewProjectWizard...”,弹出如图9所示的对话框。
在对话框第一栏内键入盘符、子目录和项目目录。
这里可设为D:
\altera\72\quartus\myprj.在对话框第二栏内键入项目名称,第三栏内会自动出现与项目名同名的顶层设计文件名。
这里可设为my_fft_8.点击“next>”,如果项目目录不存在,则弹出提示框,提醒是否要创建这个目录。
点击“是”按钮,QuartusII会自动创建新目录,并弹出图10所示的添加文件选项框。
如果需要导入其他路径下已存在的源文件或用户库,可点击“Filename”栏旁的浏览按钮进行查找选择。
图10添加设计文件、用户库
这里在“Filename”栏添加(4)(5)步骤生成的工程文件、my_fft_8_add.tcl和my_fft_8_example.vhdl文件。
(7)点击“next>”,弹出如图11所示的选项框,其右方适配参数“Filters”下3个约束选项框均可选默认项“Any”。
在Family栏选择cycloneii,Availabledevice选择EP2C35F672C6.
(8)点击“next>”,出现第三方EDA工具的选项框。
这里选择默认项直接点击“Finish”,项目创建完成。
(9)单击菜单栏下的Assignments选项下的settings出现对话框,在下面的General选项里设置顶层实体为my_fft_8。
(10)单击
所示的第一个斜三角按钮进行全编译,编译完会弹出报告如图12所示。
如没有出现错误,则可进行下一步。
图11选择目标器件和型号
图12全编译报告
(11)单击
中第一个新建按钮,在弹出的对话框里选择otherfiles类型,创建一个vectorwaveformfile的文件,并将其保存在D:
\altera\72\quartus\myprj中。
(12)打开上一步中创建的vectorwaveformfile文件,左方为节点列表区,右方为波形显示区,如图13所示。
图13QuartusII波形文件编辑
(13)在打开的vectorwaveformfile文件窗口中添加要观察的输入节点clock、aclr、input2、input1、input0和输出XR0~XI7。
在下拉主菜单编辑选项“Edit”,选择“InsertNodeorBus...”项,弹出如图14所示的对话框。
在此对话框中点击右方的“NodeFinder…”按钮,出现如图15所示的节点查找窗口。
图14InsertNodeorBus对话框
图15节点列表
(14)在NodeFinder窗口中,首先在上方的“Lookin”栏中确定设计源文件名my_fft_8,然后下拉过滤栏选择节点属性这里选择“pins:
all”。
选择搜索条件后点击按钮“List”。
项目节点列表如图15示。
(15)点击节点查找窗口中的≥按钮,所选节点即显示在右边所选节点栏内。
(16)在启动仿真之前,必须设置矢量波形文件中的输入节点的状态。
利用仿真平台的快捷工具对输入信号进行编辑,编辑后的矢量波形文件如图16所示。
(17)在主菜单Assignments下拉菜单中选择Settings选项下的simulatorsettings。
在如图17的仿真工具窗口中下拉simulationmode栏选择“Function”。
点击主菜单Processing下拉菜单中的Generatefunctionalsimulationnetlist,根据项目顶层设计文件产生功能仿真的电路网表以及编译报告文件“compilationreport”,完成后弹出仿真成功提示框,点击“确定”按钮退回仿真工具窗。
图16矢量波形文件编辑图
(18)点击
中最后一个按钮进行时序仿真。
仿真结果如图18所示。
(19)在设计源文件执行主菜单“Assignments”﹥Back-AnnoteAssignments…”命令,弹出如图19的分配注释信息返回选项框。
在选项框中间
“AssignmentstoBack-Annote”栏中选择第二项,点击“ok”按钮,端口分配信息被返回到项目文件my_fft_8.qsf,设计源文件中个端口立即显示被自动分配的端口编号。
(20)在主菜单Assignments下拉菜单中选择AssignmentEditor,在弹出的如图20的对话框内添加XR0~XI716个输出端口,并修改输入节点和此16个输出接点的管脚分配信息。
Clock对应PIN_D13,aclr对应PIN_AE14,input2~input0分别对应PIN_N25、PIN_N26、PIN_P25,16个输出接点分别对应扩展接口的GPIO_0[0]-GPIO_0[15]即PIN_D25~PIN_G25。
保存该分配信息。
图17仿真设置窗口
图18时序仿真结果图
图19返回分配信息选项框
图20AssignmentEditor对话框
(21)在QuartusII环境下建立一个新文件,文件类型为oterfiles中的SignaltapIIfile,弹出如图21所示的菜单。
实例默认名为“auto_signaltap_0”
图21SignaltapII的实例重命名和JTAG链配置
连接JQ-SOPC开发板,假设驱动已安装,打开电源,若菜单中JTAGChainConfiguration栏中出现“Nodeviceisselected”,下拉其下方的Hardware栏,选择开发板所用的JTAG接口模式,如图21右方所示。
然后点击Device右方的“ScanChain,SignatapII”,Quaetus会自动扫描开发装置识别FPGA器件,在JTAGCha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 实验 报告