452 唐长文等:一种高速直接数字频率合成器及其FPGA实现 2001年 four=fk·FCw 2 (1) 其中,FCW为频率控制字,fe为时钟频率,L 为相位累加器的字长。最小频率精度△f为: ROM Address 4y= (2) clK clk]D Flp-Flop Q D Modification 图5累加器的简单优化 相位累加器优化结构的唯一缺点是在直接数字 频率合成的输出信号的频率中,引入了∫k*1的 图3直接数字频率合成器结构 相位偏移量。然而对于字长为32位,时钟频率为50 在本文DDFS核设计中,相位累加器字长为32 MHz的相位累加器,其偏移量只有0.0058Hz,在大 位,最高时钟频率是50MHz。因此,最小频率精度 多数应用中是可以忽略的。 为0.0116Hz。两个频率之间的转换时间为一个时 2.2正弦函数计算 钟,对于50MHz时钟,转换时间为20ns∞ 直接实现正弦函数需要22×10bROM。读取 ROM查找表输出的数字正弦采样值通过DA 大容量的ROM会降低系统速度,因此,有必要采用 转换器产生量化的模拟正弦波形,再通过低通滤波 正弦ROM压缩技术B4。 器去除高频分量,得到频率精度高的正弦波形输出。 当直接数字频率合成器产生的频率接近12时钟频 2.2.1正弦函数ROM查找表的取法 率时,第一级谐波很难滤除。在实际中,直接数字频 常用的一种技术是只存储π/2弧度的正弦采样 率合成的频率限制在40%时钟频率以内。 点,然后,利用正弦函数的1/4波形对称性,产生整个 2π弧度的正弦采样点。当用相位累加器的最高两位代 2结构设计 表正弦函数的象限,则最高位表示符号,次高位表示相 位在0-π2是增加还是减小,如图6所示。在大多数 2.1有限字长效应 直接数字频率合成实现中,数字都是两进制补码形 直接数字频率合成特性的优化主要在于有限字 式5。因此,ROM查找表的输入必须采用1/4相位的 长和正弦函数计算方法两方面。图4所示的功能 绝对值,并且输出要乘以1。这样,在求补的时候就会 块显示了三种基本的噪声源。它们分别是相位累加 引入12LSB的失调,如图7、图8所示。本文采用一 器截断P(n)、输出幅度量化A(n)和正弦函数压缩 进制补码代替两进制补码,它不会引入误差。正弦采样 误差G(·)。影响频率纯度的最主要误差源是相位 截断。一种相位累加器的简单优化如图5所示,它能 点的相位和幅度的1/2LSB失调是在生成ROM查找 够降低谐波幅度3B左右,同时在频率转换时,减 表时进行补偿的。这样,同时也节省了硬件,因为一进 小输出频谱对累加器中值的依赖。而且,优化结构使 制补码可以通过一组异或门来实现。 得相位累加器字长近似变为L+1。 Sine Funcdan …合区白 内 r e Phese Truncation Quarization Noise m几厂! 图4有限字长效应引入的噪声 图6采用对称结构的直接数字频率合成器 1995-2004 Tsinghua Tongfang Optical Disc Co..Ltd.All rights reserved.f out= f clk·FCW 2 L (1) 其中, FCW 为频率控制字, f clk为时钟频率, L 为相位累加器的字长。最小频率精度 ∃f 为: ∃f = f clk 2 L (2) 图 3 直接数字频率合成器结构 在本文DD FS 核设计中, 相位累加器字长为 32 位, 最高时钟频率是 50 M H z。因此, 最小频率精度 为 010116 H z。两个频率之间的转换时间为一个时 钟, 对于 50M H z 时钟, 转换时间为 20 n s。 ROM 查找表输出的数字正弦采样值通过DöA 转换器产生量化的模拟正弦波形, 再通过低通滤波 器去除高频分量, 得到频率精度高的正弦波形输出。 当直接数字频率合成器产生的频率接近 1ö2 时钟频 率时, 第一级谐波很难滤除。在实际中, 直接数字频 率合成的频率限制在 40% 时钟频率以内。 2 结构设计 211 有限字长效应 直接数字频率合成特性的优化主要在于有限字 长和正弦函数计算方法两方面[ 4 ]。图 4 所示的功能 块显示了三种基本的噪声源。它们分别是相位累加 器截断 P (n)、输出幅度量化A (n) 和正弦函数压缩 误差G (·)。影响频率纯度的最主要误差源是相位 截断。一种相位累加器的简单优化如图 5 所示, 它能 够降低谐波幅度 3 dB 左右, 同时在频率转换时, 减 小输出频谱对累加器中值的依赖。而且, 优化结构使 得相位累加器字长近似变为L + 1。 图 4 有限字长效应引入的噪声 图 5 累加器的简单优化 相位累加器优化结构的唯一缺点是在直接数字 频率合成的输出信号的频率中, 引入了 f clkö2 L + 1的 相位偏移量。然而对于字长为 32 位, 时钟频率为 50 M H z 的相位累加器, 其偏移量只有 010058 H z, 在大 多数应用中是可以忽略的。 212 正弦函数计算 直接实现正弦函数需要 2 12×10 b ROM。读取 大容量的 ROM 会降低系统速度, 因此, 有必要采用 正弦ROM 压缩技术[ 3, 4 ]。 21211 正弦函数 ROM 查找表的取法 常用的一种技术是只存储 Πö2 弧度的正弦采样 点, 然后, 利用正弦函数的 1ö4 波形对称性, 产生整个 2Π弧度的正弦采样点。当用相位累加器的最高两位代 表正弦函数的象限, 则最高位表示符号, 次高位表示相 位在 0- Πö2 是增加还是减小, 如图 6 所示。在大多数 直接数字频率合成实现中, 数字都是两进制补码形 式[ 5 ]。因此, ROM 查找表的输入必须采用 1ö4 相位的 绝对值, 并且输出要乘以- 1。这样, 在求补的时候就会 引入 1ö2 L SB 的失调, 如图 7、图 8 所示。本文采用一 进制补码代替两进制补码, 它不会引入误差。正弦采样 点的相位和幅度的1ö2 L SB 失调是在生成ROM 查找 表时进行补偿的。这样, 同时也节省了硬件, 因为一进 制补码可以通过一组异或门来实现。 图 6 采用对称结构的直接数字频率合成器 452 唐长文等: 一种高速直接数字频率合成器及其 FPGA 实现 2001 年 © 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved