名称:基于DDS的FSK调制信号控制设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
基于DDS的FSK调制信号控制
1、使用DDS产生正弦载波
2、进行FSK调制,输出调制波形
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
整体仿真图
频率累加器模块仿真图
DDS模块仿真图(ROM表)
FSK调制模块
部分代码展示:
`timescale?1ns?/?1ps //FSK调制,使用DDS产生波形 module?DDS_top( ????input?clk_50M,//时钟频率50MHz ?input?FSK_data,//FSK调制信号,控制输出不同频率的正弦波 ????output?[7:0]?sin_wave//输出FSK调制波形 ????); ? //波形?ROM?地址位数?n=16 wire?[15:0]?addra; wire?[15:0]?FTW; //sin波ROM sin_ROM?i_sin_ROM?( ??.clock(clk_50M),????//?input?wire?clka ??.address(addra),??//?input?wire?[15?:?0]?addra ??.q(sin_wave)??//?output?wire?[7?:?0]?douta ); //调制模块 FSK_ctrl?i_FSK_ctrl( .?FSK_data(FSK_data),//FSK调制信号,控制输出不同频率的正弦波 .?FTW(FTW)//频率控制字,值越大,输出频率越大 ????); //相位累加器 Frequency_ctrl?i_Frequency_ctrl( .?clk_50M(clk_50M), .?frequency(FTW),//频率控制字,值越大,输出频率越大 .?addra(addra)//输出地址 ????); ? ? endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1081
阅读全文
325