FPGA培训
  首页 FPGA培训 北京FPGA培训 成都FPGA培训 四川FPGA培训 深圳FPGA培训 广州FPGA培训 广东FPGA培训 西安FPGA培训 陕西FPGA培训
空白
空白
技  术  频  道
        嵌入式系统     电源管理
        3G手机     汽车电子
        数字电视     消费电子
        传感器     通信技术
        工业控制     测试测量
        可编程逻辑     中国RoHS
        DSP与MCU     无源元件
        电子制造     模拟电路
哈佛结构  运算放大器  非结晶硅太阳电池
DSP MCU双核  数据转换器  MODEM
专用型DSP   检波器   通用型DSP
请您来编写词条                     更多>>
基于DDS技术 线性调频信号 生成
张先志
(解放军63891部队 河南 洛阳 471003)


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技术结合起来设计生成调频信号,直观快捷,可操作性很强,必将得到更加广泛 应用, 

 
本文摘自《现代电子技术》
版权所有2010 备案号:沪ICP备05030316号