EDA编程,数字频率合成器

来源:百度知道 编辑:UC知道 时间:2024/06/05 04:26:40
简述直接数字频率合成器(DDS)的基本原理(要画出其原理框图),并利用VHDL语言来对其进行实现(写出代码)。

DDS或DDFS是 Direct Digital Frequency Synthesis 的简称。DDS的工作原理是以数控振荡器的方式产生频率、相位可控制的正弦波。电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、D/A转换器和低通滤波器(LPF)。频率累加器对输入信号进行累加运算,产生频率控制数据K(frequency data或相位步进量)。相位累加器由N位全加器和N位累加寄存器级联而成,对代表频率的二进制码进行累加运算,是典型的反馈电路,产生累加结果。幅度/相位转换电路实质上是一个波形寄存器,以供查表使用。读出的数据送入D/A转换器和低通滤波器。
具体工作过程如下:
每来一个时钟脉冲fc,N位加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。其中相位累加器由N位加法器与N位累加寄存器级联构成,累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字K相加。这样,相位累加器在时钟作用下,不断对频率控制字K进行线性相位累加。由此可见,相位累加器在每一个时钟脉冲输入时,把频率控制字K累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器ROM的相位取样地址,可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号,由低通滤波器滤除杂散波和谐波以后,输出一个频率为fo的正弦波。输出频率fo与时钟频率fc之间的关系满足下式:Fo=K×Fc/2^N
其中fo为输出频率,fc为时钟脉冲,K为频率控制字。N为累加器的位数(字长)。

在软件MAX+PLUS Ⅱ中VHDL语言 仿真描述DDS输出的正弦波程序...

本设计中相位累加器的数据宽度N采用32位
LIBRARY IEEE; --DDS顶层设计
USE IEEE.STD_LOGIC_1