基于DDS的AM调制器设计Word文件下载.docx

上传人:b****5 文档编号:21495362 上传时间:2023-01-30 格式:DOCX 页数:22 大小:933.06KB
下载 相关 举报
基于DDS的AM调制器设计Word文件下载.docx_第1页
第1页 / 共22页
基于DDS的AM调制器设计Word文件下载.docx_第2页
第2页 / 共22页
基于DDS的AM调制器设计Word文件下载.docx_第3页
第3页 / 共22页
基于DDS的AM调制器设计Word文件下载.docx_第4页
第4页 / 共22页
基于DDS的AM调制器设计Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于DDS的AM调制器设计Word文件下载.docx

《基于DDS的AM调制器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于DDS的AM调制器设计Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

基于DDS的AM调制器设计Word文件下载.docx

3.子模块电路设计·

5

3.1脉冲电路·

3.2DDS调制信号电路·

6

3.2.1DDS调制信号总电路设计电路图·

7

3.2.2相位累加器·

3.2.2.1全加器电路·

8

3.2.2.2寄存器电路·

3.2.3子控制电路·

9

3.2.4波形数据表ROM·

3.2.5D/A数模转换器·

10

3.3DDS载波信号电路·

11

3.4乘法电路·

3.4.14×

10乘法电路·

3.4.210×

14乘法电路·

12

3.5加法电路·

13

3.5.114+14加法电路·

3.5.212+12加法电路·

14

3.6显示译码电路·

15

3.6.1显示电路·

3.6.2测频电路·

16

3.7调制指数mA电路·

17

3.8量化值

(1)电路·

18

4.实验结果·

4.1调制波波形·

4.2载波波形·

19

4.3临界调制时的波形·

4.4正常调制时的波形·

20

4.5过调制时的波形·

5.实验感想·

21

5.1实验中遇到的问题及注意点·

5.2实验收获与心得·

6.参考文献·

22

1设计要求说明

1.1设计目的

1)利用QuartusII软件和SmartSOPC实验箱实现DDS的设计。

2)熟悉AM调制器的基本原理。

3)掌握基于DDS的AM调制电路的设计方法。

4)进一步学习用VHDL语言描述逻辑电路

1.2设计要求

1)设计基于DDS的载波信号产生电路和调制信号产生电路

(数据宽度10bits,数据个数为4096),要求载波信号和调制信号的频率分别可调。

2)设计测频电路,要求可以测试载波信号和调制信号的频率并可以分别显示。

3)用VHDL语言设计该电路中加法和乘法功能模块(采用有符号数进行运算)。

4)采用混合输入法连接各功能模块,完成整体电路设计。

5)对AM调制电路进行仿真,记录AM仿真波形。

2整体电路设计

2.1整体电路设计原理

AM调制为振幅调制,AM即标准调制信号,包括基带信号和直流信号,调制后的输出信号波形既含载波分量信号,又含有边带分量的标准调幅信号。

2.2整体电路设计框图

整体而言,该AM调制器共由两个乘法运算电路和一个加法运算电路组合而成。

其中,第一个乘法电路完成DDS调制信号与调幅指数的相乘,再通过加法电路与量化值(此处设为1)的相加,最终和DDS载波信号通过第二个乘法电路完成相乘计算,进而实现AM调制器的功能,具体框图如下:

图2.1整体电路原理框图

2.3整体电路设计电路图

图2.2整体电路图

3子模块电路设计

3.1脉冲发生电路

首先需要将实验箱提供的48MHz的频率进行分频处理。

在此实验中,我们需要的频率共有4种,分别是:

时钟频率1MHz,动态显示扫描频率1KHz,频率及相位控制字时钟信号1Hz,测频电路时钟0.5Hz。

分频过程如下:

首先将48MHz进行48分频得到1MHz,然后在经过1000分频得到1KHz。

再经1000分频得到1Hz,最后二分频得到0.5Hz。

在这里我们使用VHDL语言进行分频设计,具体程序如下:

LIBRARYIEEE;

USEIEEE.std_logic_1164.ALL;

USEIEEE.std_logic_unsigned.ALL;

ENTITYkcoun1KIS

PORT(A:

INstd_logic;

B:

bufferstd_logic);

ENDkcoun1K;

ARCHITECTUREkcoun1K_arcOFkcoun1KIS

SIGNALcounter:

std_logic;

BEGIN

PROCESS(A)

VARIABLEcounter1:

integerRANGE0TO48000000;

CONSTANTmd:

integer:

=24000;

IF(A'

eventANDA='

1'

)THEN

IF(counter1=md)THEN

counter1:

=0;

counter<

=NOTcounter;

B<

=counter;

ENDIF;

=counter1+1;

ENDPROCESS;

ENDkcoun1K_arc;

(注:

该程序以1KHz为例,若要进行其他频率的设计,只需修改翻转次数CONSTANTmd:

=24000即可)

生成模块的分频电路如下图:

图3.1分频电路图

3.2DDS调制信号电路

DDS调制发生器主要由相位累加器、相位调制器、正弦波数据表(ROM)、D/A转换器构成。

相位累加器由N位加法器N位寄存器构成。

DDS信号波程示意图如下图所示:

图3.2DDS基本结构图

3.2.1DDS调制信号总电路设计电路图

图3.3DDS调制信号总电路图

3.2.2相位累加器

相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。

相位累加的原理框图如下图所示:

图3.4相位累加器原理框图

3.2.2.1全加器电路

全加器电路要实现12位控制字的全加器功能,在这里我们使用VHDL语言来设计,具体程序如下:

LIBRARYieee;

USEieee.std_logic_1164.all;

USEieee.std_logic_unsigned.all;

ENTITYquanjiaqiIS

PORT(op1,op2:

INstd_logic_vector(11downto0);

ci:

inbit;

result:

OUTstd_logic_vector(11downto0));

ENDquanjiaqi;

ARCHITECTUREmaxpldOFquanjiaqiIS

signalhalfadd:

std_logic_vector(11downto0);

halfadd<

=op1+op2;

result<

=halfaddwhenci='

0'

elsehalfadd+1;

ENDmaxpld;

3.2.2.2寄存器电路

寄存器的设计也较为简单,可直接使用是3片74175来设计,具体电路如下:

注:

clr为信号清零开关

图3.5寄存器电路图

3.2.3字控制电路

在这里频率控制字和相位控制字的实现原理是一样的,即用一个计数器和控制开关来调整计数值,从而实现频率、相位控制。

具体电路图如下:

图3.6字控制电路图

3.2.4波形数据表ROM

用相位累加器输出的数据作为波形存储器ROM的相位取样地址,这样就可把存储在波形存储器内的波形抽样值经查表查出,完成相位到幅值的转换。

ROM的实现过程为:

先用成熟生成一个mif文件,再将生成的可执行文件在DOS命令行下执行,即可得到ROM的初始化文件。

产生ROM数据值的程序如下:

x=0:

1:

4095;

y1=round(511*sin(2*pi*x/4096));

y=[x;

round(511*sin(2*pi*x/4096))];

fid=fopen('

sin_data.mif'

'

W'

);

fprintf(fid,'

%d:

%d;

'

\n'

y);

fclose(fid);

plot(x,y);

gridon

利用QuartusII软件上的模块LPM-ROM,生成ROM的宏单元模型如下图所示:

图3.7ROM宏单元模型

3.2.5D/A数模转换器

波形存储器的输出送到D/A转换器,由D/A转换器将数字信号转换成模拟信号输出。

D/A转换器的功能是把合成的正弦波数字量转换成模拟量。

低通滤波器的作用是滤除生成的阶梯形正弦波中的高频成分,将其变成光滑的正弦波。

具体工作示意图如下图所示:

图3.8D/A数模转换器和低通滤波器工作示意图

3.3DDS载波信号电路

DDS载波信号电路的设计原理与DDS调制信号电路相同,在具体实际方面仅需微小的变动即可,如改变字控制的输入、加法器输入的连接等。

详情请参照3.2,在这里就不再赘述。

3.4乘法电路

AM调制器从宏观观察,用到了两个乘法运算电路,而其内部又用到了更多的乘法计算,这些乘法运算设计的计算为位数往往不同,所以在这里我们采用VHDL语言来设计乘法电路,在一定程度上简化了实验的复杂性。

下面我们直接给出具体的乘法电路的VHDL语言程序。

3.4.14×

10乘法电路

USEieee.std_logic_1164.ALL;

USEieee.std_logic_arith.ALL;

USEieee.std_logic_signed.ALL;

ENTITYsigned_multIS

PORT(

a:

INSTD_LOGIC_VECTOR(9DOWNTO0);

b:

INSTD_LOGIC_VECTOR(3DOWNTO0);

result:

OUTSTD_LOGIC_VECTOR(13DOWNTO0)

);

ENDsigned_mult;

ARCHITECTURErtlOFsigned_multIS

SIGNALa_int:

SIGNED(9downto0);

SIGNALb_int:

SIGNED(3downto0);

SIGNALpdt_int:

SIGNED(13downto0);

Begin

a_int<

=SIGNED(a);

b_int<

=SIGNED(b);

pdt_int<

=a_int*b_int;

result<

=STD_LOGIC_VECTOR(pdt_int);

ENDrtl;

3.4.210×

14乘法电路

ENTITYsigned_mult1IS

INSTD_LOGIC_VECTOR(13DOWNTO0);

OUTSTD_LOGIC_VECTOR(23DOWNTO0)

ENDsigned_mult1;

ARCHITECTURErtlOFsigned_mult1IS

SIGNED(23downto0);

生成模块的乘法电路如下图:

图3.9乘法电路图

3.5加法电路

与乘法电路相同,未简化实验,我们也采用VHDL语言程序来试验加法电路,具体程序如下:

3.5.114+14加法电路

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_SIGNED.ALL;

ENTITYsigned_adder14IS

PORT(op1:

INSTD_LOGIC_VECTOR(13DOWNTO0);

op2:

co:

OUTSTD_LOGIC_VECTOR(13DOWNTO0));

ENDENTITYsigned_adder14;

ARCHITECTUREARTOFsigned_adder14IS

SIGNALTEMP:

STD_LOGIC_VECTOR(13DOWNTO0);

co<

endARCHITECTUREART;

3.5.212+12加法电路

生成模块的加法电路如下图:

图3.10加法电路图

3.6显示译码电路

3.6.1显示电路

在这里我们采用动态译码的方式显示,具体实现方法如下:

利用74160设计一个模6计数器来选通对应的译码管,每个译码管又通过4个8选一选出秒个位,秒十位,分个位,分十位,时个位,时十位,即可实现译码显示电路的设计。

图3.11显示译码电路

生成模块的译码显示电路如下图:

图3.12显示译码电路模块图

3.6.2测频电路

测频电路的实现方法如下:

用5个74160实现模99999同步计数器,用3个74273实现数据缓冲。

将ROM输出的最高位作为计数器的时钟信号所得测量值即为测量频率值。

图3.13测频电路图

在这里我们采用将0.5Hz和1Hz进行或操作的结果作为计数器的清零信号,

此时计数器在清零信号位高电平时计数,在低电平时清零。

具体时序如图:

3.7调制指数mA电路

调制指数电路的设计很简单,就是一个可自动加1的模16计数器,电路图如下:

图3.14调制指数mA电路图

3.8量化值

(1)电路

量化1在电路中经过换算为00110111111001,可使用如下电路实现:

图3.15量化值

(1)电路图

4实验结果

将设计的程序编译下载后,连接示波器,同时改变

,得到如下结果:

4.1调制波波形

图4.1调制波波形图

4.2载波波形

图4.2载波波形图

4.3临界调制时的波形

图4.3临界调制时的波形图

4.4正常调制时的波形

图4.4正常调制时的波形图

4.5过调时的波形

图4.5过调制时的波形图

5实验感想

5.1实验中遇到的问题及注意点

1)乘法电路波形畸形的问题

因为这个实验中用到了很到乘法电路和加法电路,所以我们考虑使用VHDL语言来实现这一部分的设计,可是在做乘法电路时,我们发现做出的乘法电路波形存在着很明显的畸形,由于对于VHDL还没有达到非常熟练的程度,所以花了好长时间都没有发现问题所在,后来经过蒋师的检查和指导,我们发现是有符号数的乘法计算部分出现了错误。

有符号数的乘法和无符号数的乘法在程序上存在着一定的差别,在设计的过程中一定要多加注意。

2)数字滤波器的使用

在之前的实验中,我们一直接触到的是模拟器件,而这一次我们遇到的是数字滤波器,在实验的过程中,因为对数字滤波器的不熟悉和不够透彻的了解,导致实验进程收到了一定的影响,后来在我们对数字滤波性重新认识重新学习之后,经过几次耐心的调试和摸索,终于顺利完成了这一部分的实验。

5.2实验收获与心得

刚接触到这个实验的时候,了解到这是一个新的频率合成技术,所以对这个实验非常期待,自己也非常兴奋。

但是在开始着手做的时候,却感到非常陌生、非常棘手,不知从哪开始。

在课后,我和同组同学去网上查找了很多相关资料,并进行了一些讨论和交流,对整体实验有了一个较为全面的认识,后来在老师的知道和帮助下,顺利的完成了整个实验,而且整个实验过程中一气呵成,进度也非常快。

最终在示波器上观察波形时,我发现其他很多组同学的波形都存在一定程度的毛刺和误差,而我们组的表性非常的标准,所以也是感到非常的开心,觉得这一周的努力实现了其该有的价值,所以本次实验总体上比较成功。

在这个实验过程中,非常感谢蒋立平老师的悉心指导,也非常感谢同组同学吴澄的帮助,整个实验过程中合作非常愉快,感到了团队合作的乐趣。

综合这两周的实验,不管是数字钟,还是DDS,我发现不管一开始面临的困难有多大,只要有信心,有耐心,

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

当前位置:首页 > 高等教育 > 工学

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

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