实验二AM系统实验报告.docx
- 文档编号:5437804
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:14
- 大小:199.10KB
实验二AM系统实验报告.docx
《实验二AM系统实验报告.docx》由会员分享,可在线阅读,更多相关《实验二AM系统实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
实验二AM系统实验报告
物理与电子学院
课程:
数字信号处理
题目:
AM系统
指导教师:
盛利元
学生姓名:
黄辉
专业班级:
电信1201班
学生学号:
1404120208
2015年1月3日
实验二AM系统
一、实验仪器:
PC机一台,JQ-NIOS-2C35实验箱一台及辅助软件(DSPBuilder、Matlab/Simulink、QuartusII、Modelsim)
二、实验目的:
1、初步了解JQ-NIOS-2C35实验箱的基本结构。
2、学习和熟悉基于DSPBuilder开发数字信号处理实验的流程。
3、理解AM系统设计的原理和方法。
3、实验原理:
在常规双边带调幅中,输出已调制的信号的包络与输入调制信号成正比,其时间波形可表达为:
(4-11)
式中,
为外加的直流分量。
为调制信号,它可以是确知信号,也可以是随机信号,但通常认为平均值为0。
为载波信号的频率。
为载波信号的起始相位。
对于幅度调制信号,在波形上,它的幅度随基带信号规律而变化。
由于频谱的搬移是线性的,因此幅度调制通常又称为线性调制。
四、实验步骤:
本实验的操作步骤如下:
1、点击桌面上的Matlab图标,进入Matlab主界面,并将工作目录设为Matlab安装目录下的work文件夹。
2、点击菜单栏中的File->New->Model,新建一个模型,在Matlab命令窗口中输入simulink命令,调出simulink工具栏,并执行File->Save保存文件,将其命名为AM。
3、在AlteraDSPBuilderBlockset中的IO&Bus下选择Altbus模块将其添加到文件中。
打开模块参数对话框,将BusType设置为SignedInteger,numberofBits设置为16,然后单击【OK】按钮确认。
4、在AlteraDSPBuilderBlockset中的Arithmetic下选择PipelinedAdder模块将其添加到文件中。
设置BusType为SignedInteger;[numberofbits].[]为16;NumberofPipelineStages为2。
单击【OK】确认。
点击模块下文本,将其重命名为“PipelinedAdder3”。
5、在AlteraDSPBuilderBlockset中的Storage下选择Delay模块将其添加到文件中。
6、在AlteraDSPBuilderBlockset中的IO&Bus下选择Busconversion模块将其添加到文件中。
打开模块对话框,将BusType设置为SignedInteger,Input设置为16,output设置为8,InputBitConnectedtoOutputLSB设置为8,然后点击【OK】确认。
7、在AlteraDSPBuilderBlockset中的Storage下选择LUT模块将其添加到文件中。
将DataType设置为SignedInteger;numberofbits设置为8;LUTAddressWidth设置为8;MATLABArray查找表中存储数据的内容,设置为127*sin([0:
2*pi/(2^8):
2*pi]),然后点击【OK】确认。
8、在AlteraDSPBuilderBlockset中的IO&Bus下选择Constant模块将其添加到文件中。
打开模块参数对话框,设置ConstantValue为100;将BusType设置为SignedInteger;numberofbits设置为8;其它参数设置保持不变,然后点击【OK】确认。
9、按照图2-1连接模块。
10、将图2-1的所有模块选中,单击鼠标右键,点击CreatSubsystem,点击子系统下文本,将其重命名为“DDS”。
步骤
操作
设置
目的说明
1
点击桌面上的点击桌面上的Matlab图标Matlab图标
将工作目录设为Matlab安装目录下的work文件夹,如图1
进入Matlab主界面
2
在Matlab命令窗口中输入simulink命令
点击菜单栏中的File->New->Model,如图2
调出simulink工具栏
3
simulink->AlteraDSPBuilder->IO&Bus
Altbus
BusType->SignedInteger
numberofBits->16
4
simulink->AlteraDSPBuilder->Arithmetic库
PipelinedAdder
BusType->SignedInteger
NumberofPipelineStages->2
名字:
PipelinedAdder3
5
simulink->AlteraDSPBuilderBlockset->Storage库
Delay
6
simulink->AlteraDSPBuilderBlockset->IO&Bus库
Busconversion
BusType->SignedInteger
Input->16
Output->8
InputBitConnectedtoOutputLSB->8
7
AlteraDSPBuilderBlockset->Storage
LUT
DataType->SignedInteger
numberofbits->8
LUTAddressWidth->8
MATLABArray:
127*sin([0:
2*pi/(2^8):
2*pi])
8
AlteraDSPBuilderBlockset->IO&Bus库
Constant
ConstantValue:
100
BusType:
SignedInteger
numberofbits:
8
11、重复步骤3-10,将AltBus的numberofBits设置为32;Constant模块的ConstantValue为88234567,numberofBits设为32;Busconversion的Input设置为32,output设置为10,InputBitConnectedtoOutputLSB设置为22;LUT模块的DataType设置为SignedInteger;numberofbits设置为10;LUTAddressWidth设置为10;MATLABArray查找表中存储数据的内容,设置为511*sin([0:
2*pi/(2^10):
2*pi]),同样创建为子系统,然后点击子系统的文本,将其命名为“DDS1”
模型名称
参数设置
AltBus
Numberofbits:
32
Constant
ConstantValue;88234567;numberofbits:
32
Busconversion
Input:
32
Output:
10
InputBitConnectedtoOutputLSB:
22
LUT
DataType:
SignedInteger
numberofbits:
10
LUTAddressWidth:
10
MATLABArray:
511*sin([0:
2*pi/(2^10):
2*pi])
12、在AlteraDSPBuilderBlockset中的IO&Bus下选择Input添加到模型文件中。
设置BusType为UnsignedInteger;设置[numberofbits].[]为3;勾选SpecifyClock,并在Clock下写入Clock;然后点击【OK】确认。
13、在AlteraDSPBuilderBlockset中的IO&Bus下选择Output添加到模型文件中。
设置BusType为SignedInteger;设置[numberofbits].[]为10;其它参数设置不变;然后点击【OK】确认。
14、在AlteraDSPBuilderBlockset中的Gate&Control下选择Multiplexer添加到模型文件中。
将其NumberofInputDataLines设置为8,然后点击【OK】确认。
如图2-2所示连接,并建立子系统。
图2-2Mux子系统连接图
位置
名称
参数设置
重置名称
AlteraDSPBuilderBlockset->IO&Bus
Input
BusType:
SignedInteger
numberofbits:
3
勾选SpecifyClock
Clock:
Clock
AlteraDSPBuilderBlockset->IO&Bus
Output
BusType:
SignedInteger
numberofbits:
10
AlteraDSPBuilderBlockset->Gate&Control
Multiplexer
NumberofInputDataLines:
8
Constant5的设置如图2-3所示。
图2-3Constant5参数对话框
Constant6~Constant12的ConstantValue分别为:
0.79688,0.69922,0.59766,0.5,0.39844,0.19824,0.097656。
其它设置如图2-3保持不变。
15、在AlteraDSPBuilderBlockset中的Arithmetic下选择两个Product模块添加到模型文件中分别命名为Product和Product1,bustype设为Inferred。
16、在AlteraDSPBuilderBlockset中的IO&Bus下选择两个Constant模块将其添加到文件中分别命名为Constant1和Constant2。
打开模块参数对话框,设置Constant1Value为1;将BusType设置为SignedInteger;numberofbits设置为8;其它参数设置保持不变,然后点击【OK】确认,Constant2Value为1;将BusType设置为SignedInteger;numberofbits设置为10;其它参数设置保持不变,然后点击【OK】确认。
17、在AlteraDSPBuilderBlockset中的Arithmetic下选择两个PipelinedAdder模块将其添加到文件中分别命名为PipelinedAdder和PipelinedAdder1。
对PipelinedAdder设置BusType为SignedInteger;[numberofbits].[]为8;NumberofPipelineStages为2。
单击【OK】确认。
对PipelinedAdder1设置BusType为SignedInteger;[numberofbits].[]为10;NumberofPipelineStages为2。
单击【OK】确认。
18、在AlteraDSPBuilderBlockset中的IO&Bus下选择Busconversion模块将其添加到文件中。
打开模块对话框,将BusType设置为SignedInteger,Input设置为18,output设置为10,InputBitConnectedtoOutputLSB设置为8,然后点下面的文本,将其命名为“Busconversion1”,然后点击【OK】确认。
19、在AlteraDSPBuilderBlockset中的RateChange下选择Clock模块将其添加到文件中。
将SimulinkSampleTime设置为2e-8,其它参数保持不变,然后点击【OK】确认。
20、在AlteraDSPBuilderBlockset中的AltLab下选择SignalCompiler模块和TestBench模块将其添加到文件中。
21、在Simulink中的Sinks下选择Scope模块添加到文件中。
22、在Simulink中的Sources下选择Constant模块添加到文件中。
位置
名称
参数设置
重置名称
AlteraDSPBuilderBlockset->Arithmetic
Product
bustype:
Inferred
AlteraDSPBuilderBlockset->Arithmetic
Product1
bustype:
Inferred
Product1
AlteraDSPBuilderBlockset->IO&Bus
Constant
Constant1Value:
1
BusType:
SignedInteger
numberofbits:
8
Constant1
AlteraDSPBuilderBlockset->IO&Bus
Constant
Constant1Value:
1
BusType:
SignedInteger
numberofbits:
10
Constant1
AlteraDSPBuilderBlockset->Arithmetic
PipelinedAdder
BusType:
SignedInteger
[numberofbits]:
8
NumberofPipelineStages:
2
AlteraDSPBuilderBlockset->Arithmetic
PipelinedAdder
Constant1Value:
1
BusType:
SignedInteger:
2
numberofbits:
10
PipelinedAdder1
AlteraDSPBuilderBlockset->IO&Bus
Busconversion
BusType:
SignedInteger
Input:
18
Output:
10
InputBitConnectedtoOutputLSB:
8
Busconversion1
AlteraDSPBuilderBlockset->RateChange
Clock
SimulinkSampleTime:
2e-8
AlteraDSPBuilderBlockset->AltLab
SignalCompiler
AlteraDSPBuilderBlockset->AltLab
TestBench
Sinks
Scope
Sources
Constant
23、按照图2-4连接AM系统。
24、执行Simulation->ConfigurationParameters,将solver设为discrete,Type设为Fixed-step,Taskingmodeforperiodicsampletimes设为:
SingleTasking,StopTime设为1e-4。
25、点击菜单栏中的黑色小三角,启动simulation,simulation结束后,双击Scope模块,打开波形观察界面,在波形上点击鼠标右键,选择Autoscale,即可观察simulation后的幅度调制的仿真波形。
26、点击SignalCompiler模块,打开参数设置页面,将器件family设置成CyloneII,点击compile,结束后,关闭该页面。
27、点击TestBenchOn模块,打开模块参数界面,在Advanced选项卡中,点选LauchGUI,并依次点击GenerateHDL,RunSimulink和RunModelsim,启动RTL级仿真。
28、随后显示的界面即为ModelsimRTL级仿真的波形图。
点击wave-default中的unlock
按钮选中tb_am/dut/output信号,点击鼠标右键,选中Propertyties选项,选择Format的Analog,将Height设为100,Scale设为0.2,点击【OK】确认。
29、在信号上点击鼠标右键,选择ZoomFull,即可看到RTL级仿真波形。
关闭MATLAB.在位置D:
\ProgramFiles\MATLABB71\work\am_dspbuilder,打开文件am.qpf。
30、工具栏中点击Assignmets,选中Device,在器件family中选择CyloneII,选择下拉菜单中的EP2C35F672C6,点击finish。
31、执行Assignmets->AssignmentEditor,将Category设为Pin,并按照下图对Pin进行设置并保存。
表2-1AM系统引脚分配图
NodeName
Location
NodeNamen
Location
aclr
PIN_N25
Output[4]
PIN_K26
Clock
PIN_N2
Output[5]
PIN_K25
Input[0]
PIN_AE14
Output[6]
PIN_K24
Output[0]
PIN_H26
Output[7]
PIN_K23
Output[1]
PIN_H25
Output[8]
PIN_J24
Output[2]
PIN_H24
Output[9]
PIN_J23
Output[3]
PIN_H23
Output
PIN_D25
Input[1]
PIN_P25
Input[2]
PIN_N26
32、执行Tools->SignalTapⅡLogicAnalyzer,在Data窗口中的空白处双击,在弹出的对话框中将Fiter设为all®isters:
postfittings,点击List,将Output添加至右边的窗口中,点击【OK】确认。
33、在右边的对话框中将Clock设为Clock信号;点选Triggerin,Source设为Clock信号,Pattern设为Risingedge;Sampledepth设置为2K。
保存该文件,若弹出对话框询问是否将文件添加至工程,选择Yes。
点击菜单栏中的
,重新对工程进行编程。
34、打开实验箱,接入电源,用USBBlaster线将电脑和实验箱连接起来,选择菜单栏中的
图标,
35、点击HardwareSetup,选择USB-0,点击【OK】确认。
选中AM.sof文件,点击Start,将文件下载到实验板上。
在SignalTapⅡLogicAnalyzer文件(.stp)中的右上角的Hardware的Setup下添加USB-Blaster[USB-0]。
36、将实验箱上的开关SW[0]拨至高电平,SW[3]、SW[2]、SW[1]分别拨至0、0、0,点击
开始运行工程,点击
结束运行。
SignalTap中的data窗口,即可看到硬件实现的波形;再依次将SW[3]、SW[2]、SW[1]分别拨至001~111,以同样的方法即可观察到另外几种幅度的AM输出调制波。
五、实验结果
Simulink仿真波形与RTL级仿真波形以及时序仿真波形和硬件实现结果都应是幅度调制以后的波形。
Simulink仿真波形:
RTL级仿真波形:
硬件实现结果:
(SW[3]~SW[1]为000)
以下为SW[3]~SW[1]分别为001~111时的波形:
001
010
011
100
101
110
111
6、实验结果讨论与分析
(1)注意事项
1、应该先将电源接上载用USB电缆将电脑和实验箱相连。
实验结束,先拔掉USB与PC机的连接线,再拔电源。
2、时钟的设置一定要与模型的Clock的名字在大小写方面一致,不然仿真会出错。
3、子系统的创建时一定要选择好子系统构建区域,包括模块的连接线。
(2)实验总结
在本次试验中,我们主要研究的就是AM系统。
在常规双边带调幅中,输出已调制的信号的包络与输入调制信号成正比,其时间波形可表达为:
(4-11)
式中,
为外加的直流分量。
为调制信号,它可以是确知信号,也可以是随机信号,但通常认为平均值为0。
为载波信号的频率。
为载波信号的起始相位。
对于幅度调制信号,在波形上,它的幅度随基带信号规律而变化。
由于频谱的搬移是线性的,因此幅度调制通常又称为线性调制。
通过本次实验,我们初步了解了基于DSP Builder开发数字信号处理实验的流程;初步了解了数字信号处理与数字电路的结合;初步学会运用相关模块。
虽然利用如此繁杂的过程得到一个简单的结论有事倍功半之疑,但这是数字信号处理实验的基础,我们通过DSP Builder了解数字信号处理的基石。
实验过程中,有成功,也有失败。
成功让我们欢喜,给予我们探索的勇气;失败也不会让我们气馁,激发我们探知的欲望。
此次实验的结果,让我们看到了从理论到仿真再到硬件实现结果的一致性。
也说明了实验的正确性。
总的来说,整个实验还是颇具价值的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 AM系统实验报告 实验 AM 系统 报告