ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:131.50KB ,
资源ID:2578915      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2578915.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DDS原理及实现.doc)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DDS原理及实现.doc

1、1 DDS原理简介数字频率合成器(Direct Digital Synthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。一个直接数字频率合成器由相位累加器、加法器、波形存储ROM、D/A转换器和低通滤波器(LPF)构成。DDS的原理框图如图1.2所示:图1.2 DDS原理框图其中K为频率控制字、P为相位控制字、W为波形控制字、为参考时钟频率,N为相位累加器的字长,D为ROM数据位及D/A转换器的字长。相位累加器在时钟的控制下以步长K作累加,输出的N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位的幅度码S(n)经过D

2、/A转换器变成阶梯波S(t),再经过低通滤波器平滑后就可以得到合成的信号波形。合成的信号波形的形状取决于波形ROM中存放的幅度值,因此用DDS可以产生任意波形。这里我们用DDS实现正弦波的合成。A) 频率预置与调节电路K被称为频率控制字,也叫相位增量.DDS方程为: ,为输出频率,为时钟频率。当K=1时,DDS输出最低频率(也即频率分辨率)为,而DDS的最大输出频率由Nyquist采样定理决定,即,也就是说K最大值为。因此,只要N足够大,DDS可以得到很细的频率间隔。要改变DDS的输出频率,只要改变频率控制字K即可。B) 累加器 相位累加器由N位加法器与N位寄存器级联构成。每来一个时钟脉冲,加

3、法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。寄存器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟的作用下继续与频率控制字进行相加。这样,相位累加器在时钟作用下,进行相位累加。当相位累加器累加满量里就会产生一次溢出,完成一个周期性的动作。C) 控制相位的累加器通过改变相位控制字P可以控制输出信号的相位参数。令相位加法器的字长为N,当相位控制字由0跃变到P(P0)时,波形存储器的输入为相位累加器的输出与相位控制字P之和,因而其输出的幅度编码相位会增加,从而使最后输出的信号产生相移。D) 控制波形的加法器通过改变波

4、形控制字W可以控制输出信号的波形。由于波形存储器中的不同波形是分块存储的,所以当波形控制字改变时,波形存储器的输入为改变相位后的地址与波形控制字W(波形地址)之和,从而使最后输出的信号产生相移。E)波形存储器用相位累加器输出的数据作为波形存储器的取样地址,进行波形的相位幅值转换,即可以给定的时间上确定输出的波形的抽样幅值。N位的寻址ROM相当于把0360的正弦信号离散成具有个样值的序列,若波形ROM有D位数据位,则个样值的幅值以D位二进制数值固化在ROM中,按照地址的不同可以输出相应相位的正弦信号的幅值。E) D/A转换器D/A转换器的作用是把合成的正弦波数字量转换成模拟量。正弦幅度量化序列S

5、(n)经D/A转换后变成了包络为正弦波的阶梯波S(t)。需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的正弦波S(t)台阶数就越多,输出波形的精度也就越高。F) 低通滤波器对D/A输出的阶梯波S(t)进行频谱分析,可以S(t)中除了主频外,还相存在分布在,2两边正负处的非谐波分量,幅值包络为辛格函数。因此,为了取出主频,必须在D/A转换器的输出端接入截止频率为/2的低通滤波器。2 FPGA 的DDS载波实现方法实现通信中不少信道都不能直接传送基带信号,必须用基带信号对载波波形的某些参量进行控制,使载波的这些参量随基带信号的变化而变化,即所谓正弦载波调

6、制。从原理上来说,受调载波的波形可以是任意的,只要已调信号适合于信道传输就可以了。但实际上,在大多数数字通信系统中,都选择正弦信号作为载波。这是因为正弦信号形式简单,便于产生及接收。方法一:用ROM核来实现 说明:将载波一个周期的采样值直接写入V代码中的,而不是用ROM核。(利用ROM核需要将载波一个周期的采样值写入COE文件中,插入ROM核中) 优点:用不同的初始值寻址可以输出不同频率和不同初始相位的载波。方法二:用DDS核来实现 优点:频率和初始相位都可以任意设定。 缺点:在使用时比较难控制方法三:用Sine-Cosine Look-up Table核来实现l 代码:module sine

7、_cosine(clk,reset,in_rdy,desine,decosine,out_rdy); input clk,reset,in_rdy; output 7:0 desine,decosine; output out_rdy; wire out_rdy; wire RFD,RDY; reg ND; reg3:0 THETA;always (posedge clk)beginif(reset) begin ND=0;THETA=0;end else if(in_rdy) begin THETA=THETA+1; ND=in_rdy; end end、/核例化 sinecosine si

8、necosine( .THETA(THETA), / Bus 3 : 0 .CLK(clk), .SCLR(reset), .ND(ND), .RFD(RFD), .RDY(out_rdy), .SINE(desine), / Bus 7 : 0 .COSINE(decosine); / Bus 7 : 0 endmodulel 仿真图: 第一路为正弦波,第二路为余弦波l 说明:可以对THETA赋不同初始值即可以实现不同初始相位的载波。 此正弦波和余弦波一个周期是采样16个点,可以在IP核进行参数设置修改的。其频率为,输出位宽为8位宽。优点:载波频率是时钟频率的 其中N在IP核中可设置,设置很

9、简单,初始相位也可以通过修改THETA参数来实现,实现起来很方便。也比较容易控制。方法四:将载波一个周期的采样点值写入代码中来实现。l 代码:module sine(clk,reset,en,out_rdy,out);input clk,reset,en;output out_rdy;output 7:0 out;reg out_rdy;reg 7:0 out;reg2:0 addr;always (posedge clk)begin:initial_controlif(reset) begin addr=3d0; endelse if(en) begin addr=addr+1; enden

10、dalways (posedge clk)begin:Red_sigif(en) case(addr) 4d0:begin out=8d45;out_rdy=1; end 4d1:begin out=8d64;out_rdy=1; end 4d2:begin out=8d45;out_rdy=1; end 4d3:begin out=8d0;out_rdy=1; end 4d4:begin out=8d211;out_rdy=1;end 4d5:begin out=8d192;out_rdy=1; end 4d6:begin out=8d211;out_rdy=1; end 4d7:begin

11、 out=8d0;out_rdy=1; end endcase endendmodulel 仿真图:l 说明:此正弦载波一个周期是采样8个点,即频率为 其输出位宽为8位宽。 若想产生余弦载波的话,只需将Red_sig中out的值改变即可。 优点:与模块使能信号en同时输出,没有延时。在设计调制解调时,不用设计基带信号与载波同步。相对于用核产生要方便一些,因为用核产生时,因为设置了握手信号,载波较使能信号都有固定时间的延时,例如用Sine-Cosine Look-up Table核来实现载波时,一般都有2或3个系统时钟的延时,致使载波与基带信号不同步,需将基带信号延时以使两路信号同步。 缺点:若载波的一个周期采样多个点的话,将采样值直接写入V代码中,就有点麻烦了。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1