DDS设计汇总.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DDS设计汇总

8.6 直接数字频率合成 1971年, 美国学者J.Tierncy、 C.M.Rader和B.Gold提出了以全数字技术、 从相位概念出发直接合成所需波形的一种新的频率合成原理。 随着技术和器件水平的提高, 一种新的频率合成技术——直接数字频率合成(DDS, Direct Digital Synthesis)得到了飞速的发展。 DDS技术是一种把一系列数字形式的信号通过DAC转换成模拟形式的信号的合成技术, 目前使用最广泛的一种DDS方式是利用高速存储器作查找表, 然后通过高速DAC输出已经用数字形式存入的正弦波。 DDS的主要优点是: 相位连续、 频率分辨率高、 频率转换速度快以及良好的可复制性能,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的姣姣者。 DDS广泛用于接收机本振、 信号发生器、 仪器、 通信系统、 雷达系统等, 尤其适合于跳频无线通信系统。 图8.32是DDS的基本原理框图, 频率控制字M和相位控制字分别控制DDS输出正(余)弦波的频率和相位。 DDS系统的核心是相位累加器, 它由一个累加器和一个N位相位寄存器组成。 每来一个时钟脉冲, 相位寄存器以步长M增加。 相位寄存器的输出与相位控制字相加, 其结果作为正(余)弦查找表的地址。 图8.32中正(余)弦查找表由ROM构成, 内部存有一个完整周期正弦波的数字幅度信息, 每个查找表的地址对应正弦波中0°~360°范围的一个相位点。 查找表把输入的地址信息映射成正(余)弦波幅度信号, 同时输出到数模转换器(DAC)的输入端, DAC输出的模拟信号经过低通滤波器(LPF), 可得到一个频谱纯净的正(余)弦波。 相位寄存器每经过2N/M个f c时钟周期后回到初始状态, 相应地正(余)弦查找表经过一个循环回到初始位置, DDS输出一个正(余)弦波。 输出的正(余)弦波周期为Tout=(2N/M)Tc, 频率为fout=(M/2N)fc。 DDS的最小分辨率为Δfmin=f c/2N, 当M=2N-1时, DDS最高的基波合成频率为foutmax=f c/2。 图8.32中虚方框内的部分是DDS的核心单元,它可以采用FPGA器件来实现,图8.33 给出了DDS核心单元的FPGA电路设计图, 其中字长N=10。 为了便于大家理解, 图8.33 中各个功能单元的名称已在图中标明, 其中在输出引脚“out_c[7 ..0]”和“out_s[7 ..0]”前分别放置了一个8位D触发器。 正(余)弦查找表分别由两个ROM宏模块“lpm_rom”构成, 有关查找表的设计方法, 请读者参阅6.3.3节的内容。 图8.34是DDS电路的MAX+PLUSⅡ波形仿真结果。 实际上, 从MAX+PLUSⅡ波形仿真结果中我们很难直观地看出DDS输出正(余)弦波的情况。 为了便于调试设计电路, 我们可以利用计算机高级语言将MAX+PLUSⅡ波形仿真结果转换为波形曲线, 这就需要借助于MAX+PLUSⅡ的表格文件(.tbl文件)。 MAX+PLUSⅡ的设计软件中的.tbl文件是纯文本文件, 它包含了.scf文件或.wdf文件中的所有信息。 .tbl文件的生成很简单, 在MAX+PLUSⅡ波形仿真结束后, 打开.scf文件, 然后从“File”菜单中选择“Create Table Files”选项, 就可产生.tbl文件。 .tbl文件的基本格式如表8.9所示, 文件的结构可分为四大部分, 其中第三和第四部分对我们来说是最关键的, 我们可以从中获取仿真波形数据, 并利用计算机高级语言处理这些数据, 将其转换为直观的波形曲线。 需要读者注意的是, 每做一次MAX+PLUSⅡ波形仿真, 都要重新生成一次.tbl文件, 以更新.tbl文件内的数据。 图8.35给出了DDS电路波形仿真结果所对应的.tbl文件的第三和第四部分内容。 .tbl 文件的第三部分按照.scf文件(参见图8.34)中显示的输入输出引脚的排列顺序, 从左至右依次列出输入引脚和输出引脚。 .tbl文件的第四部分给出了仿真数据, 这些数据按时间顺序排列, 并与相应的输入/输出引脚处于同一列, 输入引脚数据与输出引脚数据之间用“=”隔开。 仔细观察图8.35, 我们可以发现当“CLK”取值为“0”时, 此时的输出数据是我们希望得到的, 所以可编程将这些数据抽取出来并将其转换为十进制, 就可获得直观的仿真波形。 下面给出了一段用Matlab语言编写的程序,

您可能关注的文档

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档