差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
dds [2017/03/13 10:41]
gongyu
dds [2022/02/26 12:04] (当前版本)
gongyusu [5. DDS系统中的无杂散动态范围考虑]
行 1: 行 1:
-====概述====+## DDS - 直接数字合成 
 + 
 +### 1. 概述
 随着数字技术在仪器仪表和通信系统中的广泛使用,可从参考频率源产生多个频率的数字控制方法诞生了,即直接数字频率合成(DDS)。其基本架构如图1所示。该简化模型采用一个稳定时钟来驱动存储正弦波(或其它任意波形)一个或多个整数周期的可编程只读存储器(PROM)。随着地址计数器逐步执行每个存储器位置,每个位置相应的信号数字幅度会驱动DAC,进而产生模拟输出信号。最终模拟输出信号的频谱纯度主要取决于DAC。相位噪声主要来自参考时钟。 随着数字技术在仪器仪表和通信系统中的广泛使用,可从参考频率源产生多个频率的数字控制方法诞生了,即直接数字频率合成(DDS)。其基本架构如图1所示。该简化模型采用一个稳定时钟来驱动存储正弦波(或其它任意波形)一个或多个整数周期的可编程只读存储器(PROM)。随着地址计数器逐步执行每个存储器位置,每个位置相应的信号数字幅度会驱动DAC,进而产生模拟输出信号。最终模拟输出信号的频谱纯度主要取决于DAC。相位噪声主要来自参考时钟。
  
行 12: 行 14:
 <WRAP centeralign>​ 图2:灵活的DDS系统 </​WRAP>​ <WRAP centeralign>​ 图2:灵活的DDS系统 </​WRAP>​
  
-系统的核心是相位累加器,其内容会在每个时钟周期更新。相位累加器每次更新时,存储在△相位寄存器中的数字字M就会累加至相位寄存器中的数字。假设△相位寄存器中的数字为00...01,相位累加器中的初始内容为00...00。相位累加器每个时钟周期都会按00...01更新。如果累加器为32位宽,则在相位累加器返回至00...00前需要232(超过40亿)个时钟周期,周期会不断重复。+系统的核心是相位累加器,其内容会在每个时钟周期更新。相位累加器每次更新时,存储在△相位寄存器中的数字字M就会累加至相位寄存器中的数字。假设△相位寄存器中的数字为00...01,相位累加器中的初始内容为00...00。相位累加器每个时钟周期都会按00...01更新。如果累加器为32位宽,则在相位累加器返回至00...00前需要2³²(超过40亿)个时钟周期,周期会不断重复。
  
 相位累加器的截断输出用作正弦(或余弦)查找表的地址。查找表中的每个地址均对应正弦波的从0°到360°的一个相位点。查找表包括一个完整正弦波周期的相应数字幅度信息。(实际上,只需要90°的数据,因为两个MSB中包含了正交数据)。因此,查找表可将相位累加器的相位信息映射至数字幅度字,进而驱动DAC。图3用图形化的“相位轮”显示了这一情况。 相位累加器的截断输出用作正弦(或余弦)查找表的地址。查找表中的每个地址均对应正弦波的从0°到360°的一个相位点。查找表包括一个完整正弦波周期的相应数字幅度信息。(实际上,只需要90°的数据,因为两个MSB中包含了正交数据)。因此,查找表可将相位累加器的相位信息映射至数字幅度字,进而驱动DAC。图3用图形化的“相位轮”显示了这一情况。
  
-考虑n = 32,M = 1的情况。相位累加器会逐步执行232个可能的输出中的每一个,直至溢出并重新开始。相应的输出正弦波频率等于输入时钟频率232分频。若M=2,相位累加器寄存器就会以两倍的速度“滚动”计算,输出频率也会增加一倍。以上内容可总结如下:+考虑n = 32,M = 1的情况。相位累加器会逐步执行2³²个可能的输出中的每一个,直至溢出并重新开始。相应的输出正弦波频率等于输入时钟频率2³²分频。若M=2,相位累加器寄存器就会以两倍的速度“滚动”计算,输出频率也会增加一倍。以上内容可总结如下:
  
 {{ ::​digital_phase.jpg |数字相位轮}} {{ ::​digital_phase.jpg |数字相位轮}}
 <WRAP centeralign>​ 图3:数字相位轮 </​WRAP>​ <WRAP centeralign>​ 图3:数字相位轮 </​WRAP>​
 n位相位累加器(大多数DDS系统中,n的范围通常为24至32)存在2n个可能的相位点。△相位寄存器中的数字字M代表相位累加器每个时钟周期增加的数量。如果时钟频率为fc,则输出正弦波频率计算公式为: n位相位累加器(大多数DDS系统中,n的范围通常为24至32)存在2n个可能的相位点。△相位寄存器中的数字字M代表相位累加器每个时钟周期增加的数量。如果时钟频率为fc,则输出正弦波频率计算公式为:
 +{{ ::​dds_formula1.jpg |}}
  
 该公式称为DDS“调谐公式”。注意,系统的频率分辨率等于fc/​2n。n = 32时,分辨率超过40亿分之一!在实际DDS系统中,溢出相位寄存器的位不会进入查找表,而是会被截断,只留下前13至15个MSB。这样可以减小查找表的大小,而且不会影响频率分辨率。相位截断只会给最终输出增加少量可接受的相位噪声。(参见图4)。 该公式称为DDS“调谐公式”。注意,系统的频率分辨率等于fc/​2n。n = 32时,分辨率超过40亿分之一!在实际DDS系统中,溢出相位寄存器的位不会进入查找表,而是会被截断,只留下前13至15个MSB。这样可以减小查找表的大小,而且不会影响频率分辨率。相位截断只会给最终输出增加少量可接受的相位噪声。(参见图4)。
行 28: 行 30:
 <WRAP centeralign>​ 图4:计算得出的输出频谱显示15位相位截断时90 dB SFDR </​WRAP>​ <WRAP centeralign>​ 图4:计算得出的输出频谱显示15位相位截断时90 dB SFDR </​WRAP>​
  
-DAC的分辨率通常比查找表的宽度少2至4位。即便是完美的N位DAC,也会增加输出的量化噪声。图4显示的是32位相位累加器15位相位截断时计算得出的输出频谱。选择M值后,输出频率会从0.25倍时钟频率开始稍有偏移。注意,相位截断和有限DAC分辨率产生的杂散都至少比满量程输出低90 dB。这一性能远远超出了任何商用12位DAC,足以满足大多数应用的需求。+DAC的分辨率通常比查找表的宽度少2至4位。即便是完美的N位DAC,也会增加输出的量化噪声。图4显示的是32位相位累加器15位相位截断时计算得出的输出频谱。选择M值后,输出频率会从0.25倍时钟频率开始稍有偏移。注意,相位截断和有限DAC分辨率产生的杂散都至少比满量程输出低90dB。这一性能远远超出了任何商用12位DAC,足以满足大多数应用的需求。
  
 上述基本DDS系统极为灵活,且具有高分辨率。只需改变M寄存器的内容,频率就可以立即改变,不会出现相位不连续。但是,实际DDS系统首先需要执行串行或字节加载序列,以将新的频率字载入内部缓冲寄存器,然后再载入M寄存器。这样就可以尽可能减少封装引脚数。新的频率字载入缓冲寄存器后,并行输出△相位寄存器就会同步操作,从而同时改变所有位。加载△相位缓冲寄存器所需的时钟周期数决定了输出频率的最大改变速率。 上述基本DDS系统极为灵活,且具有高分辨率。只需改变M寄存器的内容,频率就可以立即改变,不会出现相位不连续。但是,实际DDS系统首先需要执行串行或字节加载序列,以将新的频率字载入内部缓冲寄存器,然后再载入M寄存器。这样就可以尽可能减少封装引脚数。新的频率字载入缓冲寄存器后,并行输出△相位寄存器就会同步操作,从而同时改变所有位。加载△相位缓冲寄存器所需的时钟周期数决定了输出频率的最大改变速率。
  
-====DDS系统中的混叠==== +### 2. DDS系统中的混叠 
- +简单DDS系统中可能会产生一种重要的输出频率范围限制。奈奎斯特准则表明,时钟频率(采样速率)必须至少为输出频率的两倍。实际最高输出频率限制在约1/​3时钟频率范围内。图5所示为DDS系统中的DAC输出,其中输出频率为30MHz,时钟频率为100MHz。如图所示,重构DAC后必须跟随一个抗混叠滤波器,以消除较低的像频率(100MHz ​– 30MHz 70MHz)。
-简单DDS系统中可能会产生一种重要的输出频率范围限制。奈奎斯特准则表明,时钟频率(采样速率)必须至少为输出频率的两倍。实际最高输出频率限制在约1/​3时钟频率范围内。图5所示为DDS系统中的DAC输出,其中输出频率为30 MHz,时钟频率为100 MHz。如图所示,重构DAC后必须跟随一个抗混叠滤波器,以消除较低的像频率(100 – 30 70 MHz)。+
  
 {{ ::​dds_alias.jpg |DDS系统中的混叠}} {{ ::​dds_alias.jpg |DDS系统中的混叠}}
行 40: 行 41:
  
 注意,DAC输出(滤波前)的幅度响应跟随着一个sin(x)/​x响应,在时钟频率及其整数倍时,该值为零。归一化输出幅度A(fO)的精确计算公式如下: 注意,DAC输出(滤波前)的幅度响应跟随着一个sin(x)/​x响应,在时钟频率及其整数倍时,该值为零。归一化输出幅度A(fO)的精确计算公式如下:
 +{{ ::​dds_fromula2.jpg |}}
 +其中,fo为输出频率,fc为时钟频率。
  
-中,fO为输出频率,fc时钟频率。+出现该滚降的原因是由于DAC输出并非一系列零宽脉冲(和最佳重新采样器一样)而是一系列矩形脉冲,宽度等于更新速率的倒数。sin(x)/​x响应的幅度比奈奎斯特频率低3.92dB(DAC更新速率的1/​2)。实际上,抗混叠滤波器的传递函数可用来补偿sin(x)/​x滚降,使整体频率响应相对平坦,达到最大输出DAC频率(一般1/​3更新速)
  
-出现该滚降是由DAC输出并非一系列零宽脉冲(和最佳重新采样器中一样)而是一列矩形脉冲宽度等于更新速率倒数。sin(x)/​x响应的幅度比奈奎斯特频率低3.92 dB(DAC更新速率的1/​2)实际上,抗混叠滤波器的传递函数可用来补偿sin(x)/​x滚降使整体频率响应相对平坦达到最大输出DAC频率(一般1/3更新速率)。+另一个重要考虑素在于,和基于PLL的统不同DDS系统中基本输出频率高阶谐波会因混叠而折回至基带这些谐波无法通过抗混叠滤波器去除。例如如果时钟频率为100MHz,输出频率为30MHz,则30MHz的第二个谐波会出现在60MHz(带外),但也会出现在100 – 60 = 40MHz(混叠成分)。同样,第三个谐波(90 MHz)会出现在带内,频率100–90=10MHz,第四个谐波出现在120 – 100MHz = 20MHz。高阶谐波也会落在奈奎斯特带宽内(直流至fc/2)。前4个谐波的位置如图所示
  
-另一个重要的考虑因素在于,和基于PLL的系统不同,DDS系统基本输出频率高阶谐波会因混叠而折回基带这些谐波无法过抗混叠滤波器去除。例如如果时钟频率为100 ​MHz,输出频率为30 MHz,则30 MHz的第二个谐波会出现在60 MHz(带外),但也会出现在100 – 60 = 40 MHz(混叠成分)同样,第三个谐(90 MHz)会现在带,频率为100 – 90 = 10 MHz,第四谐波现在120 – 100 MHz = 20 MHz高阶谐波也会落在奈奎斯特带宽内(直流至fc/​2)。前4谐波位置如图所示+### 3. 用作ADC时钟驱动器DDS系统 
 +[[DDS]]系统(如AD9850)可以提供产生[[ADC]]采样时钟的出色方法,尤其适合ADC采样频率必须受到软件控制,且锁定系统时钟的情况(参见图6)[[DAC]]输出电流IOUT驱动200Ω、42MHz的低通滤波器,源和负载阻抗端接,等效负载为100Ω。滤波器可以消除42MHz以上的杂散频率成分。经过滤的输可以驱动AD9850部比较器的一输入端。DAC补偿输电流可以驱动100Ω的负载位于两输出之间100kΩ电阻分压器输出经过去耦,可以产生参考电压以供内部比较器使用
  
-====用作ADC时钟驱动器的DDS系统==== +比较器输出有2ns的上升和下降时间,可以产生与TTL/​CMOS逻辑电平兼容方波。比较器输出边缘的抖动小于20ps rms。输出和补偿输出均可按要求提供。
- +
-DDS系统(如AD9850)可以提供产生ADC采样时钟的出色方法,尤其适合ADC采样频率必须受到软件控制,且锁定至系统时钟的情况(参见图6)。DAC输出电流IOUT驱动200 Ω、42 MHz的低通滤波器,源和负载阻抗端接,等效负载为100 Ω。滤波器可以消除42 MHz以上的杂散频率成分。经过滤波的输出可以驱动AD9850内部比较器的一个输入端。DAC补偿输出电流可以驱动100 Ω的负载。位于两个输出之间的100 kΩ电阻分压器输出经过去耦,可以产生参考电压以供内部比较器使用。 +
- +
-比较器输出有2 ns的上升和下降时间,可以产生与TTL/​CMOS逻辑电平兼容方波。比较器输出边缘的抖动小于20 ps rms。输出和补偿输出均可按要求提供。+
  
 {{ ::​dds_adc_buffer.jpg |将DDS系统用作ADC时钟驱动器}} {{ ::​dds_adc_buffer.jpg |将DDS系统用作ADC时钟驱动器}}
 <WRAP centeralign>​ 图6:将DDS系统用作ADC时钟驱动器 </​WRAP>​ <WRAP centeralign>​ 图6:将DDS系统用作ADC时钟驱动器 </​WRAP>​
  
-在图6所示的电路中,40 MSPS ADC时钟的总输出均方根抖动为50 ps rms,由此产生的信噪比下降在宽动态范围应用中必须加以考虑。+在图6所示的电路中,40MSPS ​ADC时钟的总输出均方根抖动为50ps rms,由此产生的信噪比下降在宽动态范围应用中必须加以考虑。
  
-====DDS系统中的幅度调制==== +### 4. DDS系统中的幅度调制 
- +[[DDS]]系统中的[[am|幅度调制]]可以通过在查找表和[[DAC]]输入之间放置数字乘法器来实现,如图7所示。调制[[DAC]]输出幅度的另一种方法是改变DAC的参考电压。在AD9850中,内部参考控制放大器的带宽约为1MHz。这种方法在输出幅度变化相对较小的情况下非常有效,只要输出信号不超过+1V的规格即可。
-DDS系统中的幅度调制可以通过在查找表和DAC输入之间放置数字乘法器来实现,如图7所示。调制DAC输出幅度的另一种方法是改变DAC的参考电压。在AD9850中,内部参考控制放大器的带宽约为1 MHz。这种方法在输出幅度变化相对较小的情况下非常有效,只要输出信号不超过+1 V的规格即可。+
  
 {{ ::​dds_am.jpg |DDS系统中的幅度调制}} {{ ::​dds_am.jpg |DDS系统中的幅度调制}}
 <WRAP centeralign>​ 图7:DDS系统中的幅度调制 </​WRAP>​ <WRAP centeralign>​ 图7:DDS系统中的幅度调制 </​WRAP>​
  
-====DDS系统中的无杂散动态范围考虑====+## 5. DDS系统中的无杂散动态范围考虑 
 +在大多数[[DDS]]应用中,首要考虑因素是[[DAC]]输出的频谱纯度。遗憾的是,该性能的测量、预测和分析十分复杂,涉及大量相互作用的因素。
  
-大多数DDS应用,首考虑因素是DAC输出的频谱纯度。遗憾该性能、预测和析十分复杂涉及大量相互作用因素+即便是理想的N位[[DAC]],也会[[DDS]]系统产生谐波。这些谐波的幅度主取决于输出频率与时钟频率的比值。原因在于,[[DAC]]量化噪声的频谱成分会随着该比值变化而变化虽然其理论均方根值仍等于q/​√12(其中q是LSB权重)。“化噪声表现为白噪声,在奈奎斯特带宽内均匀布”这条假设在[[DDS]]系统中并不适用(这条假设在[[ADC]]系统中更为适用,因为ADC会给信号增加一定的噪声从而“扰动”化误差或使其随机化。但是,依然存在一定的关性)。例如,如果DAC输出频率精确设置为时钟频率约数,则量化噪声会集中在输出频率的倍数,也就是说,主要取决于信号。如果输出频率稍有失调,量化噪声会变得更加随机,从而改进有效[[SFDR]]
  
-即便是理想的N位DAC,也会在DDS系统中产生谐波。这些谐波的幅度主要取决于输出频率与时钟频率的比值。原因在于,DAC量化噪声的频谱成分会随着该比值的变化而变化,虽然其理论均方根值仍等于q/​√12(其中q是LSB的权重)。“量化噪声表现为白噪声,在奈奎斯特带宽内均匀分布”这条假设在DDS系统中并不适用(这条假设在ADC系统中更为适用,因为ADC会给信号增加一定的噪声,从而“扰动”量化误差或使其随机化。但是,依然存在一定的相关性)。例如,如果DAC输出频率精确设置为时钟频率的约数,则量化噪声会集中在输出频率的倍数,也就是说,主要取决于信号。如果输出频率稍有失调,量化噪声会变得更加随机,从而改进有效SFDR。 +图8说明了上述情况,其中4096 (4k)点FFT基于理想12位DAC中数字化生成的数据计算得出。左侧图表(A)中,所选的时钟频率和输出频率的比值恰好等于40,获得的SFDR约为77dBc。右侧图表中,比例稍有失调,有效SFDR增至94dBc。在这一理想情况下,只是略微改变了频率比,SFDR就改变了17dB
- +
-图8说明了上述情况,其中4096 (4k)点FFT基于理想12位DAC中数字化生成的数据计算得出。左侧图表(A)中,所选的时钟频率和输出频率的比值恰好等于40,获得的SFDR约为77 dBc。右侧图表中,比例稍有失调,有效SFDR增至94 dBc。在这一理想情况下,只是略微改变了频率比,SFDR就改变了17 dB+
  
 {{ ::​fft_sfdr.jpg |采用4096点FFT时,时钟与输出频率比值对理论12位DAC SFDR的影响}} {{ ::​fft_sfdr.jpg |采用4096点FFT时,时钟与输出频率比值对理论12位DAC SFDR的影响}}
行 82: 行 80:
  
  
- +### 6. 主要芯片
-{{ :​direct_digital_synthesizer_block_diagram.png |DDS工作原理框图}} +
-<WRAP centeralign>​**DDS合成功能框图**</​WRAP>​ +
- +
-====主要芯片====+
 专用DDS芯片: 专用DDS芯片:
   * [[http://​www.analog.com|Analog Devices]]   * [[http://​www.analog.com|Analog Devices]]
行 118: 行 112:
 ^AD9739A |2.5Gsps ​  ​|14bits ​  ​|1 ​        ​|LVDS ​    |RF DAC   ​|$43.69(BC-160) ​ | ^AD9739A |2.5Gsps ​  ​|14bits ​  ​|1 ​        ​|LVDS ​    |RF DAC   ​|$43.69(BC-160) ​ |
  
-====DDS IP内核==== 
  
-====相关文章====+### 7. 相关文章:
   * {{:​dds_apps.pdf|DDS在测试测量以及通信系统中控制波形的产生}}   * {{:​dds_apps.pdf|DDS在测试测量以及通信系统中控制波形的产生}}
   * {{:​DDS_PLL.pdf |通过DDS做的PLL}}   * {{:​DDS_PLL.pdf |通过DDS做的PLL}}
行 127: 行 120:
   * {{:​dsp_dds1.pdf|DDS:产生周期性波形1}}   * {{:​dsp_dds1.pdf|DDS:产生周期性波形1}}
   * {{:​dsp_dds2.pdf|DDS:产生周期性波形2}}   * {{:​dsp_dds2.pdf|DDS:产生周期性波形2}}
 +  * [[https://​www.analog.com/​cn/​analog-dialogue/​articles/​dds-generates-high-quality-waveforms-efficiently.html|DDS器件产生高质量波形:简单、高效而灵活]]