DDS原理与设计应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、DDS的基本原理
DDS的全称Direct Digital Synthesizer(直接数字合成),是一种以采样定理为基础,从相位出发,直接采用数字技术产生波形的一种频率合成技术。DDS频率合成器主要由参考时钟、相位累加器、波形存储表(ROM)、DAC转换器和模拟低通滤波器等组成。在系统时钟(SYSCLK)输入一定的情况下,频率寄存器中的频率控制字决定系统输出频率,而相位累加器的位数决定了系统频率分辨率。DDS任意波形发生器框图如图1所示。
图1 直接数字频率合成器原理框图
相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如图2所示。它是实现DDS的核心。每来一个时钟脉冲CLK,N位加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制字K相加;另一方面以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。
图2 相位累加器原理框图
由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出的信号频率。
相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频
率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。
DDS 的输出信号的频率为:K f f N clk o ⨯=
2 DDS 的频率分辨率为:
N clk f 2 二、利用DDS 原理设计正弦波输出
图3 设计的DDS 封装
表一:DDS 的各端口说明
本设计利用了DDS 的原理设计的正弦波波形发生器具有频率调节、相位调节和幅
度调节的功能.,它的封装如图3所示,各端口说明如表一。
设计说明:
1、设置相位累加器的位数N为10。
2、正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中0~ 2范围的一个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,驱动DAC,输出模拟量。相位寄存器每经过N2/K个
f时钟后回到初始状态,相应的正弦
clk
查询表经过一个循环回到初始位置,正DDS系统输出一个正弦波。
3、正弦查询表中的数字幅度信息可以通过matlab软件来得到,也可以通过量化得到,本设计通过对正弦波进行量化得到。对一个周期进行16段量化幅度转换成二进制数存储。
4、相位累加器的输出位并没有全部送到查找表,一般只取高几位,于是既减少了查找表的规模,又不影响系统的频率分辨率。本设计选择相位累加器输出位的高四位作为查询表的地址输入位。
三、设计过程中遇到的问题:(已解决)
1、分辨率为fclk/2n,n为相位累加器的位数。
2、正弦查询表的生成,理解DDS原理,相位累加器对频率控制字进行线性累加,得到
的相位码,对波形存储器寻址,使之输出相应的幅度码。
3、幅度调节模块使用拼接运算符来代替移位运算符实现幅度的调节。
4、正弦波的量化是均匀量化,把一个周期分成n2份,把幅度转换成二进制的时候可以
选择其位数,本设计选择量化幅度值乘以1024.,这样使得输出为11位的二进制。