FPGA实现DDS的设计.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA实现DDS的设计

FPGA实现DDS的设计 字体大小: 小 中 大 作者:吴曙荣 杨银堂 朱樟明 ??? 来源: ??? 日期:2008-01-09 ??? 点击:0 ??? 随着科技的发展,对信号发生器各方面的要求越来越高。传统的信号发生器由于波形精度低、频率稳定性差等缺点,已经不能满足许多实际应用的需要,所以必须研究新的信号发生器以满足实际应用的要求。近年来,直接数字频率合成器(DDS)由于其具有频率分辨率高、频率变换速度快、相位可连续变化等特点,在数字通信系统中已被广泛采用。随着微电子技术的发展,现场可编程门阵列( FPGA)器件得到了飞速发展。由于该器件具有速度快、集成度高和现场可编程的优点,因而在数字处理中得到广泛应用,越来越得到硬件电路设计工程师的青睐。 1 DDS的基本原理 ??? DDS的主要思想是从相位的概念出发合成所需的波形,其结构由相位累加器,相位—幅值转换器, D/A转换器和低通滤波器组成,是Tierney, Rader和Gold于1971年提出。它的基本原理框图如图1所示。 ? 图1 DDS的原理框图 ??? 图1中, fc 为时钟频率, K为频率控制字, N 为相位累加器的字长, m 为ROM地址线位数, n为ROM的数据线宽度(一般也为D/A转换器的位数) , fo 为输出频率, 输出频率fo 由fC 和K共同决定: fo = fC×K/2N 。又因为DDS遵循奈奎斯特(Nyquist)取样定律:即最高的输出频率是时钟频率的一半,即fo = fC/2。实际中DDS的最高输出频率由允许输出的杂散水平决定,一般取值为fo ≤40% fC。 ??? 对DDS进行优化设计,目的是在保持DDS原有优点的基础上,尽量减少硬件复杂性,降低芯片面积和功耗,提高芯片速度等。 2 优化构想 ??? 为了减小DDS的设计成本, 对其结构进行优化,优化后DDS的核心结构框图如下所示。 ? 图2 优化后的DDS核心框图 ??? 其中的地址转换器是根据adri[14]的数值判断数值是增长(0~π/2)或减少(π/2~π) ,数据转换器是根据adri[15]的数值判断生成波形的前半个周期(0~π)或者后半个周期(π~2π) 。 2. 1 流水线结构 ??? 将32位累加器分成4条流水线,每条流水线完成8位的加法运算,流水线的进位进行级联, 运用流水线结构可以提高累加器的运算速度3倍多。为了提高运算速度,加法器采用的是目前速度最快的预先进位算法;为了避免因预先进位传输链过长而影响速度,每8位加法器由两个4位加法器实现。如图3所示: ? 图3 流水线加法器框图 ??? 采用流水线结构可以提高器件的运算速度。但是缺点是数据需要保持4个时钟周期,降低了系统跳频的跳变频率。 2. 2 加法器最低位的修正 ??? 提取相位累加器的高16位输出作为ROM的查找地址,输出截位减少了ROM的容量,损失的低16位对生成波精度造成的误差可以忽略不计;但因此产生的截位误差却会对频谱纯度和输出带宽产生影响。实验表明当频率控制字K和截位误差2(32-16) 在为互质数的情况下可以将影响减到最小。解决的办法是在相位累加器的最低位加入c0,相位累加器的字长变为32 +1位,截位误差为2(32-16)+1 ,即频率控制字(奇数)和截位误差(偶数)之间互质。这样带来地址上1/2LSB的误差影响,但是在实际应用中可以忽略。 2. 3 ROM的压缩:三角近似法 ??? 三角近似法是利用三角恒等式近似的方法对ROM容量进行压缩:因为sin(A+B+C) = sin(A+B)cosC + cosAcosBsinC + sinAsinBsinC,当A 远大于B 和C时,则利用三角近似cosB≈1, sinC≈0 ,上式可以简化为: sin(A+B+C) = sin(A+B) + cosAsinC 。这样可以将ROM转化为两个较小的ROM,分别存储sin (A+B)和cosAsinC的值,这两个ROM的总容量为2A(2B+2C) 。从频谱和ROM容量两方面进行考虑,对于14位地址的最佳分割是: A=5,B=4,C=5。 ??? 对ROM表的压缩,是利用相位累加器的次高位来判断象限,将正弦合成波合成到0~π范围;最高位作为符号位, 将正弦波合成到0~2π范围。对于余弦波,符号位是由最高位与次高位异或得到,因为余弦波形比正弦波形提前π/2相位。但是因为正弦函数和余弦函数关于π/4对称,因此可以只存储(0~π/4)的正弦和余弦函数值,这样存储器大小将减小一半。相位累加器的次次高位可以在0~π/4和π/4~π/2之间选择。实际电路实现时,次次高位是与次高位异或产生这个信号。另外,为了完成正交输出,还要增加两个2:1多路选择器电路。 3 DDS的Verilog HDL实现 ??? Veri

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档