直接数字合成

维基百科,自由的百科全书
跳转至: 导航搜索

直接数字合成Direct Digital Synthesizer,簡稱DDS)是一种数字电子方式,它从一个单一(或混合)的频率源中产生任意波形频率

概述[编辑]

一个基本的DDS电路包括电子控制器、随机访问存储器(RAM)、频率参考源(通常是晶振)、计数器数模转换器(DAC)。要使DDS系统工作需要两个操作阶段:我们称之为编程和运行。

编程[编辑]

在编程这一阶段里,电子控制器把数据载入至存储器中。数据的每一个单元是一个用来表示当前时刻信号幅度的二进制数。存储器中这些数据的排列(数组)构成一张振幅表,表示每一时刻当前波形的振幅。举个例子,在一张振幅表中,前一半的数全为0,后一半全为波形振幅的最大值(100%),这些数据就表示“方波”了。任何波形都可以通过简单地改变这些数据来产生。

运行[编辑]

在运行这一阶段中,计数器(可以称之为相位累加器)受频率参考源的指示,每一个脉冲自增。相位累加器的输出(相位)通常就是数组中依次输出的各个数据。最后会被DAC依次转换成模拟波形。

为了产生周期波形,电路被设计成每一个波形周期的时间片读取振幅表中的一个数据。举个例子,如果参考频率是1MHz,而且振幅表中包含1000个数据,以自增1的方式读完整个振幅表需要1000 / 1 MHz = 1 ms,所以最后输出波形的频率为1/(1 ms) = 1 kHz。

系统能产生更高的输出频率通过简单地增加相位自增速度,从而使计数器能更快地读完一遍振幅表。在上面的那个例子中,相位自增的幅度是1,所以如果自增的幅度设为2,则输出波形的频率将提高一倍。为了能较好地控制频率,可将标准的相位自增幅度设为10。这样微调输出频率。举个例子,如果将相位自增幅度提至11则会增加10%的输出频率。当将相位自增幅度减至9时,输出频率会相应地减小。为了获得更加精确的输出频率,需用计数器DAC拥有较多的位数。

执行细节[编辑]

实际执行中通常在32位的相位累加器和相位自增中设置查找表在大小为2的n次方。通常计数器的高位8或10比特用作查找表的索引(查找表的大小通常为256或1024)。剩余的低位比特可被作为参数或索引,用来窜改查找表中邻近的数据。经常用线性插值法来实现。频率源通常由一个1MHz至100MHz的晶振产生。 最高频率产生的方式取决于查找表的大小和(频率源的)频率。为了能产生清晰的波形,(查找表中)必须拥有最少的采样点。如果相位自增幅度太大,计数器阅遍查找表太快从而导致输出信号的失真。 DDS的实现有软件与硬件两种。由于DDS的实时性,软件的实现通常只用于声音频率的产生。

DDS的应用:函数信号发生器混频器调制器和声音合成器等等。

参考[编辑]

论文[编辑]

  • Tierney, J., Rader, C.M., and Gold, B. "A Digital Frequency Synthesizer," IEEE Transactions on Audio and Electroacoustics AU-19:1, March 1971, 48-56

图书[编辑]

  • Goldberg, Bar-Giora, Digital Techniques in Frequency Synthesis, New York: McGraw-Hill, 1996. ISBN 0-07-024166-X

外部连接[编辑]