DSP实验12.doc_第1页
DSP实验12.doc_第2页
DSP实验12.doc_第3页
DSP实验12.doc_第4页
DSP实验12.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字信号处理实验报告实验1 正弦信号发生器实验2 AM系统学院:学院班级:学号:姓名: 2012.6.2实验一 正弦信号发生器一、实验仪器:PC机一台,JQ-SOPC-2C35实验箱一台及辅助软件(DSP Builder、Matlab/Simulink、Quartus II、Modelsim)。二、实验目的:1.初步了解JQ-NIOS-2C35实验箱的基本结构;2。学习和熟悉基于DSP Builder开发数字信号处理实验的流程。三、实验原理:正弦波是一种基本信号,任何复杂信号都可由许多频率、幅度各不相同的正弦波复合而成。已知正弦波存在如下的关系: 由以上公式可知,正弦波存在周期性,本实验就是根据正弦波的这一特性进行正弦波发生。在Altera DSP Builder库中,有一名为Increment Decrement的模块,根据参数设置的不同,Increment Decrement会不断从0计数到设定值,然后清0,接着又从0开始计数。图3-1显示的是Increment Decrement的参数设置界面,以图中参数为例,number of bits设置为6,即从0开始计数到26,然后清0,接着又从0开始计数。在LUT(Look Up Table)查找表模块中事先存入一个周期的正弦波的抽样值,利用Increment Decrement模块不断计数,根据计数值找到查找表的地址取出里面的值进行输出,因为Increment Decrement模块的输出具有周期性,则从LUT的输出也具有了周期性,这样,就产生了正弦波。四、实验步骤: 本实验的操作步骤如下:1点击桌面上的Matlab图标,进入Matlab主界面,并将工作目录设为Matlab安装目录下的work文件夹,如图1所示:2点击菜单栏中的File-New-Model,新建一个模型,在Matlab命令窗口中输入simulink命令,调出simulink工具栏,如图2所示: 3双击simulink工具栏中的Altera DSP Builder中的Arithmetic库,找到Increment Decrement模块,选中它并按住鼠标左键将其拖到新建的模型文件中。 4双击模型文件中的Increment Decrement模块,打开模块参数对话框,将Bus Type设为Signed Integer,number of bits设为6,保持其他参数不变,点击【OK】按钮确认。点击模块下面的文本,将其重命名为IncCount。 5双击simulink工具栏中的Altera DSP Builder中的Storage库,找到LUT模块,选中它并按住鼠标左键将其拖到新建的模型文件中。双击模型文件中的LUT模块,打开模块参数对话框,将Data Type设为Signed Integer,Address Width设为6,number of bits设为8,MATLAB Array设为127*sin( 0:2*pi/(26):2*pi )。保持其他参数不变,点击【OK】按钮确认。点击模块下面的文本,将其重命名为SinLut。 6双击simulink工具栏中的Altera DSP Builder中的Storage库,找到Delay模块,选中它并按住鼠标左键将其拖到新建的模型文件中。 7双击simulink工具栏中的Altera DSP Builder中的Arithmetic库,找到其中的Product模块,选中它并按住鼠标左键将其拖到新建的模型文件中,双击该模块,打开模块参数对话框,在Optional ports and settings中的Use LPM选项前打勾。保持其他参数不变,点击【OK】按钮确认。 8双击simulink工具栏中的Altera DSP Builder中的IO&Bus库,找到其中的Input和Output模块,选中它们并按住鼠标左键将其拖到新建的模型文件中,双击Input模块,打开模块参数设置界面,将Bus Type设为Single Bit,保持其他参数不变,点击【OK】按钮确认。双击Output模块,打开模块参数设置界面,Bus Type设为Signed Integer,number of bits设为8,保持其他参数不变,点击【OK】按钮确认。 9双击simulink工具栏中的Simulink中的Sinks库,找到Scope模块,选中它并按住鼠标左键将其拖到新建的模型文件中,双击Scope模块,打开模块参数设置界面,点击菜单栏中的Parameters,将number of axes 设为2。点击【OK】确认,关闭模块参数设置界面。 10双击simulink工具栏中的Simulink中的Source库,找到Step模块,选中它并按住鼠标左键将其拖到新建的模型文件中,双击Step模块,打开模块参数界面,将Step time 设为50,Initial value设为50,Final time 设为1,Sample time 设为1。保持其他参数不变,点击【OK】确认。 11连接模块,连接后的模型如图4所示:图4 正弦发生器模型 12双击simulink工具栏中的Altera DSP Builder中的AltLab库,找到其中的Signal Compiler和TestBenchOn模块,选中它们并按住鼠标左键将其拖到新建的模型文件中,执行File-Save 保存文件,将其命名为sinwave.mdl。 13执行Simulation-Configuration Parameters,将solver设为discrete,Type设为Fixed-step,Stop Time设为500。 14点击菜单栏中的黑色小三角,启动simulation,simulation结束后,双击Scope模块,打开波形观察界面,在波形上点击鼠标右键,选择Autoscale,即可观察simulation后的正弦波形。 15点击TestBenchOn模块,打开模块参数界面,在Advanced选项卡中,点选Lauch GUI,并依次点击Generate HDL,Run Simulink和Run Modelsim,启动RTL级仿真。 16随后显示的界面即为Modelsim RTL级仿真的波形图。选中tb_sinwave/dut/output信号,点击鼠标右键,选中Propertyties选项,选择Format为analog,将Height设为100,Scale设为0.4,点击【OK】确认。 17在信号上点击鼠标右键,选择Zoom Full,即可看到RTL级仿真波形。 18点击Signal Compiler模块,打开参数设置页面,器件系列选择cylone II,点击compile,结束后,关闭该页面。 19点击桌面上的 Quartus 图标,执行File-New Project Wizard,创建新的工程,将工程路径设置成模型文件所在路径,对project命名为sinwave。 20点击next,添加文件,将.tcl和.vhd文件添加进工程中,点击next,在器件family中选择Cyclone ,选择下拉菜单中的EP2C35F672C6.,点击finish。 21点击菜单栏中的紫色小三角,对创建的文件进行编译。 22编译成功后执行File-New-Vector Waveform File,点击【OK】确认。 23执行Edit-Insert-Time Node or Bus,在弹出的对话框中选择Node Finder,再点击List,从左边弹出的管脚名中选择Clock,aclr,Input和Output添加到右边,点击【OK】确认。 24选中aclr信号,选择左边工具栏的图标,选中Input信号,同样设为。通过执行菜单栏Edit-End Time设置仿真结束时间为1毫秒。选中Clock信号,点击,将周期设为20,单位纳秒,仿真结束时间为1毫秒,点击【OK】确认。保存该文件,将其命名为sinwave。 25执行Assignmets-Settings,选择Simulator Settings,Simulation mode选为Functional,在右边的对话框中将保存的波形文件添加到Simulation Input中,点击【OK】确认。执行菜单栏的Processing-Generate Functional Simulation Netlists进行功能仿真。 26执行菜单栏Assignmets-Settings,选择Simulator Settings,Simulation mode选为Timing,在右边的对话框中将保存的波形文件添加到Simulation Input中,点击【OK】确认。点击菜单工具栏中的图标,对工程进行时序仿真。仿真完成后,选中Output信号,单击鼠标右键,选择Display Format中的Analog Waveform,若弹出对话框询问是否覆盖原文件,选择Yes。再次选中Output信号,单击鼠标右键,选择Display Format中的Analog Waveform,将Display Style设为Step,Display Height设为4,点击【OK】确认。即可观察到时序仿真波形。 27执行Assignmets-Assignment Editor,将Category设为Pin,并按照下图对Pin进行设置:图5 管脚设置按照实验箱中的用户指南28页中的图4-5所示将aclr、Input分配给开关PIN_AE14,PIN_AF14,按照37页图4-8将Clock分配为PIN_N2管脚,按照52页图4-10将Output总管脚及其如Output0Output7的分管脚进行分配,并保存。 28执行Tools-SignalTap Logic Analyzer,在Data窗口中的空白处双击,在弹出的对话框中将Fiter设为all®isters:post fittings,点击List,将Output添加至右边的窗口中,点击【OK】确认。29在右边的对话框中将Clock设为Clock信号,Sample depth设为1K,点选Trigger in,Source设为Clock信号,Pattern设为Rising edge。保存,若弹出对话框询问是否将文件添加至工程,选择Yes。点击菜单栏中的,重新对工程进行编译。30打开实验箱,接入电源,用USB Blaster线将电脑和实验箱连接起来,选择菜单栏中的图标。31点击Hardware Setup,选择USB-0,点击【OK】确认。选中sinwave.sof文件,点击Start,将文件下载到实验板上。在Signaltap II界面点击Hardware右边的Setup,将其设为USB-BlasterUSB-0。 32将实验箱上的开关SW3和SW4拨至高电平,点击工具栏的图标,启动数据采集,一段时间后点击图标停止数据采集,点击SignalTap中的data窗口,即可看到硬件实现的波形。五、实验结果:matlab Scope 波形:Modelsim RTL级仿真的波形:Quartus功能仿真时序仿真波形。硬件实现的波形实验二 AM系统一、实验仪器:PC机一台,JQ-NIOS-2C35实验箱一台及辅助软件(DSP Builder、Matlab/Simulink、Quartus II、Modelsim)二、实验目的:1、初步了解JQ-NIOS-2C35实验箱的基本结构。2、学习和熟悉基于DSP Builder开发数字信号处理实验的流程。3、理解AM系统设计的原理和方法。3、 实验原理: 在常规双边带调幅中,输出已调制的信号的包络与输入调制信号成正比,其时间波形可表达为: (4-11)式中,为外加的直流分量。为调制信号,它可以是确知信号,也可以是随机信号,但通常认为平均值为0。为载波信号的频率。为载波信号的起始相位。对于幅度调制信号,在波形上,它的幅度随基带信号规律而变化。 由于频谱的搬移是线性的,因此幅度调制通常又称为线性调制。四、实验步骤: 本实验的操作步骤如下:1、 点击桌面上的Matlab图标,进入Matlab主界面,并将工作目录设为Matlab安装目录下的work文件夹。2、点击菜单栏中的File-New-Model,新建一个模型,在Matlab命令窗口中输入simulink命令,调出simulink工具栏,并执行File-Save 保存文件,将其命名为AM。 3、在Altera DSP Builder Blockset中的IO&Bus下选择Altbus模块将其添加到文件中。打开模块参数对话框,将Bus Type设置为Signed Integer,number of Bits设置为16,然后单击【OK】按钮确认。4、在Altera DSP Builder Blockset中的Arithmetic下选择Pipelined Adder模块将其添加到文件中。设置Bus Type为Signed Integer;number of bits.为16;Number of Pipeline Stages为2。单击【OK】确认。点击模块下文本,将其重命名为“Pipelined Adder3”。5、在Altera DSP Builder Blockset中的Storage下选择Delay模块将其添加到文件中。6、在Altera DSP Builder Blockset中的IO&Bus下选择Bus conversion模块将其添加到文件中。打开模块对话框,将Bus Type设置为Signed Integer,Input设置为16,output设置为8,Input Bit Connected to Output LSB设置为8,然后点击【OK】确认。7、在Altera DSP Builder Blockset中的Storage下选择LUT模块将其添加到文件中。将Data Type设置为Signed Integer;number of bits设置为8;LUT Address Width设置为8;MATLAB Array查找表中存储数据的内容,设置为127*sin(0:2*pi/(28):2*pi),然后点击【OK】确认。8、在Altera DSP Builder Blockset中的IO&Bus下选择Constant模块将其添加到文件中。打开模块参数对话框,设置Constant Value为100;将Bus Type设置为Signed Integer;number of bits设置为8;其它参数设置保持不变,然后点击【OK】确认。9、按照图2-1连接模块。10、将图2-1的所有模块选中,单击鼠标右键,点击Creat Subsystem,点击子系统下文本,将其重命名为“DDS”。11、重复步骤3-10,将AltBus的number of Bits设置为32;Constant模块的Constant Value为88234567,number of Bits设为32;Bus conversion的Input设置为32,output设置为10,Input Bit Connected to Output LSB设置为22;LUT模块的Data Type设置为Signed Integer;number of bits设置为10;LUT Address Width设置为10;MATLAB Array查找表中存储数据的内容,设置为511*sin(0:2*pi/(210):2*pi),同样创建为子系统,然后点击子系统的文本,将其命名为“DDS1”12(为后面准备)、在Altera DSP Builder Blockset中的IO&Bus下选择Input添加到模型文件中。设置Bus Type为Unsigned Integer;设置number of bits.为3;勾选Specify Clock,并在Clock下写入Clock;然后点击【OK】确认。13(为后面准备)、在Altera DSP Builder Blockset中的IO&Bus下选择Output添加到模型文件中。设置Bus Type为Signed Integer;设置number of bits.为10;其它参数设置不变;然后点击【OK】确认。14、在Altera DSP Builder Blockset中的Gate&Control下选择Multiplexer添加到模型文件中。将其Number of Input Data Lines设置为8,然后点击【OK】确认。如图2-2所示连接,并建立子系统。图2-2 Mux子系统连接图Constant5的设置如图2-3所示。图2-3 Constant5参数对话框Constant6Constant12的Constant Value分别为:0.79688,0.69922,0.59766,0.5,0.39844,0.19824,0.097656。其它设置如图2-3保持不变。15、 在Altera DSP Builder Blockset中的Arithmetic下选择两个Product模块添加到模型文件中分别命名为Product和Product1,bus type 设为Inferred。16、 在Altera DSP Builder Blockset中的IO&Bus下选择两个Constant模块将其添加到文件中分别命名为Constant1和Constant2。打开模块参数对话框,设置Constant1 Value为1;将Bus Type设置为Signed Integer;number of bits设置为8;其它参数设置保持不变,然后点击【OK】确认,Constant2Value为1;将Bus Type设置为Signed Integer;number of bits设置为10;其它参数设置保持不变,然后点击【OK】确认。17、在Altera DSP Builder Blockset中的Arithmetic下选择两个Pipelined Adder模块将其添加到文件中分别命名为Pipelined Adder和Pipelined Adder1。对Pipelined Adder设置Bus Type为Signed Integer;number of bits.为8;Number of Pipeline Stages为2。单击【OK】确认。对Pipelined Adder1设置Bus Type为Signed Integer;number of bits.为10;Number of Pipeline Stages为2。单击【OK】确认。18、在Altera DSP Builder Blockset中的IO&Bus下选择Bus conversion模块将其添加到文件中。打开模块对话框,将Bus Type设置为Signed Integer,Input设置为18,output设置为10,Input Bit Connected to Output LSB设置为8,然后点下面的文本,将其命名为“Bus conversion1”,然后点击【OK】确认。19、在Altera DSP Builder Blockset中的Rate Change下选择Clock模块将其添加到文件中。将Simulink Sample Time设置为2e-8,其它参数保持不变,然后点击【OK】确认。20、在Altera DSP Builder Blockset中的AltLab下选择Signal Compiler模块和TestBench模块将其添加到文件中。21、在Simulink中的Sinks下选择Scope模块添加到文件中。22、在Simulink中的Sources下选择Constant模块添加到文件中。23、按照图2-4连接AM系统。 24、执行Simulation-Configuration Parameters,将solver设为discrete,Type设为Fixed-step,Tasking mode for periodic sample times设为:Single Tasking,Stop Time设为1e-4。Fixed-steptime设为auto。 25、点击菜单栏中的黑色小三角,启动simulation,simulation结束后,双击Scope模块,打开波形观察界面,在波形上点击鼠标右键,选择Autoscale,即可观察simulation后的幅度调制的仿真波形。 26、点击Signal Compiler模块,打开参数设置页面,将器件family设置成Cylone II,点击compile,结束后,关闭该页面。 27、点击TestBenchOn模块,打开模块参数界面,在Advanced选项卡中,点选Lauch GUI,并依次点击Generate HDL,Run Simulink和Run Modelsim,启动RTL级仿真。 28、随后显示的界面即为Modelsim RTL级仿真的波形图。点击wave-default中的unlock 按钮选中tb_am/dut/output信号,点击鼠标右键,选中Propertyties选项,选择Format的Analog,将Height设为100,Scale设为0.2,点击【OK】确认。 29、在信号上点击鼠标右键,选择Zoom Full,即可看到RTL级仿真波形。30、点击桌面上的 Quartus 图标,执行File-New Project Wizard,创建新的工程,将工程路径设置成模型文件所在路径,对project命名为AM。31、点击next,将.tcl和.vhd文件添加至工程中,点击next,在器件family中选择Cyclone ,选择下拉菜单中的EP2C35F672C6.,点击Finish。32、点击菜单栏中的紫色小三角,对创建的文件进行编译。33、编译成功后执行File-New-Vector Waveform File,点击【OK】确认。34、执行Edit-Insert-Time Node or Bus,在弹出的对话框中选择Node Finder,再点击List,从左边弹出的管脚名中选择Clock,aclr,Input和Output添加到右边,点击【OK】确认。35、选中aclr信号,选择左边工具栏的图标;选中Clock信号,点击,将周期设置为20ns,然后对弹出的对话框点击【OK】确认;同时在EditEnd Time设置为100us,点击【OK】确认;右键选中信号Input,选择property-radix为unsigned decimal;右键选中信号Input,选择value-count value,start value 设为0,increcment by设为1,设置Timing选项点选at absolute times,count every 设为10us;最后保存该文件,将其命名为AM。36、执行Assignmets-Settings,选择Simulator Settings,在右边的对话框中将保存的波形文件添加到Simulation Input中,点击【OK】确认。37、点击菜单工具栏中的图标,对工程进行时序仿真。仿真完成后,选中Output信号,单击鼠标右键,选择Display Format中的Analog Waveform,若弹出对话框询问是否覆盖原文件,选择Yes。再次选中Output信号,单击鼠标右键,选择Display Format中的Analog Waveform,将Display Style设为Step,Display Height设为10,点击【OK】确认。再次单击鼠标右键在ZoomFit in Window,即可观察到时序仿真波形。38、执行AssignmetsPin Planner,用Zoom Tool放大引脚分配图,可以选择需要分配的引脚,拖拽到对应引脚分配图上。按照表2-1对引脚进行设置,并保存。 39、执行Assignmets-Assignment Editor,在To栏中双击空白格,在下拉菜单中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论