FPGA通信设计基础第五章DDS设计.ppt

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

第五章 DDS设计 5.1 DDS的基本原理我们知道,对于正弦信号发生器,它的输出可以用下式来描述:其中Sout是指该信号发生器的输出信号波形,fout指输出信号对应的频率。上式的表述对于时间t是连续的,为了用数字逻辑实现该表达式,必须进行离散化处理。用基准时钟clk进行抽样,令正弦信号的相位:其中fclk指clk的频率,对于,可以理解成“满”相位。为了对进行数字量化,把切割成2N份,由此,每个clk周期的相位增量可用量化值来表述为显然,信号发生器的输出可描述为:由上面的推导可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值;而用于累加的相位增量量化值决定了信号的输出频率fout,并呈现简单的线性关系。直接数字合成器DDS就是根据上述原理而设计的数字控制频率合成器。图5-1所示是一个基本的DDS结构,主要由相位累加器、相位调制器、正弦ROM查找表和D/A构成。图中的相位累加器、相位调制器、正弦ROM查找表是DDS结构中的数字部分,由于具有数控频率合成的功能,又合称为NCONumerically Controlled Oscillators。相位累加器是整个DDS的核心,在这里完成上文原理推导中的相位累加功能。相位累加器的输入是相位增量,又由于与输出频率fout是简单的线性关系:,故相位累加器的输入又可称为频率字输入,事实上,当系统基准时钟fclk是2N时,就等于fout。频率字输入在图5-1中还经过了一组同步寄存器,使得当频率字改变时不会干扰相位累加器的正常工作。相位调制器接收相位累加器的相位输出,在这里加上一个相位偏移值,主要用于信号的相位调制,如PSK相移键控等。在不使用时可以去掉该部分,或者加一个固定的相位字输入。相位字输入也需要用同步寄存器保持同步。需要注意的是,相位字输入的数据宽度M与频率字输入N往往是不相等的,MN。正弦ROM查找表完成的查表转换,也可以理解成相位到幅度的转换,它的输入是相位调制器的输出,事实上就是ROM的地址值;输出送往D/A,转化成模拟信号。由于相位调制器的输出数据位宽M也是ROM的地址位宽,因此在实际的DDS结构中N往往很大,而M总为10位左右。M太大会导致ROM容量的成倍上升,而输出精度受D/A位数的限制未有很大改善。因此,在实际应用中,对于ROM容量的缩小,人们提出了很多解决方法。 下面给出一些关于基本DDS结构的常用参量计算。 1. ?DDS的输出频率fout由DDS工作原理推导的公式中很容易得出输出频率的计算:2. ?DDS的频率分辨率或称频率最小步进值,可用频率输入值步进一个最小间隔对应的频率输出变化量来衡量。由5-7易得对于通信上的应用,往往需要得到一对正交的正弦信号,以便进行正交调制和正交解调。在用模拟的压控振荡器VCO时,输出一组完全正交的信号较为困难,而对于DDS而言,只要在基本DDS结构中增加一块ROM查找表,在两块ROM中分别放置一对正交信号即可如一个放置sin表、另一个放置cos表,如图5-2所示。幅度调制在很多场合是需要的。我们改进基本DDS结构,在正弦ROM表后、D/A前放置一个幅度控制模块,一般采用乘法器来实现。如图5-3。 5.2 DDS的模块设计5.2.1 建立DDS模型首先在Simulink中新建一个模型,调用DSP Builder模块构成图5-4所示的基本DDS子系统SubDDS。图中,DDS子系统SubDDS共有三个输入,分别为Freqword频率字输入、Phaseword相位字输入和Amp幅度控制输入;一个输出,为DDSout。输入/输出模块的参数设置如下: Freqword模块:Altbus库:Altera DSP Builder中Bus Manipulation库参数“Bus Type”设为“signed Integer”参数“Node Type”设为“Input port”参数“number of bits”设为“32” Phaseword模块:Altbus 库:Altera DSP Builder中Bus Manipulation库 参数“Bus Type”设为“signed Integer” 参数“Node Type”设为“Input port” 参数“number of bits”设为“16” ? Amp模块:Altbus 库:Altera DSP Builder中Bus Manipulation库 参数“Bus Type”设为“signed Integer” 参数“Node Type”设为“Input port” 参数“number of bits”设为“10” ? DDSout模块:Altbus 库:Altera DSP Builder中Bus Manipulation库 参数“Bus Typ

文档评论(0)

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

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

1亿VIP精品文档

相关文档