|
1 DDS(直接数字式频率合成器) 基本原理
直接数字频率合成是从相位概念出发直接合成所需波形 一种频率合成技术, DDS把一系列数字量形式 信号通过数模转换器(DAC)转换成模拟量形式 信号,其基本结构如图1所示,
DDS由相位累加器, 加法器, 波形存储器(ROM), 数字乘法器, D/A转换器和低通滤波器(LPF)组成, DDS 核心是相位累加器,由一个加法器和一个相位寄存器(REG)级联构成, 在参考时钟fc 控制下,相位累加器对频率控制字K进行线性累加,输出 和再与相位控制字P相加后作为地址,对ROM进行寻址, ROM中存放 是经过采样, 量化处理后 某种周期性连续信号一个周期波形 幅度值,也就是与一个周期 相位采样相对应 函数波形查找表,不同 相位地址对应这种周期信号 不同幅度值编码, ROM输出 幅度值编码通过数字乘法器被幅度控制字A加权,加权后 幅度值编码经D/A转换器变成相应 阶梯波,再经低通滤波器平滑后就可以得到所合成信号 模拟波形, 合成 信号波形取决于ROM中存放 幅度值数据,因此用DDS可以产生任意波形,
设相位累加器 字长为N,则DDS 输出频率fo和频率分辨率(即最小输出频率)△fmin分别为:
只要N足够大,DDS可以得到很小 频率分辨率, 要改变DDS 输出频率,只要改变频率控制字K即可,
值得注意 是,根据Nyquist采样定理,在对连续信号进行采样 一个周期内,采样频率不能改变,故利用DDS进行信号合成时,在信号合成 一个周期内,频率控制字K不能发生变化,也就是K在每次改变之前至少应该持续2N/K个DDS时钟周期,即2N/K/fc,
通过改变相位控制字P可以控制输出信号 相位参数,设相位加法器 字长为M,当相位控制字由0变到P(P≠0)时,ROM 输入为相位累加器 输出与相位控制字P之和,因此其输出 幅度值相位会增加2πP/2M,从而使最后输出 模拟信号产生相移,
DDS输出信号 幅度可以通过在ROM之后加入一个数字乘法器来实现,幅度控制字A起到对ROM所输出 幅度值编码进行加权 作用,
由此可见,当DDS 相位累加器字长和相位加法器字长确定后,通过改变K,P,A就可以有效地控制DDS输出 模拟信号 频率, 相位租幅度,这就是DDS技术 调制特性,
2 VHDL语言实现 DDS
为简单起见,下面所描述 DDS仅设置了频率控制字K,相位控制字P和幅度控制字A都未予以考虑,其处理可以类推, DDS 输出为正弦波信号,
由于正弦波关于π奇对称,关于π/2与3π/2偶对称,因此波形存储器(ROM)中只需存储其1/4个周期 幅度值编码, 具体地,ROM中存储正弦波0~π/2相位范围内 256个采样点 幅度值,采用8位编码, 而DDS 输出为9位,最高位作为符号位,用以区分幅度值 正负,“0”表示正,“1”表示负, ROM为8位地址寻址,而相位累加器 字长采用10位, 最高位用以区分正弦波 前, 后半周期,“0”为前半周期,幅度值为正,“1”为后半周期,幅度值为负, 次高位用以区分正弦波前, 后半周期 前, 后1/4周期,“0”为前1/4周期,寻址地址为相位累加器 低8位,“1”为后1/4周期,寻址地址为相位累加器低8位 取反,
用VHDL实现DDS 源程序 核心部分如下:
在Xilinx ISE 8.2i开发环境中对其进行仿真 结果,如图2所示,
3 扫频信号 产生
利用DDS技术 调制特性可以方便地产生扫频信号,仅需控制DDS 频率控制字K,让其随预期设计 规律变化即可,
为了采用DDS实现扫频信号扫频带宽范围内 各个频点fi,需要为其确定相应 频率控制字Ki,从而很容易地计算出所需 一系列Ki值, 与DDS 基本原理类似,将符合设计要求 一系列Ki值存储在一张查找表中, 再利用一个计数器循环计数,将其输出作为查找表 寻址地址,以此不断地循环读取查找表中 各个Ki, 这样就可以使受Ki控制 DDS 输出始终在所预期设计 各个频点fi上变化,达到扫频 目 , 其中,计数器循环一次 时间就是所要实现 扫频信号 扫频周期,而计数器 计数范围则与扫频信号扫频带宽范围内 频点个数相对应,
以上就是利用DDS实现扫频信号 基本思路,以下是实现此思路 VHDL源程序 主要部分:
在Xilinx ISE 8.2i开发环境中对其进行仿真 结果如图3所示,
4 结语
VHDL是IEEE 工业标准硬件描述语言,可以描述硬件电路 功能, 信号连接关系及定时关系,在电子工程领域用来描述, 验证和设计电子线路得到了广泛 接受和应用, 利用DDS技术 调制特性产生各种调制信号简单方便,容易实现, 从文中不难看出,将VHDL语言与DDS技术结合起来设计生成调频信号,直观快捷,可操作性很强,必将得到更加广泛 应用,
|