原创 基于fpga的dds合成

2015-3-17 21:01 957 13 13 分类: FPGA/CPLD

DDS理论

      

图2.1.1 DDS原理

 

    DDS实现框图如图1-1所示,主要由相位累加器、正弦ROM表、D/A转换、低通滤波器构成。正弦信号与幅度的对应关系如图2所示。-

图2.1.2 正弦信号与幅度的关系

DDS输出频率方程:

.....................................................................................(2.1.1)

其中输出频率,为采样时钟n为相位累加器的位宽,M为频率控制字。

相位移动方程:

..............................................................................................(2.1.2)

其中是相位偏移,是相位控制字。

2.1.3  DDS优点

DDS产生正弦波形的频率分辨率非常高,频率切换速度快,频率切换相位连续可以产生任意波形。

代码

module signal(

sys_clk,

sys_restn,

en,

signal_out

                                   );

                                  

/////////////////////////////////////////////////////

input sys_clk;

input sys_restn;

input en;

output [15:0]signal_out;

wire [9:0]address_sig;

/////////////////////////////////////////////////////

data       data_ROM (

       .address ( address_sig ),

       .clock ( sys_clk ),

       .q ( signal_out )

       );

 

//////////////////////////////////////////////////////

reg [9:0]count;

always @(posedge sys_clk or negedge sys_restn)

       begin

              if(!sys_restn)

                     count <= 10'd0;

              else if(en)

                     count <= count + 1'b1;

              else

                     count <= count;

                    

       end

////////////////////////////////////////////////////

assign address_sig = count;

 

endmodule

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条