实验一DDS系统实验报告Word文档格式.docx

上传人:b****2 文档编号:893565 上传时间:2023-04-29 格式:DOCX 页数:14 大小:249.57KB
下载 相关 举报
实验一DDS系统实验报告Word文档格式.docx_第1页
第1页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第2页
第2页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第3页
第3页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第4页
第4页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第5页
第5页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第6页
第6页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第7页
第7页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第8页
第8页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第9页
第9页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第10页
第10页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第11页
第11页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第12页
第12页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第13页
第13页 / 共14页
实验一DDS系统实验报告Word文档格式.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验一DDS系统实验报告Word文档格式.docx

《实验一DDS系统实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验一DDS系统实验报告Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。

实验一DDS系统实验报告Word文档格式.docx

来表示为:

(1-4)

为整数。

与(1-3)式联立,可得:

(1-5)

显然,信号发生器的输出可描述为:

(1-6)

其中,指前一个周期的相位值clk,同样可以得出:

(1-7)

由上面的推导可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于累加的相位增量量化值

决定了信号的输出频率

,并呈现简单的线性关系。

直接数字合成器DDS就是根据上述原理而设计的数字控制频率合成器。

图4-1所示是一个基本的DDS结构,主要由相位累加器、相位调制器、正弦ROM查找表和D/A构成。

途中的相位累加器、相位调制器、正弦ROM查找表是DDS结构中的数字部分,由于具有数控频率合成的功能,又合成为NCO(NumericallyControlledOscillators)。

图4-1基本DDS结构

相位累加器是整个DDS的核心,在这里完成上文原理推导中的相位累计功能。

相位累加器的输入是相位增量

,又由于

与输出频率

是简单的线性关系:

,故相位累加器的输入又可称为频率字输入,事实上,当系统基准时钟

时,

就等于

频率输入在图4-1中经过了一组同步寄存器,使得当频率字改变时不会干扰相位累加器的正常工作。

相位调制器接受相位累加器的相位输出,在这里加上一个相位偏移值,主要用于信号的相位调制,如PSK(相移键控)等。

在不使用时可以去掉该部分,或者加一个固定的相位字输入。

相位字输入也需要用同步寄存器保持同步。

需要注意的是,相位字输入的数据宽度M与频率字输入N往往是不相等的,M<

N。

四、实验步骤:

本实验的操作步骤如下:

1.点击桌面上的Matlab图标,进入Matlab主界面,并将工作目录设为Matlab安装目录下的work文件夹,如图1-1所示:

图1-1Matlab启动界面

2.点击菜单栏中的File->

New->

Model,新建一个模型,在Matlab命令窗口中输入simulink命令,调出simulink工具栏,如图1-2所示:

图1-2新建模型

3、执行File->

Save保存文件,将其命名为DDS。

4、在AlteraDSPBuilderBlockset中的IO&

Bus下选择Input模块将其拖至模型文件中或者右击Input模块选择AddtoDDS,并按如图1-3所示,设置参数。

单击模块下面的文本,将其重命名为“PhaseWords”

图1-3Input模块设置

5、重复步骤4,参数设置同样如图3所示。

单击模块下面的文本,将其重命名为“FreqWords”。

6、在AlteraDSPBuilderBlockset中的IO&

Bus下选择Output模块将其拖至模型文件中或者右击该模块并选择AddtoDDS。

设置BusType为SignedInteger,设置[numberofbits].[]为10,其它参数设置保持不变。

7、在AlteraDSPBuilderBlockset中的Arithmetic下选择ParallelAdderSubtractor模块,添加到DDS文件中。

双击模型文件中的ParallelAdderSubtractor模块,打开模块参数对话框。

在Parameters区域中将NumberofInputs改为2,保持其他的参数不变,点击【OK】按钮确认。

单击模块下面的文本,将其重命名为“FreqAdder24bit”。

8、重复步骤7,在模型中添加一个并行加法器,但总线宽度改为10bit,将其重命名为“PhaseAdder10bit”,作为相位累加器。

9、在AlteraDSPBuilderBlockset中的IO&

Bus下选择Altbus模块将其添加到文件中。

打开模块参数对话框,将BusType设置为SignedInteger,numberofBits设置为24,然后单击【OK】按钮确认。

点击模块下文本,将其重命名为“AltBus24bit”。

10、重复步骤9,在模型中再添加一个AltBus模块,但总线宽度改为10bit,将其重命名为“AltBus10bit”作为相查找表前的总线节点。

11、在AlteraDSPBuilderBlockset中的IO&

Bus下选择Busconversion模块将其添加到文件中。

打开模块对话框,将BusType设置为SignedInteger,Input设置为24,output设置为10,InputBitConnectedtoOutputLSB设置为14,然后点击【OK】确认。

单击文本,将其重命名为“HignBittoLUT”。

12、在AlteraDSPBuilderBlockset中的RateChange下选择PLL模块将其添加到文件中。

如图1-4所示设置参数。

图1-4PLL模块参数设置对话框

13、在AlteraDSPBuilderBlockset中的RateChange下选择Clock模块将其添加到文件中。

将SimulinkSampleTime设置为2e-8,其它参数保持不变,然后点击【OK】确认

14、在AlteraDSPBuilderBlockset中的Storage下选择LUT模块将其添加到文件中。

将DataType设置为SignedInteger;

numberofbits设置为10;

LUTAddressWidth设置为10;

MATLABArray查找表中存储数据的内容,设置为511*sin([0:

2*pi/(2^10):

2*pi]),即1024点1024级量化的正弦波形,然后点击【OK】确认。

15、重新添加一个LUT模块:

LUT1。

该模块的AddressWidth设置为1;

numberofbits设置为20,MATLABArray设置为[2^142^16],然后点击【OK】确认。

16、重新添加一个LUT模块:

LUT2。

该模块中AddressWidth设置为1;

numberofbits设置为10,MATLABArray设置为[0500],然后点击【OK】确认。

17、在AlteraDSPBuilderBlockset中的AltLab下选择SignalCompiler模块和TestBench模块将其添加到文件中。

18、在Simulink中的Sinks下选择Scope模块添加到文件中。

19、在Simulink中的Sources下选择Constant模块添加到文件中,Constantvalue设置为0。

重复该步骤再添加Constant1到模型中,Constantvalue设置为0。

位置

名称

参数设置

重命名

AlteraDSPBuilderBlockset->

IO&

Bus

Input

BusType:

SignedInteger

numberofbits:

1

勾选SpecifyClock

Clock:

PLL_clk0

PhaseWords

FreqWords

 

Output

10

Arithmetic

ParallelAdderSubtractor

Parameters->

NumberofInputs:

2

FreqAdder24bit

Altbus

24

AltBus24bit

AltBus10bit

Busconversion

Input:

output:

10

InputBitConnectedtoOutputLSB:

14

HighBittoLUT

RateChange

PLL

Inputclock:

clock

Outputclocknum:

Periodmultiplier:

3

Perioddivider:

Clock

SimulinkSampleTime:

2e-8

Storage

LUT

DataType:

SignedInteger;

10;

LUTAddressWidth:

MATLABArray:

511*sin([0:

2*pi])

20;

1;

[2^142^16]

LUT1

[0500]

LUT2

AltLab

SignalCompiler

Sinks

Scope

Sources

Constant

Constantvalue:

20、依照图1-5所示连接各个模块。

图1-5DDS模块系统图

21、执行Simulation->

ConfigurationParameters,将solver设为discrete,Type设为Fixed-step,Taskingmodeforperiodicsampletimes设为:

SingleTasking,StopTime设为3e-5。

22、点击菜单栏中的黑色小三角,启动simulation,simulation结束后,双击Scope模块,打开波形观察界面,在波形上点击鼠标右键,选择Autoscale,即可观察simulation后的正弦波形。

改变Constant的值可以看到不同相位和频率的波形产生。

23、点击SignalCompiler模块,打开参数设置页面,将devicefamily设置成CycloneII,点击compile,结束后,关闭该页面。

24、点击TestBenchOn模块,打开模块参数界面,在Advanced选项卡中,点选LauchGUI,并依次点击GenerateHDL,RunSimulink和RunModelsim,启动RTL级仿真。

25、随后显示的界面即为ModelsimRTL级仿真的波形图。

点击wave-default中的unlock

按钮选中tb_dds/dut/output信号,点击鼠标右键,选中Propertyties选项,选择Format的Analog,将Height设为100,Scale设为0.1,点击【OK】确认。

26、在信号上点击鼠标右键,选择ZoomFull,即可看到RTL级仿真波形。

关闭MATLAB.在位置D:

\ProgramFiles\MATLABB71\work\am_dspbuilder,打开文件am.qpf。

27、工具栏中点击Assignmets,选中Device,在器件family中选择CyloneII,选择下拉菜单中的EP2C35F672C6,点击finish。

执行Assignmets->

AssignmentEditor,将Category设为Pin,并按照下图对Pin进行设置并保存。

表1-1引脚分配

NodeName

Location

PIN_P25

Output[3]

PIN_K23

PIN_N26

Output[4]

PIN_H26

aclr

PIN_N25

Output[5]

PIN_H25

PIN_N2

Output[6]

PIN_H24

Output[0]

PIN_K26

Output[7]

PIN_H23

Output[1]

PIN_K25

Output[8]

PIN_J24

Output[2]

PIN_K24

Output[9]

PIN_J23

28、执行Tools->

SignalTapⅡLogicAnalyzer,在Data窗口中的空白处双击,在弹出的对话框中将Fiter设为all&

registers:

postfittings,点击List,将PhaseWords、FreqWords、aclr、Clock、Output添加至右边的窗口中,点击【OK】确认。

29、在右边的对话框中将Clock设为Clock信号;

点选Triggerin,Source设为Clock信号,Pattern设为Risingedge;

Sampledepth设置为1K。

保存该文件,若弹出对话框询问是否将文件添加至工程,选择Yes。

点击菜单栏中的

,重新对工程进行编程。

30、打开实验箱,接入电源,用USBBlaster线将电脑和实验箱连接起来,选择菜单栏中的

图标,

31.点击HardwareSetup,选择USB-0,点击【OK】确认。

选中DDS.sof文件,点击Start,将文件下载到实验板上。

在SignalTapⅡLogicAnalyzer文件(.stp)中的右上角的Hardware的Setup下添加USB-Blaster[USB-0]。

32、将实验箱上的开关SW[0]拨至高电平,SW[1]、SW[2]分别拨至低电平和高电平。

点击

开始运行工程,点击

结束运行。

SignalTap中的data窗口,即可看到硬件实现的波形。

五、实验结果

Simulink仿真波形与RTL级仿真波形以及时序仿真波形和硬件实现结果都应是标准的正弦波形。

Simulink仿真波形:

RTL级仿真波形:

硬件实现结果:

6、实验结果讨论与分析

通过本次实验,我们初步了解了基于DSP 

Builder开发数字信号处理实验的流程;

初步了解了数字信号处理与数字电路的结合;

初步学会运用相关模块。

虽然利用如此繁杂的过程得到一个简单的结论有事倍功半之疑,但这是数字信号处理实验的基础,我们通过DSP 

Builder了解数字信号处理的基石。

实验过程中,有成功,也有失败。

成功让我们欢喜,给予我们探索的勇气;

失败也不会让我们气馁,激发我们探知的欲望。

此次实验的结果,让我们看到了从理论到仿真再到硬件实现结果的一致性。

也说明了实验的正确性。

总的来说,整个实验还是颇具价值的。

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2