已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DDS 的 VHDL 实现及其高纯谱研究 内容摘要 频率合成技术在现代电子技术中具有重要的地位 在通信 雷达和导航等设备中 它可以作为干扰信号发生器 在测试设备中 可作为标准信号源 因此频率合成器被人们称 为许多电子系统的 心脏 直接数字频率合成 DDS Digital Direct Frequency Synthesis 技术是一种全新的频率合成方法 是频率合成技术的一次革命 本文主要分析了 DDS 的基本原理及其输出频谱特点 并采用 VHDL 语言在 FPGA 上实现 对于 DDS 的输出频谱 一个较大的缺点是 输出杂散较大 针对这一缺点本文使用了两个方法加以解决 首先是压 缩 ROM 查找表 在相同 ROM 容量的情况下 压缩后相当于把 512 点查找表扩展为 2048 点 过 采样的引入提高了 DDS 输出谱的纯度 其次 采用了相位随机抖动技术 引入了 M 序列作为 DDS 采样输出的相位随机抖动 这个方法把原来的均匀查表抽样变成为伪随机非均匀抽样 使 得 DDS 输出谱的杂散分量白化 同样使输出频谱纯度得到提高 本文最后用频谱分析仪做了 相关实验测试 在实验上验证了设计思想 关键词 DDS FPGA VHDL M 序列 频谱 The realization of DDS with VHDL and its high pure spectrum research Abstract The frequency synthesis technology has the important status in the modern electronic technology In equipment such as correspondence radar and navigation it may work as the unwanted signal generator In the test facility may work as the standard signal source therefore the frequency synthesizer is called by the people as the heart of many electronic systems DDS Digital Direct Frequency Synthesis technology is one brand new frequency synthetic method is a frequency synthesis technology revolution This paper analyzes the basic principle of DDS and its output frequency spectrum characteristic and realizes it with VHDL language on FPGA In regard to the output frequency spectrum of DDS a shortcoming is The output spurious is bigger In view of this shortcoming this article uses two methods to solve First compress the ROM search table in the same capacity of ROM it is equal to expand 512 searches tables to 2 048 after the compression the introduction of over sampling enhance the spectrum purity of DDS output Then utilize the phase random dither technology use the M sequence as the phase random dither of the DDS sampling output this method causes evenly look up table sampling turn to for pseudo random non even sampling it make the output spurious component of DDS change to white noise similarly enhance purity of the output frequency spectrum to This article finally used the spectrum analyzer to do the correlation experiment test has confirmed the design thought at the experiment Key words Digital Direct Frequency Synthesis FPGAFPGA VHDL M sequence Spectrum 1 2 目 录 一 频率合成技术概述及 DDS 性能特点 4 一 频率合成技术概述 4 二 DDS 特点 5 二 DDS 基本原理 6 一 波形存储器基本原理 6 二 DDS 基本原理 6 三 DDS 设计中的参数选择 8 四 小结 8 三 DDS 的 VHDL 语言实现 9 一 EDA 技术与 VHDL 语言 9 二 DDS 的 FPGA 实现方法 10 三 开发平台 10 四 基本 DDS 的 VHDL 实现与仿真 10 四 提高输出频谱纯度的方法与实验验证 14 一 DDS 的频谱纯度提高方法简述 14 二 相位随机抖动原理与 VHDL 实现 15 三 频谱纯度提高的实验验证 20 五 程序下载及硬件调试 20 一 FPGA 的配置和下载 20 二 调试与程序固化 21 六 结束语 21 七 致谢 22 参考文献 22 3 附录 23 一 各组成模块的 VHDL 程序 23 二 实物照片图与测试数据 30 4 DDS 的 VHDL 实现及其高纯谱研究 一 频率合成技术概述及 DDS 性能特点 一 一 频率合成技术概述 频率合成是指由一个或多个频率稳定度和精确度很高的参考信号源通过频率域的线形运 算 产生具有同样稳定度和精确度的大量离散频率的过程 实现频率合成的电路叫频率合成 器 频率合成器是现代电子系统的重要组成部分 它在很多领域都有很广泛的应用 如在通 信 雷达 导航 遥控摇测 电子对抗 以及现代化的仪器仪表的领域 都可以看到频率合 成器的身影 由于它应用领域的广泛 所以人们对它进行了深入的研究 到现在为止 已经 发展到了第三代频率合成技术 随着电子技术的不断发展 对频率合成器的要求越来越高 频率合成器的主要性能指标 有 1 输出频率范围 频率范围是指频率合成器输出最低频率和输出最高频率之间的变化范围 它包含中心频 率和带宽两个方面的含义 2 频率稳定度 频率稳定度是指在规定时间间隔内 频率合成器输出频率偏离标定值的数值 它分长期 短期和瞬间稳定度三种 3 频率间隔 频率间隔是指两个输出频率的最小间隔 也称频率分辨率 4 频率转换时间 频率转化时间是指输出由一个频率转换到另一个频率的时间 5 频率纯度 频率纯度以杂散分量和相位噪声来衡量 杂散又称寄生信号 分为谐波分量和非谐波分 量两种 主要由频率合成过程中的非线形失真产生 相位噪声是衡量输出信号抖动大小的参 数 6 调制性能 调制性能是指频率合成器的输出是否具有调幅 调频 调相等功能 频率合成器的实现方法有三种 直接模拟频率合成 间接频率合成和直接数字频率合成 直接模拟频率合成技术是一种早期的频率合成技术 它用一个或几个参考频率源经谐波 发生器变成一系列谐波 再经混频 分频 倍频和滤波等处理产生大量的离散频率 这种方 法的优点是频率转换时间短 相位噪声低 但是由于采用大量的混频 分频 倍频和滤波等 途径 使频率合成器的体积大 成本高 结构复杂 容易产生杂散分量 且难于抑制 间接频率合成技术又称锁相式频率合成 它是利用锁相技术实现频率的加 减 乘 除 其优点是由于锁相环路相当于一个窄带跟踪滤波器 因此能很好地选择所需频率的信号 抑 制杂散分量 且避免了大量使用滤波器 十分有利于集成化和小型化 此外 一个设计良好 的压控振荡器具有高的短期频率稳定性 而标准频率源具有高的长期频率稳定度 锁相式频 率合成器把这两者结合在一起 使其合成信号的长期频率稳定度和短期频率稳定度都很高 但锁相式频率合成器的频率转换时间较长 单环频率合成器的频率间隔不可能做得很小 直接数字频率合成 DDS Digital Direct Frequency Synthesis 技术是一种全新的 频率合成方法 是频率合成技术的一次革命 这种技术首先由美国学者 J 5 Tierny C M Rader 和 B Gold 三人于 1971 年首次提出 但限于当时的技术和工艺水平 DDS 技术仅仅在理论上进行了一些探讨 而没有应用到实际中去 随着微电子技术的迅速发展 直接数字频率合成 DDS Digital Direct Frequency Synthesis 得到了飞速发展 它以 有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的佼佼者 具体体现在 相对带宽宽 频率转换时间短 频率分辨率高 输出相位连续 可产生宽带正交信号及其他 多种调制信号 可编程和全数字化 控制灵活方便等方面 并具有极高的性价比 二 DDS 特点 DDS 是一种全数字化的频率合成器 由相位累加器 波形 ROM D A 转换器和低通滤波器 构成 时钟频率给定后 输出信号的频率取决于频率控制字 频率分辨率取决于累加器位数 相位分辨率取决于 ROM 的地址线位数 幅度量化噪声取决于 ROM 的数据位字长和 D A 转换器 位数 DDS 在相对带宽 频率转换时间 相位连续性 正交输出以及集成化等一系列性能指标方 面远远超过了传统频率合成技术所能达到的水平 为系统提供了优于模拟信号源的性能 它的一些优点如下 1 输出频率相对带宽较宽 输出频率带宽为 50 理论值 但考虑到低通滤波器的特性和设计难度以及对输出信号 杂散的抑制 实际的输出频率带宽仍能达到 40 2 频率转换时间短 DDS 是一个开环系统 无任何反馈环节 这种结构使得 DDS 的频率转换时间极短 事实上 在 DDS 的频率控制字改变之后 需经过一个时钟周期之后按照新的相位增量累加 才能实现 频率的转换 因此 频率转换时间等于频率控制字的传输 也就是一个时钟周期的时间 时 钟频率越高 转换时间越短 DDS 的频率转换时间可达纳秒数量级 比使用其它的频率合成方 法都要短数个数量级 3 频率分辨率极高 若时钟的频率不变 DDS 的频率分辨率就是由相位累加器的位数 N 决定 只要增加相位累 加器的位数 N 即可获得任意小的频率分辨率 目前 大多数 DDS 的分辨率在 1Hz 数量级 许 多小于 1mHz 甚至更小 4 相位变化连续 改变 DDS 输出频率 实际上改变的是每一个时钟周期的相位增量 相位函数的曲线是连 续的 只是在改变频率的瞬间其频率发生了突变 因而保持了信号相位的连续性 5 输出波形的灵活性 只要在 DDS 内部加上相应控制如调频控制 FM 调相控制 PM 和调幅控制 AM 即可以方便 灵活地实现调频 调相和调幅功能 产生 FSK PSK ASK 和 MSK 等信号 另外 只要在 DDS 的波形存储器存放不同波形数据 就可以实现各种波形输出 如三角波 锯齿波和矩形波甚 至是任意的波形 当 DDS 的波形存储器分别存放正弦和余弦函数表时 既可得到正交的两路 输出 6 其他优点 由于 DDS 中几乎所有部件都属于数字电路 易于集成 功耗低 体积小 重量轻 可靠 性高 且易于程控 使用相当灵活 因此性价比极高 DDS 也有局限性 主要表现在 1 输出频带范围有限 由于 DDS 内部 DAC 和波形存储器 ROM 的工作速度限制 使得 DDS 输出的最高频有限 目前市场上采用 CMOS TTL ECL 工艺制作的 DDS 芯片 工作频率一般在几十 MHz 至 400MHz 左右 采用 GaAs 工艺的 DDS 芯片工作频率可达 2GHz 左右 2 输出杂散大 由于 DDS 采用全数字结构 不可避免地引入了杂散 其来源主要有三个 相位累加器相 6 位舍位误差造成的杂散 幅度量化误差 由存储器有限字长引起 造成的杂散和 DAC 非理想 特性造成的杂散 二 DDS 基本原理 一 波形存储器基本原理 波形存储器 ROM 地址译码 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 可寻址空间 2 N 在 2个单元内存储 N 一个周期的波形 图 1 ROM 内部存取数原理 DDS 采用的是全数字结构 它将用一定的算法预先把以时钟频率对正弦信号进行抽样得到 的值放存储器中 这里以 ROM 为例 如果 ROM 有 N 条地址线 则这个存储器的存储空间为 2 存储器中的数据与波形的关系如图 1 所示 假如在 2个存储单元内存放了一个周期的 NN 正弦波形数据 则每个单元内的数据就表示正弦值的大小 这种存储器称为波形数据存储器 如果重复地从 0 2 l 单元读出波形数据存储器中的数据 在波形数据存储器的输出端就会 N 得到周期的正弦序列 此时得到的数据是抽样量化后的正弦信号 如果将周期的正弦序列输 入到 D A 转换器 则会在 D A 转换器的输出端得到连续的正弦电压或电流 输出序列的周期 是由时钟周期来确定的 设时钟周期为 T 且 ROM 的地址长度为 2 则输出信号的周期为 clk N T 2 T 这说明输出信号的周期与时钟周期成正比 时钟频率越高 读取信号一个周 out N clk 期时间越短 信号频率越高 二 DDS 基本原理 对于正弦信号发生器 它的输出可以用下式来描述 S Asin t Asin 2 ft 1 OUT out 其中 S是指该信号发生器的输出信号波形 f是指输出信号对应的频率 上式的表达对 OUT out 于时间 t 是连续的 为了用数字逻辑式实现该表达式 必须进行离散化处理 用基准时钟 clk 进行抽样 令正弦信号的相位 2 ft 2 out 7 在一个 clk 周期 T 相位 的变化量为 clk 2 fT 3 outclk clk out f f 2 其中 f 是指 clk 的频率对于 2 可以理解为 满 相位 为了对 进行数字量化 把 clk 2 切割成 2份 由此每个 CLK 周期的相位增量 用量化值 B来描述 N B 2 且 B为整数 与式 3 联立 可得 2 N clk out N f f B 2 B 2 4 N clk out f f 显然 信号发生器的输出可能为 S Asin Asin B B OUT 1 k N 2 2 1 k Af B B 5 sin 1 k 其中 指前一个 clk 周期的相位值 同样得出 1 k B 2 6 1 k 2 1 kN 由上面的推导 可以看出 只要对相位的量化增量进行简单的累加运算 就可以得到正 弦信号的当前值 而用于累加的相位增量量化值 B决定了信号的输出频率 f 并呈现简单 out 的线形关系 直接数字合成器 DDS 就是根据上述原理而设计的数字控制频率合成器 频 率 控 制 字 相 位 累 加 器 正弦查表 ROM D A 参考时钟源 图 2 基本 DDS 结构 如图 2 所示的是一个基本的 DDS 结构 主要由相位累加器 同步寄存器 正弦 ROM 查找 表 D A 构成 相位累加器是整个 DDS 的核心 在这里完成上文原理推导中的相位累加功能 8 相位累加器由 N 位加法器与 N 位累加寄存器级联构成 相位累加器的输入是相位增量 B 又由于 B与输出频率 f是简单的线形关系 B 2 相位累加器的输入即相位增 out N clk out f f 量又可以称为频率控制字 用 K 来表示 每来一个时钟脉冲 f 加法器将频率字 k 与累加 clk 寄存器输出的累加相位数据相加 把相加后的结果送到累加寄存器的数据输入端 以使加法 器在下一个时钟脉冲的作用下继续与频率控制字相加 这样 相位累加器在时钟作用下 不 断对频率控制字进行线性相位累加 由此可以看出 相位累加器在每一个时钟输入时 把频 率控制字累加一次 相位累加器输出的数据就是合成信号的相位 相位累加器的输出频率就 是 DDS 输出的信号频率 K 的大小控制了地址加法器输出的递增速率 在此设计中 把 K 设计 成可变值 增加了频率控制的灵活性 其中 K 的最小为 1 最大为 511 在时钟频率 f不 clk 变的情况下 K 的大小控制了 D8 D0 从最小到最大变化所用的时间 K 大 每次运算的结果 较前一次的数据增长就大 因而地址数据循环一周所需时间就短 这意味着 D A 转换器输出 的波形频率就高 反之则相反 用相位累加器输出的数据作为波形存储器 ROM 的相位取样地址 这样就可把存储在波 形存储器内的波形抽样值 二进制编码 经查找表查出 完成相位到幅值转换 波形存储器 的输出送到 D A 转换器 D A 转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量 形式信号 低通滤波器用于滤除不需要的取样分量 以便输出频谱纯净的正弦波信号 三 DDS 设计中的参数选择 一般而论 DDS 的组成形式如图 2 所示 图中波形数据存储器的全部数据被读出一次的频率为 f K 7 N clk f 2 式中 f 波形数据存储器输出信号的频率 N 地址加法器的数据宽度 K 频率控制字 f 系统的时钟频率 clk 四 小结 综上所述 DDS 由以下两次变换实现 1 从不变量 K 以时钟 f产生量化的相位序列 clk 这个过程一般由一个以 f作时钟的 N 位相位累加器来实现 如图 3 所示 clk 累 加 器频率控制字 N 位 寄 存 器相位量化序列 图 3 产生相位序列的过程 2 从离散量化的相位序列产生对应的正弦信号的离散幅度序列 9 这个过程可由对波形 ROM 的寻址来完成 如图 4 所示 相位量化序列波 形 ROM 正弦幅度序列 图 4 产生正弦幅度序列的过程 把量化的数字波形经 D A 转换 再经过低通滤波器就得到频率为 f 的正弦信号 不变量 K 被称为相位增量 也叫频率控制字 当 K 1 时 DDS 输出最低频率 也即频率 分辨率 为 因此 只要 N 足够大 DDS 可以得到很细的频率间隔 要改变 DDS 输出频 N clk f 2 率 只要改变 K 即可 DDS 的最大输出频率由 Nyquist 采样定理决定 即为 2 clk f 三 DDS 的 VHDL 语言实现 一 EDA 技术与 VHDL 语言 1 EDA 技术 现代电子设计的核心是 EDA Electronic Design Automation 技术 它是一种实现电子 系统或电子产品自动化设计的技术 它与电子技术 微电子技术的发展密切相关 它吸收了 计算机领域的大多数最新研究成果 以高性能的计算机作为工作平台 是 20 世纪 90 年代从 CAD Computer Aided Design 计算机辅助设计 CAM Computer Aided Manufacture 计算 机辅助制造 CAT Computer Aided Test 计算机辅助测试 和 CAE Computer Aided Engineering 计算机辅助工程 的概念发展起来的 EDA 工具是以计算机的硬件和软件为基本工作平台 集数据库 图形学 图论与拓扑逻辑 计算数学 优化理论等多学科最新成果研制而成的计算机辅助设计通用软件包 它依赖功能 强大的计算机 在 EDA 工具软件平台上 对以硬件描述语言 HDL Hardware Description Language 为系统逻辑描述手段完成的设计文件 自动地完成逻辑编译 逻辑化简 逻辑分 割 逻辑综合 结构综合 布局布线 以及逻辑优化和仿真测试 直至实现既定的电子硬件 电路系统功能 EDA 技术使得设计者的工作仅限于利用软件的方式 即利用硬件描述语言和 EDA 软件来完成对系统硬件功能的实现 EDA 技术和可编程逻辑器件给今天的硬件系统设计者提供了强有力的工具 使得电子系统 发生了质的变化 传统的 固定功能集成块 连线 的设计方法正逐步地退出历史舞台 而基 于芯片的设计方法正在成为现代电子系统的主流 2 VHDL 语言 硬件描述语言 HDL Hardware Description Language 是一种用形式化方法来描述数字 电路和设计数字逻辑系统的语言 它可以使数字逻辑电路设计者利用这种语言来描述自己的 设计思想 然后利用 EDA 工具进行仿真 再自动综合到门级电路 再用 PLD 或 ASIC 实现其 功能 硬件描述语言的发展至今己有 20 多年的历史 并成功地应用于设计的各阶段 仿真 验证 综合等 到 20 世纪 80 年代时 已出现了上百种硬件描述语言 它们对设计自动化起 到了极大的促进和推动作用 但是 这些语言一般各自面向特定的设计领域与层次 而且众 多的语言使用户无所适从 因此急需一种面向设计的多领域 多层次 并得到普遍认同的标 准硬件描述语言 进入 80 年代后期 硬件描述语言向着标准化的方向发展 最终 VHDL 和 Verilog HDL 语言适应了这种趋势的要求 先后成为 IEEE 标准 VHDL 诞生于 1982 年 它的英文全名是 VHSIC Hardware Description Language 而 10 VHSIC 则是 Very High Speed Integerated Circuit 的缩写词 意为甚高速集成电路 1987 年 VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言 自 IEEE 公布了 VHDL 的标准 版本 IEEE 1076 之后 各 EDA 公司相继推出了自己的 VHDL 设计环境 或宣布自己的设计 工具可以和 VHDL 接口 1993 年 IEEE 对 VHDL 进行了修订 从更高的抽象层次和系统描述 能力上扩展 VHDL 的内容 公布了新版本的 VHDL 即 IEEE 标准的 1076 1993 版 VHDL 主要用于描述数字系统的结构 行为 功能和接口 除了含有许多具有硬件特性 的语句外 VHDL 的语言形式 描述风格与句法是十分类似于一般的计算机高级语言 VHDL 的程序结构特点是将一项工程设计 或称设计实体 可以是一个元件 一个电路模块或一个 系统 分成外部 或称可视部分 即端口 和内部 或称不可视部分 即涉及实体内部功能和算 法的完成部分 在对一个设计实体定义了外部界面后 一旦其内部开发完成后 其他的设 计就可以直接调用这个实体 这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本 点 二 DDS 的 FPGA 实现方法 虽然目前市场上有较多功能完备的 DDS 芯片 但是一般属于高速芯片 价格较高 同时 专用型的 DDS 控制方式相对固定 在低速应用方面利用 FPGA 设计则可以根据需要方便地实现 各种比较复杂的功能 具有良好的灵活性 因此本文采用了 FPGA 设计 DDS 芯片 利用软件 MaxPlusII 就可以设计我们需要的功能模块 本系统硬件设计中 采用的时钟频率是 10MHz 使用了 EPF10K20TC144 4 的 FPGA 在该芯片上 通过 VHDL 硬件描述语言设计完成以下功能的 模块及相关控制单元 最后把这些模块连接起来构成一个完整系统就可实现 DDS 主要有 可控相位累加累减器 判决控制器 寄存器 M 序列发生器 延时器 三 开发平台 DDS 技术的实现依赖于高速 高性能的数字器件 可编程逻辑器件以其速度高 规模大 可编程 以及有强大 EDA 软件支持等特性 十分适合实现 DDS 技术 在一般的设计开发中 我们常使用由 PLD 公司提供的集成 EDA 软件 这些集成的开发软件提供了设计输入编辑器 HDL 综合器 FPGA CPLD 适配器 门级仿真器和编程下载器等一整套完整的开发工具 如 Lattice 的 ISP LEVER 和 ISP Design EXPERT Altera 的 MaxPlus II 和 Quarters II Xilinx 的 ISE 和 Foundation 等 Altera 是著名的 PLD 生产厂商 多年来一直占据着行业领先的地位 Altera 的 PLD 具有 高性能 高集成度和高性价比的优点 此外它还提供了功能全面的开发工具和丰富的 IP 核 宏功能库等 因此 Altera 的产品获得了广泛的应用 Altera 的产品有多个系列 按照推出的 先后顺序依次为 Classic 系列 MAX Multiple Array Matrix 系列 FLEX Flexible Logic Element Matrix 系列 APEX Advanced Logic Element Matrix 系列 ACEX 系列 Stratix 系列以及 Cyclone 等 Maxplus II 是 Altera 提供的 FPGA CPLD 开发集成环境 它是一个完整的 EDA 开发软件 可完成从设备输入 编译 逻辑综合 器件适配 设计仿真 定时分析 器件编程的所有过 程 Maxplus II 界面友好 使用便捷 被誉为业界最易学的 EDA 软件 它提供了一种与结构 无关的设计环境 使设计者能方便地进行设计输入 快速处理和器件编程 我们在此设计中 就是利用的 MaxPlusII 这个软件 四 基本 DDS 的 VHDL 实现与仿真 在此设计中 利用了正弦信号在不考虑信号的极性的情况下 四分之一周期能够包含一个 周期内的所有内容的原理 因此 本文中在 ROM 中只储存了正弦波四分之一周期的采样值 采 用 VHDL 语言编写出控制语言 并结合硬件 实现了通过 D A 转换器就能恢复出正确的正弦值 11 的系统功能 由于仅仅储存了正弦波四分之一周期的采样值 提高了 ROM 的利用率 从而提 高了频率分辨率 在此设计思想上 设计出了以下几个部分实现 DDS 的功能 1 实现判决控制功能的模块 由于选用的 FPGA 芯片 EPF10K20TC144 4 中 ROM 的最大容量为 12 288Kbit 有两个 ROM 每个 ROM 宽度为 8bit 各为 6 144Kbit 在本设计中只需要一个 ROM 因此可以把它们合并起 来构成 16 比特储存宽度 由此可得到地址线的长度为 2 6144 8 768 N N 9 58 N 可取 9 以上计算表明可以在 ROM 中最大存入 768 个查找点 本文中为了方便 取 512 个点 这个 值刚好是 29将大大方便后面的设计 实验表明要达到最大 768 个点 编译时要出错 该选用 的 FPGA 的 EAB 单元还不足够 由于设计思路是在 ROM 中只存入四分之一周期的数据 这样可以提高采样点数 使输出 频率范围更宽 因此 设计了一个实现判决控制功能的模块 在此模块中 实现的功能是对 输入的时钟进行计数并通过与除法器输出的数据比较并判决 由判决的结果控制相位累加累 减器的加减计数功能同时输出控制信号控制输出信号的符号 因此利用 VHDL 语言设计出了可 实现此功能的模块 仿真结果如图 5 所示 可以看出 通过频率控制字的控制 输出端输出 了控制累加累减的信号 enable 以及控制符号的信号 zhengfu 所以此模块可以实现记 数及判决功能 判决控制模块部分程序 cc process clk cout begin if clk event and clk 1 then if cout 000 then enable 0 elsif cout 001 then enable 1 elsif cout 010 then enable 0 elsif cout 011 then enable 000 and cout 001 then zhengfu 001 and cout 011 then zhengfu 0 else null end if end if end process cc 图 5 判决控制模块仿真图 12 2 可控累加累减器 在此模块中 受判决器模块输出信号的控制可实现累加或累减的功能 这样就可以实现 用四分之一周期表示完整正弦周期的信号特征 如图 6 图 7 图 8 及图 9 所示 当频率控制 字 freqin 不同时 累加累减的速度不同 当累加累减信号 enable 不同时 系统的功 能也不同 即当 enable 为 0 时 实现累加功能 当 enable 为 1 时 实现累减 功能 可控累加累减器部分程序 process clk1 begin if res 1 then acc 000000000 else if clk1 event and clk1 0 then freqw freqin if enable1 0 then acc acc freqw elsif enable1 1 then acc acc freqw else acc 0 end if end if end if ddsout acc end process 图 6 频率控制字为 2 enable 为 0 时的累加器以 2 做累加仿真图 图 7 频率控制字为 2 enable 为 1 时的累减器以 2 做累减仿真图 图 8 频率控制字为 4 enable 为 0 时累加器以 4 做累加仿真图 13 图 9 频率控制字为 4 enable 为 1 时的累减器以 4 做累减仿真图 由以上几个仿真图可以知道累加累减器设计是正确的 3 寄存器 在设计中引入了一个寄存器寄存相位累加累减器输出的数据 可以减小误差 寄存器仿 真结果如图 10 所示 表明此模块可以实现寄存的功能 图 10 寄存器仿真图 4 ROM 查找表的建立及除法模块的设计 在 DDS 中 需要在 ROM 中预先存入正弦信号的采样点值 所以首先需要建立 ROM 查找表 利用 MATLAB 语言可以很简单精确的得到抽样点值 具体程序如下 i 0 1 512 y round sin 65535 2 pi 512 i 在 MaxPlusII 中 有一个参数可设置模块库 LPM Library of Parameterized Modules 该库可以以图形或硬件描述语言的方式调用 这使得基于 EDA 技术的电子设计的 效率和可靠性有了很大提高 在此设计中 调用了其中的 LPM ROM 函数 根据所设计的系统 对 LPM ROM 的参数进行设置 同时为 ROM 配置数据文件 利用 MATLAB 工具产生 512 点查表数 据 再把该数据映射到 ROM 配置文件中 就可以实现正确调用 LPM ROM 另外 在设计中还调 用了 LPM 库中的 LPM divide 模块 输出的数作为判决控制器的输入 实现判决控制器的功能 5 数控分频器 数控分频器的功能就是当在输入端给定不同输入数据时 将对输入的时钟信号有不同的 分频比 这里采用的方法就是用计数值可并行预置的加法计数器设计完成的 方法是将计数 溢出位与预置数加载输入信号相接即可 如图 11 所示 当控制位 D 不同时 输出的频率 FOUT 也不同 图 12 图 13 显示了不同控制位时的分频比 14 图 11 分频器的波形仿真图 图 12 当为四分频时的波形仿真图 图 13 十分频时的波形仿真图 6 顶层文件 一个程序只可以有一个顶层文件 其他文件都是间接或直接进行调用的 在此设计中 为 DDS 的主体部分设计了一个顶层模块 这样在设计系统模块时方便调用 该顶层模块的仿 真结果如图 14 图 15 所示 当频率控制字不同时 输出的 data 改变速度不同 从而实现 输出频率不同的正弦波的系统功能 图 14 顶层文件仿真图 频率控制字为 2 时 图 15 顶层文件仿真图 频率控制字为 4 时 15 四 提高输出频谱纯度的方法与实验验证 一 DDS 的频谱纯度提高方法简述 实际系统中常常要考虑 DDS 的频谱纯度 频谱纯度不高这是 DDS 的最大缺点之一 这往 往限制了 DDS 在更多场合下的应用 分析原因可知 主要是由于 DDS 是全数字化结构 它的 工作原理使得 DDS 中不可避免地存在幅度量化误差 相位截断误差等因素 从而引起输出频 谱变坏 对于降低杂散功率的方法 目前研究的已比较多 归纳起来主要有三种 第一种方法是优化设计波形 ROM 和相位累加器 为了降低相位截断误差 需要增加波形 ROM 的地址线位数 但地址线位数增加一位 ROM 的容量就要增加一倍 因此一味增加地址线 位数是不切实际的 可以通过压缩存储数据来等效地增大 ROM 数据寻址位 压缩 ROM 方法可 以采用插值算法 在采样点之间通过算法实现插入多个点 从而扩大查找表的有效点数 最 简单而直接的方法即只保存正弦波 0 2 区间的数据 然后利用对称性来恢复其它象限的 数值 这样一来可得到 4 1 的数据压缩比 第二种提高频谱纯度的方法是用随机抖动法提高无杂散动态范围 由于 DDS 的周期性 输出杂散频谱往往表现为离散谱线 随机抖动技术使离散谱线均匀化 从而提高输出频谱的 无杂散动态范围 图 16 17 所示的是两种常见的随机抖动技术 还有一种方法是以过采样的方法降低带内误差功率 当量化噪声为白噪声时其功率是均 匀分布在 0 f clk 2 频带内的 f clk为采样频率 如果提高采样频率 则在原先频带 内的噪声功率将降低 通过低通滤波器后 带外噪声被滤除 频谱将得到改善 但是这个方 法会降低 DDS 的工作频率 通过对三种方法的比较 本文采用了压缩存储数据和随机抖动技术相结合的方法来提高 频谱纯度的方法 在第三章已经介绍了压缩存储数据的方法 本章主要讨论随机抖动技术的 方法 相 位 累 加 器 抖 动 序 列 波 形 ROM B N AA N 图 16 一种采用相位随机抖动序列提高频谱纯度的方案 波 形 ROM 抖 动 序 列 D A 转换器 图 17 一种采用幅度随机抖动序列提高频谱纯度的方案 二 相位随机抖动原理与 VHDL 实现 1 相位随机抖动原理分析 理论分析表明抖动技术可以有效地提高无杂散动态范围或降低杂散分量 随机抖动可以 16 提高 DDS 的输出无杂散动态范围 在于它破坏了杂散的相关性 把离散的强度较大的杂散谱 白化 抖动的方法有好几种 如抖动频率控制字 抖动波形 ROM 的地址和抖动正弦波幅度 频率控制字抖动时 每次抖动前应把上一次的抖动减掉 否则抖动将在相位累加器中积累 产生频率调制 因此这种抖动实现起来电路复杂 把伪随机抖动加入在相位累加器输出端 见图 16 从而可以达到提高 DDS 频谱纯度的目的 这个方法的另一个好处是不会降低 DDS 工作的速度 本文利用的是抖动波形 ROM 的地址的方法 相位抖动的原理图如图 16 所示 抖动源可以看成是一个在 0 2 1 上均匀分布的随机 R 序列 r n 相位累加器输出的相位序列 n 和抖动序列 r n 相加后再进行相位截 PP 断 DDS 的输出序列 S n 为 P S n sin nK e n cos nK 8 P N 2 2 N 2 2 N 2 2 其中 e n e n r n 为总的相位截断误差 PP 因为 r n 有 2 个取值 2 个取值中小于 2 e n 的有 2 e n 个 而当 P RRR P R P r n 小于 2 e n 时 有 e n r n 2 抖动后不对相位截断起作用 此 P R PPP R 时 总的相位截断误差 e n e n 因此 e n e n 的概率 P 为 PP1 P 9 1 R P R ne 2 2 同理当 r n 2 e n 时 有 e n r n 2 抖动后对相位截断起作 P R PPP R 用 此时总的相位截断误差 e n e n 2 其概率 P为 P R 2 P 10 2 R P ne 2 由上两式 对于所有 n 总的相位截断误差的均值为 E e n e n e n 2 P R P R ne 2 2 P R R P ne 2 0 11 总的相位截断误差方差为 E e n e n e n 2 22 P R P R ne 2 2 P R2 R P ne 2 2 e n e n 12 R PP 在相位截断误差的最坏情况是 GCD K 2 1 此时 e n 的一个周期取到了 R P 0 2 1 内的所有值 因此 由上式 误差功率的平均值为 R 17 1 e n E 2 R 2 1 12 0 2 R n R nn 13 6 122 R 有相位截断误差时最好的情况是 GCD K 2 2 此时 e n R1 R P 2 0 2 0 由上 误差功率的平均值为 1 R1 R e n 0 2 2 2 E u 2 2 1 R1 R1 R 14 8 22R 根据式 8 可求得有相位截断误差时的信噪比上限 SNR和下限 SNR 分别为 u 1 SNR 6A 6 9 dB u SNR 6A 8 2 dB 15 1 已知在未加入相位噪声时信噪比的上限 SNR 和下限 SNR 分别为 pd SNR 6A 8 2 dB p SNR 6D 4 8 dB 16 d 其中 A 与 D 取值相互关联 A 2 D 式 15 和式 16 相比可知 相位抖动后相位截断误差功率没有变化 但是由于抖动打 破了相位截断误差的周期性 误差功率谱由原来的离散谱线变成了均匀分布的宽带噪声 从 而提高了信号 噪声功率谱密度比 即提高了无杂散动态范围 M 序列是最长周期线形反馈移位寄存器序列 它具有良好的伪随机特性 其功率谱类似 白噪声 是产生抖动序列的较好信号源 为此可以构建一个长周期的 M 序列作为抖动源 把 它附加在累加器输出低位地址上就可实现相位的随机抖动 在 FPGA 中实现 M 序列是很容易的 一个生成多项式为 的 M 序列构成数1 47 xxxs 据加扰器原理见图 18 此多项式在 WLAN 中已有实际应用 18 DDDDDDD 数据入数据出 图 18 抖动序列的实现原理 这个加扰器 由 7 个 D 触发器和一个异或门构成 可以产生周期为 127 的重复序列 对 于 DDS 的 ROM 点数来说 127 这个值仍旧太小 本文使用了生成多项式为 1 220 xxxs 的 M 序列 可以产生脉冲为周期的序列 这个伪随机序列要在查找 ROM 很多10485751220 个周期后才会重复 因此其随机性相当好 设计中要注意的是 若上电时所用的 D 触发器都置 0 则 M 序列将无法工作 本文中用了 两组 M 序列 采用相同的生成多项式 分别加在累加器输出的低 2 位地址上 利用上电复位 把两组 M 序列初始状态分别置于 000000000000000001 和 00000000000000000011 状态 这样避免了不能正常工作的困难 同时它们的输出也不会相同 2 VHDL 语言实现 通过 VHDL 语言可以很方便的设计出 M 序列发生器 但是在设计中要考虑 M 序列与系统接 口的问题 M 序列接入系统的原理图见图 19 如图所示 首先要考虑 M 序列改变原采样地址 后的时间匹配问题 首先 M 序列并不需要在每次时钟到来时都改变原地址 所以首先对时钟 频率分频 由分频后的时钟对 M 序列进行控制 其次 M 序列与原地址相加后 使地址发生偏 移 所以需要加入一个由 M 序列控制延时时间的延时器 延时后的地址才是正确的 M 序列波 形仿真如图 20 所示 由图可以看出 模块输出了周期很长的 M 序列 Dout1 和 DOUT2 并且由于对它们设置了不同的初始值 所以得到的波形也不相同 延时后的输出地址仿真图 如图 21 所示 由图可以看出 M 序列使输出地址产生了延时 同时当 M 序列输出值不同时 延时时间也不同 从而保证了系统的正确性 其功能相当于实现正弦信号的非均匀抽样后再 输出 M 序列发生器模块部分程序 architecture one of sequence is signal q1 std logic vector 19 downto 0 signal q2 std logic vector 19 downto 0 begin Dout q1 0 process clk reset begin if reset 1 then q1 00000000000000000001 19 q2 00000000000000000011 else if clk event and clk 1 then M loop for i in 0 to 18 loop q1 i 1 q1 i q2 i 1 q2 i end loop M loop q1 0 q1 19 xor q1 2 q2 0 q2 19 xor q2 2 end if end if end process end one 延 时 4 分频时钟序列 原 地 址 M 序列发生器 ROM 存储 器 图 19 M 序列嵌入系统原理图 图 20 M 序列仿真波形 延时模块部分程序 a process clk reset Din Min q1 q2 q3 q0 begin if reset 1 then q0 000000000 q1 000000000 q2 000000000 q3 000000000 else if clk event and clk 1 then 20 q0 Din q1 q0 q2 q1 q3 Dout Dout Dout Dout null end case end process a 图 21 延时后的输出地址 三 频谱纯度提高的实验验证 采用了惠普 HP3562A 频谱分析仪 对加入随机相位抖动序列的 DDS 输出频谱和没有加随 机抖动序列的输出谱进行了比较 测试了几组数据见表 1 从输出的频谱特点来看 见图 22 23 没有加入随机相位抖动的 DDS 输出谱是离散的 而加入随机抖动序列的输出谱类似 连续谱 比较靠近主瓣的第一杂散谱最大峰值与主瓣峰值的差 可以看到加入随机相位抖动 序列后主瓣与第一杂散谱最大峰值之差增大 这表明 DDS 输出谱的动态范围的确提高了 证 明了随机序列的确提高了输出谱的动态范围从而提高了谱的纯度 具体数值见表 1 图 22 未加入 M 序列的频谱 21 图 23 加入 M 序列的频谱 表 1 频谱测试数据 DDS 输出频 率 未加入随机抖 动时的基波分 量 未加入随机抖动时 的一次谐波分量 加入随机抖动 时的基波分量 加入随机抖动时 的一次谐波分量 DDS 输出谱无杂 散动态范围提 高程度 1KHz5 19dBVrms 27 5dBVrms5 2dBVrms 28 6dBVrms1 11dBVrms 1 87KHz4 83dBVrms 21 87dBVrms4 6Vrms 23 45Vrms1 35dBVrms 2 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗数据安全共享的区块链标准体系研究
- 胆汁反流教学课件
- 医疗数据安全人才培养的区块链技术融合路径
- 胃肠造影课件
- 医疗数据安全与区块链身份认证:技术融合
- 医疗数据区块链完整性标准化发展路径
- 医疗数据区块链共享的可持续运营模式
- 肾部的课件教学课件
- 2026届新疆奎屯市农七师高级中学高三生物第一学期期末调研模拟试题含解析
- 上海市浦东新区南汇中学2026届高二生物第一学期期末预测试题含解析
- 《民航法律法规》课件-7-2 民用航空器不安全事件的处置
- 2024秋期国家开放大学《西方行政学说》一平台在线形考(任务一至四)试题及答案
- 2024秋国家开放大学《交通工程》形考任务1-4答案
- 创新设计前沿智慧树知到期末考试答案章节答案2024年浙江大学
- 股东合作合同模板
- 中国书法艺术智慧树知到期末考试答案章节答案2024年中国美术学院
- 采购灭火器施工方案
- 小学生古诗词大赛备考题库(300题)
- DB14-T 2644-2023旅游气候舒适度等级划分与评价方法
- 药店食品安全管理制度目录
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
评论
0/150
提交评论