dsp实验报告5.docx

上传人:b****6 文档编号:3186033 上传时间:2022-11-19 格式:DOCX 页数:20 大小:1.64MB
下载 相关 举报
dsp实验报告5.docx_第1页
第1页 / 共20页
dsp实验报告5.docx_第2页
第2页 / 共20页
dsp实验报告5.docx_第3页
第3页 / 共20页
dsp实验报告5.docx_第4页
第4页 / 共20页
dsp实验报告5.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

dsp实验报告5.docx

《dsp实验报告5.docx》由会员分享,可在线阅读,更多相关《dsp实验报告5.docx(20页珍藏版)》请在冰豆网上搜索。

dsp实验报告5.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1